{"id":"c0ede151-dc1a-4fcc-b4c4-b2ba2c677851","shortId":"WDYMQU","kind":"skill","title":"skill-listing-reset-on-real-skill-changes","tagline":"Reset skill-listing announcement state only when the underlying skill set actually changes, not on compaction or transcript churn.","description":"# SKILL: Skill Listing Reset on Real Skill Changes\n**Domain:** command-surfaces  \n**Trigger:** Apply when a system tracks which skills have already been announced and must decide when that sent-state should be cleared.\n**Source Pattern:** Distilled from reviewed command-surface and listing-control patterns.\n\n## Core Method\nTie announcement-state resets to real changes in the underlying skill inventory, such as plugin reloads or skill file changes on disk. Do not clear the sent-state for compaction, transcript recovery, or other conversation-level churn, because that would force expensive re-injections of essentially unchanged listings. This keeps listing deltas meaningful and avoids paying thousands of tokens to restate the same inventory after every context-management event.\n\n## Key Rules\n- Reset the sent-state when the registry itself changes, not when the conversation representation changes.\n- Keep reset triggers narrow and explicit, such as plugin reload or skill-file mutation hooks.\n- Do not piggyback listing resets onto compaction, resume, or transcript maintenance paths unless those paths also change the actual registry.\n- Clear any paired suppression flags together with the sent-state so the next genuine delta announcement starts from a clean slate.\n\n## Example Application\nIf a desktop agent reloads plugins and the available skill set changes, clear the sent-skill tracking map so the next listing can announce the new tools. If the conversation merely compacts or rehydrates from transcript, leave the sent-state alone so the agent does not spend tokens repeating an unchanged listing.\n\n## Anti-Patterns (What NOT to do)\n- Do not reset announcement state on every compaction or replay event; that turns context maintenance into repeated full-list reinjection.\n- Do not leave suppression flags out of sync with the reset; partial resets create confusing one-off gaps in later announcements.","tags":["skill","listing","reset","real","changes","cskill","agents","ychampion","agent-skills","ai-agents","cli","coding-agents"],"capabilities":["skill","source-ychampion","skill-skill-listing-reset-on-real-skill-changes","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/skill-listing-reset-on-real-skill-changes","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,920 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-22T00:56:56.396Z","embedding":null,"createdAt":"2026-04-18T22:21:17.907Z","updatedAt":"2026-04-22T00:56:56.396Z","lastSeenAt":"2026-04-22T00:56:56.396Z","tsv":"'actual':21,205 'agent':234,276 'alon':273 'alreadi':50 'also':202 'announc':13,52,81,223,255,295,334 'announcement-st':80 'anti':286 'anti-pattern':285 'appli':42 'applic':230 'avail':239 'avoid':137 'chang':8,22,36,86,99,164,170,203,242 'churn':28,118 'clean':227 'clear':63,104,207,243 'command':39,70 'command-surfac':38,69 'compact':25,110,193,263,299 'confus':327 'context':150,305 'context-manag':149 'control':75 'convers':116,168,261 'conversation-level':115 'core':77 'creat':326 'decid':55 'delta':134,222 'desktop':233 'disk':101 'distil':66 'domain':37 'essenti':128 'event':152,302 'everi':148,298 'exampl':229 'expens':123 'explicit':176 'file':98,184 'flag':211,317 'forc':122 'full':310 'full-list':309 'gap':331 'genuin':221 'hook':186 'inject':126 'inventori':91,146 'keep':132,171 'key':153 'later':333 'leav':268,315 'level':117 'list':3,12,31,74,130,133,190,253,284,311 'listing-control':73 'mainten':197,306 'manag':151 'map':249 'meaning':135 'mere':262 'method':78 'must':54 'mutat':185 'narrow':174 'new':257 'next':220,252 'one':329 'one-off':328 'onto':192 'pair':209 'partial':324 'path':198,201 'pattern':65,76,287 'pay':138 'piggyback':189 'plugin':94,179,236 're':125 're-inject':124 'real':6,34,85 'recoveri':112 'registri':162,206 'rehydr':265 'reinject':312 'reload':95,180,235 'repeat':281,308 'replay':301 'represent':169 'reset':4,9,32,83,155,172,191,294,323,325 'restat':143 'resum':194 'review':68 'rule':154 'sent':59,107,158,216,246,271 'sent-skil':245 'sent-stat':58,106,157,215,270 'set':20,241 'skill':2,7,11,19,29,30,35,48,90,97,183,240,247 'skill-fil':182 'skill-list':10 'skill-listing-reset-on-real-skill-chang':1 'skill-skill-listing-reset-on-real-skill-changes' 'slate':228 'sourc':64 'source-ychampion' 'spend':279 'start':224 'state':14,60,82,108,159,217,272,296 'suppress':210,316 'surfac':40,71 'sync':320 'system':45 'thousand':139 'tie':79 'togeth':212 'token':141,280 'tool':258 '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' 'track':46,248 'transcript':27,111,196,267 'trigger':41,173 'turn':304 'unchang':129,283 'under':18,89 'unless':199 'would':121","prices":[{"id":"668b612a-318e-4df8-b4e1-d03b530cf2b7","listingId":"c0ede151-dc1a-4fcc-b4c4-b2ba2c677851","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:21:17.907Z"}],"sources":[{"listingId":"c0ede151-dc1a-4fcc-b4c4-b2ba2c677851","source":"github","sourceId":"ychampion/cskill-agents/skill-listing-reset-on-real-skill-changes","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/skill-listing-reset-on-real-skill-changes","isPrimary":false,"firstSeenAt":"2026-04-18T22:21:17.907Z","lastSeenAt":"2026-04-22T00:56:56.396Z"}],"details":{"listingId":"c0ede151-dc1a-4fcc-b4c4-b2ba2c677851","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"skill-listing-reset-on-real-skill-changes","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":"453d2cdc49020051fb1da8a61aff350d8ca42c58","skill_md_path":"skills/skill-listing-reset-on-real-skill-changes/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/skill-listing-reset-on-real-skill-changes"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"skill-listing-reset-on-real-skill-changes","description":"Reset skill-listing announcement state only when the underlying skill set actually changes, not on compaction or transcript churn."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/skill-listing-reset-on-real-skill-changes"},"updatedAt":"2026-04-22T00:56:56.396Z"}}