[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6K5HHPR91F2JF5VSNYFZX05":3,"skill-same:01M6K5HHPR91F2JF5VSNYFZX05":83},{"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":31,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":64,"repositoryHomepageUrl":65,"ownerHtmlUrl":66,"ownerBlogUrl":67,"ownerDescription":68,"updatedAt":69,"install":70,"resources":82},"01M6K5HHPR91F2JF5VSNYFZX05","add-to-roadmap",null,"Use when you want to append a new task to a specific phase or section of the\nproject ROADMAP.md. Accepts a fuzzy phase-or-section name and task text,\nlocates the correct section via case-insensitive substring match, formats the\nnew item to match the existing schema, and inserts it at the bottom of that\nsection's checkbox list. Always shows a unified diff and requires operator\nconfirmation before writing.","laurac8r\u002Fclaude-damn","laurac8r","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F23003243?v=4","01M6K5HCAJJR4Q5BCBRRZF8E5D","Laura Kaminskiy","01M6K5HCEQRFFJFK32A0VR7AS3",3,"MIT","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Fadd-to-roadmap\u002FSKILL.md",[18,23,28],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000031","产品经理","PROFESSION","适用职业",{"categoryNo":29,"categoryName":30,"taxonomyType":26,"taxonomyTypeDesc":27},"01JBSEEDCAT000000000000036","内容创作者",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"add to roadmap","to roadmap","roadmap","add","name","Existing","true","you","new task","case","via","writing","project","task","schema","diff","use","confirmation","text","correct","2026-11-10 10:12:30",false,"---\nname: add-to-roadmap\ndescription: |\n   Use when you want to append a new task to a specific phase or section of the\n   project ROADMAP.md. Accepts a fuzzy phase-or-section name and task text,\n   locates the correct section via case-insensitive substring match, formats the\n   new item to match the existing schema, and inserts it at the bottom of that\n   section's checkbox list. Always shows a unified diff and requires operator\n   confirmation before writing.\nuser-invocable: true\nargument-hint: \"\u003Cphase-or-section> :: \u003Ctask-text>\"\n---\n\n# \u002Fadd-to-roadmap\n\nAdd a new task item to a named phase or section in `ROADMAP.md`.\n\n**Arguments:** `$ARGUMENTS`\n\nParse `$ARGUMENTS` by splitting on the first occurrence of `::` (space,\ndouble-colon, space). Left side (trimmed) → `\u003Cphase-or-section>`. Right side\n(trimmed) → `\u003Ctask-text>`. If `::` is absent, stop immediately with:\n\n> \"Malformed arguments: expected `\u003Cphase-or-section> :: \u003Ctask-text>` — the `::`\n> separator is missing.\"\n\n---\n\n## Locating ROADMAP.md\n\nStart at CWD and walk up the directory tree, checking each directory for a file\nnamed exactly `ROADMAP.md`. Stop walking at the git repository root:\n\n```\nREPO_ROOT=$(git rev-parse --show-toplevel) || exit 1\n```\n\nIf `git rev-parse` fails (not a git repository), stop with:\n\n> \"Not a git repository. \u002Fadd-to-roadmap requires a git repo at CWD.\"\n\nWalking up: check `$CWD\u002FROADMAP.md`, then `$CWD\u002F..\u002FROADMAP.md`, and so on,\nstopping at `$REPO_ROOT` inclusive. If `ROADMAP.md` is not found in any of those\ndirectories, stop with:\n\n> \"ROADMAP.md not found anywhere between CWD and the repository root\n> (`$REPO_ROOT`). Create one or move to a subdirectory of a repo that has one.\"\n\n---\n\n## Address-space resolution\n\n### Parsing headers\n\nScan every line of `ROADMAP.md`. Collect all addressable headers:\n\n- `## Phase N — ...` lines → Phase headers (level 2).\n- `### ...` lines → Subsection headers (level 3).\n\nBuild an ordered list of `(header_text, start_line)` tuples. `header_text` is\nthe full text after `## ` or `### ` (without the `#` prefix or trailing\nwhitespace).\n\n### Fuzzy contains-match\n\nNormalize the operator-supplied `\u003Cphase-or-section>` by lowercasing it. For each\nheader in the collected list, lowercase `header_text` and check whether the\nnormalized input is a substring of the normalized header text. This match is\ncase-insensitive.\n\nExample: input `\"phase 2\"` matches `## Phase 2 — Skill hardening` because\n`\"phase 2\"` is contained in `\"phase 2 — skill hardening\"`.\n\nExample: input `\"measurement\"` matches `### Measurement & perception` because\n`\"measurement\"` is contained in `\"measurement & perception\"`.\n\n### Match outcomes\n\n**Zero matches:** Stop with:\n\n> \"No headers matched `\u003Cphase-or-section>`. Available headers:\n> `\u003Cbulleted list of all header_text values>`.\"\n\n**Multiple matches (disambiguation):** Stop with:\n\n> \"Ambiguous: `\u003Cphase-or-section>` matched more than one header. Please narrow\n> the input:\n>\n> - `\u003Cheader_text_1>` (line N)\n> - `\u003Cheader_text_2>` (line N) ...\"\n\nList every matching header so the operator can refine the input.\n\n**Exactly one match:** Proceed to insertion.\n\n### Nested-section name collision precedence\n\nA Phase-2 header might contain the same substring as one of its child Subsection\nheaders — for example, if a Phase is named\n`## Phase 5 — Skill catalog expansion` and a subsection under it is\n`### Skill-testing & operator-mode skills`, then the input `\"skill\"` matches\nboth. This is treated as an **ambiguous match** (multiple matches) regardless of\nnesting depth — there is no automatic promotion of Phase headers over Subsection\nheaders or vice versa. The operator must supply a more specific input to resolve\nit.\n\n---\n\n## Item formatting\n\n### Schema (from ROADMAP.md)\n\nNew items follow the checkbox format observed in the existing roadmap:\n\n```\n- [ ] **\u003Cbold-name>** — \u003Cdescription>\n```\n\nThe separator between the bold name and description is an **em dash** (`—`), not\na hyphen or en dash. A single space precedes and follows the em dash.\n\n### Deriving `\u003Cbold-name>` and `\u003Cdescription>`\n\nSplit `\u003Ctask-text>` on the first `—` (space, em dash, space) if present:\n\n- Left side → `\u003Cbold-name>` (strip backtick-wrapped skill names if relevant).\n- Right side → `\u003Cdescription>`.\n\nIf no em dash is found in `\u003Ctask-text>`, use the entire text as `\u003Cbold-name>`\nand leave `\u003Cdescription>` empty, yielding `- [ ] **\u003Ctask-text>**`.\n\n### Multi-line wrap\n\nIf the formatted item line exceeds **80 characters**, wrap at a word boundary\nand continue subsequent lines with a **6-space continuation indent** (six space\ncharacters). The leading `- [ ] ` prefix is 6 characters, so continuation lines\nalign visually with the text start.\n\nExample (wrapping a long description):\n\n```\n- [ ] **`\u002Fmy-skill`** — a long description that needs to wrap at the 80-char\n      column so the continuation is indented six spaces to align with the\n      text start.\n```\n\nBacktick-wrapped names such as `` `\u002Fskill-name` `` or `` `tool.py` `` should be\npreserved as-is inside the bold span.\n\n---\n\n## Insertion\n\n### Finding the bottom of the section\n\nAfter resolving the target header at `start_line`, scan forward line-by-line to\nfind the end of that section's checkbox list. The section ends at the first line\nthat matches any of:\n\n- Another `##`-level header (same or higher level).\n- End of file.\n\nThe \"bottom of the section's checkbox list\" is the last line that begins with\n`- [ ]` or `- [x]` before the section boundary. Insert the new item on the line\nimmediately following that last checkbox line.\n\nIf the section contains no checkbox lines at all, insert the new item\nimmediately after any blank line following the header (or directly after the\nheader if there are no blank lines), creating the first checkbox entry.\n\n### Confirmation before writing\n\nBefore modifying the file, compute a unified diff between the current content\nand the proposed new content:\n\n```\n--- ROADMAP.md (original)\n+++ ROADMAP.md (modified)\n@@ ...\n```\n\nShow the diff to the operator and **require explicit confirmation** before\nwriting. If the operator declines, abort with no changes made.\n\nAfter confirmation, write the modified file.\n\n---\n\n## Examples\n\n### Phase match\n\n```\n\u002Fadd-to-roadmap \"Phase 2 :: **`\u002Faudit-skill`** — spot-check every SKILL.md for missing argument-hint fields\"\n```\n\nMatches `## Phase 2 — Skill hardening`. Inserts the formatted item at the bottom\nof the Phase 2 checkbox list.\n\n### Subsection match\n\n```\n\u002Fadd-to-roadmap \"Measurement :: **`\u002Flatency`** — help Claude reason about latency budgets\"\n```\n\nMatches `### Measurement & perception` (because `\"measurement\"` is a substring\nof `\"measurement & perception\"`, case-insensitively). Inserts at the bottom of\nthat subsection's checkbox list.\n\n### Ambiguous match\n\n```\n\u002Fadd-to-roadmap \"skill :: **`\u002Ffoo`** — example\"\n```\n\nIf both `## Phase 1 — Plugin packaging` and\n`### Skill-testing & operator-mode skills` contain the substring `\"skill\"`, the\nskill stops with a disambiguation listing showing both headers and their line\nnumbers.\n\n### Malformed args\n\n```\n\u002Fadd-to-roadmap \"Phase 2 — missing the double-colon separator\"\n```\n\nStops immediately: `\" :: \" separator is missing`.\n\n---\n\n## Error reference\n\n| Scenario               | Error message                                   |\n| ---------------------- | ----------------------------------------------- |\n| Not a git repo         | \"Not a git repository...\"                       |\n| ROADMAP.md not found   | \"ROADMAP.md not found anywhere...\"              |\n| Missing `::` separator | \"Malformed arguments: expected ... :: ...\"      |\n| Zero matches           | \"No headers matched `\u003Cinput>`. Available:...\"   |\n| Multiple matches       | \"Ambiguous: `\u003Cinput>` matched more than one...\" |\n","# \u002Fadd-to-roadmap\n\nAdd a new task item to a named phase or section in `ROADMAP.md`.\n\n**Arguments:** `$ARGUMENTS`\n\nParse `$ARGUMENTS` by splitting on the first occurrence of `::` (space,\ndouble-colon, space). Left side (trimmed) → `\u003Cphase-or-section>`. Right side\n(trimmed) → `\u003Ctask-text>`. If `::` is absent, stop immediately with:\n\n> \"Malformed arguments: expected `\u003Cphase-or-section> :: \u003Ctask-text>` — the `::`\n> separator is missing.\"\n\n---\n\n## Locating ROADMAP.md\n\nStart at CWD and walk up the directory tree, checking each directory for a file\nnamed exactly `ROADMAP.md`. Stop walking at the git repository root:\n\n```\nREPO_ROOT=$(git rev-parse --show-toplevel) || exit 1\n```\n\nIf `git rev-parse` fails (not a git repository), stop with:\n\n> \"Not a git repository. \u002Fadd-to-roadmap requires a git repo at CWD.\"\n\nWalking up: check `$CWD\u002FROADMAP.md`, then `$CWD\u002F..\u002FROADMAP.md`, and so on,\nstopping at `$REPO_ROOT` inclusive. If `ROADMAP.md` is not found in any of those\ndirectories, stop with:\n\n> \"ROADMAP.md not found anywhere between CWD and the repository root\n> (`$REPO_ROOT`). Create one or move to a subdirectory of a repo that has one.\"\n\n---\n\n## Address-space resolution\n\n### Parsing headers\n\nScan every line of `ROADMAP.md`. Collect all addressable headers:\n\n- `## Phase N — ...` lines → Phase headers (level 2).\n- `### ...` lines → Subsection headers (level 3).\n\nBuild an ordered list of `(header_text, start_line)` tuples. `header_text` is\nthe full text after `## ` or `### ` (without the `#` prefix or trailing\nwhitespace).\n\n### Fuzzy contains-match\n\nNormalize the operator-supplied `\u003Cphase-or-section>` by lowercasing it. For each\nheader in the collected list, lowercase `header_text` and check whether the\nnormalized input is a substring of the normalized header text. This match is\ncase-insensitive.\n\nExample: input `\"phase 2\"` matches `## Phase 2 — Skill hardening` because\n`\"phase 2\"` is contained in `\"phase 2 — skill hardening\"`.\n\nExample: input `\"measurement\"` matches `### Measurement & perception` because\n`\"measurement\"` is contained in `\"measurement & perception\"`.\n\n### Match outcomes\n\n**Zero matches:** Stop with:\n\n> \"No headers matched `\u003Cphase-or-section>`. Available headers:\n> `\u003Cbulleted list of all header_text values>`.\"\n\n**Multiple matches (disambiguation):** Stop with:\n\n> \"Ambiguous: `\u003Cphase-or-section>` matched more than one header. Please narrow\n> the input:\n>\n> - `\u003Cheader_text_1>` (line N)\n> - `\u003Cheader_text_2>` (line N) ...\"\n\nList every matching header so the operator can refine the input.\n\n**Exactly one match:** Proceed to insertion.\n\n### Nested-section name collision precedence\n\nA Phase-2 header might contain the same substring as one of its child Subsection\nheaders — for example, if a Phase is named\n`## Phase 5 — Skill catalog expansion` and a subsection under it is\n`### Skill-testing & operator-mode skills`, then the input `\"skill\"` matches\nboth. This is treated as an **ambiguous match** (multiple matches) regardless of\nnesting depth — there is no automatic promotion of Phase headers over Subsection\nheaders or vice versa. The operator must supply a more specific input to resolve\nit.\n\n---\n\n## Item formatting\n\n### Schema (from ROADMAP.md)\n\nNew items follow the checkbox format observed in the existing roadmap:\n\n```\n- [ ] **\u003Cbold-name>** — \u003Cdescription>\n```\n\nThe separator between the bold name and description is an **em dash** (`—`), not\na hyphen or en dash. A single space precedes and follows the em dash.\n\n### Deriving `\u003Cbold-name>` and `\u003Cdescription>`\n\nSplit `\u003Ctask-text>` on the first `—` (space, em dash, space) if present:\n\n- Left side → `\u003Cbold-name>` (strip backtick-wrapped skill names if relevant).\n- Right side → `\u003Cdescription>`.\n\nIf no em dash is found in `\u003Ctask-text>`, use the entire text as `\u003Cbold-name>`\nand leave `\u003Cdescription>` empty, yielding `- [ ] **\u003Ctask-text>**`.\n\n### Multi-line wrap\n\nIf the formatted item line exceeds **80 characters**, wrap at a word boundary\nand continue subsequent lines with a **6-space continuation indent** (six space\ncharacters). The leading `- [ ] ` prefix is 6 characters, so continuation lines\nalign visually with the text start.\n\nExample (wrapping a long description):\n\n```\n- [ ] **`\u002Fmy-skill`** — a long description that needs to wrap at the 80-char\n      column so the continuation is indented six spaces to align with the\n      text start.\n```\n\nBacktick-wrapped names such as `` `\u002Fskill-name` `` or `` `tool.py` `` should be\npreserved as-is inside the bold span.\n\n---\n\n## Insertion\n\n### Finding the bottom of the section\n\nAfter resolving the target header at `start_line`, scan forward line-by-line to\nfind the end of that section's checkbox list. The section ends at the first line\nthat matches any of:\n\n- Another `##`-level header (same or higher level).\n- End of file.\n\nThe \"bottom of the section's checkbox list\" is the last line that begins with\n`- [ ]` or `- [x]` before the section boundary. Insert the new item on the line\nimmediately following that last checkbox line.\n\nIf the section contains no checkbox lines at all, insert the new item\nimmediately after any blank line following the header (or directly after the\nheader if there are no blank lines), creating the first checkbox entry.\n\n### Confirmation before writing\n\nBefore modifying the file, compute a unified diff between the current content\nand the proposed new content:\n\n```\n--- ROADMAP.md (original)\n+++ ROADMAP.md (modified)\n@@ ...\n```\n\nShow the diff to the operator and **require explicit confirmation** before\nwriting. If the operator declines, abort with no changes made.\n\nAfter confirmation, write the modified file.\n\n---\n\n## Examples\n\n### Phase match\n\n```\n\u002Fadd-to-roadmap \"Phase 2 :: **`\u002Faudit-skill`** — spot-check every SKILL.md for missing argument-hint fields\"\n```\n\nMatches `## Phase 2 — Skill hardening`. Inserts the formatted item at the bottom\nof the Phase 2 checkbox list.\n\n### Subsection match\n\n```\n\u002Fadd-to-roadmap \"Measurement :: **`\u002Flatency`** — help Claude reason about latency budgets\"\n```\n\nMatches `### Measurement & perception` (because `\"measurement\"` is a substring\nof `\"measurement & perception\"`, case-insensitively). Inserts at the bottom of\nthat subsection's checkbox list.\n\n### Ambiguous match\n\n```\n\u002Fadd-to-roadmap \"skill :: **`\u002Ffoo`** — example\"\n```\n\nIf both `## Phase 1 — Plugin packaging` and\n`### Skill-testing & operator-mode skills` contain the substring `\"skill\"`, the\nskill stops with a disambiguation listing showing both headers and their line\nnumbers.\n\n### Malformed args\n\n```\n\u002Fadd-to-roadmap \"Phase 2 — missing the double-colon separator\"\n```\n\nStops immediately: `\" :: \" separator is missing`.\n\n---\n\n## Error reference\n\n| Scenario               | Error message                                   |\n| ---------------------- | ----------------------------------------------- |\n| Not a git repo         | \"Not a git repository...\"                       |\n| ROADMAP.md not found   | \"ROADMAP.md not found anywhere...\"              |\n| Missing `::` separator | \"Malformed arguments: expected ... :: ...\"      |\n| Zero matches           | \"No headers matched `\u003Cinput>`. Available:...\"   |\n| Multiple matches       | \"Ambiguous: `\u003Cinput>` matched more than one...\" |\n",{"name":5,"description":57,"argument-hint":58,"user-invocable":59},"Use when you want to append a new task to a specific phase or section of the\nproject ROADMAP.md. Accepts a fuzzy phase-or-section name and task text,\nlocates the correct section via case-insensitive substring match, formats the\nnew item to match the existing schema, and inserts it at the bottom of that\nsection's checkbox list. Always shows a unified diff and requires operator\nconfirmation before writing.\n","\u003Cphase-or-section> :: \u003Ctask-text>",true,"main","9635fb649979617cf684ea860dcaeb4eb272aa7d","skills\u002Fadd-to-roadmap",1,"https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn","https:\u002F\u002Flaurac8r.github.io\u002Fclaude-damn\u002F","https:\u002F\u002Fgithub.com\u002Flaurac8r","https:\u002F\u002Fwww.webcatgirl.com\u002F","SWE | Python, Java, Typescript, Cloud, AI, ML | Open-source, large-language model, and decision model enthusiast","2026-09-10 01:18:30",{"source":8,"skillName":5,"commands":71,"prompt":81,"zipAvailable":59},[72,75,78],{"tool":73,"command":74},"npx","npx skills add laurac8r\u002Fclaude-damn --skill add-to-roadmap",{"tool":76,"command":77},"bunx","bunx skills add laurac8r\u002Fclaude-damn --skill add-to-roadmap",{"tool":79,"command":80},"pnpm","pnpm dlx skills add laurac8r\u002Fclaude-damn --skill add-to-roadmap","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Fadd-to-roadmap\u002FSKILL.md",[],[84,120,142,159,177,192],{"skillNo":85,"name":86,"nameZh":6,"description":87,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":99,"publishedAt":52},"01M6K5V5PPEYZGPW80S9QAF7WZ","visual-aid","Use when the user asks for a quick visual aid, visual explainer, concept card, one-pager, poster, cheat sheet, infographic, visual summary, summary card, or mini explainer page — especially from input like a block of text, attached images, an attached song (lyrics\u002Faudio), a web link, a CSV\u002Fdataset, a math formula, a code snippet to walk through, a tutorial's steps, a timeline, or an A-vs-B comparison. Triggers include \"make me a quick visual aid\", \"turn this into a one-pager \u002F cheat sheet \u002F explainer\", \"summarize this visually\", \"give me a visual of\", \"explain this on a single page\", \"make a concept card for\", \"whip up a page about\", \"build a mini page that shows\", \"something I can paste into a doc explaining X\", or any request to render a topic\u002Ftext\u002Flink\u002Fimage-set\u002Fsong\u002Fdata into a standalone page. Prefer this skill over frontend-design when the ask is an explanatory single-file page (not a production UI), over playground when the output is static information display (not an interactive configurator), and over a Markdown\u002Fcode answer when the user explicitly wants a *page* (HTML). Produces a single self-contained HTML file that opens on double-click without a server.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Fvisual-aid\u002FSKILL.md",[90,93,96],{"categoryNo":91,"categoryName":92,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":94,"categoryName":95,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计",{"categoryNo":97,"categoryName":98,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119],"visual","visual aid","frontend","design","SET","Audio","visual explainer","up","images","formula","infographic","click","card","render","information","quick","song","standalone","frontend-design","static",{"skillNo":121,"name":122,"nameZh":6,"description":123,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":124,"categories":125,"keywords":126,"publishedAt":52},"01M6K5TZZ34SBMQMN2EX11XMYS","tesseract","Use when you've been poking at the same file, concept, or problem across many sessions and want to step outside time to see its whole arc — or when you want to leave a note for next-session-you. Triggers: 'I've been going in circles on X', 'what have I learned about X', 'what did past-me say about X', 'I keep rediscovering this'.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftesseract\u002FSKILL.md",[],[122,127,128,129,48,130,131,132,100,133,134,135,136,137,138,39,139,38,140,141],"sessions","file","session","say","me","time","across","anchor","triggers","learned","problem","keep","morse","concept","for",{"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":148,"publishedAt":52},"01M6K5TSVWXGRFMQTSM8VFSRDS","tdd","Invoke test-driven development as an explicit one-at-a-time micro-cycle — one test, one piece of functionality, refactor, then repeat for the next behavior","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftdd\u002FSKILL.md",[],[144,149,150,151,152,153,154,155,132,156,157,38,158,141],"test","development","micro","refactor","behavior","cycle","next","as","driven","at",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":165,"publishedAt":52},"01M6K5TP1KX237V9FDZ8PMNXH5","tdd-cat","TDD workflow with subagent-driven-development — \u002Ftdd composed with \u002Fcat, plus the A\u002FB TDD execution-mode axis (split-phase vs micro-cycle) asked as a third question in \u002Fcat's combined pre-dispatch question","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftdd-cat\u002FSKILL.md",[],[144,166,167,168,150,151,169,170,171,172,173,45,154,156,157,174,175,38,176],"cat","tdd cat","workflow","execution","tdd workflow","subagent","question","dispatch","with","split","mode",{"skillNo":178,"name":179,"nameZh":6,"description":180,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":181,"categories":182,"keywords":183,"publishedAt":52},"01M6K5TGDERXT82MS7SB3ZGA3V","task-list","TaskCreate \u002F TaskUpdate \u002F render the current TaskList in response to `\u002Ftask-list` (with or without flags). The skill body executes immediately on the syntax — no permission-seeking, no echoing the list back as plain text.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Ftask-list\u002FSKILL.md",[],[184,45,185,186,50,187,188,189,190,156,113,174,38,191],"list","task list","update","syntax","flags","back","permission","display",{"skillNo":193,"name":194,"nameZh":6,"description":195,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":196,"categories":197,"keywords":198,"publishedAt":52},"01M6K5T8CER0BAPJVJDG5F5GD0","sync","Sync files between two local directories, repos, or git worktrees. Five modes (plan\u002Finteractive\u002Fpush\u002Fpull\u002Fmirror), .gitignore-aware, Claude-workflow allowlist via --claude, dropbox-restore-style per-directory prompts.","https:\u002F\u002Fgithub.com\u002Flaurac8r\u002Fclaude-damn\u002Fblob\u002Fmain\u002Fskills\u002Fsync\u002FSKILL.md",[],[194,168,199,200,201,202,203,204,205,206,207,208,209,210,211,212,38,176,213,214],"delete","pull","push","plan","interactive","git worktrees","files","restore","gitignore","local","dry","directories","yes","limit","mirror","modes"]