[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6DASM7J55738V5FZNT7VGMC":3,"skill-same:01M6DASM7J55738V5FZNT7VGMC":64},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":35,"linkOnly":36,"markdownContent":37,"markdownBody":38,"frontMatter":39,"refName":44,"commitSha":45,"skillDirectory":46,"forksCount":13,"repositoryHtmlUrl":47,"repositoryHomepageUrl":6,"ownerHtmlUrl":48,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":49,"install":50,"resources":63},"01M6DASM7J55738V5FZNT7VGMC","blogpost-formatter",null,"Auto-format and harden a blog post for build + publish — frontmatter normalization, MD\u002FMDX safety fixes, structural scaffolding, and asset hygiene. Minimal editorial judgment.","tzeusy-org\u002Fai-bootstrap","tzeusy-org","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F141543652?v=4","01M6DAM1AP09H27BYGFY9QCNPB","01M6DAM1F4R187EK11XDN9JZKH",0,"MIT","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-blogpost\u002Fsubskills\u002Fblogpost-formatter\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34],"blogpost formatter","build","hygiene","structural","judgment","harden","active","mdx","scaffolding","publish","minimal","auto","blog post","blog","format","normalization","Safety","2026-11-10 10:12:30",false,"---\nname: blogpost-formatter\ndescription: Auto-format and harden a blog post for build + publish — frontmatter normalization, MD\u002FMDX safety fixes, structural scaffolding, and asset hygiene. Minimal editorial judgment.\nmetadata:\n  owner: tze\n  authors:\n    - tze\n  status: active\n  last_reviewed: \"2026-06-12\"\n---\n\nYou are a **publishing pipeline formatter**, not a writer. Your job is to make a post compile, render, and ship cleanly while preserving the author’s voice and meaning.\n\n**Input**: A blog post slug, directory name, or file path. If omitted, discover posts and use **AskUserQuestion** to choose. If the user says \"all\" or \"drafts\", process all matching posts and produce a report per post.\n\n## Principles\n\n- **No voice rewrites**: do not rewrite prose for style. Only make mechanical\u002Fstructural edits.\n- **No content deletions**: never delete paragraphs\u002Fsections. You may wrap long excerpts in collapsibles **only if** it is purely presentational and does not remove text.\n- **Safe auto-fixes only**: do not make changes requiring subjective judgment (argumentation, tone, claims, reordering). Flag those for the editor skill.\n- **Deterministic output**: formatting results should be repeatable.\n\n---\n\n## Steps\n\n### 1) Resolve the post(s)\n\n- If no post specified:\n  - Search the project for likely post files and bundles:\n    - directories containing `index.mdx`, `index.md`\n    - standalone `.md`\u002F`.mdx` under `blog\u002F`, `posts\u002F`, `content\u002F`\n  - If multiple found, use **AskUserQuestion** to select.\n- Read the post file(s).\n- Detect if the post is a “bundle directory” (assets alongside the post).\n\n### 2) Parse and validate frontmatter\n\nSplit on `---` delimiters and parse YAML.\n\n- Ensure YAML parses (quote strings with colons, fix indentation issues).\n- Normalize key names to project conventions where safe:\n  - `summary` \u002F `description` \u002F `excerpt` → keep existing field, but ensure one exists.\n  - `tags` \u002F `categories` → keep existing field, but ensure it’s an array when present.\n- Validate required fields exist and are non-empty:\n  - `title`, `date`, summary field, tags\u002Fcategories array (if your project requires it)\n- Validate date format:\n  - Must be a valid date.\n  - If directory name contains date prefix, ensure it matches (flag if mismatch; do not auto-change unless obviously a typo like `2025-13-01`).\n\n### 3) Mechanical structural checks (PASS\u002FFAIL)\n\nRecord each as PASS\u002FFAIL:\n\n| Check | Rule |\n|------|------|\n| Word count | Body > 300 words (strip frontmatter + MDX\u002FJSX; exclude code blocks) |\n| Frontmatter complete | `title`, `date`, summary non-empty; tags array non-empty if required |\n| Date format | Valid date; matches prefix if applicable |\n| Summary length | 10–200 chars (flag if outside; do not rewrite content) |\n| Heading presence | If body > 800 words, must contain at least one `##` heading |\n| Build safety | No MDX compilation hazards (see step 5) |\n\n### 4) Image + asset hygiene (with auto-renames)\n\nFind all image references in body (Markdown + MDX patterns).\n\nFor each image:\n\n- **Path normalization**:\n  - Ensure paths follow project conventions (relative vs absolute).\n  - If ambiguous, do not change — flag for editor.\n- **File exists**:\n  - Verify referenced file exists relative to the post or site root.\n- **Alt text**:\n  - Ensure alt text exists and is meaningful (flag empties\u002Fplaceholders).\n\n**Orphan assets**\n- If bundle directory: list image files not referenced in body (excluding thumbnail).\n\n**Generic filename detection + auto-rename (SAFE)**\nFlag filenames that are generic \u002F auto-generated:\n- `IMG_1234.*`, `DSC_*.png`, `Screenshot *.*`, `image.png`, `photo.jpg`, `1.png`, UUID\u002Fhash names, clipboard\u002Fpaste artifacts.\n\n**Auto-rename now (do not ask for confirmation):**\n- Rename on filesystem (Bash `mv`).\n- Update all references in body and frontmatter.\n- Naming rule for rename suggestions:\n  1) Use meaningful alt text → `kebab-case`\n  2) Else use nearest heading + context sentence\n  3) Optionally prefix with post slug to avoid collisions\n  4) Keep extension, lowercase, 2–4 words\n\n### 5) MDX\u002FMarkdown build hardening (AUTO-FIX where mechanical)\n\nScan the body (excluding fenced code blocks + inline code) and fix compile hazards:\n\n**MDX hazards (Critical)**\n- Unescaped `\u003C` in prose that isn’t a valid HTML\u002FJSX tag:\n  - Fix by wrapping technical tokens in inline code (preferred): `` `Array\u003Cstring>` ``\n  - Or escape `&lt;`\n- Bare `{` \u002F `}` in prose:\n  - Escape as `\\{` \u002F `\\}` (MDX v2) or wrap in inline code when technical\n- Accidental blockquote `>` at line start:\n  - If obviously unintended, add a leading backslash or rewrite line break minimally.\n\n**Markdown syntax hazards (Critical)**\n- Unclosed fenced code blocks: add missing closing fence.\n- Broken links: `[text]()` or placeholder `#` URLs → flag; do not invent URLs.\n- Unclosed emphasis or inline code spans: close mechanically if obvious; otherwise flag.\n\n**Tables**\n- Ensure header + separator row and consistent column counts.\n- Auto-fix alignment\u002Fpipes when mechanical.\n\n**HTML tags \u002F details**\n- If `\u003Cdetails>` is used, ensure `\u003C\u002Fdetails>` exists.\n\nRecord each auto-fix with:\n- line number (approx),\n- before → after snippet.\n\n### 6) TODO \u002F Placeholder sweep (Critical)\n\nSearch entire file (frontmatter + body) for:\n- `TODO`, `FIXME`, `XXX`, `HACK`, `PLACEHOLDER`, `TBD`, `CHANGEME`, lorem ipsum, obvious bracket slots `[...]` \u002F `{...}`.\n\n**Policy**\n- Do **not** remove TODOs automatically.\n- Convert TODOs into an explicit publish-blocking callout section at the end:\n  - `## Publish checklist (must fix)`\n  - bullet list with each TODO and its location (heading + excerpt)\n\n### 7) Optional: add safe scaffolding for scannability (NO prose rewrite)\n\nIf body > 1200 words and there is no “reader map” \u002F “what you’ll learn” section:\n- Insert a lightweight scaffold immediately after intro:\n  - `## In this post`\n  - 4–6 placeholder bullets **derived from existing headings** or major section titles.\n- If there are no headings, insert only the header + a `\u003C!-- fill in -->` comment and flag for editor.\n\nIf a single section contains a very long technical excerpt (e.g., >250 words inside a blockquote or code-like dump) and the post is narrative:\n- Wrap excerpt in `\u003Cdetails>\u003Csummary>Details\u003C\u002Fsummary>…\u003C\u002Fdetails>` **only if** the excerpt is already clearly a “secondary” digression and you preserve exact text inside.\n- Otherwise, flag for editor.\n\n### 8) Output the Formatter Report\n\nProduce:\n\nFormatter Report: \"{title}\"\nWord count: {count} {PASS\u002FFAIL}\nBuild safety: {PASS\u002FFAIL}\nFrontmatter: {PASS\u002FFAIL}\nThumbnail: {PASS\u002FFAIL} ({filename} or \"missing\")\n\nStructural Checks\nCheck\tStatus\tNote\n...\t\t\nAssets & Images\n{image}: exists ✅\u002F❌, alt ✅\u002F❌, path style ✅\u002F❌\n\nOrphan assets: ...\n\nRenames performed:\n\nOld\tNew\nBuild Hardening Auto-Fixes\nLine ~{N}: {before} → {after}\n...\n\nPublish Checklist (must fix)\n{TODO item with location}\n...\n\nHandoff to Editor\nItems requiring editorial judgment: {bullets}\n\n\n---\n\n## Completion\n\n- Save the modified post file(s).\n- Save any renamed assets.\n- Do not ask follow-up questions unless post resolution is ambiguous.","You are a **publishing pipeline formatter**, not a writer. Your job is to make a post compile, render, and ship cleanly while preserving the author’s voice and meaning.\n\n**Input**: A blog post slug, directory name, or file path. If omitted, discover posts and use **AskUserQuestion** to choose. If the user says \"all\" or \"drafts\", process all matching posts and produce a report per post.\n\n## Principles\n\n- **No voice rewrites**: do not rewrite prose for style. Only make mechanical\u002Fstructural edits.\n- **No content deletions**: never delete paragraphs\u002Fsections. You may wrap long excerpts in collapsibles **only if** it is purely presentational and does not remove text.\n- **Safe auto-fixes only**: do not make changes requiring subjective judgment (argumentation, tone, claims, reordering). Flag those for the editor skill.\n- **Deterministic output**: formatting results should be repeatable.\n\n---\n\n## Steps\n\n### 1) Resolve the post(s)\n\n- If no post specified:\n  - Search the project for likely post files and bundles:\n    - directories containing `index.mdx`, `index.md`\n    - standalone `.md`\u002F`.mdx` under `blog\u002F`, `posts\u002F`, `content\u002F`\n  - If multiple found, use **AskUserQuestion** to select.\n- Read the post file(s).\n- Detect if the post is a “bundle directory” (assets alongside the post).\n\n### 2) Parse and validate frontmatter\n\nSplit on `---` delimiters and parse YAML.\n\n- Ensure YAML parses (quote strings with colons, fix indentation issues).\n- Normalize key names to project conventions where safe:\n  - `summary` \u002F `description` \u002F `excerpt` → keep existing field, but ensure one exists.\n  - `tags` \u002F `categories` → keep existing field, but ensure it’s an array when present.\n- Validate required fields exist and are non-empty:\n  - `title`, `date`, summary field, tags\u002Fcategories array (if your project requires it)\n- Validate date format:\n  - Must be a valid date.\n  - If directory name contains date prefix, ensure it matches (flag if mismatch; do not auto-change unless obviously a typo like `2025-13-01`).\n\n### 3) Mechanical structural checks (PASS\u002FFAIL)\n\nRecord each as PASS\u002FFAIL:\n\n| Check | Rule |\n|------|------|\n| Word count | Body > 300 words (strip frontmatter + MDX\u002FJSX; exclude code blocks) |\n| Frontmatter complete | `title`, `date`, summary non-empty; tags array non-empty if required |\n| Date format | Valid date; matches prefix if applicable |\n| Summary length | 10–200 chars (flag if outside; do not rewrite content) |\n| Heading presence | If body > 800 words, must contain at least one `##` heading |\n| Build safety | No MDX compilation hazards (see step 5) |\n\n### 4) Image + asset hygiene (with auto-renames)\n\nFind all image references in body (Markdown + MDX patterns).\n\nFor each image:\n\n- **Path normalization**:\n  - Ensure paths follow project conventions (relative vs absolute).\n  - If ambiguous, do not change — flag for editor.\n- **File exists**:\n  - Verify referenced file exists relative to the post or site root.\n- **Alt text**:\n  - Ensure alt text exists and is meaningful (flag empties\u002Fplaceholders).\n\n**Orphan assets**\n- If bundle directory: list image files not referenced in body (excluding thumbnail).\n\n**Generic filename detection + auto-rename (SAFE)**\nFlag filenames that are generic \u002F auto-generated:\n- `IMG_1234.*`, `DSC_*.png`, `Screenshot *.*`, `image.png`, `photo.jpg`, `1.png`, UUID\u002Fhash names, clipboard\u002Fpaste artifacts.\n\n**Auto-rename now (do not ask for confirmation):**\n- Rename on filesystem (Bash `mv`).\n- Update all references in body and frontmatter.\n- Naming rule for rename suggestions:\n  1) Use meaningful alt text → `kebab-case`\n  2) Else use nearest heading + context sentence\n  3) Optionally prefix with post slug to avoid collisions\n  4) Keep extension, lowercase, 2–4 words\n\n### 5) MDX\u002FMarkdown build hardening (AUTO-FIX where mechanical)\n\nScan the body (excluding fenced code blocks + inline code) and fix compile hazards:\n\n**MDX hazards (Critical)**\n- Unescaped `\u003C` in prose that isn’t a valid HTML\u002FJSX tag:\n  - Fix by wrapping technical tokens in inline code (preferred): `` `Array\u003Cstring>` ``\n  - Or escape `&lt;`\n- Bare `{` \u002F `}` in prose:\n  - Escape as `\\{` \u002F `\\}` (MDX v2) or wrap in inline code when technical\n- Accidental blockquote `>` at line start:\n  - If obviously unintended, add a leading backslash or rewrite line break minimally.\n\n**Markdown syntax hazards (Critical)**\n- Unclosed fenced code blocks: add missing closing fence.\n- Broken links: `[text]()` or placeholder `#` URLs → flag; do not invent URLs.\n- Unclosed emphasis or inline code spans: close mechanically if obvious; otherwise flag.\n\n**Tables**\n- Ensure header + separator row and consistent column counts.\n- Auto-fix alignment\u002Fpipes when mechanical.\n\n**HTML tags \u002F details**\n- If `\u003Cdetails>` is used, ensure `\u003C\u002Fdetails>` exists.\n\nRecord each auto-fix with:\n- line number (approx),\n- before → after snippet.\n\n### 6) TODO \u002F Placeholder sweep (Critical)\n\nSearch entire file (frontmatter + body) for:\n- `TODO`, `FIXME`, `XXX`, `HACK`, `PLACEHOLDER`, `TBD`, `CHANGEME`, lorem ipsum, obvious bracket slots `[...]` \u002F `{...}`.\n\n**Policy**\n- Do **not** remove TODOs automatically.\n- Convert TODOs into an explicit publish-blocking callout section at the end:\n  - `## Publish checklist (must fix)`\n  - bullet list with each TODO and its location (heading + excerpt)\n\n### 7) Optional: add safe scaffolding for scannability (NO prose rewrite)\n\nIf body > 1200 words and there is no “reader map” \u002F “what you’ll learn” section:\n- Insert a lightweight scaffold immediately after intro:\n  - `## In this post`\n  - 4–6 placeholder bullets **derived from existing headings** or major section titles.\n- If there are no headings, insert only the header + a `\u003C!-- fill in -->` comment and flag for editor.\n\nIf a single section contains a very long technical excerpt (e.g., >250 words inside a blockquote or code-like dump) and the post is narrative:\n- Wrap excerpt in `\u003Cdetails>\u003Csummary>Details\u003C\u002Fsummary>…\u003C\u002Fdetails>` **only if** the excerpt is already clearly a “secondary” digression and you preserve exact text inside.\n- Otherwise, flag for editor.\n\n### 8) Output the Formatter Report\n\nProduce:\n\nFormatter Report: \"{title}\"\nWord count: {count} {PASS\u002FFAIL}\nBuild safety: {PASS\u002FFAIL}\nFrontmatter: {PASS\u002FFAIL}\nThumbnail: {PASS\u002FFAIL} ({filename} or \"missing\")\n\nStructural Checks\nCheck\tStatus\tNote\n...\t\t\nAssets & Images\n{image}: exists ✅\u002F❌, alt ✅\u002F❌, path style ✅\u002F❌\n\nOrphan assets: ...\n\nRenames performed:\n\nOld\tNew\nBuild Hardening Auto-Fixes\nLine ~{N}: {before} → {after}\n...\n\nPublish Checklist (must fix)\n{TODO item with location}\n...\n\nHandoff to Editor\nItems requiring editorial judgment: {bullets}\n\n\n---\n\n## Completion\n\n- Save the modified post file(s).\n- Save any renamed assets.\n- Do not ask follow-up questions unless post resolution is ambiguous.",{"name":5,"metadata":40,"description":7},{"owner":41,"status":24,"authors":42,"last_reviewed":43},"tze",[41],"2026-06-12","main","c907d6f0bf96bd61b936e8972e0f1c66ebb8148c","skills\u002Fpersonal\u002Fth-blogpost\u002Fsubskills\u002Fblogpost-formatter","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap","https:\u002F\u002Fgithub.com\u002Ftzeusy-org","2026-11-10 23:17:25",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add tzeusy-org\u002Fai-bootstrap --skill blogpost-formatter",{"tool":56,"command":57},"bunx","bunx skills add tzeusy-org\u002Fai-bootstrap --skill blogpost-formatter",{"tool":59,"command":60},"pnpm","pnpm dlx skills add tzeusy-org\u002Fai-bootstrap --skill blogpost-formatter","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-blogpost\u002Fsubskills\u002Fblogpost-formatter\u002FSKILL.md",true,[],[65,91,118,133,152,163],{"skillNo":66,"name":67,"nameZh":6,"description":68,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":71,"publishedAt":35},"01M6DAZD21TWH2ET70V9FF75CQ","user-run","Use when a step needs privileges this session lacks (docker, sudo, another user's checkout or secrets, host access) and the owner must run it as tze. Writes a reviewable \u002Fhome\u002Forca\u002F.tmp\u002F\u003Cslug>\u002Frun.sh that impersonates tze (USER_TO_IMPERSONATE overrides), tees timestamped logs plus latest.log and collects artifacts there; Claude presents it with a risk and time brief, then continues from the logs. Triggers: \"I'll run it for you\", \"permission denied on docker.sock\", \"needs sudo\", \"sudo: a password is required\", \"run as tze\", \"\u002Fuser-run\".","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fuser-run\u002FSKILL.md",[],[72,73,74,75,76,77,78,79,80,81,24,82,83,84,85,86,87,88,89,90],"user run","user","run","docker","logs","use","host","as","triggers","permission","time","log","artifacts","session","password","access","secrets","risk","brief",{"skillNo":92,"name":93,"nameZh":6,"description":94,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":95,"categories":96,"keywords":107,"publishedAt":35},"01M6DAZAHTCBAD2WF0GAHWPST8","requesting-code-review","Use when completing tasks, implementing major features, or before merging to verify work meets requirements","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Frequesting-code-review\u002FSKILL.md",[97,102],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},"01JBSEEDCAT000000000000007","代码审查","SCENARIO","使用场景",{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[108,109,110,111,112,113,24,114,115,77,116,117],"requesting code review","code","review","code review","work","requirements","upstream","superpowers","verify","tasks",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":126,"publishedAt":35},"01M6DAZ7CJ82D81XZB2YHVVY48","receiving-code-review","Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Freceiving-code-review\u002FSKILL.md",[124,125],{"categoryNo":98,"categoryName":99,"taxonomyType":100,"taxonomyTypeDesc":101},{"categoryNo":103,"categoryName":104,"taxonomyType":105,"taxonomyTypeDesc":106},[127,109,110,111,24,114,128,115,77,129,130,131,132],"receiving code review","implementation","code review feedback","technical","feedback","verification",{"skillNo":134,"name":135,"nameZh":6,"description":136,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":137,"categories":138,"keywords":139,"publishedAt":35},"01M6DAZ4ER76ADXJ9KRFP7V3Q9","finishing-a-development-branch","Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - guides completion of development work by presenting structured options for merge, PR, or cleanup","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Ffinishing-a-development-branch\u002FSKILL.md",[],[140,141,142,143,77,144,112,145,146,147,115,148,149,150,24,114,151,128],"branch","development","finishing a development branch","integrate","decide","how","cleanup","pr","merge","tests","structured","options",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":158,"publishedAt":35},"01M6DAYZFWWW2YPKP89QNQR96H","executing-plans","Use when you have a written implementation plan to execute in a separate session with review checkpoints","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Fexecuting-plans\u002FSKILL.md",[],[159,160,161,110,162,24,114,128,115,77,85],"plans","executing plans","plan","execute",{"skillNo":164,"name":165,"nameZh":6,"description":166,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":167,"categories":168,"keywords":169,"publishedAt":35},"01M6DAYWM2YQHYCK7C35K1D29J","dispatching-parallel-agents","Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies","https:\u002F\u002Fgithub.com\u002Ftzeusy-org\u002Fai-bootstrap\u002Fblob\u002Fmain\u002Fskills\u002Fpersonal\u002Fth-workflow\u002Fsubskills\u002Fdispatching-parallel-agents\u002FSKILL.md",[],[170,171,172,77,115,114,173,24,174,117,175],"parallel agents","parallel","dispatching parallel agents","state","dependencies","shared"]