{"id":"1f51446e-c769-4227-960e-783baa4fc44d","shortId":"XPDyrV","kind":"skill","title":"auto-refresh-after-new-plugin-sources","tagline":"Trigger a plugin refresh cycle whenever reconciliation installs new marketplaces so plugin state stays in sync.","description":"# SKILL: Auto Refresh After New Plugin Sources\n**Domain:** tool-orchestration\n**Trigger:** Apply when background reconciliation installs at least one new marketplace and the agent must refresh plugin cache without explicit user action.\n**Source Pattern:** Distilled from reviewed post-install refresh and extension-cache invalidation implementations.\n\n## Core Method\nAfter reconciliation reports at least one newly installed plugin source, clear both the source cache and the active plugin cache, then trigger a refresh of the live extension registry. Treat that refresh as best-effort but important: if it succeeds, the new tools become available immediately; if it fails, log the error and raise a manual-refresh flag so the user sees that recovery is required. Do this before treating downstream extension operations as ready, otherwise the product will keep resolving against stale code.\n\n## Key Rules\n- Only trigger the refresh when new installs occurred; avoid redundant refresh cycles after mere updates.\n- Clear both marketplace and plugin caches before refreshing to ensure stale data cannot leak into the newly loaded plugins.\n- Catch refresh failures, log the error, and set a visible manual-refresh flag rather than silently failing.\n- Keep analytics/logging tied to the install path so you know when an automatic refresh runs and whether it failed or succeeded.\n\n## Example Application\nIf a new marketplace is added via a curated list, automatic refresh ensures CLI commands that rely on that marketplace can resolve tools without forcing users to manually run a separate reload step.\n\n## Anti-Patterns (What NOT to do)\n- Do not refresh plugin state when there are zero new installs; the extra cache clears slow startup without benefit.\n- Do not swallow refresh errors; otherwise users never learn the auto recovery failed and manual action stays hidden.\n- Do not reuse stale caches while refreshing; skip clearing caches then refresh and the agent continues pointing at old code.","tags":["auto","refresh","after","new","plugin","sources","cskill","agents","ychampion","agent-skills","ai-agents","cli"],"capabilities":["skill","source-ychampion","skill-auto-refresh-after-new-plugin-sources","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/auto-refresh-after-new-plugin-sources","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,993 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:45.122Z","embedding":null,"createdAt":"2026-04-18T22:19:46.747Z","updatedAt":"2026-04-22T06:56:45.122Z","lastSeenAt":"2026-04-22T06:56:45.122Z","tsv":"'action':56,311 'activ':91 'ad':242 'agent':48,328 'analytics/logging':215 'anti':271 'anti-pattern':270 'appli':36 'applic':236 'auto':2,25,306 'auto-refresh-after-new-plugin-sourc':1 'automat':226,247 'avail':119 'avoid':170 'background':38 'becom':118 'benefit':295 'best':108 'best-effort':107 'cach':52,69,88,93,182,290,318,323 'cannot':189 'catch':196 'clear':84,177,291,322 'cli':250 'code':159,333 'command':251 'continu':329 'core':72 'curat':245 'cycl':12,173 'data':188 'distil':59 'domain':31 'downstream':146 'effort':109 'ensur':186,249 'error':126,201,300 'exampl':235 'explicit':54 'extens':68,101,147 'extension-cach':67 'extra':289 'fail':123,213,232,308 'failur':198 'flag':133,209 'forc':261 'hidden':313 'immedi':120 'implement':71 'import':111 'instal':15,40,64,81,168,219,287 'invalid':70 'keep':155,214 'key':160 'know':223 'leak':190 'learn':304 'least':42,78 'list':246 'live':100 'load':194 'log':124,199 'manual':131,207,264,310 'manual-refresh':130,206 'marketplac':17,45,179,240,256 'mere':175 'method':73 'must':49 'never':303 'new':5,16,28,44,116,167,239,286 'newli':80,193 'occur':169 'old':332 'one':43,79 'oper':148 'orchestr':34 'otherwis':151,301 'path':220 'pattern':58,272 'plugin':6,10,19,29,51,82,92,181,195,280 'point':330 'post':63 'post-instal':62 'product':153 'rais':128 'rather':210 'readi':150 'reconcili':14,39,75 'recoveri':139,307 'redund':171 'refresh':3,11,26,50,65,97,105,132,165,172,184,197,208,227,248,279,299,320,325 'registri':102 'reli':253 'reload':268 'report':76 'requir':141 'resolv':156,258 'reus':316 'review':61 'rule':161 'run':228,265 'see':137 'separ':267 'set':203 'silent':212 'skill':24 'skill-auto-refresh-after-new-plugin-sources' 'skip':321 'slow':292 'sourc':7,30,57,83,87 'source-ychampion' 'stale':158,187,317 'startup':293 'state':20,281 'stay':21,312 'step':269 'succeed':114,234 'swallow':298 'sync':23 'tie':216 'tool':33,117,259 'tool-orchestr':32 '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':103,145 'trigger':8,35,95,163 'updat':176 'user':55,136,262,302 'via':243 'visibl':205 'whenev':13 'whether':230 'without':53,260,294 'zero':285","prices":[{"id":"70e4cfbc-d38f-48f0-b54d-8855d636ed90","listingId":"1f51446e-c769-4227-960e-783baa4fc44d","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:19:46.747Z"}],"sources":[{"listingId":"1f51446e-c769-4227-960e-783baa4fc44d","source":"github","sourceId":"ychampion/cskill-agents/auto-refresh-after-new-plugin-sources","sourceUrl":"https://github.com/ychampion/cskill-agents/tree/main/skills/auto-refresh-after-new-plugin-sources","isPrimary":false,"firstSeenAt":"2026-04-18T22:19:46.747Z","lastSeenAt":"2026-04-22T06:56:45.122Z"}],"details":{"listingId":"1f51446e-c769-4227-960e-783baa4fc44d","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"ychampion","slug":"auto-refresh-after-new-plugin-sources","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":"73275048f3370c96bc1a21b02b9e7b537023c0e8","skill_md_path":"skills/auto-refresh-after-new-plugin-sources/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/ychampion/cskill-agents/tree/main/skills/auto-refresh-after-new-plugin-sources"},"layout":"multi","source":"github","category":"cskill-agents","frontmatter":{"name":"auto-refresh-after-new-plugin-sources","description":"Trigger a plugin refresh cycle whenever reconciliation installs new marketplaces so plugin state stays in sync."},"skills_sh_url":"https://skills.sh/ychampion/cskill-agents/auto-refresh-after-new-plugin-sources"},"updatedAt":"2026-04-22T06:56:45.122Z"}}