{"id":"0d89e936-9b18-4a34-b4f3-83323489c4e2","shortId":"aeSxPG","kind":"skill","title":"vigilante-local-service-dependencies","tagline":"Prepare local service dependencies for an implementation worktree by preferring repository-native startup flows before falling back to compatible local mechanisms.","description":"# Vigilante Local Service Dependencies\n\n## Overview\nUse this skill from an implementation workflow when the assigned repository needs local services before app startup, builds, migrations, or tests can run. Keep the core Vigilante scheduler ignorant of stack-specific orchestration details by doing service preparation here, inside the worktree, from repository context.\n\n## Inputs\nRequire or infer these inputs before acting:\n\n- repository path\n- assigned worktree path\n- service intent or failing command context\n- repository docs or scripts that describe local setup\n- optional preferred service types such as `postgres`, `mysql`, `mariadb`, or `mongodb`\n\n## Goals\n- Prefer repository-provided service startup mechanisms when they are discoverable and usable.\n- Fall back to a local compatible mechanism only when the repository does not provide a workable path.\n- Return structured output that the parent implementation flow can use for later commands and cleanup.\n- Keep scope focused on local development dependencies, especially common database-backed environments.\n\n## Detection Order\n1. Search the repository for native service-management workflows first.\n- Check `README*`, `docs/`, `AGENTS.md`, `Taskfile*`, `Makefile*`, package scripts, and repo scripts for setup or startup commands.\n- Check for repository-owned `vigilante docker compose` or `docker-compose` flows before generating anything new.\n- Prefer commands the repository already documents for development or test setup.\n\n2. Validate the native option before using it.\n- Confirm required tools exist, such as `vigilante docker`, `vigilante docker compose`, `make`, `task`, `npm`, `pnpm`, `yarn`, or project scripts.\n- If a documented path is incomplete or obviously stale, say so and continue to the next viable option.\n\n3. Fall back only when necessary.\n- If the repository has no usable local-service path, choose a compatible local mechanism with minimal new surface area.\n- Docker Compose is an allowed fallback, not the defining abstraction.\n- Namespace fallback artifacts, service names, ports, and temporary files to the worktree or issue session when possible.\n\n## Execution Rules\n- Work only inside the assigned worktree unless an existing repo-owned command clearly operates from the repository root.\n- Reuse repository environment files, scripts, and task runners when available.\n- Keep generated artifacts explicit and local to the session.\n- Surface the exact command used to start services.\n- Wait for readiness when practical; do not claim success immediately after spawning a process if the service is not yet accepting connections.\n- When startup, readiness, or failure classification is unclear, inspect `vigilante logs --repo <owner/name> --issue <n>` before deciding which failure category applies.\n\n## Structured Output Contract\nWhen you finish, return a concise structured summary that the parent workflow can reuse. Use this shape in plain text or JSON-like form:\n\n- `status`: `ready`, `not_needed`, or `failed`\n- `services`: started or detected services\n- `mechanism`: `repo_native`, `repo_compose`, `repo_script`, `repo_task_runner`, or `generated_fallback`\n- `commands`: startup and readiness commands that were used\n- `connection`: host, port, database, username, URL, or env hints when available\n- `cleanup`: expected stop or teardown command, or `none`\n- `artifacts`: files created or reused for this session\n- `notes`: concise caveats for the parent workflow\n\n## Failure Reporting\nWhen service preparation fails, explain which category applies:\n\n- missing local tooling\n- unsupported repository setup\n- startup failure\n- readiness or connection failure\n\nFor startup failures, readiness failures, or ambiguous cases, consult `vigilante logs --repo <owner/name> --issue <n>` so the persisted session transcript informs the diagnosis.\n\nInclude the failing command, the missing prerequisite or observed error, the relevant log evidence when logs were checked, and the next most reasonable remediation step.\n\n## Practical Defaults\n- Prioritize common local databases first: Postgres, MySQL, MariaDB, and MongoDB.\n- If the repository already provides an application stack startup flow, use that instead of re-creating only the database layer unless the issue clearly needs the narrower setup.\n- If services are already running and usable, report `status: ready` with `mechanism: repo_native` or the closest truthful mechanism instead of restarting them.\n\n## Guardrails\n- Do not hard-code a single Docker Compose lifecycle into Vigilante core behavior.\n- Do not assume every repository uses containers.\n- Do not silently generate infrastructure when the repository already documents a supported path.\n- Do not hide cleanup expectations.","tags":["vigilante","local","service","dependencies","aliengiraffe","agent","agent-skills","agentic-ai","agentic-workflow","agents","ai-orchestration","ai-orchestrator"],"capabilities":["skill","source-aliengiraffe","skill-vigilante-local-service-dependencies","topic-agent","topic-agent-skills","topic-agentic-ai","topic-agentic-workflow","topic-agents","topic-ai-orchestration","topic-ai-orchestrator","topic-orchestration"],"categories":["vigilante"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/aliengiraffe/vigilante/vigilante-local-service-dependencies","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add aliengiraffe/vigilante","source_repo":"https://github.com/aliengiraffe/vigilante","install_from":"skills.sh"}},"qualityScore":"0.464","qualityRationale":"deterministic score 0.46 from registry signals: · indexed on github topic:agent-skills · 28 github stars · SKILL.md body (4,731 chars)","verified":false,"liveness":"unknown","lastLivenessCheck":null,"agentReviews":{"count":0,"score_avg":null,"cost_usd_avg":null,"success_rate":null,"latency_p50_ms":null,"narrative_summary":null,"summary_updated_at":null},"enrichmentModel":"deterministic:skill-github:v1","enrichmentVersion":1,"enrichedAt":"2026-05-01T07:01:25.605Z","embedding":null,"createdAt":"2026-04-18T22:23:26.099Z","updatedAt":"2026-05-01T07:01:25.605Z","lastSeenAt":"2026-05-01T07:01:25.605Z","tsv":"'1':178 '2':233 '3':278 'abstract':313 'accept':399 'act':86 'agents.md':192 'allow':308 'alreadi':226,599,628,678 'ambigu':543 'anyth':220 'app':48 'appli':420,524 'applic':602 'area':303 'artifact':316,364,500 'assign':42,89,337 'assum':665 'avail':361,491 'back':23,132,174,280 'behavior':662 'build':50 'case':544 'categori':419,523 'caveat':510 'check':189,205,576 'choos':294 'claim':386 'classif':406 'cleanup':162,492,686 'clear':346,620 'closest':641 'code':653 'command':96,160,204,223,345,374,473,477,497,562 'common':171,587 'compat':25,136,296 'compos':212,216,251,305,464,657 'concis':429,509 'confirm':241 'connect':400,481,535 'consult':545 'contain':669 'context':78,97 'continu':272 'contract':423 'core':58,661 'creat':502,612 'databas':173,484,589,615 'database-back':172 'decid':416 'default':585 'defin':312 'depend':5,9,31,169 'describ':103 'detail':67 'detect':176,458 'develop':168,229 'diagnosi':558 'discover':128 'doc':99,191 'docker':211,215,248,250,304,656 'docker-compos':214 'document':227,262,679 'env':488 'environ':175,354 'error':568 'especi':170 'everi':666 'evid':572 'exact':373 'execut':331 'exist':244,341 'expect':493,687 'explain':521 'explicit':365 'fail':95,454,520,561 'failur':405,418,515,532,536,539,541 'fall':22,131,279 'fallback':309,315,472 'file':322,355,501 'finish':426 'first':188,590 'flow':20,155,217,605 'focus':165 'form':448 'generat':219,363,471,673 'goal':117 'guardrail':648 'hard':652 'hard-cod':651 'hide':685 'hint':489 'host':482 'ignor':61 'immedi':388 'implement':12,38,154 'includ':559 'incomplet':265 'infer':82 'inform':556 'infrastructur':674 'input':79,84 'insid':73,335 'inspect':409 'instead':608,644 'intent':93 'issu':327,414,550,619 'json':446 'json-lik':445 'keep':56,163,362 'later':159 'layer':616 'lifecycl':658 'like':447 'local':3,7,26,29,45,104,135,167,291,297,367,526,588 'local-servic':290 'log':411,547,571,574 'make':252 'makefil':194 'manag':186 'mariadb':114,593 'mechan':27,124,137,298,460,636,643 'migrat':51 'minim':300 'miss':525,564 'mongodb':116,595 'mysql':113,592 'name':318 'namespac':314 'narrow':623 'nativ':18,183,236,462,638 'necessari':283 'need':44,452,621 'new':221,301 'next':275,579 'none':499 'note':508 'npm':254 'observ':567 'obvious':267 'oper':347 'option':106,237,277 'orchestr':66 'order':177 'output':150,422 'overview':32 'own':209,344 'owner/name':413,549 'packag':195 'parent':153,434,513 'path':88,91,147,263,293,682 'persist':553 'plain':442 'pnpm':255 'port':319,483 'possibl':330 'postgr':112,591 'practic':383,584 'prefer':15,107,118,222 'prepar':6,71,519 'prerequisit':565 'priorit':586 'process':392 'project':258 'provid':121,144,600 're':611 're-creat':610 'readi':381,403,450,476,533,540,634 'readm':190 'reason':581 'relev':570 'remedi':582 'repo':198,343,412,461,463,465,467,548,637 'repo-own':342 'report':516,632 'repositori':17,43,77,87,98,120,141,181,208,225,286,350,353,529,598,667,677 'repository-n':16 'repository-own':207 'repository-provid':119 'requir':80,242 'restart':646 'return':148,427 'reus':352,437,504 'root':351 'rule':332 'run':55,629 'runner':359,469 'say':269 'schedul':60 'scope':164 'script':101,196,199,259,356,466 'search':179 'servic':4,8,30,46,70,92,108,122,185,292,317,378,395,455,459,518,626 'service-manag':184 'session':328,370,507,554 'setup':105,201,232,530,624 'shape':440 'silent':672 'singl':655 'skill':35 'skill-vigilante-local-service-dependencies' 'source-aliengiraffe' 'spawn':390 'specif':65 'stack':64,603 'stack-specif':63 'stale':268 'start':377,456 'startup':19,49,123,203,402,474,531,538,604 'status':449,633 'step':583 'stop':494 'structur':149,421,430 'success':387 'summari':431 'support':681 'surfac':302,371 'task':253,358,468 'taskfil':193 'teardown':496 'temporari':321 'test':53,231 'text':443 'tool':243,527 'topic-agent' 'topic-agent-skills' 'topic-agentic-ai' 'topic-agentic-workflow' 'topic-agents' 'topic-ai-orchestration' 'topic-ai-orchestrator' 'topic-orchestration' 'transcript':555 'truth':642 'type':109 'unclear':408 'unless':339,617 'unsupport':528 'url':486 'usabl':130,289,631 'use':33,157,239,375,438,480,606,668 'usernam':485 'valid':234 'viabl':276 'vigilant':2,28,59,210,247,249,410,546,660 'vigilante-local-service-depend':1 'wait':379 'work':333 'workabl':146 'workflow':39,187,435,514 'worktre':13,75,90,325,338 'yarn':256 'yet':398","prices":[{"id":"3026b5c4-ef6b-4b04-95fa-ecd232916dd4","listingId":"0d89e936-9b18-4a34-b4f3-83323489c4e2","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"aliengiraffe","category":"vigilante","install_from":"skills.sh"},"createdAt":"2026-04-18T22:23:26.099Z"}],"sources":[{"listingId":"0d89e936-9b18-4a34-b4f3-83323489c4e2","source":"github","sourceId":"aliengiraffe/vigilante/vigilante-local-service-dependencies","sourceUrl":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-local-service-dependencies","isPrimary":false,"firstSeenAt":"2026-04-18T22:23:26.099Z","lastSeenAt":"2026-05-01T07:01:25.605Z"}],"details":{"listingId":"0d89e936-9b18-4a34-b4f3-83323489c4e2","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"aliengiraffe","slug":"vigilante-local-service-dependencies","github":{"repo":"aliengiraffe/vigilante","stars":28,"topics":["agent","agent-skills","agentic-ai","agentic-workflow","agents","ai","ai-orchestration","ai-orchestrator","orchestration"],"license":"apache-2.0","html_url":"https://github.com/aliengiraffe/vigilante","pushed_at":"2026-04-23T16:58:46Z","description":"Vigilante is a sandbox-first orchestration layer for coding agents. It isolates every task in a git worktree, enforces strict credential scoping, and gives you full audit logs — so your agents can't burn down production.","skill_md_sha":"abc737bc764a61f68e79bc93e61f1a43b3f1abfd","skill_md_path":"skills/vigilante-local-service-dependencies/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-local-service-dependencies"},"layout":"multi","source":"github","category":"vigilante","frontmatter":{"name":"vigilante-local-service-dependencies","description":"Prepare local service dependencies for an implementation worktree by preferring repository-native startup flows before falling back to compatible local mechanisms."},"skills_sh_url":"https://skills.sh/aliengiraffe/vigilante/vigilante-local-service-dependencies"},"updatedAt":"2026-05-01T07:01:25.605Z"}}