[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71MYPA39Q95GRRN9TA67G2K":3,"skill-same:01M71MYPA39Q95GRRN9TA67G2K":94},{"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":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":6,"ownerHtmlUrl":62,"ownerBlogUrl":63,"ownerDescription":64,"updatedAt":65,"install":66,"resources":79},"01M71MYPA39Q95GRRN9TA67G2K","ralph-loop-setup",null,"Use to seed or configure a Ralph loop before running it: choose a preset (engineering delivery for a work item, ad-hoc for a single repeating prompt, or custom steps), resolve the environment, set the completion promise and iteration budget, and write the loop files. Triggers on \"set up a ralph loop\", \"configure a ralph loop\", \"ralph-loop-setup\", or naming a work item to loop over. Do NOT use to start, inspect, or stop a loop (ralph-loop) — setup never executes loop steps.","carinyadigital\u002Fskills","carinyadigital","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F185663942?v=4","01M71MWSF49DXG75MCNJ5D9CE2","Carinya Digital","01M71MWSFRXEATZ2MQGKD8A2S2",2,"MIT","https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fralph-loop-setup\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"ralph","ralph loop setup","ralph loop","setup","loop","write","max","read","delivery","work","text","Bash","configure","files","up","choose","inspect","iteration","never","SET","2026-11-10 10:56:23",false,"---\nname: ralph-loop-setup\ndescription: >\n  Use to seed or configure a Ralph loop before running it: choose a preset\n  (engineering delivery for a work item, ad-hoc for a single repeating prompt,\n  or custom steps), resolve the environment, set the completion promise and\n  iteration budget, and write the loop files. Triggers on \"set up a ralph\n  loop\", \"configure a ralph loop\", \"ralph-loop-setup\", or naming a work item\n  to loop over. Do NOT use to start, inspect, or stop a loop (ralph-loop) —\n  setup never executes loop steps.\nlicense: MIT\nallowed-tools: Read Write Glob Grep Bash\nargument-hint: \"[\u003Cwork-id>|--prompt \\\"...\\\"] [--preset NAME] [--max-iterations N] [--completion-promise TEXT]\"\nmetadata:\n  author: Carinya Parc\n  version: \"2.0\"\n  owner: delivery\n  work_shape: planning\n  output_class: config\n---\n\n# Ralph loop setup\n\nResolve configuration and seed the loop files. **Never start the loop.** Setup\nends with a summary and an instruction to run `\u002Fralph-loop start`.\n\nWriting is done by `scripts\u002Fseed-ralph-loop.sh`, not by hand. Your job is to\nresolve values and call it. Hand-authoring the loop file reintroduces the\nunsubstituted-placeholder failure the script exists to prevent: a stray\n`{{MAX_ITERATIONS}}` in the frontmatter fails the hook's numeric validation and\nsilently deletes the loop.\n\n## Interview\n\nAsk only what you cannot resolve yourself. Use structured questions, not prose.\n\n1. **Preset.** If not given:\n   - `engineering-delivery` — drive a work item (typically an epic, but a\n     large story works the same way) through implement, review, validate,\n     and merge request, one task per iteration.\n   - `ad-hoc` — repeat a single prompt until it is done.\n   - `custom` — define your own steps.\n\n2. **Target.** The work item ID for engineering delivery; the task prompt\n   for ad-hoc; the step list for custom.\n\n3. **Budgets.** Max iterations. Default 50, but for engineering delivery\n   propose `tasks × 6 + 10`, since a 12-task work item will not fit in 50.\n\n4. **Completion promise.** Propose a default and confirm it. For a work item,\n   its canonical ID (or slug, in the filesystem-only fallback) upper-snake-cased\n   with `_COMPLETE`.\n\n5. **Environment.** Only for presets that need it, per\n   [references\u002Fenvironment-resolution.md](references\u002Fenvironment-resolution.md).\n\n## Workflow\n\n### 1. Resolve the agent\n\n`CLAUDE_PLUGIN_ROOT` set means `claude`; `CURSOR_PROJECT_DIR` set means\n`cursor`. This determines the base directory (`.claude\u002Floop` or\n`.cursor\u002Floop`). There is no pointer file and no `--ralph-dir` flag.\n\n### 2. Resolve the preset inputs\n\n**engineering-delivery**\n\n- Resolve `{work-id}` per\n  [work-item-resolution.md](..\u002Ftasks\u002Freferences\u002Fwork-item-resolution.md):\n  detect the source system (Linear, Jira, GitHub\u002FGitLab, or filesystem) and\n  the canonical ID first — ask the user on any ambiguity, per that file's\n  ask-first checklist. Never guess.\n- Locate `tasks.md` and `tdd.md` under `docs\u002Fwork\u002F{work-id}\u002F`, accepting a\n  legacy `design.md` in place of `tdd.md`. Fail loudly, naming the missing\n  file, if either is absent.\n- Derive a dependency-safe task order: topological by declared dependencies,\n  stable by document order on ties. Render as\n  `N. {TASK_ID} — \u003Ctitle> (depends on: \u003Cids or ->)`.\n- Resolve the branch. Report the expected branch; never create or switch one.\n- Resolve validation commands, tracker actions, and UI signals per\n  [references\u002Fenvironment-resolution.md](references\u002Fenvironment-resolution.md).\n\n**ad-hoc**\n\nWrite the task prompt to a file and pass `--prompt-file`. Apply\n[..\u002Fralph-loop\u002Freferences\u002Fprompt-authoring.md](..\u002Fralph-loop\u002Freferences\u002Fprompt-authoring.md):\nexplicit completion criteria, a verification step each iteration, and an\nescape hatch for being stuck.\n\n**custom**\n\nWrite the step definitions to a file and pass `--steps-file`. Each step needs a\nname, what to do, and which step comes next. See\n[..\u002Fralph-loop\u002Freferences\u002Fpreset-authoring.md](..\u002Fralph-loop\u002Freferences\u002Fpreset-authoring.md).\n\n### 3. Seed\n\nCall the script. Every template value goes through `--set`:\n\n```bash\nscripts\u002Fseed-ralph-loop.sh \\\n  --agent claude \\\n  --preset engineering-delivery \\\n  --run-id \"{work-id}-$(date -u +%Y%m%d-%H%M%S)\" \\\n  --max-iterations 70 \\\n  --completion-promise CHECKOUT_FOUNDATION_COMPLETE \\\n  --session-id \"$SESSION_ID\" \\\n  --set WORK_ID=checkout-foundation \\\n  --set BRANCH=feat\u002Fcheckout-foundation \\\n  --set TASKS_PATH=docs\u002Fwork\u002Fcheckout-foundation\u002Ftasks.md \\\n  --set TDD_PATH=docs\u002Fwork\u002Fcheckout-foundation\u002Ftdd.md \\\n  --set FIRST_ITEM=CHK01-01 \\\n  --set \"WORK_SEQUENCE=$(cat sequence.txt)\" \\\n  --set \"GOAL=...\" --set \"DONE_CRITERIA=...\" --set \"PRESET_CONTEXT=...\"\n```\n\n(`WORK_ID` is the canonical ID — a tracker key like `JIRA-123` when one\nresolved, otherwise the slug shown above.)\n\nRun with `--dry-run` first when anything is uncertain. The script refuses to\noverwrite a loop past iteration 1 without `--force`, and exits non-zero on any\nunresolved placeholder.\n\n### 4. Report\n\nFiles written, resolved configuration, expected branch, and \"Run\n`\u002Fralph-loop start` to begin.\" Nothing else.\n\n## Policies\n\n- MUST NOT execute loop steps or launch sub-agents. Setup only writes files.\n- MUST NOT create or switch git branches.\n- MUST NOT hand-author `active.md`, `loop-state.md`, or `context.md`.\n- MUST fail loudly, naming the file, when a required source is missing.\n- MUST NOT invent a task order that ignores declared dependencies.\n\n## Anti-patterns\n\n- Writing the loop file directly instead of calling the seed script.\n- Starting the loop after seeding it.\n- Guessing at validation commands rather than resolving them from the repo.\n- Setting a completion promise the loop has no way to verify.\n","# Ralph loop setup\n\nResolve configuration and seed the loop files. **Never start the loop.** Setup\nends with a summary and an instruction to run `\u002Fralph-loop start`.\n\nWriting is done by `scripts\u002Fseed-ralph-loop.sh`, not by hand. Your job is to\nresolve values and call it. Hand-authoring the loop file reintroduces the\nunsubstituted-placeholder failure the script exists to prevent: a stray\n`{{MAX_ITERATIONS}}` in the frontmatter fails the hook's numeric validation and\nsilently deletes the loop.\n\n## Interview\n\nAsk only what you cannot resolve yourself. Use structured questions, not prose.\n\n1. **Preset.** If not given:\n   - `engineering-delivery` — drive a work item (typically an epic, but a\n     large story works the same way) through implement, review, validate,\n     and merge request, one task per iteration.\n   - `ad-hoc` — repeat a single prompt until it is done.\n   - `custom` — define your own steps.\n\n2. **Target.** The work item ID for engineering delivery; the task prompt\n   for ad-hoc; the step list for custom.\n\n3. **Budgets.** Max iterations. Default 50, but for engineering delivery\n   propose `tasks × 6 + 10`, since a 12-task work item will not fit in 50.\n\n4. **Completion promise.** Propose a default and confirm it. For a work item,\n   its canonical ID (or slug, in the filesystem-only fallback) upper-snake-cased\n   with `_COMPLETE`.\n\n5. **Environment.** Only for presets that need it, per\n   [references\u002Fenvironment-resolution.md](references\u002Fenvironment-resolution.md).\n\n## Workflow\n\n### 1. Resolve the agent\n\n`CLAUDE_PLUGIN_ROOT` set means `claude`; `CURSOR_PROJECT_DIR` set means\n`cursor`. This determines the base directory (`.claude\u002Floop` or\n`.cursor\u002Floop`). There is no pointer file and no `--ralph-dir` flag.\n\n### 2. Resolve the preset inputs\n\n**engineering-delivery**\n\n- Resolve `{work-id}` per\n  [work-item-resolution.md](..\u002Ftasks\u002Freferences\u002Fwork-item-resolution.md):\n  detect the source system (Linear, Jira, GitHub\u002FGitLab, or filesystem) and\n  the canonical ID first — ask the user on any ambiguity, per that file's\n  ask-first checklist. Never guess.\n- Locate `tasks.md` and `tdd.md` under `docs\u002Fwork\u002F{work-id}\u002F`, accepting a\n  legacy `design.md` in place of `tdd.md`. Fail loudly, naming the missing\n  file, if either is absent.\n- Derive a dependency-safe task order: topological by declared dependencies,\n  stable by document order on ties. Render as\n  `N. {TASK_ID} — \u003Ctitle> (depends on: \u003Cids or ->)`.\n- Resolve the branch. Report the expected branch; never create or switch one.\n- Resolve validation commands, tracker actions, and UI signals per\n  [references\u002Fenvironment-resolution.md](references\u002Fenvironment-resolution.md).\n\n**ad-hoc**\n\nWrite the task prompt to a file and pass `--prompt-file`. Apply\n[..\u002Fralph-loop\u002Freferences\u002Fprompt-authoring.md](..\u002Fralph-loop\u002Freferences\u002Fprompt-authoring.md):\nexplicit completion criteria, a verification step each iteration, and an\nescape hatch for being stuck.\n\n**custom**\n\nWrite the step definitions to a file and pass `--steps-file`. Each step needs a\nname, what to do, and which step comes next. See\n[..\u002Fralph-loop\u002Freferences\u002Fpreset-authoring.md](..\u002Fralph-loop\u002Freferences\u002Fpreset-authoring.md).\n\n### 3. Seed\n\nCall the script. Every template value goes through `--set`:\n\n```bash\nscripts\u002Fseed-ralph-loop.sh \\\n  --agent claude \\\n  --preset engineering-delivery \\\n  --run-id \"{work-id}-$(date -u +%Y%m%d-%H%M%S)\" \\\n  --max-iterations 70 \\\n  --completion-promise CHECKOUT_FOUNDATION_COMPLETE \\\n  --session-id \"$SESSION_ID\" \\\n  --set WORK_ID=checkout-foundation \\\n  --set BRANCH=feat\u002Fcheckout-foundation \\\n  --set TASKS_PATH=docs\u002Fwork\u002Fcheckout-foundation\u002Ftasks.md \\\n  --set TDD_PATH=docs\u002Fwork\u002Fcheckout-foundation\u002Ftdd.md \\\n  --set FIRST_ITEM=CHK01-01 \\\n  --set \"WORK_SEQUENCE=$(cat sequence.txt)\" \\\n  --set \"GOAL=...\" --set \"DONE_CRITERIA=...\" --set \"PRESET_CONTEXT=...\"\n```\n\n(`WORK_ID` is the canonical ID — a tracker key like `JIRA-123` when one\nresolved, otherwise the slug shown above.)\n\nRun with `--dry-run` first when anything is uncertain. The script refuses to\noverwrite a loop past iteration 1 without `--force`, and exits non-zero on any\nunresolved placeholder.\n\n### 4. Report\n\nFiles written, resolved configuration, expected branch, and \"Run\n`\u002Fralph-loop start` to begin.\" Nothing else.\n\n## Policies\n\n- MUST NOT execute loop steps or launch sub-agents. Setup only writes files.\n- MUST NOT create or switch git branches.\n- MUST NOT hand-author `active.md`, `loop-state.md`, or `context.md`.\n- MUST fail loudly, naming the file, when a required source is missing.\n- MUST NOT invent a task order that ignores declared dependencies.\n\n## Anti-patterns\n\n- Writing the loop file directly instead of calling the seed script.\n- Starting the loop after seeding it.\n- Guessing at validation commands rather than resolving them from the repo.\n- Setting a completion promise the loop has no way to verify.\n",{"name":5,"license":15,"metadata":49,"description":54,"allowed-tools":55,"argument-hint":56},{"owner":32,"author":50,"version":51,"work_shape":52,"output_class":53},"Carinya Parc","2.0","planning","config","Use to seed or configure a Ralph loop before running it: choose a preset (engineering delivery for a work item, ad-hoc for a single repeating prompt, or custom steps), resolve the environment, set the completion promise and iteration budget, and write the loop files. Triggers on \"set up a ralph loop\", \"configure a ralph loop\", \"ralph-loop-setup\", or naming a work item to loop over. Do NOT use to start, inspect, or stop a loop (ralph-loop) — setup never executes loop steps.\n","Read Write Glob Grep Bash","[\u003Cwork-id>|--prompt \"...\"] [--preset NAME] [--max-iterations N] [--completion-promise TEXT]","main","a130b08e73c014d346320ba5258cf89d60b5e070","skills\u002Fralph-loop-setup",0,"https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills","https:\u002F\u002Fgithub.com\u002Fcarinyadigital","carinyadigital.com","AI agents and agentic operations for small and medium businesses.","2026-08-20 06:13:13",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add carinyadigital\u002Fskills --skill ralph-loop-setup",{"tool":72,"command":73},"bunx","bunx skills add carinyadigital\u002Fskills --skill ralph-loop-setup",{"tool":75,"command":76},"pnpm","pnpm dlx skills add carinyadigital\u002Fskills --skill ralph-loop-setup","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fralph-loop-setup\u002FSKILL.md",true,[80,86,90],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"evals\u002Fevals.json","REFERENCE","参考文档",3193,"https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fralph-loop-setup\u002Fevals\u002Fevals.json",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"evals\u002Ftrigger-queries.json",1210,"https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fralph-loop-setup\u002Fevals\u002Ftrigger-queries.json",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fenvironment-resolution.md",3266,"https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fralph-loop-setup\u002Freferences\u002Fenvironment-resolution.md",[95,111,142,172,197,213],{"skillNo":96,"name":97,"nameZh":6,"description":98,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":99,"categories":100,"keywords":102,"publishedAt":44},"01M71N0PD9RJD79MXQR54DART2","skill-name","Replace with description of the skill and when the agent should use it.","https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Ftemplate\u002FSKILL.md",[101],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[103,104,105,106,107,108,109,110],"skill name","name","with","replace","use","when","author","it",{"skillNo":112,"name":113,"nameZh":6,"description":114,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":124,"publishedAt":44},"01M71N0D9N2NSX040S4WST3TG3","validate","Use when the user wants final completion sign-off on any work item — epic, story, bug, or spike: every task in docs\u002Fwork\u002F{work-id}\u002Ftasks.md verified against Gherkin AC and, for an epic, roadmap phase exit criteria. Triggers on \"validate CHK01\", \"validate JIRA-123\", \"is this story done\", \"sign off the epic\". Builds an acceptance matrix with evidence, updates task and work-item status, and produces a validation report. Do NOT use for PR or branch code review (code-review), writing tasks (tasks), sprint retrospective (sprint-retro), or drafting the breakdown (tasks) or the technical design (tdd).","https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fvalidate\u002FSKILL.md",[117,120,123],{"categoryNo":118,"categoryName":119,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000007","代码审查",{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[113,125,126,127,128,129,130,131,132,133,134,135,136,108,137,138,35,139,140,141],"back","branch","sprint","code review","decision","design","remote","decision-support","MCP","writing","acceptance","roadmap","updates","done","code","tasks","drafting",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":146,"categories":147,"keywords":155,"publishedAt":44},"01M71N056DQWSSSYHSWYF7MNM6","ux-design-review","Use when the user wants a UX or design review of implemented UI — components, pages, or flows — against its design source, covering accessibility (WCAG 2.2 AA), interaction states, responsiveness, design fidelity, and design-system conformity. Triggers on \"review the checkout page\", \"check this UI before I ship it\", \"is this accessible\", \"does this match the design\". Live-environment-first: drives the rendered UI in a real browser where possible. Works with any framework or design tooling. Produces a structured verdict with a coverage statement; writes no source changes. Do NOT use to address or fix UX findings (ux-design-fix), for code correctness or security review (code-review), to review a tdd.md document (docs-review), or to implement features (implement).","https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fux-design-review\u002FSKILL.md",[148,149,150],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":151,"categoryName":152,"taxonomyType":153,"taxonomyTypeDesc":154},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[130,156,157,158,159,160,161,126,162,163,164,165,133,166,167,168,169,170,171,31],"ux design review","review","ux","ux design","design review","reviews","figma","browser mcp","static","fix","URL","components","server","interaction","security review","figma mcp",{"skillNo":173,"name":174,"nameZh":6,"description":175,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":176,"categories":177,"keywords":184,"publishedAt":44},"01M71MZV7G5S97AVBNRSR60NAS","ux-design-fix","Use when the user wants to change how existing UI looks or behaves — fix spacing, colour, layout, states, responsiveness, or accessibility on a component, page, or flow. Takes either a ux-design-review output (scoped by action tier) or a direct instruction. Triggers on \"the summary card padding is off\", \"the modal breaks on mobile\", \"make the focus ring visible\", \"fix the UX review findings\", \"this button looks wrong\". Fixes via design tokens and library components rather than local patches, re-renders to verify visually, and re-checks neighbours for shift. Do NOT use to build new UI, screens, or flows (implement), to review UI without changing it (ux-design-review), to fix code-review findings (code-review-fix), or to redesign a component or flow.","https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Fux-design-fix\u002FSKILL.md",[178,179,180,183],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":181,"categoryName":182,"taxonomyType":153,"taxonomyTypeDesc":154},"01JBSEEDCAT000000000000030","开发工程师",{"categoryNo":151,"categoryName":152,"taxonomyType":153,"taxonomyTypeDesc":154},[165,130,158,185,159,186,163,187,188,189,190,191,192,193,194,195,133,196,108,35],"ux design fix","design fix","states","project","re","review findings","card","flows","local","ux-design","new","either",{"skillNo":198,"name":199,"nameZh":6,"description":200,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":201,"categories":202,"keywords":205,"publishedAt":44},"01M71MZNT1G9Q83P374S8KCPTY","tdd","Use when the user wants a technical design document (TDD) for any work item — epic, story, bug, or spike — at docs\u002Fwork\u002F{work-id}\u002Ftdd.md, in skeleton or full mode. Pass a work item ID (CHK01, or a Linear\u002FJira\u002FGitHub key like JIRA-123). Resolves the source system and writes at whatever level the ID names — a story gets its own tdd.md beside its parent epic's, not nested inside it. Cite solution.md — do not re-narrate architecture. Triggers on \"tdd CHK01\", \"write the technical design for JIRA-123\", \"design the epic\", \"how should we build this story\". For reviewing an existing tdd.md, use docs-review instead. Do NOT use for test-driven development — writing a failing test first, red\u002Fgreen\u002Frefactor, or any test-authoring task is implement. Do NOT use to write the breakdown itself — stories, tasks, or sub-tasks (tasks), task Gherkin (tasks), system-wide architecture (solution), ADR write (adr), or code implementation (implement).","https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Ftdd\u002FSKILL.md",[203,204],{"categoryNo":121,"categoryName":122,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[199,125,206,207,189,208,209,210,130,131,133,134,108,35,139,140,211,157,212,33],"test-driven","green","mode","failing","skeleton","architecture","notes",{"skillNo":214,"name":140,"nameZh":6,"description":215,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":216,"categories":217,"keywords":222,"publishedAt":44},"01M71MZCPYDVZQCS12F54SJHHS","Use to decompose anything into delivery work — a product strategy and roadmap into epics, an epic into stories and tasks with Gherkin acceptance criteria, a story into sub-tasks, or an external spec, RFC, or PRD into both in one pass. Resolves the work item's source system (Linear, Jira, GitHub\u002FGitLab issues, or filesystem) and its type first. Writes docs\u002Fproduct\u002Fbacklog.md and docs\u002Fwork\u002F{work-id}\u002Ftasks.md, or the tracker directly when one is resolved. Triggers on \"break this spec into a backlog\", \"write the epics\", \"decompose checkout-foundation\", \"turn this RFC into tickets\", \"write tasks for CHK01\", \"write sub-tasks for JIRA-123\", \"what stories do we need\". EARS with --ears. Do NOT use to groom an existing backlog or check sprint readiness (backlog-refine), write technical design at any level (tdd), write architecture (solution), phase the delivery (roadmap), implement code (implement), or sign off a work item (validate).","https:\u002F\u002Fgithub.com\u002Fcarinyadigital\u002Fskills\u002Fblob\u002Fmain\u002Fskills\u002Ftasks\u002FSKILL.md",[218,219],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":220,"categoryName":221,"taxonomyType":153,"taxonomyTypeDesc":154},"01JBSEEDCAT000000000000031","产品经理",[140,125,127,223,224,130,225,131,133,135,136,108,35,139,211,226,212,33,227,228],"checkout","issues","gherkin acceptance criteria","phase","solution","gitlab"]