{"id":"1abd4840-d99e-495e-8017-03726e3ddff6","shortId":"NCsyTQ","kind":"skill","title":"brownfield-gaps","tagline":"Improves graph coverage for a specific file with dynamic/unannotated patterns (event emitters, dynamic require, global injection). Use when dep-graph shows gaps on a file or when chat/query returns \"not mapped\". Not for querying — only for improving coverage.","description":"> **Deprecated:** Gap filling is now part of `brownfield-fix`. When editing a file with coverage gaps, `brownfield-fix` automatically triggers gap resolution. Use `brownfield-fix` instead.\n\n## When to use\n- dep-graph.json shows `gaps.eventEmitter`, `gaps.dynamic`, or `gaps.conditional` on a file\n- brownfield-chat or brownfield-query returns \"not mapped\" for an important file\n- Coverage below 80% on a high-risk file (risk > 50)\n- Dev says \"this file is not mapped well\" or \"why doesn't the graph show this dependency\"\n\n## When NOT to use\n- Asking what a file does → use **brownfield-query** or **brownfield-chat**\n- Architecture violations → use **brownfield-drift**\n- First-time codebase mapping → use **brownfield-map**\n\n## What to do\n1. Run: wednesday-skills fill-gaps --file <file> --min-risk 50\n   - This spawns a targeted subagent for that file only\n   - Subagent reads: exports list + nearby filenames + gap type\n   - Never sends full file source to LLM\n   - Returns edges with confidence score\n   - Edges below 0.70 confidence are not added — flagged as unknown\n2. If dynamic require found with no annotation — ask dev to add:\n   // @wednesday-skills:connects-to <event> → <file>\n3. If global injection found — ask dev to add:\n   // @wednesday-skills:global <name> → <file>\n4. After annotation added: run wednesday-skills analyze --incremental\n5. Report new coverage % to dev\n\n## Never\n- Spawn subagent on files with risk score < 50 — not worth cost\n- Send full file source to subagent — exports list and filenames only\n- Add edges with confidence below 0.70 to the graph\n- Run fill-gaps on the whole codebase at once — file by file only\n\n## Tools\nUse Bash tool to run:\n- `wednesday-skills fill-gaps --file <file> --min-risk 50`\n- `wednesday-skills analyze --incremental`\nUse Read tool for:\n- `.wednesday/codebase/dep-graph.json` — read `nodes[\"<file>\"].gaps`\n\n## Do NOT use\nDo not read the full file source before running fill-gaps.\nDo not run fill-gaps without --min-risk flag.","tags":["brownfield","gaps","agent","skills","wednesday-solutions","agent-skills","ai-agent-skills","ai-skills","claude-code","copilot","cursor","frontend-skills"],"capabilities":["skill","source-wednesday-solutions","skill-brownfield-gaps","topic-agent-skills","topic-ai-agent-skills","topic-ai-skills","topic-claude-code","topic-copilot","topic-cursor","topic-frontend-skills","topic-vibe-coding","topic-vibe-coding-skills"],"categories":["ai-agent-skills"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/wednesday-solutions/ai-agent-skills/brownfield-gaps","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add wednesday-solutions/ai-agent-skills","source_repo":"https://github.com/wednesday-solutions/ai-agent-skills","install_from":"skills.sh"}},"qualityScore":"0.524","qualityRationale":"deterministic score 0.52 from registry signals: · indexed on github topic:agent-skills · 148 github stars · SKILL.md body (1,990 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-02T12:54:44.772Z","embedding":null,"createdAt":"2026-04-18T22:09:38.302Z","updatedAt":"2026-05-02T12:54:44.772Z","lastSeenAt":"2026-05-02T12:54:44.772Z","tsv":"'0.70':205,288 '1':161 '2':213 '3':231 '4':244 '5':254 '50':108,173,268,322 '80':100 'ad':209,247 'add':224,239,283 'analyz':252,326 'annot':220,246 'architectur':143 'ask':130,221,236 'automat':63 'bash':308 'brownfield':2,51,61,69,85,89,137,141,147,156 'brownfield-chat':84,140 'brownfield-drift':146 'brownfield-fix':50,60,68 'brownfield-gap':1 'brownfield-map':155 'brownfield-queri':88,136 'chat':86,142 'chat/query':32 'codebas':152,299 'confid':201,206,286 'connect':229 'connects-to':228 'cost':271 'coverag':6,42,58,98,257 'dep':23 'dep-graph':22 'dep-graph.json':75 'depend':125 'deprec':43 'dev':109,222,237,259 'doesn':119 'drift':148 'dynam':16,215 'dynamic/unannotated':12 'edg':199,203,284 'edit':54 'emitt':15 'event':14 'export':185,278 'file':10,29,56,83,97,106,112,133,169,181,194,264,274,302,304,318,344 'filenam':188,281 'fill':45,167,294,316,349,355 'fill-gap':166,293,315,348,354 'first':150 'first-tim':149 'fix':52,62,70 'flag':210,361 'found':217,235 'full':193,273,343 'gap':3,26,44,59,65,168,189,295,317,335,350,356 'gaps.conditional':80 'gaps.dynamic':78 'gaps.eventemitter':77 'global':18,233,243 'graph':5,24,122,291 'high':104 'high-risk':103 'import':96 'improv':4,41 'increment':253,327 'inject':19,234 'instead':71 'list':186,279 'llm':197 'map':35,93,115,153,157 'min':171,320,359 'min-risk':170,319,358 'nearbi':187 'never':191,260 'new':256 'node':334 'part':48 'pattern':13 'queri':38,90,138 'read':184,329,333,341 'report':255 'requir':17,216 'resolut':66 'return':33,91,198 'risk':105,107,172,266,321,360 'run':162,248,292,311,347,353 'say':110 'score':202,267 'send':192,272 'show':25,76,123 'skill':165,227,242,251,314,325 'skill-brownfield-gaps' 'sourc':195,275,345 'source-wednesday-solutions' 'spawn':175,261 'specif':9 'subag':178,183,262,277 'target':177 'time':151 'tool':306,309,330 'topic-agent-skills' 'topic-ai-agent-skills' 'topic-ai-skills' 'topic-claude-code' 'topic-copilot' 'topic-cursor' 'topic-frontend-skills' 'topic-vibe-coding' 'topic-vibe-coding-skills' 'trigger':64 'type':190 'unknown':212 'use':20,67,74,129,135,145,154,307,328,338 'violat':144 'wednesday':164,226,241,250,313,324 'wednesday-skil':163,225,240,249,312,323 'wednesday/codebase/dep-graph.json':332 'well':116 'whole':298 'without':357 'worth':270","prices":[{"id":"f187f61b-1136-4116-92a7-4a77386c18ba","listingId":"1abd4840-d99e-495e-8017-03726e3ddff6","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"wednesday-solutions","category":"ai-agent-skills","install_from":"skills.sh"},"createdAt":"2026-04-18T22:09:38.302Z"}],"sources":[{"listingId":"1abd4840-d99e-495e-8017-03726e3ddff6","source":"github","sourceId":"wednesday-solutions/ai-agent-skills/brownfield-gaps","sourceUrl":"https://github.com/wednesday-solutions/ai-agent-skills/tree/main/skills/brownfield-gaps","isPrimary":false,"firstSeenAt":"2026-04-18T22:09:38.302Z","lastSeenAt":"2026-05-02T12:54:44.772Z"}],"details":{"listingId":"1abd4840-d99e-495e-8017-03726e3ddff6","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"wednesday-solutions","slug":"brownfield-gaps","github":{"repo":"wednesday-solutions/ai-agent-skills","stars":148,"topics":["agent-skills","ai-agent-skills","ai-skills","claude-code","copilot","cursor","frontend-skills","product-engineering-skills","vibe-coding","vibe-coding-skills"],"license":"mit","html_url":"https://github.com/wednesday-solutions/ai-agent-skills","pushed_at":"2026-04-24T12:57:49Z","description":"Pre-configured agent skills for Vibe Coded projects. These skills provide AI coding assistants (Claude Code, Cursor, etc.) with specific guidelines for code quality and design standards.","skill_md_sha":"377e3c1ef84f8865b747deb6dbe111e7460a8941","skill_md_path":"skills/brownfield-gaps/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/wednesday-solutions/ai-agent-skills/tree/main/skills/brownfield-gaps"},"layout":"multi","source":"github","category":"ai-agent-skills","frontmatter":{"name":"brownfield-gaps","description":"Improves graph coverage for a specific file with dynamic/unannotated patterns (event emitters, dynamic require, global injection). Use when dep-graph shows gaps on a file or when chat/query returns \"not mapped\". Not for querying — only for improving coverage."},"skills_sh_url":"https://skills.sh/wednesday-solutions/ai-agent-skills/brownfield-gaps"},"updatedAt":"2026-05-02T12:54:44.772Z"}}