[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M71KPP7JHXQCEBSRHVGTRDBR":3,"skill-same:01M71KPP7JHXQCEBSRHVGTRDBR":50},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":23,"linkOnly":24,"markdownContent":25,"markdownBody":26,"frontMatter":27,"refName":28,"commitSha":29,"skillDirectory":30,"forksCount":31,"repositoryHtmlUrl":32,"repositoryHomepageUrl":33,"ownerHtmlUrl":34,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":35,"install":36,"resources":49},"01M71KPP7JHXQCEBSRHVGTRDBR","cbp-add-task",null,"tbeack\u002Ffsad_training","tbeack","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F206807984?v=4","01M6K7Q3C3VRTCVC55T71A1SY9","Theo Beack","01M71KPJZ6H9P6B793RT1JXX9R",4,"MIT","https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcbp-add-task\u002FSKILL.md",[],[18,19,20,21,22],"cbp","task","add task","add","cbp add task","2026-11-10 10:56:23",false,"---\nname: cbp-add-task\ndescription: Add a new FSD_Train task to the FSAD Training todo list. Creates a new entry in `planning\u002Fto do\u002Ftodo.md` with the next available `FSD_Train-###` number, then prompts for task details (source, summary, plan, acceptance criteria) and generates the corresponding `task-fsd_train-NNN.md` file. Use when the user wants to add a task, track a new TODO, or capture a new idea for the training app.\nargument-hint: `[brief task title]`\n---\n\n# Add FSD_Train Task Skill\n\nYou help the user add new FSD_Train tasks to the FSAD Training task tracker. Follow this exact workflow.\n\n## Step 1: Get the next FSD_Train number\n\nRead `planning\u002Fto do\u002Ftodo.md` to find the highest existing `FSD_Train-###` number. Increment by 1 to get the new number. Format as 3 digits with leading zeros (e.g., `FSD_Train-031`, not `FSD_Train-31`).\n\nIf `planning\u002Fto do\u002Ftodo.md` does not exist yet, create it with the header `# FSAD Training — Todo` and start at `FSD_Train-001`.\n\n## Step 2: Get the task title\n\nIf the user provided a brief title as `$ARGUMENTS`, use that. Otherwise, ask:\n> \"What's the task title? (one-liner — I'll prompt for details next)\"\n\n## Step 3: Add the entry to todo.md\n\nAppend a new line at the end of the list. Format:\n\n```\n- [ ] `FSD_Train-NNN` [Title] → [task-fsd_train-NNN.md](task-fsd_train-NNN.md)\n```\n\nUse the `Edit` tool with a unique surrounding context to insert the line.\n\n## Step 4: Gather task details\n\nAsk the user these questions **one at a time** (not all at once):\n\n1. **Source** — Where did this task come from? (e.g., workshop feedback, bug report, own idea). Skip if not applicable.\n2. **Summary** — What needs to change and why? 1-3 sentences.\n3. **Assessment** — What's the current state? Does related content already exist in the training app? Where?\n4. **Plan** — Step-by-step implementation. Include file paths and line numbers where possible.\n5. **Acceptance Criteria** — Bullet list of verification steps. Use `- [ ]` checkboxes.\n\nIf the user says \"use your best judgment\" or \"fill it in\", proceed without blocking — make reasonable inferences from the title and context.\n\n## Step 5: Create the task file\n\nWrite `planning\u002Fto do\u002Ftask-fsd_train-NNN.md` using this exact template:\n\n```markdown\n# FSD_Train-NNN — [Task Title]\n\n## Source\n[Where the task came from — or omit this section if not applicable]\n\n## Summary\n[1-3 sentences: what's changing and why]\n\n## Assessment\n[Current state of the relevant content. Does it exist? Where? What needs to change?]\n\n**Location:** `[file path]` — [section\u002Fline reference]\n\n## Plan\n\n[Step-by-step implementation]\n\n1. [Step one]\n2. [Step two]\n\n## Acceptance Criteria\n- [ ] [Verification step 1]\n- [ ] [Verification step 2]\n```\n\n## Step 6: Confirm completion\n\nTell the user:\n- The new FSD_Train number\n- That the entry was added to `todo.md`\n- That the task file was created at `planning\u002Fto do\u002Ftask-fsd_train-NNN.md`\n\n## Conventions to Match\n\n- **FSD_Train number format:** Always 3 digits with leading zeros (`FSD_Train-031`, not `FSD_Train-31`)\n- **todo.md entry:** Single line with backtick-wrapped FSD_Train identifier, em-dash separator, and markdown link to task file\n- **Task file location:** `planning\u002Fto do\u002Ftask-fsd_train-NNN.md` (lowercase prefix, hyphenated, underscore preserved)\n- **Task file heading:** `# FSD_Train-NNN — [Title]` (em-dash, not hyphen)\n- **Sections:** Source (optional), Summary, Assessment, Plan, Acceptance Criteria\n\n## Guardrails\n\n- **Always read `todo.md` first** — don't guess the next FSD_Train number\n- **Don't duplicate titles** — scan existing tasks for similar entries before creating\n- **One question at a time** when gathering details — don't dump a form on the user\n- **Don't implement the task** — only create the planning artifacts. The user will implement separately.\n","# Add FSD_Train Task Skill\n\nYou help the user add new FSD_Train tasks to the FSAD Training task tracker. Follow this exact workflow.\n\n## Step 1: Get the next FSD_Train number\n\nRead `planning\u002Fto do\u002Ftodo.md` to find the highest existing `FSD_Train-###` number. Increment by 1 to get the new number. Format as 3 digits with leading zeros (e.g., `FSD_Train-031`, not `FSD_Train-31`).\n\nIf `planning\u002Fto do\u002Ftodo.md` does not exist yet, create it with the header `# FSAD Training — Todo` and start at `FSD_Train-001`.\n\n## Step 2: Get the task title\n\nIf the user provided a brief title as `$ARGUMENTS`, use that. Otherwise, ask:\n> \"What's the task title? (one-liner — I'll prompt for details next)\"\n\n## Step 3: Add the entry to todo.md\n\nAppend a new line at the end of the list. Format:\n\n```\n- [ ] `FSD_Train-NNN` [Title] → [task-fsd_train-NNN.md](task-fsd_train-NNN.md)\n```\n\nUse the `Edit` tool with a unique surrounding context to insert the line.\n\n## Step 4: Gather task details\n\nAsk the user these questions **one at a time** (not all at once):\n\n1. **Source** — Where did this task come from? (e.g., workshop feedback, bug report, own idea). Skip if not applicable.\n2. **Summary** — What needs to change and why? 1-3 sentences.\n3. **Assessment** — What's the current state? Does related content already exist in the training app? Where?\n4. **Plan** — Step-by-step implementation. Include file paths and line numbers where possible.\n5. **Acceptance Criteria** — Bullet list of verification steps. Use `- [ ]` checkboxes.\n\nIf the user says \"use your best judgment\" or \"fill it in\", proceed without blocking — make reasonable inferences from the title and context.\n\n## Step 5: Create the task file\n\nWrite `planning\u002Fto do\u002Ftask-fsd_train-NNN.md` using this exact template:\n\n```markdown\n# FSD_Train-NNN — [Task Title]\n\n## Source\n[Where the task came from — or omit this section if not applicable]\n\n## Summary\n[1-3 sentences: what's changing and why]\n\n## Assessment\n[Current state of the relevant content. Does it exist? Where? What needs to change?]\n\n**Location:** `[file path]` — [section\u002Fline reference]\n\n## Plan\n\n[Step-by-step implementation]\n\n1. [Step one]\n2. [Step two]\n\n## Acceptance Criteria\n- [ ] [Verification step 1]\n- [ ] [Verification step 2]\n```\n\n## Step 6: Confirm completion\n\nTell the user:\n- The new FSD_Train number\n- That the entry was added to `todo.md`\n- That the task file was created at `planning\u002Fto do\u002Ftask-fsd_train-NNN.md`\n\n## Conventions to Match\n\n- **FSD_Train number format:** Always 3 digits with leading zeros (`FSD_Train-031`, not `FSD_Train-31`)\n- **todo.md entry:** Single line with backtick-wrapped FSD_Train identifier, em-dash separator, and markdown link to task file\n- **Task file location:** `planning\u002Fto do\u002Ftask-fsd_train-NNN.md` (lowercase prefix, hyphenated, underscore preserved)\n- **Task file heading:** `# FSD_Train-NNN — [Title]` (em-dash, not hyphen)\n- **Sections:** Source (optional), Summary, Assessment, Plan, Acceptance Criteria\n\n## Guardrails\n\n- **Always read `todo.md` first** — don't guess the next FSD_Train number\n- **Don't duplicate titles** — scan existing tasks for similar entries before creating\n- **One question at a time** when gathering details — don't dump a form on the user\n- **Don't implement the task** — only create the planning artifacts. The user will implement separately.\n",{},"main","e32e0d2b9fad831f2915fc773e03fd68d98c8c1e",".claude\u002Fskills\u002Fcbp-add-task",0,"https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training","https:\u002F\u002Ffsad-training.vercel.app","https:\u002F\u002Fgithub.com\u002Ftbeack","2026-10-12 21:23:30",{"source":7,"skillName":5,"commands":37,"prompt":47,"zipAvailable":48},[38,41,44],{"tool":39,"command":40},"npx","npx skills add tbeack\u002Ffsad_training --skill cbp-add-task",{"tool":42,"command":43},"bunx","bunx skills add tbeack\u002Ffsad_training --skill cbp-add-task",{"tool":45,"command":46},"pnpm","pnpm dlx skills add tbeack\u002Ffsad_training --skill cbp-add-task","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fcbp-add-task\u002FSKILL.md",true,[],[51,60,69,91,112,121],{"skillNo":52,"name":53,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":54,"categories":55,"keywords":56,"publishedAt":23},"01M71KR8NEVXYHFZ9YF9PBEMH9","verify-ac","https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002Fskills\u002Fverify-ac\u002FSKILL.md",[],[57,58,59],"verify ac","ac","verify",{"skillNo":61,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":23},"01M71KR6NR71VM37PJX36EM18X","spec-review","https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002Fskills\u002Fspec-review\u002FSKILL.md",[],[66,67,68],"spec","review","spec review",{"skillNo":70,"name":71,"nameZh":6,"description":72,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":73,"categories":74,"keywords":75,"publishedAt":23},"01M71KR55DS0Q45W9YF0516AX4","ship","Short alias for \u002Ffsad-harness:ship-it. Wrap up finished work, cut a version, commit, push, and open a PR.","https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002Fskills\u002Fship\u002FSKILL.md",[],[71,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90],"it","commit","version","wrap up","open","wrap","up","short","cut","for","pr","push","alias","work","harness",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":97,"publishedAt":23},"01M71KR0YNJ99YAJGEDPHZTTTQ","ship-it","Wrap up a finished round of work — verify README and CHANGELOG are current, cut a version if warranted, move completed task files into the completed\u002F folder, then create a feature branch if needed, commit, push, and open a PR. Run after `\u002Ffsad-harness:do-task` has marked one or more tasks done. Takes no arguments.","https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002Fskills\u002Fship-it\u002FSKILL.md",[],[76,71,98,99,100,101,102,103,104,105,82,80,106,107,108,109,77,110,111,89],"ship it","files","ls","branch","checkout","parse","move","gh pr","remote","done","Bash","tasks","log","create",{"skillNo":113,"name":114,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":115,"categories":116,"keywords":117,"publishedAt":23},"01M71KQZ640W3AQ707NFDANCMW","set-context","https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002Fskills\u002Fset-context\u002FSKILL.md",[],[118,119,120],"context","set context","SET",{"skillNo":122,"name":123,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":23},"01M71KQV6HR3HP3G2K0BFC011Y","sec-review-team","https:\u002F\u002Fgithub.com\u002Ftbeack\u002Ffsad_training\u002Fblob\u002Fmain\u002Fskills\u002Fsec-review-team\u002FSKILL.md",[],[67,127,128,129],"team","review team","sec review team"]