{"id":"2d3cbb0d-cffc-411f-8a13-e499f68cd65a","shortId":"nztztg","kind":"skill","title":"delist-after-reconcile-enforcement","tagline":"Run delist or blocklist enforcement after synchronization so removals update both metrics and downstream refresh signals.","description":"# SKILL: Delist-After-Reconcile Enforcement\n**Domain:** extensions-mcp\n**Trigger:** Use when an extension or plugin system must enforce removals even if the install or update pass made no additions.\n**Source Pattern:** Distilled from reviewed post-sync extension policy enforcement flows.\n\n## Core Method\nApply delist or policy enforcement after synchronization finishes so removal decisions operate on the freshest materialized state. Treat removals as first-class changes that update metrics and propagate the same downstream refresh signal used for installs. This keeps policy enforcement visible and ensures callers reload when the live set changed through removal rather than addition.\n\n## Key Rules\n- Run delist checks after synchronization, not before, so policy decisions see the latest installed state.\n- Count removals explicitly and include them in change metrics.\n- Let removals flip the same downstream changed flag or refresh contract used by installs and updates.\n\n## Example Application\nIf a headless bootstrap finds that one installed extension was later delisted, remove it after registry sync and return a changed signal so the command surface reloads.\n\n## Anti-Patterns (What NOT to do)\n- Do not hide removals as silent cleanup.\n- Do not skip delist enforcement when no new installs occurred.\n- Do not keep separate refresh paths for installs and removals when both affect the live set.","tags":["delist","after","reconcile","enforcement","cskill","agents","ychampion","agent-skills","ai-agents","cli","coding-agents","context-engineering"],"capabilities":["skill","source-ychampion","skill-delist-after-reconcile-enforcement","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/delist-after-reconcile-enforcement","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,406 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:48.080Z","embedding":null,"createdAt":"2026-04-18T22:20:15.601Z","updatedAt":"2026-04-22T06:56:48.080Z","lastSeenAt":"2026-04-22T06:56:48.080Z","tsv":"'addit':52,122 'affect':230 'anti':195 'anti-pattern':194 'appli':67 'applic':166 'blocklist':9 'bootstrap':170 'caller':111 'chang':90,117,147,155,187 'check':127 'class':89 'cleanup':207 'command':191 'contract':159 'core':65 'count':140 'decis':77,134 'delist':2,7,24,68,126,178,211 'delist-after-reconcil':23 'delist-after-reconcile-enforc':1 'distil':55 'domain':28 'downstream':19,98,154 'enforc':5,10,27,41,63,71,107,212 'ensur':110 'even':43 'exampl':165 'explicit':142 'extens':30,36,61,175 'extensions-mcp':29 'find':171 'finish':74 'first':88 'first-class':87 'flag':156 'flip':151 'flow':64 'freshest':81 'headless':169 'hide':203 'includ':144 'instal':46,103,138,162,174,216,225 'keep':105,220 'key':123 'later':177 'latest':137 'let':149 'live':115,232 'made':50 'materi':82 'mcp':31 'method':66 'metric':17,93,148 'must':40 'new':215 'occur':217 'one':173 'oper':78 'pass':49 'path':223 'pattern':54,196 'plugin':38 'polici':62,70,106,133 'post':59 'post-sync':58 'propag':95 'rather':120 'reconcil':4,26 'refresh':20,99,158,222 'registri':182 'reload':112,193 'remov':14,42,76,85,119,141,150,179,204,227 'return':185 'review':57 'rule':124 'run':6,125 'see':135 'separ':221 'set':116,233 'signal':21,100,188 'silent':206 'skill':22 'skill-delist-after-reconcile-enforcement' 'skip':210 'sourc':53 'source-ychampion' 'state':83,139 'surfac':192 'sync':60,183 'synchron':12,73,129 'system':39 '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' 'treat':84 'trigger':32 'updat':15,48,92,164 'use':33,101,160 'visibl':108","prices":[{"id":"14b2c839-b8af-4424-b8e5-d01146eb258f","listingId":"2d3cbb0d-cffc-411f-8a13-e499f68cd65a","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:15.601Z"}],"sources":[{"listingId":"2d3cbb0d-cffc-411f-8a13-e499f68cd65a","source":"github","sourceId":"ychampion/cskill-agents/delist-after-reconcile-enforcement","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/delist-after-reconcile-enforcement","isPrimary":false,"firstSeenAt":"2026-04-18T22:20:15.601Z","lastSeenAt":"2026-04-22T06:56:48.080Z"}],"details":{"listingId":"2d3cbb0d-cffc-411f-8a13-e499f68cd65a","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"delist-after-reconcile-enforcement","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":"e066ec6b3878df73b7f7a3e8749ac35a30baae0f","skill_md_path":"skills/delist-after-reconcile-enforcement/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/delist-after-reconcile-enforcement"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"delist-after-reconcile-enforcement","description":"Run delist or blocklist enforcement after synchronization so removals update both metrics and downstream refresh signals."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/delist-after-reconcile-enforcement"},"updatedAt":"2026-04-22T06:56:48.080Z"}}