{"id":"7bbebcdb-2042-4e84-9bb3-f306ddfa75b5","shortId":"9S7cKY","kind":"skill","title":"vigilante-issue-implementation-on-dotnet","tagline":"Implement a GitHub issue end-to-end when Vigilante dispatches work for a .NET/C# repository with analyzer, test, and security guidance.","description":"# Vigilante .NET Issue Implementation\n\n## Focus\n- Read the prompt for detected tech stacks, process hints, and .NET security guidance before changing code.\n- Follow the repository's existing .NET workflow, solution or project structure, analyzer configuration, and formatting conventions.\n- Keep changes scoped to the issue and do not broaden into unrelated cleanup or package churn.\n\n## .NET Tooling Workflow\n- **Formatting**: use the repository's established formatting path. When `dotnet format` is the standard SDK workflow, run it on the affected project or solution scope before committing.\n- **Testing**: run targeted `dotnet test` for the affected test project, project, or solution first, then broaden only when the change crosses project boundaries or the repository workflow requires it.\n- **Analyzers**: respect built-in .NET analyzers, nullable warnings, `.editorconfig`, `Directory.Build.props`, and repo-defined warning severities. Do not weaken analyzer settings without a narrow, documented reason.\n- **Package auditing**: when dependency changes are involved or package risk is relevant, use the repository's standard NuGet restore or audit flow and review advisories when auditing is enabled.\n- **Dependencies**: prefer framework or standard-library features when they cover the need. Avoid unrelated package version churn.\n\n## .NET Coding Style\n- Follow existing project patterns for namespaces, file layout, and test structure.\n- Preserve nullable reference type correctness and prefer explicit null handling over suppression.\n- Prefer straightforward error handling and clear APIs over reflection-heavy or overly abstracted changes unless the issue requires it.\n- Keep public API changes minimal and aligned with the issue.\n\n## Security\n- Do not commit secrets, tokens, certificates, or environment-specific credentials.\n- Prefer configuration binding, options patterns, environment variables, or local user-secrets workflows over hard-coded settings.\n- In ASP.NET Core code, preserve secure defaults for authentication, authorization, antiforgery or CSRF protections where applicable, HTTPS, and sensitive-data handling.\n- Respect security analyzers and dependency advisories when the repository enables them.\n\n## Mixed-Language Repositories\n- A .NET repository may also include frontend or other non-.NET code in the same checkout.\n- Scope `.NET` validation (`dotnet test`, `dotnet format`, analyzers, restore or audit flows) to affected .NET projects or solutions only.\n- When the issue also touches another stack, validate that side with its own native tooling rather than assuming `dotnet` covers the whole repository.\n- Do not assume a .NET repository is C#-only; use the prompt's detected tech stacks and process hints.\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- Repository-specific instructions (`AGENTS.md`, `README.md`, CI config, solution-level build props) remain authoritative when they are more specific than the generic .NET guidance in this skill.","tags":["vigilante","issue","implementation","dotnet","aliengiraffe","agent","agent-skills","agentic-ai","agentic-workflow","agents","ai-orchestration","ai-orchestrator"],"capabilities":["skill","source-aliengiraffe","skill-vigilante-issue-implementation-on-dotnet","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-dotnet","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,528 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:23.990Z","embedding":null,"createdAt":"2026-04-18T22:23:11.788Z","updatedAt":"2026-05-01T07:01:23.990Z","lastSeenAt":"2026-05-01T07:01:23.990Z","tsv":"'abstract':254 'add':488 'advisori':192,328 'affect':105,119,367 'agent':484,497,507 'agents.md':513 'align':267 'also':342,376 'amend':455 'analyz':24,61,141,147,161,325,361 'anoth':378 'antiforgeri':311 'api':247,263 'applic':316 'asp.net':302 'assum':390,398 'attribut':498 'audit':169,188,194,364 'authent':309 'author':310,463,491 'authorit':523 'avoid':210 'base':418 'behalf':470 'bind':285 'boundari':134 'broaden':75,127 'build':520 'built':144 'built-in':143 'c':403 'certif':277 'chang':48,67,131,172,255,264 'checkout':353 'churn':81,214 'ci':515 'claud':501 'cleanup':78 'clear':246 'cli':448 'co':490 'co-author':489 'code':49,216,299,304,349,483,506 'codex':500 'coding-ag':482,505 'comment':426 'commit':111,274,434,438,445,449,453,468 'commit-produc':437 'committ':464 'config':479,516 'configur':62,284,467 'convent':65 'core':303 'correct':233 'cover':207,392 'creation':431 'credenti':282 'cross':132 'csrf':313 'data':321 'default':307 'defin':155 'depend':171,197,327 'detect':38,409 'direct':451 'directory.build.props':151 'dispatch':17 'document':166 'dotnet':6,94,115,357,359,391 'editorconfig':150 'enabl':196,332 'end':12,14 'end-to-end':11 'environ':280,288 'environment-specif':279 'error':243 'establish':90 'exist':54,219,461 'explicit':236 'featur':204 'file':224 'first':125 'flow':189,365,450 'focus':33 'follow':50,218,416 'format':64,85,91,95,360 'framework':199 'frontend':344 'gemini':502 'generic':531 'git':444,462,478 'github':9,447 'guidanc':28,46,533 'handl':238,244,322 'hard':298 'hard-cod':297 'heavi':251 'hint':42,414 'https':317 'ident':485,508 'implement':4,7,32,422 'includ':343 'instruct':512 'involv':174 'issu':3,10,31,71,258,270,375,421,425 'keep':66,261 'languag':336 'layout':225 'level':519 'librari':203 'local':291 'may':341 'minim':265 'mix':335 'mixed-languag':334 'must':456 'namespac':223 'narrow':165 'nativ':386 'need':209 'net':30,44,55,82,146,215,339,348,355,368,400,532 'net/c':21 'non':347 'nuget':185 'null':237 'nullabl':148,230 'oper':440 'option':286 'over':253 'overwrit':477 'packag':80,168,176,212 'path':92 'pattern':221,287 'pr':430 'prefer':198,235,241,283 'preserv':229,305,457 'process':41,413 'produc':439 'project':59,106,121,122,133,220,369 'prompt':36,407 'prop':521 'protect':314 'public':262 'push':428 'rather':388 'read':34 'readme.md':514 'reason':167 'refer':231 'reflect':250 'reflection-heavi':249 'relev':179 'remain':522 'repo':154 'repo-defin':153 'repositori':22,52,88,137,182,331,337,340,395,401,510 'repository-specif':509 'requir':139,259 'respect':142,323 'restor':186,362 'review':191 'risk':177 'run':101,113 'scope':68,109,354 'sdk':99 'secret':275,294 'secur':27,45,271,306,324 'sensit':320 'sensitive-data':319 'set':162,300 'sever':157 'side':382 'sign':466 'similar':504 'skill':536 'skill-vigilante-issue-implementation-on-dotnet' 'solut':57,108,124,371,518 'solution-level':517 'source-aliengiraffe' 'specif':281,511,528 'stack':40,379,411 'standard':98,184,202 'standard-librari':201 'straightforward':242 'structur':60,228 'style':217 'suppress':240 'target':114 'tech':39,410 'test':25,112,116,120,227,358 'token':276 'tool':83,387 'topic-agent' 'topic-agent-skills' 'topic-agentic-ai' 'topic-agentic-workflow' 'topic-agents' 'topic-ai-orchestration' 'topic-ai-orchestrator' 'topic-orchestration' 'touch':377 'trailer':493 'type':232 'unless':256 'unrel':77,211 'use':86,180,405,432,443 'user':293,459,473 'user-secret':292 'valid':356,380,427 'variabl':289 'version':213 'vigilant':2,16,29,420,433 'vigilante-issue-implement':419 'vigilante-issue-implementation-on-dotnet':1 'warn':149,156 'weaken':160 'whole':394 'without':163 'work':18 'workflow':56,84,100,138,295,415,423","prices":[{"id":"312b7ca3-df46-41d7-86fd-a0a92530e7c7","listingId":"7bbebcdb-2042-4e84-9bb3-f306ddfa75b5","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:11.788Z"}],"sources":[{"listingId":"7bbebcdb-2042-4e84-9bb3-f306ddfa75b5","source":"github","sourceId":"aliengiraffe/vigilante/vigilante-issue-implementation-on-dotnet","sourceUrl":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-issue-implementation-on-dotnet","isPrimary":false,"firstSeenAt":"2026-04-18T22:23:11.788Z","lastSeenAt":"2026-05-01T07:01:23.990Z"}],"details":{"listingId":"7bbebcdb-2042-4e84-9bb3-f306ddfa75b5","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"aliengiraffe","slug":"vigilante-issue-implementation-on-dotnet","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":"316897f4ea21365aff920c91fe5a3fe37e9b99a8","skill_md_path":"skills/vigilante-issue-implementation-on-dotnet/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/aliengiraffe/vigilante/tree/main/skills/vigilante-issue-implementation-on-dotnet"},"layout":"multi","source":"github","category":"vigilante","frontmatter":{"name":"vigilante-issue-implementation-on-dotnet","description":"Implement a GitHub issue end-to-end when Vigilante dispatches work for a .NET/C# repository with analyzer, test, and security guidance."},"skills_sh_url":"https://skills.sh/aliengiraffe/vigilante/vigilante-issue-implementation-on-dotnet"},"updatedAt":"2026-05-01T07:01:23.990Z"}}