[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6WYCQXM9C3TRJ45ZXDJHSQQ":3,"skill-same:01M6WYCQXM9C3TRJ45ZXDJHSQQ":87},{"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":65,"commitSha":66,"skillDirectory":67,"forksCount":68,"repositoryHtmlUrl":69,"repositoryHomepageUrl":6,"ownerHtmlUrl":70,"ownerBlogUrl":71,"ownerDescription":6,"updatedAt":72,"install":73,"resources":86},"01M6WYCQXM9C3TRJ45ZXDJHSQQ","code-documenter",null,"Generates, formats, and validates technical documentation — including docstrings, OpenAPI\u002FSwagger specs, JSDoc annotations, doc portals, and user guides. Use when adding docstrings to functions or classes, creating API documentation, building documentation sites, or writing tutorials and user guides. Invoke for OpenAPI\u002FSwagger specs, JSDoc, doc portals, getting started guides.","PIXARTSeu\u002FSynapse","PIXARTSeu","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F274446381?v=4","01M6RB4XPN9YBZCRY4FVN9PJCT","Pixarts ","01M6RB4XTF8G9KHQEMC21FGDKD",12,"MIT","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fcode-documenter\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"code","documenter","code documenter","swagger","when","invoke","for","formats","guides","sites","jsdoc","writing","api documentation","reviewer","annotations","getting started","api","openapi","doc","documentation","2026-11-10 10:12:30",false,"---\nname: code-documenter\ndescription: Generates, formats, and validates technical documentation — including docstrings, OpenAPI\u002FSwagger specs, JSDoc annotations, doc portals, and user guides. Use when adding docstrings to functions or classes, creating API documentation, building documentation sites, or writing tutorials and user guides. Invoke for OpenAPI\u002FSwagger specs, JSDoc, doc portals, getting started guides.\nlicense: MIT\nmetadata:\n  author: https:\u002F\u002Fgithub.com\u002FJeffallan\n  version: \"1.1.0\"\n  domain: quality\n  triggers: documentation, docstrings, OpenAPI, Swagger, JSDoc, comments, API docs, tutorials, user guides, doc site\n  role: specialist\n  scope: implementation\n  output-format: code\n  related-skills: spec-miner, fullstack-guardian, code-reviewer\n---\n\n# Code Documenter\n\nDocumentation specialist for inline documentation, API specs, documentation sites, and developer guides.\n\n## When to Use This Skill\n\nApplies to any task involving code documentation, API specs, or developer-facing guides. See the reference table below for specific sub-topics.\n\n## Core Workflow\n\n1. **Discover** - Ask for format preference and exclusions\n2. **Detect** - Identify language and framework\n3. **Analyze** - Find undocumented code\n4. **Document** - Apply consistent format\n5. **Validate** - Test all code examples compile\u002Frun:\n   - Python: `python -m doctest file.py` for doctest blocks; `pytest --doctest-modules` for module-wide checks\n   - TypeScript\u002FJavaScript: `tsc --noEmit` to confirm typed examples compile\n   - OpenAPI: validate spec with `npx @redocly\u002Fcli lint openapi.yaml`\n   - If validation fails: fix examples and re-validate before proceeding to the Report step\n6. **Report** - Generate coverage summary\n\n## Quick-Reference Examples\n\n### Google-style Docstring (Python)\n```python\ndef fetch_user(user_id: int, active_only: bool = True) -> dict:\n    \"\"\"Fetch a single user record by ID.\n\n    Args:\n        user_id: Unique identifier for the user.\n        active_only: When True, raise an error for inactive users.\n\n    Returns:\n        A dict containing user fields (id, name, email, created_at).\n\n    Raises:\n        ValueError: If user_id is not a positive integer.\n        UserNotFoundError: If no matching user exists.\n    \"\"\"\n```\n\n### NumPy-style Docstring (Python)\n```python\ndef compute_similarity(vec_a: np.ndarray, vec_b: np.ndarray) -> float:\n    \"\"\"Compute cosine similarity between two vectors.\n\n    Parameters\n    ----------\n    vec_a : np.ndarray\n        First input vector, shape (n,).\n    vec_b : np.ndarray\n        Second input vector, shape (n,).\n\n    Returns\n    -------\n    float\n        Cosine similarity in the range [-1, 1].\n\n    Raises\n    ------\n    ValueError\n        If vectors have different lengths.\n    \"\"\"\n```\n\n### JSDoc (TypeScript)\n```typescript\n\u002F**\n * Fetches a paginated list of products from the catalog.\n *\n * @param {string} categoryId - The category to filter by.\n * @param {number} [page=1] - Page number (1-indexed).\n * @param {number} [limit=20] - Maximum items per page.\n * @returns {Promise\u003CProductPage>} Resolves to a page of product records.\n * @throws {NotFoundError} If the category does not exist.\n *\n * @example\n * const page = await fetchProducts('electronics', 2, 10);\n * console.log(page.items);\n *\u002F\nasync function fetchProducts(\n  categoryId: string,\n  page = 1,\n  limit = 20\n): Promise\u003CProductPage> { ... }\n```\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| Python Docstrings | `references\u002Fpython-docstrings.md` | Google, NumPy, Sphinx styles |\n| TypeScript JSDoc | `references\u002Ftypescript-jsdoc.md` | JSDoc patterns, TypeScript |\n| FastAPI\u002FDjango API | `references\u002Fapi-docs-fastapi-django.md` | Python API documentation |\n| NestJS\u002FExpress API | `references\u002Fapi-docs-nestjs-express.md` | Node.js API documentation |\n| Coverage Reports | `references\u002Fcoverage-reports.md` | Generating documentation reports |\n| Documentation Systems | `references\u002Fdocumentation-systems.md` | Doc sites, static generators, search, testing |\n| Interactive API Docs | `references\u002Finteractive-api-docs.md` | OpenAPI 3.1, portals, GraphQL, WebSocket, gRPC, SDKs |\n| User Guides & Tutorials | `references\u002Fuser-guides-tutorials.md` | Getting started, tutorials, troubleshooting, FAQs |\n\n## Constraints\n\n### MUST DO\n- Ask for format preference before starting\n- Detect framework for correct API doc strategy\n- Document all public functions\u002Fclasses\n- Include parameter types and descriptions\n- Document exceptions\u002Ferrors\n- Test code examples in documentation\n- Generate coverage report\n\n### MUST NOT DO\n- Assume docstring format without asking\n- Apply wrong API doc strategy for framework\n- Write inaccurate or untested documentation\n- Skip error documentation\n- Document obvious getters\u002Fsetters verbosely\n- Create documentation that's hard to maintain\n\n## Output Formats\n\nDepending on the task, provide:\n1. **Code Documentation:** Documented files + coverage report\n2. **API Docs:** OpenAPI specs + portal configuration\n3. **Doc Sites:** Site configuration + content structure + build instructions\n4. **Guides\u002FTutorials:** Structured markdown with examples + diagrams\n\n## Knowledge Reference\n\nGoogle\u002FNumPy\u002FSphinx docstrings, JSDoc, OpenAPI 3.0\u002F3.1, AsyncAPI, gRPC\u002Fprotobuf, FastAPI, Django, NestJS, Express, GraphQL, Docusaurus, MkDocs, VitePress, Swagger UI, Redoc, Stoplight\n","# Code Documenter\n\nDocumentation specialist for inline documentation, API specs, documentation sites, and developer guides.\n\n## When to Use This Skill\n\nApplies to any task involving code documentation, API specs, or developer-facing guides. See the reference table below for specific sub-topics.\n\n## Core Workflow\n\n1. **Discover** - Ask for format preference and exclusions\n2. **Detect** - Identify language and framework\n3. **Analyze** - Find undocumented code\n4. **Document** - Apply consistent format\n5. **Validate** - Test all code examples compile\u002Frun:\n   - Python: `python -m doctest file.py` for doctest blocks; `pytest --doctest-modules` for module-wide checks\n   - TypeScript\u002FJavaScript: `tsc --noEmit` to confirm typed examples compile\n   - OpenAPI: validate spec with `npx @redocly\u002Fcli lint openapi.yaml`\n   - If validation fails: fix examples and re-validate before proceeding to the Report step\n6. **Report** - Generate coverage summary\n\n## Quick-Reference Examples\n\n### Google-style Docstring (Python)\n```python\ndef fetch_user(user_id: int, active_only: bool = True) -> dict:\n    \"\"\"Fetch a single user record by ID.\n\n    Args:\n        user_id: Unique identifier for the user.\n        active_only: When True, raise an error for inactive users.\n\n    Returns:\n        A dict containing user fields (id, name, email, created_at).\n\n    Raises:\n        ValueError: If user_id is not a positive integer.\n        UserNotFoundError: If no matching user exists.\n    \"\"\"\n```\n\n### NumPy-style Docstring (Python)\n```python\ndef compute_similarity(vec_a: np.ndarray, vec_b: np.ndarray) -> float:\n    \"\"\"Compute cosine similarity between two vectors.\n\n    Parameters\n    ----------\n    vec_a : np.ndarray\n        First input vector, shape (n,).\n    vec_b : np.ndarray\n        Second input vector, shape (n,).\n\n    Returns\n    -------\n    float\n        Cosine similarity in the range [-1, 1].\n\n    Raises\n    ------\n    ValueError\n        If vectors have different lengths.\n    \"\"\"\n```\n\n### JSDoc (TypeScript)\n```typescript\n\u002F**\n * Fetches a paginated list of products from the catalog.\n *\n * @param {string} categoryId - The category to filter by.\n * @param {number} [page=1] - Page number (1-indexed).\n * @param {number} [limit=20] - Maximum items per page.\n * @returns {Promise\u003CProductPage>} Resolves to a page of product records.\n * @throws {NotFoundError} If the category does not exist.\n *\n * @example\n * const page = await fetchProducts('electronics', 2, 10);\n * console.log(page.items);\n *\u002F\nasync function fetchProducts(\n  categoryId: string,\n  page = 1,\n  limit = 20\n): Promise\u003CProductPage> { ... }\n```\n\n## Reference Guide\n\nLoad detailed guidance based on context:\n\n| Topic | Reference | Load When |\n|-------|-----------|-----------|\n| Python Docstrings | `references\u002Fpython-docstrings.md` | Google, NumPy, Sphinx styles |\n| TypeScript JSDoc | `references\u002Ftypescript-jsdoc.md` | JSDoc patterns, TypeScript |\n| FastAPI\u002FDjango API | `references\u002Fapi-docs-fastapi-django.md` | Python API documentation |\n| NestJS\u002FExpress API | `references\u002Fapi-docs-nestjs-express.md` | Node.js API documentation |\n| Coverage Reports | `references\u002Fcoverage-reports.md` | Generating documentation reports |\n| Documentation Systems | `references\u002Fdocumentation-systems.md` | Doc sites, static generators, search, testing |\n| Interactive API Docs | `references\u002Finteractive-api-docs.md` | OpenAPI 3.1, portals, GraphQL, WebSocket, gRPC, SDKs |\n| User Guides & Tutorials | `references\u002Fuser-guides-tutorials.md` | Getting started, tutorials, troubleshooting, FAQs |\n\n## Constraints\n\n### MUST DO\n- Ask for format preference before starting\n- Detect framework for correct API doc strategy\n- Document all public functions\u002Fclasses\n- Include parameter types and descriptions\n- Document exceptions\u002Ferrors\n- Test code examples in documentation\n- Generate coverage report\n\n### MUST NOT DO\n- Assume docstring format without asking\n- Apply wrong API doc strategy for framework\n- Write inaccurate or untested documentation\n- Skip error documentation\n- Document obvious getters\u002Fsetters verbosely\n- Create documentation that's hard to maintain\n\n## Output Formats\n\nDepending on the task, provide:\n1. **Code Documentation:** Documented files + coverage report\n2. **API Docs:** OpenAPI specs + portal configuration\n3. **Doc Sites:** Site configuration + content structure + build instructions\n4. **Guides\u002FTutorials:** Structured markdown with examples + diagrams\n\n## Knowledge Reference\n\nGoogle\u002FNumPy\u002FSphinx docstrings, JSDoc, OpenAPI 3.0\u002F3.1, AsyncAPI, gRPC\u002Fprotobuf, FastAPI, Django, NestJS, Express, GraphQL, Docusaurus, MkDocs, VitePress, Swagger UI, Redoc, Stoplight\n",{"name":5,"license":15,"metadata":57,"description":7},{"role":58,"scope":59,"author":60,"domain":61,"version":62,"triggers":63,"output-format":32,"related-skills":64},"specialist","implementation","https:\u002F\u002Fgithub.com\u002FJeffallan","quality","1.1.0","documentation, docstrings, OpenAPI, Swagger, JSDoc, comments, API docs, tutorials, user guides, doc site","spec-miner, fullstack-guardian, code-reviewer","main","c19c0bc0a04d25a849ce749fe88250e688f06437","packages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fcode-documenter",1,"https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse","https:\u002F\u002Fgithub.com\u002FPIXARTSeu","https:\u002F\u002Fpixarts.eu\u002F","2026-09-24 06:30:45",{"source":8,"skillName":5,"commands":74,"prompt":84,"zipAvailable":85},[75,78,81],{"tool":76,"command":77},"npx","npx skills add PIXARTSeu\u002FSynapse --skill code-documenter",{"tool":79,"command":80},"bunx","bunx skills add PIXARTSeu\u002FSynapse --skill code-documenter",{"tool":82,"command":83},"pnpm","pnpm dlx skills add PIXARTSeu\u002FSynapse --skill code-documenter","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fcode-documenter\u002FSKILL.md",true,[],[88,116,123,146,169,196],{"skillNo":89,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":98,"publishedAt":52},"01M6X0ECZKGP44NP2JW588B9RG","vercel-react-best-practices","React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React\u002FNext.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fskills\u002Fvercel-react-best-practices\u002FSKILL.md",[94,97],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000009","前端开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[99,100,101,102,103,43,104,105,106,107,108,32,109,110,111,112,113,114,115,36],"react","vercel react best practices","best practices","react best practices","vercel","performance","components","react components","guidelines","tasks","Optimization","data","refactoring","patterns","next","triggers","data fetching",{"skillNo":117,"name":90,"nameZh":6,"description":91,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":118,"categories":119,"keywords":122,"publishedAt":52},"01M6X05WCVH879XKZEAQ15PHQX","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Fskill\u002Fvercel-react-best-practices\u002FSKILL.md",[120,121],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[99,100,101,102,103,43,104,105,106,107,108,32,109,110,111,112,113,114,115,36],{"skillNo":124,"name":125,"nameZh":6,"description":126,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":127,"categories":128,"keywords":131,"publishedAt":52},"01M6WZ286AR2SYE9GZYVW0CNYG","wordpress-pro","Develops custom WordPress themes and plugins, creates and registers Gutenberg blocks and block patterns, configures WooCommerce stores, implements WordPress REST API endpoints, applies security hardening (nonces, sanitization, escaping, capability checks), and optimizes performance through caching and query tuning. Use when building WordPress themes, writing plugins, customizing Gutenberg blocks, extending WooCommerce, working with ACF, using the WordPress REST API, applying hooks and filters, or improving WordPress performance and security.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fwordpress-pro\u002FSKILL.md",[129,130],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[132,133,134,43,135,104,32,136,48,137,45,138,139,140,141,142,143,144,145,36],"wordpress","wordpress pro","pro","security","tuning","laravel","hooks","filters","expert","query","woocommerce","caching","themes","sanitization",{"skillNo":147,"name":148,"nameZh":6,"description":149,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":150,"categories":151,"keywords":154,"publishedAt":52},"01M6WZ1ZVG6PJ4PVN9RTK0BX7Z","websocket-engineer","Use when building real-time communication systems with WebSockets or Socket.IO. Invoke for bidirectional messaging, horizontal scaling with Redis, presence tracking, room management.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fwebsocket-engineer\u002FSKILL.md",[152,153],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[155,156,157,158,32,159,160,48,45,161,140,162,163,164,165,166,167,168,37,36],"websocket","engineer","websocket engineer","architecture","messaging","monitoring","fastapi","time","scaling","io","communication systems","presence","updates","socket",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":178,"publishedAt":52},"01M6WZ1G86ZR73H0WNM6CGNRGF","vue-expert","Builds Vue 3 components with Composition API patterns, configures Nuxt 3 SSR\u002FSSG projects, sets up Pinia stores, scaffolds Quasar\u002FCapacitor mobile apps, implements PWA features, and optimises Vite builds. Use when creating Vue 3 applications with Composition API, writing reusable composables, managing state with Pinia, building hybrid mobile apps with Quasar or Capacitor, configuring service workers, or tuning Vite configuration and TypeScript integration.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fvue-expert\u002FSKILL.md",[175,176,177],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[179,140,180,181,43,182,105,183,184,185,186,187,188,189,190,191,192,193,194,195],"vue","vue expert","frontend","typescript","config","applications","Composition","projects","pinia","use","router","workers","mobile","reusable","worker","apps","hybrid",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":204,"publishedAt":52},"01M6WZ1AP3GFCBAMD712X8KRP7","vue-expert-js","Creates Vue 3 components, builds vanilla JS composables, configures Vite projects, and sets up routing and state management using JavaScript only — no TypeScript. Generates JSDoc-typed code with @typedef, @param, and @returns annotations for full type coverage without a TS compiler. Use when building Vue 3 applications with JavaScript only (no TypeScript), when projects require JSDoc-based type hints, when migrating from Vue 2 Options API to Composition API in JS, or when teams prefer vanilla JavaScript, .mjs modules, or need quick prototypes without TypeScript setup.","https:\u002F\u002Fgithub.com\u002FPIXARTSeu\u002FSynapse\u002Fblob\u002Fmain\u002Fpackages\u002Fcodegraph\u002Fdata\u002Flifecycle-skills\u002Fvue-expert-js\u002FSKILL.md",[202,203],{"categoryNo":95,"categoryName":96,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[179,205,140,206,180,181,182,105,32,48,185,186,207,208,209,210,211,42,212,36],"js","vue expert js","coverage","only","up","modules","options","quick"]