[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M74CDASE476P6F74WMCVAC4Z":3,"skill-same:01M74CDASE476P6F74WMCVAC4Z":46},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":19,"linkOnly":20,"markdownContent":21,"markdownBody":22,"frontMatter":23,"refName":25,"commitSha":26,"skillDirectory":27,"forksCount":28,"repositoryHtmlUrl":29,"repositoryHomepageUrl":6,"ownerHtmlUrl":30,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":31,"install":32,"resources":45},"01M74CDASE476P6F74WMCVAC4Z","gsd-debug",null,"Systematic debugging with persistent state across context resets","tamarillo-ai\u002Ftheta","tamarillo-ai","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F264659913?v=4","01M732W8TW61PS979NJ2W4Z6XZ","tamarillo.ai","01M732W8VRBBGT4F0Q3B2HNGTQ",15,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcodex-cli\u002Fregression\u002FAI-Powered-Learning-Assistant-App\u002F.codex\u002Fskills\u002Fgsd-debug\u002FSKILL.md",[],[],"2026-11-11 15:11:14",false,"---\nname: \"gsd-debug\"\ndescription: \"Systematic debugging with persistent state across context resets\"\nmetadata:\n  short-description: \"Systematic debugging with persistent state across context resets\"\n---\n\n\u003Ccodex_skill_adapter>\n## A. Skill Invocation\n- This skill is invoked by mentioning `$gsd-debug`.\n- Treat all user text after `$gsd-debug` as `{{GSD_ARGS}}`.\n- If no arguments are present, treat `{{GSD_ARGS}}` as empty.\n\n## B. AskUserQuestion → request_user_input Mapping\nGSD workflows use `AskUserQuestion` (Claude Code syntax). Translate to Codex `request_user_input`:\n\nParameter mapping:\n- `header` → `header`\n- `question` → `question`\n- Options formatted as `\"Label\" — description` → `{label: \"Label\", description: \"description\"}`\n- Generate `id` from header: lowercase, replace spaces with underscores\n\nBatched calls:\n- `AskUserQuestion([q1, q2])` → single `request_user_input` with multiple entries in `questions[]`\n\nMulti-select workaround:\n- Codex has no `multiSelect`. Use sequential single-selects, or present a numbered freeform list asking the user to enter comma-separated numbers.\n\nExecute mode fallback:\n- When `request_user_input` is rejected (Execute mode), present a plain-text numbered list and pick a reasonable default.\n\n## C. Task() → spawn_agent Mapping\nGSD workflows use `Task(...)` (Claude Code syntax). Translate to Codex collaboration tools:\n\nDirect mapping:\n- `Task(subagent_type=\"X\", prompt=\"Y\")` → `spawn_agent(agent_type=\"X\", message=\"Y\")`\n- `Task(model=\"...\")` → omit (Codex uses per-role config, not inline model selection)\n- `fork_context: false` by default — GSD agents load their own context via `\u003Cfiles_to_read>` blocks\n\nParallel fan-out:\n- Spawn multiple agents → collect agent IDs → `wait(ids)` for all to complete\n\nResult parsing:\n- Look for structured markers in agent output: `CHECKPOINT`, `PLAN COMPLETE`, `SUMMARY`, etc.\n- `close_agent(id)` after collecting results from each agent\n\u003C\u002Fcodex_skill_adapter>\n\n\u003Cobjective>\nDebug issues using scientific method with subagent isolation.\n\n**Orchestrator role:** Gather symptoms, spawn gsd-debugger agent, handle checkpoints, spawn continuations.\n\n**Why subagent:** Investigation burns context fast (reading files, forming hypotheses, testing). Fresh 200k context per investigation. Main context stays lean for user interaction.\n\u003C\u002Fobjective>\n\n\u003Cavailable_agent_types>\nValid GSD subagent types (use exact names — do not fall back to 'general-purpose'):\n- gsd-debugger — Diagnoses and fixes issues\n\u003C\u002Favailable_agent_types>\n\n\u003Ccontext>\nUser's issue: {{GSD_ARGS}}\n\nCheck for active sessions:\n```bash\nls .planning\u002Fdebug\u002F*.md 2>\u002Fdev\u002Fnull | grep -v resolved | head -5\n```\n\u003C\u002Fcontext>\n\n\u003Cprocess>\n\n## 0. Initialize Context\n\n```bash\nINIT=$(node \"\u002FUsers\u002Fsatish\u002FDesktop\u002FAI-Powered Learning Assistant\u002F.codex\u002Fget-shit-done\u002Fbin\u002Fgsd-tools.cjs\" state load)\nif [[ \"$INIT\" == @file:* ]]; then INIT=$(cat \"${INIT#@file:}\"); fi\n```\n\nExtract `commit_docs` from init JSON. Resolve debugger model:\n```bash\ndebugger_model=$(node \"\u002FUsers\u002Fsatish\u002FDesktop\u002FAI-Powered Learning Assistant\u002F.codex\u002Fget-shit-done\u002Fbin\u002Fgsd-tools.cjs\" resolve-model gsd-debugger --raw)\n```\n\n## 1. Check Active Sessions\n\nIf active sessions exist AND no {{GSD_ARGS}}:\n- List sessions with status, hypothesis, next action\n- User picks number to resume OR describes new issue\n\nIf {{GSD_ARGS}} provided OR user describes new issue:\n- Continue to symptom gathering\n\n## 2. Gather Symptoms (if new issue)\n\nUse AskUserQuestion for each:\n\n1. **Expected behavior** - What should happen?\n2. **Actual behavior** - What happens instead?\n3. **Error messages** - Any errors? (paste or describe)\n4. **Timeline** - When did this start? Ever worked?\n5. **Reproduction** - How do you trigger it?\n\nAfter all gathered, confirm ready to investigate.\n\n## 3. Spawn gsd-debugger Agent\n\nFill prompt and spawn:\n\n```markdown\n\u003Cobjective>\nInvestigate issue: {slug}\n\n**Summary:** {trigger}\n\u003C\u002Fobjective>\n\n\u003Csymptoms>\nexpected: {expected}\nactual: {actual}\nerrors: {errors}\nreproduction: {reproduction}\ntimeline: {timeline}\n\u003C\u002Fsymptoms>\n\n\u003Cmode>\nsymptoms_prefilled: true\ngoal: find_and_fix\n\u003C\u002Fmode>\n\n\u003Cdebug_file>\nCreate: .planning\u002Fdebug\u002F{slug}.md\n\u003C\u002Fdebug_file>\n```\n\n```\nTask(\n  prompt=filled_prompt,\n  subagent_type=\"gsd-debugger\",\n  model=\"{debugger_model}\",\n  description=\"Debug {slug}\"\n)\n```\n\n## 4. Handle Agent Return\n\n**If `## ROOT CAUSE FOUND`:**\n- Display root cause and evidence summary\n- Offer options:\n  - \"Fix now\" - spawn fix subagent\n  - \"Plan fix\" - suggest $gsd-plan-phase --gaps\n  - \"Manual fix\" - done\n\n**If `## CHECKPOINT REACHED`:**\n- Present checkpoint details to user\n- Get user response\n- If checkpoint type is `human-verify`:\n  - If user confirms fixed: continue so agent can finalize\u002Fresolve\u002Farchive\n  - If user reports issues: continue so agent returns to investigation\u002Ffixing\n- Spawn continuation agent (see step 5)\n\n**If `## INVESTIGATION INCONCLUSIVE`:**\n- Show what was checked and eliminated\n- Offer options:\n  - \"Continue investigating\" - spawn new agent with additional context\n  - \"Manual investigation\" - done\n  - \"Add more context\" - gather more symptoms, spawn again\n\n## 5. Spawn Continuation Agent (After Checkpoint)\n\nWhen user responds to checkpoint, spawn fresh agent:\n\n```markdown\n\u003Cobjective>\nContinue debugging {slug}. Evidence is in the debug file.\n\u003C\u002Fobjective>\n\n\u003Cprior_state>\n\u003Cfiles_to_read>\n- .planning\u002Fdebug\u002F{slug}.md (Debug session state)\n\u003C\u002Ffiles_to_read>\n\u003C\u002Fprior_state>\n\n\u003Ccheckpoint_response>\n**Type:** {checkpoint_type}\n**Response:** {user_response}\n\u003C\u002Fcheckpoint_response>\n\n\u003Cmode>\ngoal: find_and_fix\n\u003C\u002Fmode>\n```\n\n```\nTask(\n  prompt=continuation_prompt,\n  subagent_type=\"gsd-debugger\",\n  model=\"{debugger_model}\",\n  description=\"Continue debug {slug}\"\n)\n```\n\n\u003C\u002Fprocess>\n\n\u003Csuccess_criteria>\n- [ ] Active sessions checked\n- [ ] Symptoms gathered (if new)\n- [ ] gsd-debugger spawned with context\n- [ ] Checkpoints handled correctly\n- [ ] Root cause confirmed before fixing\n\u003C\u002Fsuccess_criteria>\n","\u003Ccodex_skill_adapter>\n## A. Skill Invocation\n- This skill is invoked by mentioning `$gsd-debug`.\n- Treat all user text after `$gsd-debug` as `{{GSD_ARGS}}`.\n- If no arguments are present, treat `{{GSD_ARGS}}` as empty.\n\n## B. AskUserQuestion → request_user_input Mapping\nGSD workflows use `AskUserQuestion` (Claude Code syntax). Translate to Codex `request_user_input`:\n\nParameter mapping:\n- `header` → `header`\n- `question` → `question`\n- Options formatted as `\"Label\" — description` → `{label: \"Label\", description: \"description\"}`\n- Generate `id` from header: lowercase, replace spaces with underscores\n\nBatched calls:\n- `AskUserQuestion([q1, q2])` → single `request_user_input` with multiple entries in `questions[]`\n\nMulti-select workaround:\n- Codex has no `multiSelect`. Use sequential single-selects, or present a numbered freeform list asking the user to enter comma-separated numbers.\n\nExecute mode fallback:\n- When `request_user_input` is rejected (Execute mode), present a plain-text numbered list and pick a reasonable default.\n\n## C. Task() → spawn_agent Mapping\nGSD workflows use `Task(...)` (Claude Code syntax). Translate to Codex collaboration tools:\n\nDirect mapping:\n- `Task(subagent_type=\"X\", prompt=\"Y\")` → `spawn_agent(agent_type=\"X\", message=\"Y\")`\n- `Task(model=\"...\")` → omit (Codex uses per-role config, not inline model selection)\n- `fork_context: false` by default — GSD agents load their own context via `\u003Cfiles_to_read>` blocks\n\nParallel fan-out:\n- Spawn multiple agents → collect agent IDs → `wait(ids)` for all to complete\n\nResult parsing:\n- Look for structured markers in agent output: `CHECKPOINT`, `PLAN COMPLETE`, `SUMMARY`, etc.\n- `close_agent(id)` after collecting results from each agent\n\u003C\u002Fcodex_skill_adapter>\n\n\u003Cobjective>\nDebug issues using scientific method with subagent isolation.\n\n**Orchestrator role:** Gather symptoms, spawn gsd-debugger agent, handle checkpoints, spawn continuations.\n\n**Why subagent:** Investigation burns context fast (reading files, forming hypotheses, testing). Fresh 200k context per investigation. Main context stays lean for user interaction.\n\u003C\u002Fobjective>\n\n\u003Cavailable_agent_types>\nValid GSD subagent types (use exact names — do not fall back to 'general-purpose'):\n- gsd-debugger — Diagnoses and fixes issues\n\u003C\u002Favailable_agent_types>\n\n\u003Ccontext>\nUser's issue: {{GSD_ARGS}}\n\nCheck for active sessions:\n```bash\nls .planning\u002Fdebug\u002F*.md 2>\u002Fdev\u002Fnull | grep -v resolved | head -5\n```\n\u003C\u002Fcontext>\n\n\u003Cprocess>\n\n## 0. Initialize Context\n\n```bash\nINIT=$(node \"\u002FUsers\u002Fsatish\u002FDesktop\u002FAI-Powered Learning Assistant\u002F.codex\u002Fget-shit-done\u002Fbin\u002Fgsd-tools.cjs\" state load)\nif [[ \"$INIT\" == @file:* ]]; then INIT=$(cat \"${INIT#@file:}\"); fi\n```\n\nExtract `commit_docs` from init JSON. Resolve debugger model:\n```bash\ndebugger_model=$(node \"\u002FUsers\u002Fsatish\u002FDesktop\u002FAI-Powered Learning Assistant\u002F.codex\u002Fget-shit-done\u002Fbin\u002Fgsd-tools.cjs\" resolve-model gsd-debugger --raw)\n```\n\n## 1. Check Active Sessions\n\nIf active sessions exist AND no {{GSD_ARGS}}:\n- List sessions with status, hypothesis, next action\n- User picks number to resume OR describes new issue\n\nIf {{GSD_ARGS}} provided OR user describes new issue:\n- Continue to symptom gathering\n\n## 2. Gather Symptoms (if new issue)\n\nUse AskUserQuestion for each:\n\n1. **Expected behavior** - What should happen?\n2. **Actual behavior** - What happens instead?\n3. **Error messages** - Any errors? (paste or describe)\n4. **Timeline** - When did this start? Ever worked?\n5. **Reproduction** - How do you trigger it?\n\nAfter all gathered, confirm ready to investigate.\n\n## 3. Spawn gsd-debugger Agent\n\nFill prompt and spawn:\n\n```markdown\n\u003Cobjective>\nInvestigate issue: {slug}\n\n**Summary:** {trigger}\n\u003C\u002Fobjective>\n\n\u003Csymptoms>\nexpected: {expected}\nactual: {actual}\nerrors: {errors}\nreproduction: {reproduction}\ntimeline: {timeline}\n\u003C\u002Fsymptoms>\n\n\u003Cmode>\nsymptoms_prefilled: true\ngoal: find_and_fix\n\u003C\u002Fmode>\n\n\u003Cdebug_file>\nCreate: .planning\u002Fdebug\u002F{slug}.md\n\u003C\u002Fdebug_file>\n```\n\n```\nTask(\n  prompt=filled_prompt,\n  subagent_type=\"gsd-debugger\",\n  model=\"{debugger_model}\",\n  description=\"Debug {slug}\"\n)\n```\n\n## 4. Handle Agent Return\n\n**If `## ROOT CAUSE FOUND`:**\n- Display root cause and evidence summary\n- Offer options:\n  - \"Fix now\" - spawn fix subagent\n  - \"Plan fix\" - suggest $gsd-plan-phase --gaps\n  - \"Manual fix\" - done\n\n**If `## CHECKPOINT REACHED`:**\n- Present checkpoint details to user\n- Get user response\n- If checkpoint type is `human-verify`:\n  - If user confirms fixed: continue so agent can finalize\u002Fresolve\u002Farchive\n  - If user reports issues: continue so agent returns to investigation\u002Ffixing\n- Spawn continuation agent (see step 5)\n\n**If `## INVESTIGATION INCONCLUSIVE`:**\n- Show what was checked and eliminated\n- Offer options:\n  - \"Continue investigating\" - spawn new agent with additional context\n  - \"Manual investigation\" - done\n  - \"Add more context\" - gather more symptoms, spawn again\n\n## 5. Spawn Continuation Agent (After Checkpoint)\n\nWhen user responds to checkpoint, spawn fresh agent:\n\n```markdown\n\u003Cobjective>\nContinue debugging {slug}. Evidence is in the debug file.\n\u003C\u002Fobjective>\n\n\u003Cprior_state>\n\u003Cfiles_to_read>\n- .planning\u002Fdebug\u002F{slug}.md (Debug session state)\n\u003C\u002Ffiles_to_read>\n\u003C\u002Fprior_state>\n\n\u003Ccheckpoint_response>\n**Type:** {checkpoint_type}\n**Response:** {user_response}\n\u003C\u002Fcheckpoint_response>\n\n\u003Cmode>\ngoal: find_and_fix\n\u003C\u002Fmode>\n```\n\n```\nTask(\n  prompt=continuation_prompt,\n  subagent_type=\"gsd-debugger\",\n  model=\"{debugger_model}\",\n  description=\"Continue debug {slug}\"\n)\n```\n\n\u003C\u002Fprocess>\n\n\u003Csuccess_criteria>\n- [ ] Active sessions checked\n- [ ] Symptoms gathered (if new)\n- [ ] gsd-debugger spawned with context\n- [ ] Checkpoints handled correctly\n- [ ] Root cause confirmed before fixing\n\u003C\u002Fsuccess_criteria>\n",{"name":5,"metadata":24,"description":7},{"short-description":7},"main","08c084f718b2b842cd53622ce0b1a1fb2888ccef","test\u002Fcast-fixtures\u002Fcodex-cli\u002Fregression\u002FAI-Powered-Learning-Assistant-App\u002F.codex\u002Fskills\u002Fgsd-debug",1,"https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai","2026-07-15 23:48:12",{"source":8,"skillName":5,"commands":33,"prompt":43,"zipAvailable":44},[34,37,40],{"tool":35,"command":36},"npx","npx skills add tamarillo-ai\u002Ftheta --skill gsd-debug",{"tool":38,"command":39},"bunx","bunx skills add tamarillo-ai\u002Ftheta --skill gsd-debug",{"tool":41,"command":42},"pnpm","pnpm dlx skills add tamarillo-ai\u002Ftheta --skill gsd-debug","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcodex-cli\u002Fregression\u002FAI-Powered-Learning-Assistant-App\u002F.codex\u002Fskills\u002Fgsd-debug\u002FSKILL.md",true,[],[47,54,61,69,76,83],{"skillNo":48,"name":49,"nameZh":6,"description":50,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":51,"categories":52,"keywords":53,"publishedAt":19},"01M74FCAJ0RRFRJRQES26329E7","deploy-app","Deploy the application to staging or production environments.","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcursor\u002Fskills\u002Fbasic\u002F.cursor\u002Fskills\u002Fdeploy-app\u002FSKILL.md",[],[],{"skillNo":55,"name":56,"nameZh":6,"description":57,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":58,"categories":59,"keywords":60,"publishedAt":19},"01M74FC8GPJGCS0KTGKS1CJZZS","deploy","Deploy the application to environments.","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcursor\u002Fcombined\u002Ffull-config\u002F.cursor\u002Fskills\u002Fdeploy\u002FSKILL.md",[],[],{"skillNo":62,"name":63,"nameZh":6,"description":64,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":65,"licenseFileUrl":6,"sourceHtmlUrl":66,"categories":67,"keywords":68,"publishedAt":19},"01M74FC5RT3VTNZEK1F7NX5380","building-native-ui","Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.","MIT","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcopilot\u002Fskills\u002Fwith-references\u002F.github\u002Fskills\u002Fbuilding-native-ui\u002FSKILL.md",[],[],{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":19},"01M74FC1ZGP5R44HPGWWSW6P3B","create-section","Use when creating a new section for the AI Workshop presentation. Guides through title slide setup, layout choices, and content gathering. Activates when user wants to add a new topic section to the slideshow.","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcopilot\u002Fskills\u002Fbasic\u002F.github\u002Fskills\u002Fcreate-section\u002FSKILL.md",[],[],{"skillNo":77,"name":78,"nameZh":6,"description":79,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":80,"categories":81,"keywords":82,"publishedAt":19},"01M74FBZXSZ7GVP0HCGNR1BVNH","ship-checker","Run a full pre-ship review for this repo. Use when asked if a change is ready to deploy, publish, or ship.","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcopilot\u002Fcombined\u002Feverything\u002F.github\u002Fskills\u002Fship-checker\u002FSKILL.md",[],[],{"skillNo":84,"name":85,"nameZh":6,"description":86,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":87,"categories":88,"keywords":89,"publishedAt":19},"01M74FBY4N2E3ZERWBRM4S3DE6","lint-check","Run repository linters and report failures.","https:\u002F\u002Fgithub.com\u002Ftamarillo-ai\u002Ftheta\u002Fblob\u002Fmain\u002Ftest\u002Fcast-fixtures\u002Fcodex-cli\u002Fskills\u002Fagents-path\u002F.agents\u002Fskills\u002Flint-check\u002FSKILL.md",[],[]]