{"id":"d1890900-9f57-422e-9b69-a5748c666b77","shortId":"JErF2y","kind":"skill","title":"vigilante-issue-implementation-on-python","tagline":"Implement a GitHub issue end-to-end when Vigilante dispatches work for a Python repository with idiomatic tooling and security guidance.","description":"# Vigilante Python Issue Implementation\n\n## Focus\n- Read the prompt for detected tech stacks, process hints, and Python security guidance before changing code.\n- Follow idiomatic Python conventions already established by the repository and keep changes scoped to the issue.\n- Prefer the repository's existing environment, dependency, formatting, linting, typing, and test workflows over inventing a new stack.\n\n## Python Tooling Workflow\n- **Environment**: use the repository's documented bootstrap or environment workflow first. When no repo-specific workflow exists, prefer isolated environments such as `venv` rather than ad hoc global installs.\n- **Formatting and linting**: run the repository's established formatter and linter for touched files. When the repository already uses Ruff, prefer `ruff format` and `ruff check`; when it uses Black, use `black`. Do not introduce repo-wide formatting churn unrelated to the issue.\n- **Typing**: run the repository's existing typing checks when present, such as `mypy`, pyright-style tooling, or equivalent configured commands.\n- **Testing**: run targeted `pytest` or repo-standard test commands for the changed area first, then broaden scope when needed.\n- **Dependency and package security**: when dependency or packaging changes are involved, run repo-standard audit tooling. Use `pip-audit` when it is already part of the repo workflow or otherwise clearly available and relevant.\n- **Dependencies**: prefer standard library modules when they cover the need. Keep dependency manifests and lockfiles consistent when adding or updating packages.\n\n## Idiomatic Python\n- Follow existing project conventions for layout, imports, and naming instead of forcing a new style.\n- Prefer small, explicit functions, early returns, and straightforward exception handling.\n- Add or update docstrings only where the repository already expects them or where a public API change needs clear documentation.\n- Avoid broad cleanup or modernization unrelated to the issue.\n\n## Security\n- Prefer `secrets` over `random` for security-sensitive values.\n- Avoid unsafe `pickle` usage or deserializing untrusted data with Python-native object loaders.\n- Be careful with `subprocess`: prefer explicit argument lists, avoid `shell=True` unless required and safely constrained, and validate any external input passed to commands.\n- Treat file paths and untrusted input defensively to avoid traversal, injection, and unintended file access.\n- Do not store secrets, tokens, or credentials in source files.\n\n## Workflow\n- Follow the base `vigilante-issue-implementation` workflow for issue comments, validation, push, and PR creation.\n- Use `vigilante commit` for all commit-producing operations. Do not use `git commit` or GitHub CLI commit flows directly.\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\n## Repository Overrides\n- Repository-specific instructions (`AGENTS.md`, `README.md`, CI config, tool config files) remain authoritative when they are more specific than the generic Python guidance in this skill.","tags":["vigilante","issue","implementation","python","aliengiraffe","agent","agent-skills","agentic-ai","agentic-workflow","agents","ai-orchestration","ai-orchestrator"],"capabilities":["skill","source-aliengiraffe","skill-vigilante-issue-implementation-on-python","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-on-python","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 (3,324 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:24.978Z","embedding":null,"createdAt":"2026-04-18T22:23:19.592Z","updatedAt":"2026-05-01T07:01:24.978Z","lastSeenAt":"2026-05-01T07:01:24.978Z","tsv":"'access':377 'ad':113,255 'add':286,461 'agent':457,470,480 'agents.md':488 'alreadi':54,134,226,294 'amend':428 'api':301 'area':195 'argument':345 'attribut':471 'audit':217,222 'author':436,464 'authorit':496 'avail':235 'avoid':306,325,347,371 'base':391 'behalf':443 'black':146,148 'bootstrap':93 'broad':307 'broaden':198 'care':340 'chang':48,61,194,210,302 'check':142,168 'churn':156 'ci':490 'claud':474 'cleanup':308 'clear':234,304 'cli':421 'co':463 'co-author':462 'code':49,456,479 'codex':473 'coding-ag':455,478 'command':181,191,362 'comment':399 'commit':407,411,418,422,426,441 'commit-produc':410 'committ':437 'config':452,491,493 'configur':180,440 'consist':253 'constrain':354 'convent':53,264 'cover':245 'creation':404 'credenti':384 'data':332 'defens':369 'depend':72,202,207,238,249 'deseri':330 'detect':38 'direct':424 'dispatch':17 'docstr':289 'document':92,305 'earli':280 'end':12,14 'end-to-end':11 'environ':71,87,95,107 'equival':179 'establish':55,124 'except':284 'exist':70,104,166,262,434 'expect':295 'explicit':278,344 'extern':358 'file':130,364,376,387,494 'first':97,196 'flow':423 'focus':33 'follow':50,261,389 'forc':272 'format':73,117,139,155 'formatt':125 'function':279 'gemini':475 'generic':504 'git':417,435,451 'github':9,420 'global':115 'guidanc':28,46,506 'handl':285 'hint':42 'hoc':114 'ident':458,481 'idiomat':24,51,259 'implement':4,7,32,395 'import':267 'inject':373 'input':359,368 'instal':116 'instead':270 'instruct':487 'introduc':151 'invent':80 'involv':212 'isol':106 'issu':3,10,31,65,160,314,394,398 'keep':60,248 'layout':266 'librari':241 'lint':74,119 'linter':127 'list':346 'loader':338 'lockfil':252 'manifest':250 'modern':310 'modul':242 'must':429 'mypi':173 'name':269 'nativ':336 'need':201,247,303 'new':82,274 'object':337 'oper':413 'otherwis':233 'overrid':483 'overwrit':450 'packag':204,209,258 'part':227 'pass':360 'path':365 'pickl':327 'pip':221 'pip-audit':220 'pr':403 'prefer':66,105,137,239,276,316,343 'present':170 'preserv':430 'process':41 'produc':412 'project':263 'prompt':36 'public':300 'push':401 'pyright':175 'pyright-styl':174 'pytest':185 'python':6,21,30,44,52,84,260,335,505 'python-n':334 'random':319 'rather':111 'read':34 'readme.md':489 'relev':237 'remain':495 'repo':101,153,188,215,230 'repo-specif':100 'repo-standard':187,214 'repo-wid':152 'repositori':22,58,68,90,122,133,164,293,482,485 'repository-specif':484 'requir':351 'return':281 'ruff':136,138,141 'run':120,162,183,213 'safe':353 'scope':62,199 'secret':317,381 'secur':27,45,205,315,322 'security-sensit':321 'sensit':323 'shell':348 'sign':439 'similar':477 'skill':509 'skill-vigilante-issue-implementation-on-python' 'small':277 'sourc':386 'source-aliengiraffe' 'specif':102,486,501 'stack':40,83 'standard':189,216,240 'store':380 'straightforward':283 'style':176,275 'subprocess':342 'target':184 'tech':39 'test':77,182,190 'token':382 'tool':25,85,177,218,492 'topic-agent' 'topic-agent-skills' 'topic-agentic-ai' 'topic-agentic-workflow' 'topic-agents' 'topic-ai-orchestration' 'topic-ai-orchestrator' 'topic-orchestration' 'touch':129 'trailer':466 'travers':372 'treat':363 'true':349 'type':75,161,167 'unintend':375 'unless':350 'unrel':157,311 'unsaf':326 'untrust':331,367 'updat':257,288 'usag':328 'use':88,135,145,147,219,405,416 'user':432,446 'valid':356,400 'valu':324 'venv':110 'vigilant':2,16,29,393,406 'vigilante-issue-implement':392 'vigilante-issue-implementation-on-python':1 'wide':154 'work':18 'workflow':78,86,96,103,231,388,396","prices":[{"id":"08fe8191-6147-42a9-92d9-fe3722951ff3","listingId":"d1890900-9f57-422e-9b69-a5748c666b77","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:19.592Z"}],"sources":[{"listingId":"d1890900-9f57-422e-9b69-a5748c666b77","source":"github","sourceId":"aliengiraffe/vigilante/vigilante-issue-implementation-on-python","sourceUrl":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-issue-implementation-on-python","isPrimary":false,"firstSeenAt":"2026-04-18T22:23:19.592Z","lastSeenAt":"2026-05-01T07:01:24.978Z"}],"details":{"listingId":"d1890900-9f57-422e-9b69-a5748c666b77","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"aliengiraffe","slug":"vigilante-issue-implementation-on-python","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":"a047718a81737c41f7df23f1c0d7dbee9f333990","skill_md_path":"skills/vigilante-issue-implementation-on-python/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-issue-implementation-on-python"},"layout":"multi","source":"github","category":"vigilante","frontmatter":{"name":"vigilante-issue-implementation-on-python","description":"Implement a GitHub issue end-to-end when Vigilante dispatches work for a Python repository with idiomatic tooling and security guidance."},"skills_sh_url":"https://skills.sh/aliengiraffe/vigilante/vigilante-issue-implementation-on-python"},"updatedAt":"2026-05-01T07:01:24.978Z"}}