{"id":"49180116-5a96-401a-8167-8df477805ea6","shortId":"Y4RKT3","kind":"skill","title":"vigilante-issue-implementation","tagline":"Implement a GitHub issue end-to-end when Vigilante dispatches work for a watched repository. Use the provided worktree, respect repository instructions, comment on the issue as work progresses, and report failures back to GitHub.","description":"# Vigilante Issue Implementation\n\n## Overview\nImplement one GitHub issue from Vigilante dispatch through validated code changes, a pushed branch, and an opened pull request from the provided worktree. Always work inside the assigned worktree, always respect repository instructions, and always keep the GitHub issue updated with start, plan, progress, PR, and failure comments.\n\n## Inputs\nRequire these inputs from Vigilante:\n\n- issue number\n- issue title and URL\n- repository slug\n- local repository path\n- assigned worktree path\n- branch name\n\n## Workflow\n1. Inspect issue and repository constraints\n- Read the issue details supplied by Vigilante and confirm the issue scope before coding.\n- Read development constraints from repository markdown files before making changes:\n  - `AGENTS.md` when present\n  - `README.md`\n  - other root or area-specific docs that affect touched files\n- If repository instructions conflict, follow the more specific instruction.\n\n2. Announce session start on GitHub\n- Post a comment on the issue as soon as work begins using `vigilante gh issue comment`.\n- Include that Vigilante launched the session, the working branch, and that implementation is in progress.\n\n3. Post an implementation plan early\n- After inspecting the issue and repository constraints, post a concise implementation plan to the issue using `vigilante gh issue comment`.\n- The plan comment should describe the intended development steps before substantial code changes begin.\n- Keep the plan concrete and short so readers can understand what will happen next.\n\n4. Implement inside the assigned worktree only\n- Use only the provided worktree path.\n- Never edit the root checkout when a worktree was assigned.\n- Keep changes scoped to the issue.\n- Prefer native repository tooling and avoid unnecessary new dependencies.\n- Preserve existing coding patterns unless the issue requires a different approach.\n\nService dependencies:\n- If app startup, migrations, or tests need local services, call the bundled `vigilante-local-service-dependencies` skill before inventing ad hoc setup steps.\n- Prefer the skill's repository-native path first, and use its structured output to decide which env vars, commands, or cleanup steps the rest of the implementation should use.\n\n5. Validate incrementally\n- Run relevant tests, builds, or linters for the changed area before concluding work.\n- Prefer targeted validation first, then broader validation when necessary.\n- If a command fails, first inspect the per-issue session log with `vigilante logs --repo <owner/name> --issue <n>` to determine whether the problem is in the code, test setup, or environment before retrying.\n\n6. Commit and push the branch\n- Use `vigilante commit` for all commit-producing operations. Do not use `git commit` or GitHub CLI commit flows directly.\n- Commit only issue-relevant changes in the assigned branch.\n- Any commit or amend must preserve the user's existing git author, committer, and signing configuration. Commit on behalf of the user and do not overwrite `git config` with a coding-agent identity.\n- Do not add `Co-authored by:` trailers or any other agent attribution for Codex, Claude, Gemini, or similar coding-agent identities.\n- Push the assigned branch to the remote with `vigilante git push`.\n- Do not leave completed implementation work only in the local worktree.\n\n7. Open a pull request\n- Always create a pull request for the completed change set.\n- Target the repository default branch unless repository instructions say otherwise.\n- Include `Closes #<issue-number>` in the PR body as a required invariant.\n- Include concise validation notes in the PR description.\n\n8. Post progress comments at meaningful milestones\n- Use `vigilante gh issue comment` for progress updates.\n- Comment when investigation is complete and implementation starts.\n- Comment when major milestones are reached, such as a core fix landing or tests passing.\n- Comment when the branch has been pushed and the PR has been opened.\n- Keep comments concise and factual.\n- Do not spam the issue with low-signal updates.\n\n9. Handle failures and blockers explicitly\n- If tool setup fails, validation fails, the provider stops unexpectedly, a resumed session still looks unclear, or the issue is otherwise blocked, first inspect the per-issue session log with `vigilante logs --repo <owner/name> --issue <n>`.\n- After checking the log, comment on the issue with the concrete problem using `vigilante gh issue comment`.\n- Use `vigilante logs` for targeted local triage only when work is blocked or failing; do not turn it into routine log scraping on successful runs.\n- Include enough detail for a human maintainer to understand the current state and next step.\n- If work cannot proceed safely, stop and report the blocker instead of guessing.\n\n10. Finish with a clear terminal state\n- Leave the worktree in a coherent state.\n- Ensure any executed validations are accurately reported.\n- If the task completed successfully, summarize what changed, what was validated, and which PR was opened.\n- If the task failed, summarize the failure clearly in the issue comment.\n\n## GitHub Commenting Rules\n- Use `vigilante gh issue comment` for all issue updates.\n- Always comment when the session starts.\n- For the coding-agent start comment, use a distinct launch title such as `## 🕹️ Coding Agent Launched: Codex` instead of a generic `Session Start` header.\n- Always add a short implementation plan comment before substantial coding work begins.\n- Add progress comments for non-trivial implementations as milestones are reached.\n- Comment when the PR is opened.\n- Comment immediately on any execution failure or blocking condition.\n- When a failure or blocker is unclear locally, inspect `vigilante logs --repo <owner/name> --issue <n>` before reporting or retrying.\n- Comments should be concise, concrete, and tied to real progress.\n- Avoid generic status text that does not help the issue reader.\n\n## Guardrails\n- Never work outside the assigned worktree.\n- Never ignore `AGENTS.md` or repository documentation that constrains implementation.\n- Never make unrelated refactors unless they are required to complete the issue safely.\n- Never rewrite commit authorship, committer identity, signing configuration, or commit trailers to attribute work to the coding agent.\n- Never silently fail; report errors or blockers back to the issue.\n- Never claim validation passed unless the corresponding command actually succeeded.\n- Never stop at local-only code changes when the task is complete; push the branch and create the PR.\n\n## Completion Criteria\n- The issue received a start comment.\n- The issue received a plan comment describing the intended development steps.\n- Progress or failure comments were posted as appropriate for the work performed.\n- Code changes are scoped to the issue and live in the assigned worktree.\n- Relevant validation was run and accurately reported.\n- The branch was pushed to the remote.\n- A pull request was opened for the change.\n- Final session state is clear to both Vigilante and the GitHub issue reader.\n\n## Output Expectations\nWhen using this skill, the agent should leave:\n\n- code changes in the assigned worktree\n- a pushed branch containing those changes\n- an opened pull request for those changes\n- a clear issue comment trail produced through `vigilante gh issue comment`\n- accurate success or failure reporting","tags":["vigilante","issue","implementation","aliengiraffe","agent","agent-skills","agentic-ai","agentic-workflow","agents","ai-orchestration","ai-orchestrator","orchestration"],"capabilities":["skill","source-aliengiraffe","skill-vigilante-issue-implementation","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-issue-implementation","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 (7,397 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.528Z","embedding":null,"createdAt":"2026-04-18T22:23:25.213Z","updatedAt":"2026-05-01T07:01:25.528Z","lastSeenAt":"2026-05-01T07:01:25.528Z","tsv":"'1':116 '10':760 '2':170 '3':207 '4':261 '5':366 '6':424 '7':539 '8':582 '9':648 'accur':779,1067,1137 'actual':996 'ad':332 'add':496,853,864 'affect':158 'agent':492,505,515,831,842,976,1104 'agents.md':146,939 'alway':68,74,79,544,821,852 'amend':463 'announc':171 'app':313 'approach':309 'appropri':1044 'area':154,378 'area-specif':153 'assign':72,110,265,283,458,519,935,1060,1111 'attribut':506,971 'author':471,499 'authorship':962 'avoid':295,919 'back':38,984 'begin':186,246,863 'behalf':478 'block':675,718,889 'blocker':652,756,895,983 'bodi':569 'branch':58,113,200,429,459,520,558,623,1013,1070,1115 'broader':387 'build':372 'bundl':323 'call':321 'cannot':749 'chang':55,145,245,285,377,455,552,788,1005,1050,1083,1108,1118,1125 'check':691 'checkout':278 'claim':989 'claud':509 'cleanup':357 'clear':764,804,1088,1127 'cli':446 'close':565 'co':498 'co-author':497 'code':54,135,244,301,417,491,514,830,841,861,975,1004,1049,1107 'codex':508,844 'coding-ag':490,513,829 'coher':772 'command':355,393,995 'comment':28,92,178,191,232,235,585,593,597,605,620,634,694,706,808,810,816,822,833,858,866,876,882,909,1025,1031,1040,1129,1136 'commit':425,432,436,443,447,450,461,476,961,968 'commit-produc':435 'committ':472,963 'complet':531,551,601,784,955,1010,1018 'concis':222,575,635,912 'conclud':380 'concret':250,700,913 'condit':890 'config':487 'configur':475,966 'confirm':130 'conflict':164 'constrain':944 'constraint':121,138,219 'contain':1116 'core':614 'correspond':994 'creat':545,1015 'criteria':1019 'current':742 'decid':351 'default':557 'depend':298,311,328 'describ':237,1032 'descript':581 'detail':125,734 'determin':410 'develop':137,240,1035 'differ':308 'direct':449 'dispatch':15,51 'distinct':836 'doc':156 'document':942 'earli':212 'edit':275 'end':10,12 'end-to-end':9 'enough':733 'ensur':774 'env':353 'environ':421 'error':981 'execut':776,886 'exist':300,469 'expect':1098 'explicit':653 'factual':637 'fail':394,657,659,720,800,979 'failur':37,91,650,803,887,893,1039,1140 'file':142,160 'final':1084 'finish':761 'first':344,385,395,676 'fix':615 'flow':448 'follow':165 'gemini':510 'generic':848,920 'gh':189,230,591,704,814,1134 'git':442,470,486,526 'github':7,40,47,82,175,445,809,1094 'guardrail':930 'guess':759 'handl':649 'happen':259 'header':851 'help':926 'hoc':333 'human':737 'ident':493,516,964 'ignor':938 'immedi':883 'implement':4,5,43,45,203,210,223,262,363,532,603,856,871,945 'includ':192,564,574,732 'increment':368 'input':93,96 'insid':70,263 'inspect':117,214,396,677,899 'instead':757,845 'instruct':27,77,163,169,561 'intend':239,1034 'invari':573 'invent':331 'investig':599 'issu':3,8,31,42,48,83,99,101,118,124,132,181,190,216,227,231,289,305,400,408,453,592,642,672,681,689,697,705,807,815,819,904,928,957,987,1021,1027,1055,1095,1128,1135 'issue-relev':452 'keep':80,247,284,633 'land':616 'launch':195,837,843 'leav':530,767,1106 'linter':374 'live':1057 'local':107,319,326,537,712,898,1002 'local-on':1001 'log':402,405,683,686,693,709,727,901 'look':668 'low':645 'low-sign':644 'maintain':738 'major':607 'make':144,947 'markdown':141 'meaning':587 'migrat':315 'mileston':588,608,873 'must':464 'name':114 'nativ':291,342 'necessari':390 'need':318 'never':274,931,937,946,959,977,988,998 'new':297 'next':260,745 'non':869 'non-trivi':868 'note':577 'number':100 'one':46 'open':61,540,632,796,881,1080,1120 'oper':438 'otherwis':563,674 'output':349,1097 'outsid':933 'overview':44 'overwrit':485 'owner/name':407,688,903 'pass':619,991 'path':109,112,273,343 'pattern':302 'per':399,680 'per-issu':398,679 'perform':1048 'plan':87,211,224,234,249,857,1030 'post':176,208,220,583,1042 'pr':89,568,580,629,794,879,1017 'prefer':290,336,382 'present':148 'preserv':299,465 'problem':413,701 'proceed':750 'produc':437,1131 'progress':34,88,206,584,595,865,918,1037 'provid':23,66,271,661 'pull':62,542,547,1077,1121 'push':57,427,517,527,626,1011,1072,1114 'reach':610,875 'read':122,136 'reader':254,929,1096 'readme.md':149 'real':917 'receiv':1022,1028 'refactor':949 'relev':370,454,1062 'remot':523,1075 'repo':406,687,902 'report':36,754,780,906,980,1068,1141 'repositori':20,26,76,105,108,120,140,162,218,292,341,556,560,941 'repository-n':340 'request':63,543,548,1078,1122 'requir':94,306,572,953 'respect':25,75 'rest':360 'resum':665 'retri':423,908 'rewrit':960 'root':151,277 'routin':726 'rule':811 'run':369,731,1065 'safe':751,958 'say':562 'scope':133,286,1052 'scrape':728 'servic':310,320,327 'session':172,197,401,666,682,825,849,1085 'set':553 'setup':334,419,656 'short':252,855 'sign':474,965 'signal':646 'silent':978 'similar':512 'skill':329,338,1102 'skill-vigilante-issue-implementation' 'slug':106 'soon':183 'source-aliengiraffe' 'spam':640 'specif':155,168 'start':86,173,604,826,832,850,1024 'startup':314 'state':743,766,773,1086 'status':921 'step':241,335,358,746,1036 'still':667 'stop':662,752,999 'structur':348 'substanti':243,860 'succeed':997 'success':730,785,1138 'summar':786,801 'suppli':126 'target':383,554,711 'task':783,799,1008 'termin':765 'test':317,371,418,618 'text':922 'tie':915 'titl':102,838 'tool':293,655 'topic-agent' 'topic-agent-skills' 'topic-agentic-ai' 'topic-agentic-workflow' 'topic-agents' 'topic-ai-orchestration' 'topic-ai-orchestrator' 'topic-orchestration' 'touch':159 'trail':1130 'trailer':501,969 'triag':713 'trivial':870 'turn':723 'unclear':669,897 'understand':256,740 'unexpect':663 'unless':303,559,950,992 'unnecessari':296 'unrel':948 'updat':84,596,647,820 'url':104 'use':21,187,228,268,346,365,430,441,589,702,707,812,834,1100 'user':467,481 'valid':53,367,384,388,576,658,777,791,990,1063 'var':354 'vigilant':2,14,41,50,98,128,188,194,229,325,404,431,525,590,685,703,708,813,900,1091,1133 'vigilante-issue-implement':1 'vigilante-local-service-depend':324 'watch':19 'whether':411 'work':16,33,69,185,199,381,533,716,748,862,932,972,1047 'workflow':115 'worktre':24,67,73,111,266,272,281,538,769,936,1061,1112","prices":[{"id":"1298517e-311b-496d-9e38-97819978c706","listingId":"49180116-5a96-401a-8167-8df477805ea6","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:25.213Z"}],"sources":[{"listingId":"49180116-5a96-401a-8167-8df477805ea6","source":"github","sourceId":"aliengiraffe/vigilante/vigilante-issue-implementation","sourceUrl":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-issue-implementation","isPrimary":false,"firstSeenAt":"2026-04-18T22:23:25.213Z","lastSeenAt":"2026-05-01T07:01:25.528Z"}],"details":{"listingId":"49180116-5a96-401a-8167-8df477805ea6","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"aliengiraffe","slug":"vigilante-issue-implementation","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":"8076f4a4ddef23482611a001a1ec1bbc13edba60","skill_md_path":"skills/vigilante-issue-implementation/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-issue-implementation"},"layout":"multi","source":"github","category":"vigilante","frontmatter":{"name":"vigilante-issue-implementation","description":"Implement a GitHub issue end-to-end when Vigilante dispatches work for a watched repository. Use the provided worktree, respect repository instructions, comment on the issue as work progresses, and report failures back to GitHub."},"skills_sh_url":"https://skills.sh/aliengiraffe/vigilante/vigilante-issue-implementation"},"updatedAt":"2026-05-01T07:01:25.528Z"}}