{"id":"6930dd77-443a-45cb-91ee-54829baa9ba5","shortId":"6XdcZp","kind":"skill","title":"cheese","tagline":"This skill should be used as the unified entry point when the user drops in any input — idea, spec path, file path, PR or issue, stack trace, bug report, or just `/cheese` — and wants the workflow routed. Phrases include \"/cheese\", \"what should I do with this\", \"help me get start","description":"# /cheese\n\nUse this skill as the single front door to the easy-cheese workflow. Inspect whatever the user dropped in, classify it into an intent shape, announce the routing decision, and gate dispatch on explicit confirmation.\n\nDo not use it once a downstream skill is already running, or when the user has already named the skill they want (`/mold ...`, `/cook ...`, `/age`, etc.) — pass straight through to that skill instead.\n\n## Inputs\n\nAccept anything the user supplies as `$ARGUMENTS`:\n\n- A natural-language feature description, idea, or question.\n- A spec path (`.cheese/specs/<slug>.md`) or pasted spec content.\n- A bug report, stack trace, failing test output, or reproduction steps.\n- A file path, glob, or directory.\n- A PR or issue reference (`PR#142`, `#87`, GitHub URL).\n- A research question about an external library, API, or pattern.\n- An empty or near-empty prompt — treat as \"what's next?\" and clarify.\n\nOptional flags:\n\n- `--continue <slug>` — resume an in-flight pipeline from the latest handoff slug. See `## --continue` below.\n- `--hard` — inject the `/hard-cheese` metacognitive gate before code is shared for review. The flag propagates to whichever target the router dispatches and fires at `/cure`'s share-for-review handoff (or end of final auto pass under `--auto --hard`). See `skills/hard-cheese/SKILL.md`.\n\nIf `$ARGUMENTS` is missing entirely and there is no recent context to lean on, ask one clarifying question via `AskUserQuestion` before classifying.\n\n## Flow\n\n1. **Classify** — match `$ARGUMENTS` against the intent shapes in `references/classification.md`. Pick the highest-confidence shape; below the threshold, route to `clarify` (see step 4).\n2. **Announce** — print one short paragraph with: detected intent, chosen target skill (or pre-step), and the one-line reason for the decision. Cite the signal that drove it (e.g. \"spec path under `.cheese/specs/`\", \"stack trace present\", \"PR URL\").\n3. **Self-check** — run the coherence questions in `references/coherence-check.md` before dispatching. If any fails, downgrade to `clarify` or `research`.\n4. **Confirm** — issue a handoff gate per [`../../shared/handoff-gate.md`](../../shared/handoff-gate.md): recommended target pre-selected, at least one alternative, and a `Stop` option. The user's selection is the only trigger for dispatch; never invoke a skill silently before the selection.\n5. **Hand off** — once the user picks a non-stop option, immediately run the selected skill with the exact dispatch command and context packet. The downstream skill owns its own flow; `/cheese` does not narrate beyond the routing decision.\n\n`/cheese` is a router, not a worker. It never edits files, runs tests, opens PRs, or paraphrases the downstream skill's output.\n\n## Intent shapes\n\n| Intent | Trigger signals | Pre-step | Target skill |\n| --- | --- | --- | --- |\n| clarify | Empty input, single keyword, or critical ambiguity | `AskUserQuestion` for the missing fact | re-enter `/cheese` once answered |\n| research | Library / API / vendor question, \"what's the best…\", comparison | — | `/briesearch` |\n| rubber-duck | \"Help me think through…\", architecture discussion, no artifact intent | — | `/culture` |\n| mold | Feature description with fuzzy scope, multi-module idea, or stated need for a spec | optional `/briesearch` first if external evidence is missing | `/mold` → `/cook` |\n| cook | Spec path, focused fix with clear inputs/outputs/verification, single-file tweak | — | `/cook` |\n| cheese-factory | Approved spec at `.cheese/specs/<slug>.md` with 5+ acceptance criteria / behavioural curds, or user phrases like \"send through the factory\", \"parallelize\", \"many curds\", \"fan out\" | — | `/cheese-factory` |\n| debug | Stack trace, failing test, reproduction steps, \"why is X broken\" | — | `/pasteurize` → `/cook --auto` |\n| age | PR reference, file path/glob review request, \"is this safe to merge\", \"find bugs\" | — | `/age` |\n| age-then-cure | Existing `.cheese/age/<slug>.md` plus a \"fix the findings\" instruction | — | `/age` (re-scope if needed) → `/cure` |\n\nThe full classification table — including disambiguation rules, edge cases, and confidence cues — lives in `references/classification.md`.\n\n## --continue\n\n`/cheese --continue <slug>` is the manual fresh-context resumption path. Use it after compacting the conversation, after `/ultracook` has stopped on a halt, or whenever the user wants to drive the pipeline by hand from a cleared context.\n\nFlow:\n\n1. Scan for the most recently modified handoff slug across `.cheese/{cook,press,age,cure,notes}/<slug>.md`.\n2. If none exist, offer to start the pipeline from scratch — `/mold` for fuzzy specs, `/cook` for clear asks, `/ultracook` for high-blast-radius specs — and stop.\n3. If at least one exists, read the latest one and use its `next:` field to decide the recommended action. Surface the orientation line so the user knows where they are.\n4. Confirm the resumption via the handoff gate in [`../../shared/handoff-gate.md`](../../shared/handoff-gate.md). The recommended option depends on the slug's `next:` value:\n   - **When `next:` names a phase** (`mold | cook | press | age | cure | ultracook`):\n     - **Run /\\<next\\> \\<slug\\>** *(recommended)* — continue the chain at the named phase.\n     - **Run /ultracook \\<slug\\>** — re-enter the autonomous fresh-context chain.\n     - **Stop** — leave the pipeline paused.\n   - **When `next:` is terminal** (`done` from a phase slug, or `stop` from a culture-notes slug — the pipeline already finished):\n     - **Stop** *(recommended)* — review the diff and `/gh` when ready; there is no further phase to run.\n     - **Run /age \\<slug\\>** — re-review the diff in fresh context if you want another pass.\n     - **Run /ultracook \\<slug\\>** — only if you want to redo the whole chain over the same slug. Refuses when phase handoffs already exist (per `/ultracook`'s existing-handoffs guard); requires removing the existing slugs first.\n\n`/cheese --continue` never dispatches before the user selects, and it never builds `/done <slug>` or `/stop <slug>` from a terminal `next:` field — those values surface the terminal state to the user, not a runnable command. After a non-stop selection, run the selected phase immediately with the slug. The slug files are the resumability contract: they tell the router where the pipeline is, and the user picks how to move it forward.\n\n## Confidence and the clarify gate\n\nTreat classification confidence qualitatively (`low | medium | high`). Threshold for direct routing is `medium` or better. Below that:\n\n- Pick the **clarify** path and ask exactly one question via `AskUserQuestion`.\n- Offer the two most-likely targets as alternatives plus `Stop`.\n- Re-enter `/cheese` with the answer; do not chain a partial classification.\n\nNever resolve uncertainty by guessing — silent misrouting is worse than asking once.\n\n## Preferred tools and fallbacks\n\nWhen the input is a path or slug, code reading and searching go through the cheez-* skills (`/cheez-read`, `/cheez-search`) — see those skills for tool selection rules.\n\nBeyond cheez-* there are router-specific tools:\n\n| Need | Prefer | Fallback |\n| --- | --- | --- |\n| PR / issue context | `gh` | the URL or numbers the user provided |\n| Confirming routing target with the user | `AskUserQuestion` / host structured question (`request_user_input` in Codex when available) | a numbered list with explicit dispatch commands and \"no auto-invoke before selection\" wording |\n\n`/cheese` keeps tool use light. Treat anything heavier than a single-file read or one search call as a sign the work belongs in the downstream skill, not in the router.\n\n## Output\n\nAlways emit, in order:\n\n1. **Detected intent** — one line, e.g. `Intent: cook (clear single-file fix)`.\n2. **Reason** — one line citing the signal (`reason: spec path .cheese/specs/foo.md`).\n3. **Target** — the recommended skill, e.g. `Target: /cook .cheese/specs/foo.md`.\n4. **Confirmation prompt** — handoff gate with the recommended target pre-selected, one alternative, `Stop`, and exact dispatch records for every non-stop option.\n\nIf `clarify` is chosen, replace step 4 with the single clarifying question.\n\n## Handoff\n\nDispatch happens through [`../../shared/handoff-gate.md`](../../shared/handoff-gate.md). Default option set per intent:\n\n- **clarify** — single targeted question; no skills offered until the answer arrives.\n- **research** — `Run /briesearch` (recommended), `Run /culture`, `Stop`.\n- **rubber-duck** — `Run /culture` (recommended), `Run /briesearch`, `Stop`.\n- **mold** — `Run /mold` (recommended), `Run /briesearch first`, `Stop`.\n- **cook** — `Run /cook <slug-or-path>` (recommended), `Run /cook --auto <slug-or-path>` (offer only when the input is unambiguous *and* the user signalled autonomous pipeline intent — \"auto\", \"ship it\", \"all the way through\"; never pre-select), `Run /mold first`, `Stop`.\n- **cheese-factory** — `Run /cheese-factory <slug-or-path>` (recommended when the spec decomposes into 5+ curds), `Run /ultracook <slug-or-path>` (when the user wants the sequential pipeline instead), `Run /cook --auto`, `Stop`.\n- **debug** — `Run /pasteurize <input>` (recommended), `Run /pasteurize --auto <input>` (offer only when the user signalled autonomous intent — \"auto\", \"ship it\", \"fix it all the way\"; never pre-select), `Run /culture` (when the user explicitly wants no-write diagnosis only), `Stop`.\n- **age** — `Run /age <ref>` (recommended), `Run /age --scope <path>`, `Stop`.\n- **age-then-cure** — `Run /age <slug>` (recommended), `Run /cure <slug>` (when a fresh report already exists), `Stop`.\n\nPre-select only the highest-confidence target. If two targets are viable, surface both and let the user decide.\n\n`/cheese` never auto-invokes before the user selects. After a non-stop selection, the selected skill runs immediately with the captured dispatch packet.\n\n## Rules\n\n- Classification is the only output until the user confirms; after a non-stop confirmation, dispatch instead of stopping at a recommendation.\n- One clarifying question, max, before re-entering classification.\n- Below `medium` confidence, route to `clarify`, not to a guess.\n- Never paraphrase or summarise downstream skill output — that is the downstream skill's job.\n- Never edit files, write specs, or run quality gates from `/cheese`.\n\n## References\n\n- `references/classification.md` — intent shapes, signals, disambiguation rules.\n- `references/coherence-check.md` — pre-dispatch self-checks that downgrade misroutes.\n- [`../../shared/handoff-gate.md`](../../shared/handoff-gate.md) — Codex-safe post-selection dispatch contract (shared across workflow skills).","tags":["cheese","easy","paulnsorensen","agent-skills","ai-coding","claude-code","code-review","developer-tools"],"capabilities":["skill","source-paulnsorensen","skill-cheese","topic-agent-skills","topic-ai-coding","topic-claude-code","topic-code-review","topic-developer-tools"],"categories":["easy-cheese"],"synonyms":[],"warnings":[],"endpointUrl":"https://skills.sh/paulnsorensen/easy-cheese/cheese","protocol":"skill","transport":"skills-sh","auth":{"type":"none","details":{"cli":"npx skills add paulnsorensen/easy-cheese","source_repo":"https://github.com/paulnsorensen/easy-cheese","install_from":"skills.sh"}},"qualityScore":"0.453","qualityRationale":"deterministic score 0.45 from registry signals: · indexed on github topic:agent-skills · 7 github stars · SKILL.md body (10,632 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-18T19:13:40.459Z","embedding":null,"createdAt":"2026-05-18T13:21:08.124Z","updatedAt":"2026-05-18T19:13:40.459Z","lastSeenAt":"2026-05-18T19:13:40.459Z","tsv":"'/../shared/handoff-gate.md':374,375,778,779,1252,1253,1551,1552 '/age':113,617,631,867,1399,1402,1410 '/briesearch':508,539,1272,1284,1291 '/cheese':33,41,52,439,447,495,654,917,1035,1141,1442,1533 '/cheese-factory':588,1334 '/cheez-read':1078 '/cheez-search':1079 '/cook':112,547,560,601,725,1209,1296,1299,1354 '/culture':521,1275,1281,1385 '/cure':240,637,1413 '/done':929 '/gh':856 '/hard-cheese':219 '/mold':111,546,721,1288,1327 '/pasteurize':600,1359,1362 '/stop':931 '/ultracook':671,729,813,883,905,1344 '1':281,693,1178 '142':171 '2':306,710,1191 '3':347,738,1202 '4':305,367,769,1211,1242 '5':407,570,1341 '87':172 'accept':123,571 'across':702,1562 'action':757 'age':603,619,706,798,1397,1406 'age-then-cur':618,1405 'alreadi':98,105,848,902,1418 'altern':384,1029,1224 'alway':1174 'ambigu':486 'announc':79,307 'anoth':880 'answer':497,1038,1268 'anyth':124,1147 'api':182,500 'approv':564 'architectur':516 'argument':129,259,284 'arriv':1269 'artifact':519 'ask':272,728,1015,1055 'askuserquest':277,487,1020,1115 'auto':251,254,602,1136,1300,1315,1355,1363,1372,1445 'auto-invok':1135,1444 'autonom':819,1312,1370 'avail':1125 'behaviour':573 'belong':1164 'best':506 'better':1007 'beyond':443,1087 'blast':733 'broken':599 'bug':29,149,616 'build':928 'call':1158 'captur':1464 'case':646 'chain':807,823,893,1041 'check':350,1547 'chees':1,65,562,703,1331 'cheese-factori':561,1330 'cheese/age':623 'cheese/specs':142,341,567 'cheese/specs/foo.md':1201,1210 'cheez':1076,1088 'chosen':315,1239 'cite':331,1195 'clarifi':198,274,302,364,479,991,1012,1237,1246,1259,1491,1504 'classif':640,994,1044,1468,1498 'classifi':73,279,282 'clear':554,690,727,1186 'code':223,1069 'codex':1123,1554 'codex-saf':1553 'coher':353 'command':428,949,1132 'compact':667 'comparison':507 'confid':295,648,988,995,1428,1501 'confirm':88,368,770,1109,1212,1476,1482 'content':147 'context':268,430,661,691,822,876,1100 'continu':201,214,653,655,805,918 'contract':970,1560 'convers':669 'cook':548,704,796,1185,1294 'criteria':572 'critic':485 'cue':649 'cultur':843 'culture-not':842 'curd':574,585,1342 'cure':621,707,799,1408 'debug':589,1357 'decid':754,1441 'decis':82,330,446 'decompos':1339 'default':1254 'depend':783 'descript':135,524 'detect':313,1179 'diagnosi':1394 'diff':854,873 'direct':1002 'directori':164 'disambigu':643,1539 'discuss':517 'dispatch':85,236,358,398,427,920,1131,1228,1249,1465,1483,1544,1559 'done':833 'door':60 'downgrad':362,1549 'downstream':95,433,465,1167,1513,1519 'drive':683 'drop':15,71 'drove':335 'duck':511,1279 'e.g':337,1183,1207 'easi':64 'easy-chees':63 'edg':645 'edit':456,1524 'emit':1175 'empti':186,190,480 'end':248 'enter':494,817,1034,1497 'entir':262 'entri':10 'etc':114 'everi':1231 'evid':543 'exact':426,1016,1227 'exist':622,713,743,903,908,914,1419 'existing-handoff':907 'explicit':87,1130,1389 'extern':180,542 'fact':491 'factori':563,582,1332 'fail':153,361,592 'fallback':1060,1097 'fan':586 'featur':134,523 'field':752,936 'file':22,160,457,558,606,966,1153,1189,1525 'final':250 'find':615,629 'finish':849 'fire':238 'first':540,916,1292,1328 'fix':552,627,1190,1375 'flag':200,229 'flight':206 'flow':280,438,692 'focus':551 'forward':987 'fresh':660,821,875,1416 'fresh-context':659,820 'front':59 'full':639 'fuzzi':526,723 'gate':84,221,372,776,992,1215,1531 'get':50 'gh':1101 'github':173 'glob':162 'go':1073 'guard':910 'guess':1049,1508 'halt':676 'hand':408,687 'handoff':211,246,371,700,775,901,909,1214,1248 'happen':1250 'hard':216,255 'heavier':1148 'help':48,512 'high':732,999 'high-blast-radius':731 'highest':294,1427 'highest-confid':293,1426 'host':1116 'idea':19,136,531 'immedi':419,960,1461 'in-flight':204 'includ':40,642 'inject':217 'input':18,122,481,1063,1121,1305 'inputs/outputs/verification':555 'inspect':67 'instead':121,1352,1484 'instruct':630 'intent':77,287,314,469,471,520,1180,1184,1258,1314,1371,1536 'invok':400,1137,1446 'issu':26,168,369,1099 'job':1522 'keep':1142 'keyword':483 'know':765 'languag':133 'latest':210,746 'lean':270 'least':382,741 'leav':825 'let':1438 'librari':181,499 'light':1145 'like':578,1026 'line':326,761,1182,1194 'list':1128 'live':650 'low':997 'mani':584 'manual':658 'match':283 'max':1493 'md':143,568,624,709 'medium':998,1005,1500 'merg':614 'metacognit':220 'misrout':1051,1550 'miss':261,490,545 'modifi':699 'modul':530 'mold':522,795,1286 'most-lik':1024 'move':985 'multi':529 'multi-modul':528 'name':106,792,810 'narrat':442 'natur':132 'natural-languag':131 'near':189 'near-empti':188 'need':534,636,1095 'never':399,455,919,927,1045,1322,1380,1443,1509,1523 'next':196,751,788,791,802,830,935 'no-writ':1391 'non':416,953,1233,1454,1480 'non-stop':415,952,1232,1453,1479 'none':712 'note':708,844 'number':1105,1127 'offer':714,1021,1265,1301,1364 'one':273,309,325,383,742,747,1017,1156,1181,1193,1223,1490 'one-lin':324 'open':460 'option':199,388,418,538,782,1235,1255 'order':1177 'orient':760 'output':155,468,1173,1472,1515 'own':435 'packet':431,1466 'paragraph':311 'parallel':583 'paraphras':463,1510 'partial':1043 'pass':115,252,881 'past':145 'path':21,23,141,161,339,550,663,1013,1066,1200 'path/glob':607 'pattern':184 'paus':828 'per':373,904,1257 'phase':794,811,836,863,900,959 'phrase':39,577 'pick':291,413,982,1010 'pipelin':207,685,718,827,847,977,1313,1351 'plus':625,1030 'point':11 'post':1557 'post-select':1556 'pr':24,166,170,345,604,1098 'pre':320,379,475,1221,1324,1382,1422,1543 'pre-dispatch':1542 'pre-select':378,1220,1323,1381,1421 'pre-step':319,474 'prefer':1057,1096 'present':344 'press':705,797 'print':308 'prompt':191,1213 'propag':230 'provid':1108 'prs':461 'qualit':996 'qualiti':1530 'question':138,177,275,354,502,1018,1118,1247,1262,1492 'radius':734 're':493,633,816,870,1033,1496 're-ent':492,815,1032,1495 're-review':869 're-scop':632 'read':744,1070,1154 'readi':858 'reason':327,1192,1198 'recent':267,698 'recommend':376,756,781,804,851,1205,1218,1273,1282,1289,1297,1335,1360,1400,1411,1489 'record':1229 'redo':890 'refer':169,605,1534 'references/classification.md':290,652,1535 'references/coherence-check.md':356,1541 'refus':898 'remov':912 'replac':1240 'report':30,150,1417 'reproduct':157,594 'request':609,1119 'requir':911 'research':176,366,498,1270 'resolv':1046 'resum':202,969 'resumpt':662,772 'review':227,245,608,852,871 'rout':38,81,300,445,1003,1110,1502 'router':235,450,974,1092,1172 'router-specif':1091 'rubber':510,1278 'rubber-duck':509,1277 'rule':644,1086,1467,1540 'run':99,351,420,458,801,812,865,866,882,956,1271,1274,1280,1283,1287,1290,1295,1298,1326,1333,1343,1353,1358,1361,1384,1398,1401,1409,1412,1460,1529 'runnabl':948 'safe':612,1555 'scan':694 'scope':527,634,1403 'scratch':720 'search':1072,1157 'see':213,256,303,1080 'select':380,392,406,422,924,955,958,1085,1139,1222,1325,1383,1423,1450,1456,1458,1558 'self':349,1546 'self-check':348,1545 'send':579 'sequenti':1350 'set':1256 'shape':78,288,296,470,1537 'share':225,243,1561 'share-for-review':242 'ship':1316,1373 'short':310 'sign':1161 'signal':333,473,1197,1311,1369,1538 'silent':403,1050 'singl':58,482,557,1152,1188,1245,1260 'single-fil':556,1151,1187 'skill':3,55,96,108,120,317,402,423,434,466,478,1077,1082,1168,1206,1264,1459,1514,1520,1564 'skill-cheese' 'skills/hard-cheese/skill.md':257 'slug':212,701,786,803,814,837,845,868,884,897,915,963,965,1068 'source-paulnsorensen' 'spec':20,140,146,338,537,549,565,724,735,1199,1338,1527 'specif':1093 'stack':27,151,342,590 'start':51,716 'state':533,942 'step':158,304,321,476,595,1241 'stop':387,417,673,737,824,839,850,954,1031,1225,1234,1276,1285,1293,1329,1356,1396,1404,1420,1455,1481,1486 'straight':116 'structur':1117 'summaris':1512 'suppli':127 'surfac':758,939,1435 'tabl':641 'target':233,316,377,477,1027,1111,1203,1208,1219,1261,1429,1432 'tell':972 'termin':832,934,941 'test':154,459,593 'think':514 'threshold':299,1000 'tool':1058,1084,1094,1143 'topic-agent-skills' 'topic-ai-coding' 'topic-claude-code' 'topic-code-review' 'topic-developer-tools' 'trace':28,152,343,591 'treat':192,993,1146 'trigger':396,472 'tweak':559 'two':1023,1431 'ultracook':800 'unambigu':1307 'uncertainti':1047 'unifi':9 'url':174,346,1103 'use':6,53,91,664,749,1144 'user':14,70,103,126,390,412,576,680,764,923,945,981,1107,1114,1120,1310,1347,1368,1388,1440,1449,1475 'valu':789,938 'vendor':501 'via':276,773,1019 'viabl':1434 'want':35,110,681,879,888,1348,1390 'way':1320,1379 'whatev':68 'whenev':678 'whichev':232 'whole':892 'word':1140 'work':1163 'worker':453 'workflow':37,66,1563 'wors':1053 'write':1393,1526 'x':598","prices":[{"id":"cc9713cb-3daa-4a3b-bb3f-2fb12759cf96","listingId":"6930dd77-443a-45cb-91ee-54829baa9ba5","amountUsd":"0","unit":"free","nativeCurrency":null,"nativeAmount":null,"chain":null,"payTo":null,"paymentMethod":"skill-free","isPrimary":true,"details":{"org":"paulnsorensen","category":"easy-cheese","install_from":"skills.sh"},"createdAt":"2026-05-18T13:21:08.124Z"}],"sources":[{"listingId":"6930dd77-443a-45cb-91ee-54829baa9ba5","source":"github","sourceId":"paulnsorensen/easy-cheese/cheese","sourceUrl":"https://github.com/paulnsorensen/easy-cheese/tree/main/skills/cheese","isPrimary":false,"firstSeenAt":"2026-05-18T13:21:08.124Z","lastSeenAt":"2026-05-18T19:13:40.459Z"}],"details":{"listingId":"6930dd77-443a-45cb-91ee-54829baa9ba5","quickStartSnippet":null,"exampleRequest":null,"exampleResponse":null,"schema":null,"openapiUrl":null,"agentsTxtUrl":null,"citations":[],"useCases":[],"bestFor":[],"notFor":[],"kindDetails":{"org":"paulnsorensen","slug":"cheese","github":{"repo":"paulnsorensen/easy-cheese","stars":7,"topics":["agent-skills","ai-coding","claude-code","code-review","developer-tools"],"license":"mit","html_url":"https://github.com/paulnsorensen/easy-cheese","pushed_at":"2026-05-18T06:33:38Z","description":"Cheese your code 🧀 — high-quality results as easy as cheese. A portable, harness-agnostic Agent Skills toolkit.","skill_md_sha":"7dfc691efe403f9e16e6b70b4ce7a92199c94af7","skill_md_path":"skills/cheese/SKILL.md","default_branch":"main","skill_tree_url":"https://github.com/paulnsorensen/easy-cheese/tree/main/skills/cheese"},"layout":"multi","source":"github","category":"easy-cheese","frontmatter":{"name":"cheese","license":"MIT","description":"This skill should be used as the unified entry point when the user drops in any input — idea, spec path, file path, PR or issue, stack trace, bug report, or just `/cheese` — and wants the workflow routed. Phrases include \"/cheese\", \"what should I do with this\", \"help me get started\", \"route this\", \"figure out what skill I need\", or any opening message that does not already name a downstream skill. Classifies the input into an intent shape, announces the target and reason, and gates dispatch behind explicit user selection so nothing runs silently. After a non-stop selection, immediately dispatches the selected downstream skill with the exact command and context packet. Before any other workflow skill."},"skills_sh_url":"https://skills.sh/paulnsorensen/easy-cheese/cheese"},"updatedAt":"2026-05-18T19:13:40.459Z"}}