[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6KVT84XRJAVRH55V3V0H6C5":3,"skill-same:01M6KVT84XRJAVRH55V3V0H6C5":102},{"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":57,"commitSha":58,"skillDirectory":59,"forksCount":60,"repositoryHtmlUrl":61,"repositoryHomepageUrl":62,"ownerHtmlUrl":63,"ownerBlogUrl":64,"ownerDescription":6,"updatedAt":65,"install":66,"resources":79},"01M6KVT84XRJAVRH55V3V0H6C5","adk-skill-design-patterns",null,"Five canonical skill design patterns for ADK agents: Tool Wrapper, Generator, Reviewer, Inversion, and Pipeline. Load this skill during Step 2 (Design) to recommend which patterns fit the user's agent, and during Step 4 (Generate) to get skeleton templates for each pattern.","Folken2\u002Fnuvel","Folken2","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F175213316?v=4","01M6KVPA04RKNPCC04H2G96FAS","Albert Folch","01M6KVPA43VNTA4PXSEB1TCD81",2,"MIT","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fnuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000015","视觉设计","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000032","设计师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"adk","adk skill design patterns","patterns","design patterns","design","templates","tool","reviewer","pipeline","generate","pattern","get","fit","generator","which","load","for","recommend","skeleton","inversion","2026-11-10 10:12:30",false,"---\nname: adk-skill-design-patterns\ndescription: >-\n  Five canonical skill design patterns for ADK agents: Tool Wrapper, Generator,\n  Reviewer, Inversion, and Pipeline. Load this skill during Step 2 (Design) to\n  recommend which patterns fit the user's agent, and during Step 4 (Generate) to\n  get skeleton templates for each pattern.\n---\n\n# Skill Design Patterns\n\nEvery skill you create for a generated agent should follow one (or more) of these 5 canonical patterns. Each pattern solves a specific class of problem. Use the decision matrix below to match the user's agent to the right patterns.\n\n## The 5 Patterns\n\n### 1. Tool Wrapper\nEncodes best practices for using a library, API, or service into a skill. The skill loads domain docs from `references\u002F` and guides the agent to use tools correctly — retry logic, rate limits, auth patterns, error handling.\n\n**Use when:** The agent calls external APIs or uses complex libraries.\n\n### 2. Generator\nProduces structured documents or artifacts from reusable templates. The skill contains fill-in-the-blank templates and formatting rules. The agent fills in details based on user input.\n\n**Use when:** The agent produces reports, emails, configs, code scaffolds, or any structured output.\n\n### 3. Reviewer\nScores or validates output against a checklist stored in a reference file. The agent checks its own work (or external input) before responding. Returns structured feedback with severity levels.\n\n**Use when:** Output quality matters — code review, content moderation, compliance checks, data validation, or self-assessment before responding.\n\n### 4. Inversion\nThe agent interviews the user before acting. Instead of guessing, it asks targeted clarifying questions to reduce ambiguity. The skill defines what questions to ask and when to stop asking.\n\n**Use when:** The agent handles ambiguous, open-ended, or high-stakes requests where guessing wrong is costly.\n\n### 5. Pipeline\nEnforces a strict multi-step workflow with gate checkpoints. Each step must pass before the next begins. The skill defines the steps, their order, validation criteria at each gate, and what happens on failure.\n\n**Use when:** The agent runs sensitive, multi-step workflows — deployments, financial operations, data migrations, approval chains.\n\n---\n\n## Decision Matrix\n\nUse this table to match the user's agent to patterns. **Multiple patterns can combine.**\n\n| Agent Characteristic | Recommended Pattern | Example |\n|---------------------|-------------------|---------|\n| Calls external APIs or services | **Tool Wrapper** | Stripe agent → `stripe-best-practices` skill |\n| Produces structured documents | **Generator** | Report agent → `report-template` skill |\n| Output quality is critical | **Reviewer** | SQL agent → `query-review` skill checks for injection |\n| Handles ambiguous requests | **Inversion** | Project planner → `requirements-interview` skill |\n| Runs multi-step sensitive workflows | **Pipeline** | Deploy agent → `deploy-pipeline` skill with gates |\n| Calls APIs + quality matters | **Tool Wrapper + Reviewer** | API agent with response validation |\n| Ambiguous input + structured output | **Inversion + Generator** | Email drafter that interviews first |\n| Sensitive multi-step + quality gates | **Pipeline + Reviewer** | Data migration with validation at each step |\n\n## How to Apply During Design (Step 2)\n\n1. Review what you learned in Step 1 (Discovery) about the agent's goals, tasks, and tools.\n2. Walk through the decision matrix above. For each row that matches, note the pattern.\n3. Propose skills to the user, naming which pattern each follows:\n   > \"I recommend a `stripe-best-practices` skill (Tool Wrapper pattern) to encode API best practices, and a `response-validator` skill (Reviewer pattern) to check responses before returning them.\"\n4. For each recommended pattern, load its reference file for the skeleton template:\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-tool-wrapper.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-generator.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-reviewer.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-inversion.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-pipeline.md\")`\n\n## How to Apply During Generation (Step 4)\n\n1. Load the reference for each pattern you're implementing.\n2. Use the skeleton template as a starting point.\n3. Customize the skeleton with domain-specific content from the user's requirements.\n4. Follow `adk-skill-creation` for SKILL.md formatting rules.\n\n## Combining Patterns\n\nMost real agents benefit from 2-3 patterns. Common combinations:\n\n- **Inversion + Generator**: Interview first, then produce structured output.\n- **Tool Wrapper + Reviewer**: Use APIs correctly, then validate the result.\n- **Pipeline + Reviewer**: Multi-step workflow with quality gates at each step.\n- **Inversion + Pipeline**: Clarify requirements, then enforce strict execution.\n\nWhen combining, create **one skill per pattern** — don't merge patterns into a single skill. Keep separation of concerns clean.\n\n## Judging a curator-proposed skill\n\nThe optional skill curator (`NUVEL_SKILL_CURATOR`, default off) can propose\nnew `SKILL.md` files from observed tool usage, landing them in\n`NUVEL_SKILL_PROPOSALS_DIR` for human review rather than adding them live —\nwhen reviewing one, check it against these five patterns and the decision\nmatrix above, the same way you'd evaluate a pattern proposed by a human.\nLoad `adk-memory-self-improvement` for how and when the curator proposes.\n\n## References\n\n- Load `pattern-tool-wrapper` for the Tool Wrapper pattern guide and skeleton template.\n- Load `pattern-generator` for the Generator pattern guide and skeleton template.\n- Load `pattern-reviewer` for the Reviewer pattern guide and skeleton template.\n- Load `pattern-inversion` for the Inversion pattern guide and skeleton template.\n- Load `pattern-pipeline` for the Pipeline pattern guide and skeleton template.\n","# Skill Design Patterns\n\nEvery skill you create for a generated agent should follow one (or more) of these 5 canonical patterns. Each pattern solves a specific class of problem. Use the decision matrix below to match the user's agent to the right patterns.\n\n## The 5 Patterns\n\n### 1. Tool Wrapper\nEncodes best practices for using a library, API, or service into a skill. The skill loads domain docs from `references\u002F` and guides the agent to use tools correctly — retry logic, rate limits, auth patterns, error handling.\n\n**Use when:** The agent calls external APIs or uses complex libraries.\n\n### 2. Generator\nProduces structured documents or artifacts from reusable templates. The skill contains fill-in-the-blank templates and formatting rules. The agent fills in details based on user input.\n\n**Use when:** The agent produces reports, emails, configs, code scaffolds, or any structured output.\n\n### 3. Reviewer\nScores or validates output against a checklist stored in a reference file. The agent checks its own work (or external input) before responding. Returns structured feedback with severity levels.\n\n**Use when:** Output quality matters — code review, content moderation, compliance checks, data validation, or self-assessment before responding.\n\n### 4. Inversion\nThe agent interviews the user before acting. Instead of guessing, it asks targeted clarifying questions to reduce ambiguity. The skill defines what questions to ask and when to stop asking.\n\n**Use when:** The agent handles ambiguous, open-ended, or high-stakes requests where guessing wrong is costly.\n\n### 5. Pipeline\nEnforces a strict multi-step workflow with gate checkpoints. Each step must pass before the next begins. The skill defines the steps, their order, validation criteria at each gate, and what happens on failure.\n\n**Use when:** The agent runs sensitive, multi-step workflows — deployments, financial operations, data migrations, approval chains.\n\n---\n\n## Decision Matrix\n\nUse this table to match the user's agent to patterns. **Multiple patterns can combine.**\n\n| Agent Characteristic | Recommended Pattern | Example |\n|---------------------|-------------------|---------|\n| Calls external APIs or services | **Tool Wrapper** | Stripe agent → `stripe-best-practices` skill |\n| Produces structured documents | **Generator** | Report agent → `report-template` skill |\n| Output quality is critical | **Reviewer** | SQL agent → `query-review` skill checks for injection |\n| Handles ambiguous requests | **Inversion** | Project planner → `requirements-interview` skill |\n| Runs multi-step sensitive workflows | **Pipeline** | Deploy agent → `deploy-pipeline` skill with gates |\n| Calls APIs + quality matters | **Tool Wrapper + Reviewer** | API agent with response validation |\n| Ambiguous input + structured output | **Inversion + Generator** | Email drafter that interviews first |\n| Sensitive multi-step + quality gates | **Pipeline + Reviewer** | Data migration with validation at each step |\n\n## How to Apply During Design (Step 2)\n\n1. Review what you learned in Step 1 (Discovery) about the agent's goals, tasks, and tools.\n2. Walk through the decision matrix above. For each row that matches, note the pattern.\n3. Propose skills to the user, naming which pattern each follows:\n   > \"I recommend a `stripe-best-practices` skill (Tool Wrapper pattern) to encode API best practices, and a `response-validator` skill (Reviewer pattern) to check responses before returning them.\"\n4. For each recommended pattern, load its reference file for the skeleton template:\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-tool-wrapper.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-generator.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-reviewer.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-inversion.md\")`\n   - `load_skill_resource(\"adk-skill-design-patterns\", \"pattern-pipeline.md\")`\n\n## How to Apply During Generation (Step 4)\n\n1. Load the reference for each pattern you're implementing.\n2. Use the skeleton template as a starting point.\n3. Customize the skeleton with domain-specific content from the user's requirements.\n4. Follow `adk-skill-creation` for SKILL.md formatting rules.\n\n## Combining Patterns\n\nMost real agents benefit from 2-3 patterns. Common combinations:\n\n- **Inversion + Generator**: Interview first, then produce structured output.\n- **Tool Wrapper + Reviewer**: Use APIs correctly, then validate the result.\n- **Pipeline + Reviewer**: Multi-step workflow with quality gates at each step.\n- **Inversion + Pipeline**: Clarify requirements, then enforce strict execution.\n\nWhen combining, create **one skill per pattern** — don't merge patterns into a single skill. Keep separation of concerns clean.\n\n## Judging a curator-proposed skill\n\nThe optional skill curator (`NUVEL_SKILL_CURATOR`, default off) can propose\nnew `SKILL.md` files from observed tool usage, landing them in\n`NUVEL_SKILL_PROPOSALS_DIR` for human review rather than adding them live —\nwhen reviewing one, check it against these five patterns and the decision\nmatrix above, the same way you'd evaluate a pattern proposed by a human.\nLoad `adk-memory-self-improvement` for how and when the curator proposes.\n\n## References\n\n- Load `pattern-tool-wrapper` for the Tool Wrapper pattern guide and skeleton template.\n- Load `pattern-generator` for the Generator pattern guide and skeleton template.\n- Load `pattern-reviewer` for the Reviewer pattern guide and skeleton template.\n- Load `pattern-inversion` for the Inversion pattern guide and skeleton template.\n- Load `pattern-pipeline` for the Pipeline pattern guide and skeleton template.\n",{"name":5,"description":7},"main","41d246dd855999c6bc4be528bc8d0d1b10ac8c47","nuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns",1,"https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel","https:\u002F\u002Ffolken2.github.io\u002Fnuvel\u002F","https:\u002F\u002Fgithub.com\u002FFolken2","folch.ai","2026-11-05 22:40:38",{"source":8,"skillName":5,"commands":67,"prompt":77,"zipAvailable":78},[68,71,74],{"tool":69,"command":70},"npx","npx skills add Folken2\u002Fnuvel --skill adk-skill-design-patterns",{"tool":72,"command":73},"bunx","bunx skills add Folken2\u002Fnuvel --skill adk-skill-design-patterns",{"tool":75,"command":76},"pnpm","pnpm dlx skills add Folken2\u002Fnuvel --skill adk-skill-design-patterns","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fnuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns\u002FSKILL.md",true,[80,86,90,94,98],{"path":81,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":84,"sourceHtmlUrl":85},"references\u002Fpattern-generator.md","REFERENCE","参考文档",4021,"https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fnuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns\u002Freferences\u002Fpattern-generator.md",{"path":87,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":88,"sourceHtmlUrl":89},"references\u002Fpattern-inversion.md",5096,"https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fnuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns\u002Freferences\u002Fpattern-inversion.md",{"path":91,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":92,"sourceHtmlUrl":93},"references\u002Fpattern-pipeline.md",6673,"https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fnuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns\u002Freferences\u002Fpattern-pipeline.md",{"path":95,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":96,"sourceHtmlUrl":97},"references\u002Fpattern-reviewer.md",4741,"https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fnuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns\u002Freferences\u002Fpattern-reviewer.md",{"path":99,"resourceType":82,"resourceTypeDesc":83,"sizeBytes":100,"sourceHtmlUrl":101},"references\u002Fpattern-tool-wrapper.md",4943,"https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fnuvel\u002Fbackends\u002Fadk\u002Fskills\u002Fadk-skill-design-patterns\u002Freferences\u002Fpattern-tool-wrapper.md",[103,112,125,149,166,182],{"skillNo":104,"name":105,"nameZh":6,"description":106,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":107,"categories":108,"keywords":109,"publishedAt":52},"01M6KVZNJQ7AVMVBS205404CS7","greet","Greet a user warmly by name.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Ftests\u002Ftest_agent_plugins\u002Ffixtures\u002Fvalid-full\u002Fskills\u002Fgreet\u002FSKILL.md",[],[105,110,111],"user","name",{"skillNo":113,"name":114,"nameZh":6,"description":115,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":116,"categories":117,"keywords":119,"publishedAt":52},"01M6KVZHYK2C9S5GRM3PZAFDXG","hello","A simple hello skill that survives a broken mcp.json.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Ftests\u002Ftest_agent_plugins\u002Ffixtures\u002Fbad-mcp\u002Fskills\u002Fhello\u002FSKILL.md",[118],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[114,120,121,122,123,124],"MCP","hello skill","json","broken","simple",{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":136,"publishedAt":52},"01M6KVZC94REQZ852EJ99ZXATK","grok-workflows","Prompt templates and workflows for using xAI GrokBot with Nuvel — code, design, research, and automated pipelines.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fgrokbot-plugin\u002Fskills\u002Fgrok-workflows\u002FSKILL.md",[131,132,133],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":134,"categoryName":135,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师",[137,138,139,36,140,141,142,143,37,144,145,146,147,48,148],"workflows","grok","grok workflows","research","prompt","prompt templates","code","xai","grokbot","pipelines","with","nuvel",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":52},"01M6KVZ7BA5MJ1N614MTP2JXCQ","grok-setup","Configure xAI GrokBot with Nuvel API integration and project context for Nuvel-aligned development.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fgrokbot-plugin\u002Fskills\u002Fgrok-setup\u002FSKILL.md",[],[138,156,157,48,147,158,148,159,160,161,145,162,163,164,144,165],"grok setup","setup","project","project context","api integration","configure","development","integration","api","context",{"skillNo":167,"name":168,"nameZh":6,"description":169,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":170,"categories":171,"keywords":173,"publishedAt":52},"01M6KVZ3WYQ6V6XVCRE77WT2WY","cursor-setup","Configure Cursor IDE with Nuvel rules, MCP server integration, and project settings for OrgMemory-aware development.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fcursor-plugin\u002Fskills\u002Fcursor-setup\u002FSKILL.md",[172],{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[174,175,157,163,120,176,162,177,178,161,179,180,158,147,48,181,148],"cursor","cursor setup","mcp server","server","ide","Rules","settings","project settings",{"skillNo":183,"name":184,"nameZh":6,"description":185,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":186,"categories":187,"keywords":188,"publishedAt":52},"01M6KVZ0GGSJM4AC8PK7G53H85","cursor-review","Use Cursor IDE with Nuvel OrgMemory to review changes — diff analysis, standards checking, and pre-commit review.","https:\u002F\u002Fgithub.com\u002FFolken2\u002Fnuvel\u002Fblob\u002Fmain\u002Fplugins\u002Fcursor-plugin\u002Fskills\u002Fcursor-review\u002FSKILL.md",[],[189,174,190,191,192,193,194,178,195,196,197,147,198,199,148],"cursor review","review","commit","review changes","pre-commit","analysis","use","diff","standards","changes","diff analysis"]