[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C7QST9SP9XKSVQYCSC5HE2":3,"skill-same:01M6C7QST9SP9XKSVQYCSC5HE2":97},{"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":16,"sourceHtmlUrl":17,"categories":18,"keywords":19,"publishedAt":40,"linkOnly":41,"markdownContent":42,"markdownBody":43,"frontMatter":44,"refName":45,"commitSha":46,"skillDirectory":47,"forksCount":14,"repositoryHtmlUrl":48,"repositoryHomepageUrl":6,"ownerHtmlUrl":49,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":50,"install":51,"resources":64},"01M6C7QST9SP9XKSVQYCSC5HE2","epub-translate",null,"AI-assisted EPUB book translation. Extracts text while preserving code blocks, supports progressive batch translation via JSON workflow, and rebuilds translated EPUBs. Language-agnostic — works with any source\u002Ftarget language pair. Use when translating EPUB books or batch-processing book translations with AI assistance.","lDuang\u002Fmcp-skill-registry","lDuang","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F78087597?v=4","01M6C7NZJTXHQN8GGGN6XJTENF","Duang丶","01M6C7NZQG6XPZ74JYQ37SVBDC",0,"MIT","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002FLICENSE","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002FSKILL.md",[],[20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39],"translate","epub","epub translate","when","book translation","source","books","with","blocks","processing","via","translation","use","pair","text","json","batch-processing","batch","code","workflow","2026-11-10 10:12:30",false,"---\nname: epub-translate\ndescription: AI-assisted EPUB book translation. Extracts text while preserving code blocks, supports progressive batch translation via JSON workflow, and rebuilds translated EPUBs. Language-agnostic — works with any source\u002Ftarget language pair. Use when translating EPUB books or batch-processing book translations with AI assistance.\nlicense: MIT\n---\n\n# EPUB Translate\n\nTranslate EPUB books with AI assistance. Three phases: extract → translate → build.\n\n## When to Use\n\n- User wants to translate an EPUB book from one language to another\n- Extract translatable content from an EPUB for batch processing\n- Build a translated EPUB from completed translations\n- Check translation progress or verify translation completeness\n\n## Project Setup\n\n```bash\nmkdir \"Book-Name-Translation\"\ncd \"Book-Name-Translation\"\ncp \u002Fpath\u002Fto\u002Fsource.epub .\u002Fsource.epub\n```\n\nAlways copy the source file. Never modify the user's original.\n\n## Phase 1: Export\n\n```bash\npython scripts\u002Fepub_translator.py export .\u002Fsource.epub -o translations.json\n```\n\nWhat happens:\n- Extracts all translatable text from EPUB (XHTML\u002FHTML files)\n- Groups text by leaf block elements (`\u003Cp>`, `\u003Ch1>`, `\u003Cli>`, etc.)\n- Container blocks (`\u003Cdiv>`, `\u003Csection>` with child blocks) are skipped — their children are extracted individually\n- `\u003Ccode>` blocks become `⌜CODE_N⌝` placeholders\n- NCX navigation files (`.ncx`) are also parsed for TOC entries\n- Outputs a flat JSON array\n\n```json\n{\"idx\": 0, \"file\": \"ch1.xhtml\", \"text\": \"Original text\", \"code_map\": {}, \"translated\": null}\n```\n\nAfter export:\n```bash\npython scripts\u002Fepub_translator.py info translations.json\n```\n\n## Phase 2: Translate\n\nWork in batches of 100-200 segments. Process in order.\n\n```bash\npython scripts\u002Fbatch_translate.py extract translations.json 0 100\n# Translate batch_0_100.txt → batch_0_100_translated.json\npython scripts\u002Fbatch_translate.py inject translations.json batch_0_100_translated.json\npython scripts\u002Fepub_translator.py info translations.json\npython scripts\u002Fbatch_translate.py extract translations.json 100 200\n```\n\nCritical rules:\n- Never translate `⌜CODE_N⌝` placeholders\n- Keep technical terms (API names, class names) in original form\n- Never reorder or delete segments\n\n## Phase 3: Build\n\n```bash\npython scripts\u002Fepub_translator.py build .\u002Fsource.epub translations.json -o \"Book-Name-zh.epub\"\n```\n\nBuild process:\n1. Reads translations JSON\n2. Re-extracts from original EPUB (deletes meta.json cache if BLOCK_TAGS changed)\n3. Matches segments to blocks by `block_idx` — export and build must use the same BLOCK_TAGS\n4. Restores `⌜CODE_N⌝` → original `\u003Ccode>` HTML\n5. Preserves inline elements (`\u003Ca>`, `\u003Cspan>`, `\u003Cb>`, etc.) — only replaces text nodes inside them\n6. Skips container blocks (blocks with child blocks) — children are injected individually\n7. Processes NCX files — maps `\u003Ctext>` entries to translations\n8. Normalizes line endings to Unix-style\n9. Repacks as EPUB\n\nAfter build, update language metadata:\n```bash\n# OPF: \u003Cdc:language>en\u003C\u002Fdc:language> → \u003Cdc:language>zh\u003C\u002Fdc:language>\n# HTML: lang=\"en\" xml:lang=\"en\" → lang=\"zh\" xml:lang=\"zh\"\n```\n\nThen verify the output opens correctly in an EPUB reader.\n\n## Quality Gates\n\n1. **After export**: `info` — check segment count and character volume\n2. **After each batch**: `info` — count should increase by batch size\n3. **Before build**: `verify` — checks completion, large files, common issues\n4. **After build**: Open in reader — verify TOC navigation, code blocks, images, pagination\n\n## Critical Lessons Learned\n\n### 1. Container vs Leaf Blocks\nContainer blocks (`\u003Cdiv>`, `\u003Csection>`) contain other blocks. Never extract or inject into them — their children (`\u003Cp>`, `\u003Ch1>`, `\u003Cli>`) are the actual translation units. Injecting into a container clears all children.\n\n### 2. Inline Tag Preservation\nBlocks containing `\u003Ca>`, `\u003Cspan>`, `\u003Cstrong>`, `\u003Cem>` etc. must be handled by replacing only their text nodes, not by clearing and replacing the entire block. Otherwise links (TOC navigation, cross-references) are destroyed.\n\n### 3. BLOCK_TAGS Consistency\nExport and build use the same BLOCK_TAGS set. If you change BLOCK_TAGS, delete `translations.json.meta.json` to force re-extraction from the original source.\n\n### 4. NCX Navigation Files\nEPUB 2 uses `toc.ncx` for navigation. These files contain `\u003Ctext>Chapter Title\u003C\u002Ftext>` elements that must be translated separately. The export phase catches them, but the segments must be translated (they're typically the same as the HTML TOC entries).\n\n### 5. Language Metadata\nAfter translating, update the OPF metadata and HTML `lang` attributes from the source language to the target language. Readers (especially Apple Books) use this for typographic rules — CJK text with `lang=en` causes pagination crashes.\n\n### 6. Line Endings\nBeautifulSoup serialization produces `\\r\\n` on Windows. The build phase normalizes to `\\n` for cross-platform EPUB compatibility.\n\n## Known Issues\n\n| Issue | Cause | Mitigation |\n|-------|-------|-----------|\n| Duplicate segments | TOC and body share text | Harmless — both get translated |\n| Segments mismatch after rebuild | BLOCK_TAGS changed | Delete meta.json to force re-extract |\n| Placeholder appears in output | `⌜CODE_N⌝` not translated | Never translate placeholders — keep verbatim |\n| NCX still English | NCX not processed by earlier builds | Rebuild with 0.0.2+ which handles .ncx files |\n| Apple Books crash\u002Fflash | `lang=en` with CJK content | Update OPF language to target language |\n| Terminal can't print Chinese | Windows GBK encoding | Always write output to files, not print |\n\n## Troubleshooting\n\n**\"Content is empty after build\"** — Likely caused by container blocks. Add `has_block_children` check to skip elements whose children are also in BLOCK_TAGS.\n\n**\"TOC links don't work\"** — `\u003Ca>` tags were cleared during injection. Switch to text-node-only replacement for blocks containing inline elements.\n\n**\"Only first page shows\"** — Check language metadata. Set `dc:language` and HTML `lang` to match the translation target language.\n\n**\"Previous corruption won't go away\"** — Delete `translations.json.meta.json` to force a fresh extraction from the original source, then rebuild.\n","# EPUB Translate\n\nTranslate EPUB books with AI assistance. Three phases: extract → translate → build.\n\n## When to Use\n\n- User wants to translate an EPUB book from one language to another\n- Extract translatable content from an EPUB for batch processing\n- Build a translated EPUB from completed translations\n- Check translation progress or verify translation completeness\n\n## Project Setup\n\n```bash\nmkdir \"Book-Name-Translation\"\ncd \"Book-Name-Translation\"\ncp \u002Fpath\u002Fto\u002Fsource.epub .\u002Fsource.epub\n```\n\nAlways copy the source file. Never modify the user's original.\n\n## Phase 1: Export\n\n```bash\npython scripts\u002Fepub_translator.py export .\u002Fsource.epub -o translations.json\n```\n\nWhat happens:\n- Extracts all translatable text from EPUB (XHTML\u002FHTML files)\n- Groups text by leaf block elements (`\u003Cp>`, `\u003Ch1>`, `\u003Cli>`, etc.)\n- Container blocks (`\u003Cdiv>`, `\u003Csection>` with child blocks) are skipped — their children are extracted individually\n- `\u003Ccode>` blocks become `⌜CODE_N⌝` placeholders\n- NCX navigation files (`.ncx`) are also parsed for TOC entries\n- Outputs a flat JSON array\n\n```json\n{\"idx\": 0, \"file\": \"ch1.xhtml\", \"text\": \"Original text\", \"code_map\": {}, \"translated\": null}\n```\n\nAfter export:\n```bash\npython scripts\u002Fepub_translator.py info translations.json\n```\n\n## Phase 2: Translate\n\nWork in batches of 100-200 segments. Process in order.\n\n```bash\npython scripts\u002Fbatch_translate.py extract translations.json 0 100\n# Translate batch_0_100.txt → batch_0_100_translated.json\npython scripts\u002Fbatch_translate.py inject translations.json batch_0_100_translated.json\npython scripts\u002Fepub_translator.py info translations.json\npython scripts\u002Fbatch_translate.py extract translations.json 100 200\n```\n\nCritical rules:\n- Never translate `⌜CODE_N⌝` placeholders\n- Keep technical terms (API names, class names) in original form\n- Never reorder or delete segments\n\n## Phase 3: Build\n\n```bash\npython scripts\u002Fepub_translator.py build .\u002Fsource.epub translations.json -o \"Book-Name-zh.epub\"\n```\n\nBuild process:\n1. Reads translations JSON\n2. Re-extracts from original EPUB (deletes meta.json cache if BLOCK_TAGS changed)\n3. Matches segments to blocks by `block_idx` — export and build must use the same BLOCK_TAGS\n4. Restores `⌜CODE_N⌝` → original `\u003Ccode>` HTML\n5. Preserves inline elements (`\u003Ca>`, `\u003Cspan>`, `\u003Cb>`, etc.) — only replaces text nodes inside them\n6. Skips container blocks (blocks with child blocks) — children are injected individually\n7. Processes NCX files — maps `\u003Ctext>` entries to translations\n8. Normalizes line endings to Unix-style\n9. Repacks as EPUB\n\nAfter build, update language metadata:\n```bash\n# OPF: \u003Cdc:language>en\u003C\u002Fdc:language> → \u003Cdc:language>zh\u003C\u002Fdc:language>\n# HTML: lang=\"en\" xml:lang=\"en\" → lang=\"zh\" xml:lang=\"zh\"\n```\n\nThen verify the output opens correctly in an EPUB reader.\n\n## Quality Gates\n\n1. **After export**: `info` — check segment count and character volume\n2. **After each batch**: `info` — count should increase by batch size\n3. **Before build**: `verify` — checks completion, large files, common issues\n4. **After build**: Open in reader — verify TOC navigation, code blocks, images, pagination\n\n## Critical Lessons Learned\n\n### 1. Container vs Leaf Blocks\nContainer blocks (`\u003Cdiv>`, `\u003Csection>`) contain other blocks. Never extract or inject into them — their children (`\u003Cp>`, `\u003Ch1>`, `\u003Cli>`) are the actual translation units. Injecting into a container clears all children.\n\n### 2. Inline Tag Preservation\nBlocks containing `\u003Ca>`, `\u003Cspan>`, `\u003Cstrong>`, `\u003Cem>` etc. must be handled by replacing only their text nodes, not by clearing and replacing the entire block. Otherwise links (TOC navigation, cross-references) are destroyed.\n\n### 3. BLOCK_TAGS Consistency\nExport and build use the same BLOCK_TAGS set. If you change BLOCK_TAGS, delete `translations.json.meta.json` to force re-extraction from the original source.\n\n### 4. NCX Navigation Files\nEPUB 2 uses `toc.ncx` for navigation. These files contain `\u003Ctext>Chapter Title\u003C\u002Ftext>` elements that must be translated separately. The export phase catches them, but the segments must be translated (they're typically the same as the HTML TOC entries).\n\n### 5. Language Metadata\nAfter translating, update the OPF metadata and HTML `lang` attributes from the source language to the target language. Readers (especially Apple Books) use this for typographic rules — CJK text with `lang=en` causes pagination crashes.\n\n### 6. Line Endings\nBeautifulSoup serialization produces `\\r\\n` on Windows. The build phase normalizes to `\\n` for cross-platform EPUB compatibility.\n\n## Known Issues\n\n| Issue | Cause | Mitigation |\n|-------|-------|-----------|\n| Duplicate segments | TOC and body share text | Harmless — both get translated |\n| Segments mismatch after rebuild | BLOCK_TAGS changed | Delete meta.json to force re-extract |\n| Placeholder appears in output | `⌜CODE_N⌝` not translated | Never translate placeholders — keep verbatim |\n| NCX still English | NCX not processed by earlier builds | Rebuild with 0.0.2+ which handles .ncx files |\n| Apple Books crash\u002Fflash | `lang=en` with CJK content | Update OPF language to target language |\n| Terminal can't print Chinese | Windows GBK encoding | Always write output to files, not print |\n\n## Troubleshooting\n\n**\"Content is empty after build\"** — Likely caused by container blocks. Add `has_block_children` check to skip elements whose children are also in BLOCK_TAGS.\n\n**\"TOC links don't work\"** — `\u003Ca>` tags were cleared during injection. Switch to text-node-only replacement for blocks containing inline elements.\n\n**\"Only first page shows\"** — Check language metadata. Set `dc:language` and HTML `lang` to match the translation target language.\n\n**\"Previous corruption won't go away\"** — Delete `translations.json.meta.json` to force a fresh extraction from the original source, then rebuild.\n",{"name":5,"license":15,"description":7},"main","aaeee384ed78d68b0dc9306f40e5ce2a30f56441","skill\u002Fepub-translator-toolkit","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry","https:\u002F\u002Fgithub.com\u002FlDuang","2026-11-10 17:33:14",{"source":8,"skillName":5,"commands":52,"prompt":62,"zipAvailable":63},[53,56,59],{"tool":54,"command":55},"npx","npx skills add lDuang\u002Fmcp-skill-registry --skill epub-translate",{"tool":57,"command":58},"bunx","bunx skills add lDuang\u002Fmcp-skill-registry --skill epub-translate",{"tool":60,"command":61},"pnpm","pnpm dlx skills add lDuang\u002Fmcp-skill-registry --skill epub-translate","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002FSKILL.md",true,[65,69,75,79,83,89,93],{"path":66,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":16},"LICENSE","许可证",1067,{"path":70,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":73,"sourceHtmlUrl":74},"metadata.json","REFERENCE","参考文档",429,"https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002Fmetadata.json",{"path":76,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":77,"sourceHtmlUrl":78},"README_ZH.md",5191,"https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002FREADME_ZH.md",{"path":80,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":81,"sourceHtmlUrl":82},"README.md",5475,"https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002FREADME.md",{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"scripts\u002Fbatch_translate.py","SCRIPT","脚本",2652,"https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002Fscripts\u002Fbatch_translate.py",{"path":90,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":91,"sourceHtmlUrl":92},"scripts\u002Fepub_translator.py",12237,"https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002Fscripts\u002Fepub_translator.py",{"path":94,"resourceType":71,"resourceTypeDesc":72,"sizeBytes":95,"sourceHtmlUrl":96},"skill.meta.json",516,"https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fepub-translator-toolkit\u002Fskill.meta.json",[98,142,172,200,229,257],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":102,"licenseFileUrl":103,"sourceHtmlUrl":104,"categories":105,"keywords":122,"publishedAt":40},"01M6C7W92FXQ1XETSVSFZ2H77R","xlsx","Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .xltx, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.","Apache-2.0","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fxlsx\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fxlsx\u002FSKILL.md",[106,111,114,117],{"categoryNo":107,"categoryName":108,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000002","文档处理","SCENARIO","使用场景",{"categoryNo":112,"categoryName":113,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":115,"categoryName":116,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":118,"categoryName":119,"taxonomyType":120,"taxonomyTypeDesc":121},"01JBSEEDCAT000000000000034","行政与办公人员","PROFESSION","适用职业",[100,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,23,138,139,140,141],"spreadsheet","pipeline","fix","html report","open","files","database","api","create","Charting","read","sources","standalone","time","python script","done","references","data sources","new",{"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":102,"licenseFileUrl":146,"sourceHtmlUrl":147,"categories":148,"keywords":155,"publishedAt":40},"01M6C7W0QWBRWESNT7N2PCBTHA","webapp-testing","Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fwebapp-testing\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fwebapp-testing\u002FSKILL.md",[149,152],{"categoryNo":150,"categoryName":151,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000008","测试与质量",{"categoryNo":153,"categoryName":154,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000009","前端开发",[156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,27],"webapp","webapp testing","testing","browser","playwright","web","behavior","applications","frontend","ui","debugging","toolkit","logs","screenshots","for","local",{"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":102,"licenseFileUrl":176,"sourceHtmlUrl":177,"categories":178,"keywords":180,"publishedAt":40},"01M6C7VV3CY1P1H8Y39Y2ZWC32","web-artifacts-builder","Suite of tools for creating elaborate, multi-component claude.ai HTML artifacts using modern frontend web technologies (React, Tailwind CSS, shadcn\u002Fui). Use for complex artifacts requiring state management, routing, or shadcn\u002Fui components - not for simple single-file HTML\u002FJSX artifacts.","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fweb-artifacts-builder\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fweb-artifacts-builder\u002FSKILL.md",[179],{"categoryNo":153,"categoryName":154,"taxonomyType":109,"taxonomyTypeDesc":110},[181,182,183,161,184,185,186,187,164,32,188,189,190,191,192,193,194,195,165,196,170,197,198,199],"builder","artifacts builder","artifacts","web artifacts builder","single-file","css","Tailwind","file","components","react","state","routing","state management","component","management","Tools","ui components","single","multi",{"skillNo":201,"name":202,"nameZh":6,"description":203,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":102,"licenseFileUrl":204,"sourceHtmlUrl":205,"categories":206,"keywords":210,"publishedAt":40},"01M6C7V4EYYMXGBNJDNW61CVCR","theme-factory","Toolkit for styling artifacts with a theme. These artifacts can be slides, docs, reportings, HTML landing pages, etc. There are 10 pre-set themes with colors\u002Ffonts that you can apply to any artifact that has been creating, or can generate a new theme on-the-fly.","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Ftheme-factory\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Ftheme-factory\u002FSKILL.md",[207],{"categoryNo":208,"categoryName":209,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000015","视觉设计",[211,212,213,214,215,216,217,218,219,220,183,167,221,170,222,141,223,224,225,226,227,27,228],"theme factory","factory","theme","SET","slides","generate","fly","landing","styling","docs","html","pages","themes","you","apply","can","fonts","artifact",{"skillNo":230,"name":231,"nameZh":6,"description":232,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":102,"licenseFileUrl":233,"sourceHtmlUrl":234,"categories":235,"keywords":242,"publishedAt":40},"01M6C7TMG1V160Y7DKKZ77W9EX","slack-gif-creator","Knowledge and utilities for creating animated GIFs optimized for Slack. Provides constraints, validation tools, and animation concepts. Use when users request animated GIFs for Slack like \"make me a GIF of X doing Y for Slack.\"","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fslack-gif-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fslack-gif-creator\u002FSKILL.md",[236,239],{"categoryNo":237,"categoryName":238,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000005","邮件与沟通",{"categoryNo":240,"categoryName":241,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000016","图像与多媒体",[243,244,245,246,247,248,249,32,196,250,170,23,251,252,253,254,255,256],"slack","slack gif creator","gif","creator","Animation","validation","knowledge","constraints","users","me","request","Utilities","concepts","make",{"skillNo":258,"name":259,"nameZh":6,"description":260,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":102,"licenseFileUrl":261,"sourceHtmlUrl":262,"categories":263,"keywords":267,"publishedAt":40},"01M6C7TGAGD33C82MC2KTB1C9B","skill-creator","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fskill-creator\u002FLICENSE.txt","https:\u002F\u002Fgithub.com\u002FlDuang\u002Fmcp-skill-registry\u002Fblob\u002Fmain\u002Fskill\u002Fskill-creator\u002FSKILL.md",[264],{"categoryNo":265,"categoryName":266,"taxonomyType":109,"taxonomyTypeDesc":110},"01JBSEEDCAT000000000000023","Skill与智能体开发",[268,246,269,270,271,272,32,273,131,274,275,276,277,278,141,23,279,280,170,281,282],"skill creator","evals","performance","improve","run evals","analysis","test","variance analysis","run","edit","benchmark","optimize","existing skill","accuracy","scratch"]