{"id":"910da8ef-f692-4a6a-ac96-3f878328e634","shortId":"uzrRgr","kind":"skill","title":"dead-path-update-skipping","tagline":"Skip update actions that point at missing local paths when a valid materialized entry already exists, preserving the working state instead of converting drift into a noisy failure.","description":"# SKILL: Dead Path Update Skipping\n**Domain:** extensions-mcp  \n**Trigger:** Use when update candidates come from local paths that may disappear across checkouts, but existing materialized state should remain usable until a valid replacement exists.\n**Source Pattern:** Distilled from reviewed extension lifecycle and source-reconciliation patterns.\n\n## Core Method\nBefore running an update from a local path, verify that the declared path still exists. If the action is an update and the current materialized entry is still valid, skip the update rather than turning a transient path mismatch into a failed reinstall. This preserves the working materialized state in multi-checkout or ephemeral-path scenarios while still surfacing missing paths for truly absent entries.\n\n## Key Rules\n- Only apply this skip to updates where a materialized entry already exists; missing entries should still surface real errors.\n- Check path existence after normalization so you validate the exact path the reconciler would use.\n- Record skipped updates distinctly from failures so operators know the existing entry was intentionally preserved.\n- Limit the exception to local-path sources; remote sources need normal failure handling.\n- Log the reason for the skip so future debugging can tell path drift from install breakage.\n\n## Example Application\nIf a developer switches away from a temporary worktree that contained a local marketplace path, keep the previously materialized marketplace entry instead of failing an update against the now-missing worktree path. The next valid local path or explicit reinstall can replace it later.\n\n## Anti-Patterns (What NOT to do)\n- Do not attempt updates from dead local paths just to fail loudly; you destroy signal-to-noise while preserving nothing.\n- Do not apply this rule to brand-new missing entries; if nothing working exists yet, the user needs the error.","tags":["dead","path","update","skipping","cskill","agents","ychampion","agent-skills","ai-agents","cli","coding-agents","context-engineering"],"capabilities":["skill","source-ychampion","skill-dead-path-update-skipping","topic-agent-skills","topic-ai-agents","topic-cli","topic-coding-agents","topic-context-engineering","topic-developer-tools","topic-mcp","topic-multi-agent","topic-terminal-ui"],"categories":["cskill-agents"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/ychampion/cskill-agents/dead-path-update-skipping","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add ychampion/cskill-agents","source_repo":"https://github.com/ychampion/cskill-agents","install_from":"skills.sh"}},"qualityScore":"0.467","qualityRationale":"deterministic score 0.47 from registry signals: · indexed on github topic:agent-skills · 34 github stars · SKILL.md body (1,890 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-04-22T06:56:47.796Z","embedding":null,"createdAt":"2026-04-18T22:20:12.507Z","updatedAt":"2026-04-22T06:56:47.796Z","lastSeenAt":"2026-04-22T06:56:47.796Z","tsv":"'absent':148 'across':55 'action':8,100 'alreadi':20,162 'anti':279 'anti-pattern':278 'appli':153,308 'applic':232 'attempt':287 'away':237 'brand':313 'brand-new':312 'breakag':230 'candid':47 'check':171 'checkout':56,135 'come':48 'contain':243 'convert':28 'core':81 'current':106 'dead':2,35,290 'dead-path-update-skip':1 'debug':223 'declar':94 'destroy':298 'develop':235 'disappear':54 'distil':71 'distinct':189 'domain':39 'drift':29,227 'entri':19,108,149,161,165,197,253,316 'ephemer':138 'ephemeral-path':137 'error':170,326 'exact':180 'exampl':231 'except':203 'exist':21,58,68,97,163,173,196,320 'explicit':272 'extens':41,74 'extensions-mcp':40 'fail':124,256,295 'failur':33,191,213 'futur':222 'handl':214 'instal':229 'instead':26,254 'intent':199 'keep':248 'key':150 'know':194 'later':277 'lifecycl':75 'limit':201 'local':13,50,89,206,245,269,291 'local-path':205 'log':215 'loud':296 'marketplac':246,252 'materi':18,59,107,130,160,251 'may':53 'mcp':42 'method':82 'mismatch':121 'miss':12,144,164,263,315 'multi':134 'multi-checkout':133 'need':211,324 'new':314 'next':267 'nois':302 'noisi':32 'normal':175,212 'noth':305,318 'now-miss':261 'oper':193 'path':3,14,36,51,90,95,120,139,145,172,181,207,226,247,265,270,292 'pattern':70,80,280 'point':10 'preserv':22,127,200,304 'previous':250 'rather':115 'real':169 'reason':217 'reconcil':183 'reconcili':79 'record':186 'reinstal':125,273 'remain':62 'remot':209 'replac':67,275 'review':73 'rule':151,310 'run':84 'scenario':140 'signal':300 'signal-to-nois':299 'skill':34 'skill-dead-path-update-skipping' 'skip':5,6,38,112,155,187,220 'sourc':69,78,208,210 'source-reconcili':77 'source-ychampion' 'state':25,60,131 'still':96,110,142,167 'surfac':143,168 'switch':236 'tell':225 'temporari':240 'topic-agent-skills' 'topic-ai-agents' 'topic-cli' 'topic-coding-agents' 'topic-context-engineering' 'topic-developer-tools' 'topic-mcp' 'topic-multi-agent' 'topic-terminal-ui' 'transient':119 'trigger':43 'truli':147 'turn':117 'updat':4,7,37,46,86,103,114,157,188,258,288 'usabl':63 'use':44,185 'user':323 'valid':17,66,111,178,268 'verifi':91 'work':24,129,319 'worktre':241,264 'would':184 'yet':321","prices":[{"id":"feb23be3-9b09-4488-abb2-84853a401d9e","listingId":"910da8ef-f692-4a6a-ac96-3f878328e634","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"ychampion","category":"cskill-agents","install_from":"skills.sh"},"createdAt":"2026-04-18T22:20:12.507Z"}],"sources":[{"listingId":"910da8ef-f692-4a6a-ac96-3f878328e634","source":"github","sourceId":"ychampion/cskill-agents/dead-path-update-skipping","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/dead-path-update-skipping","isPrimary":false,"firstSeenAt":"2026-04-18T22:20:12.507Z","lastSeenAt":"2026-04-22T06:56:47.796Z"}],"details":{"listingId":"910da8ef-f692-4a6a-ac96-3f878328e634","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"dead-path-update-skipping","github":{"repo":"ychampion/cskill-agents","stars":34,"topics":["agent-skills","ai-agents","cli","coding-agents","context-engineering","developer-tools","mcp","multi-agent","terminal-ui"],"license":"mit","html_url":"https://github.com/ychampion/cskill-agents","pushed_at":"2026-04-04T14:13:23Z","description":"Agent skills for coding CLIs, multi-agent runtimes, context engines, MCP extensions, and terminal tooling. Instead of using claude code's source code, give your agent skills to create your own!","skill_md_sha":"73c0196dc4f97f8c60eba22ac10ced21abf8fb37","skill_md_path":"skills/dead-path-update-skipping/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/dead-path-update-skipping"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"dead-path-update-skipping","description":"Skip update actions that point at missing local paths when a valid materialized entry already exists, preserving the working state instead of converting drift into a noisy failure."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/dead-path-update-skipping"},"updatedAt":"2026-04-22T06:56:47.796Z"}}