Skill Architect
A skill for creating new AI skills that are structurally sound — not just syntactically correct. Works with any AI coding tool — Claude Code, Google Antigravity, Cursor, Windsurf, Cline, GitHub Copilot, and more.
Most skill-creation guides focus on format: how to write SKILL.md, what goes in frontmatter, how to organize directories. This skill focuses on design: before writing anything, we figure out what shape the skill's internal logic should take, using Google's 5 Agent Skill Design Patterns as a framework.
The core loop:
- 1. Understand the intent — what does the user want this skill to do?
- Interview — ask targeted questions to reveal the underlying structure
- Classify — propose one or more patterns with reasoning, confirm with user
- Scaffold — build the SKILL.md from the appropriate pattern template
- Test & iterate — follow the standard skill-creator eval loop (or test manually in your environment)
Phase 1: Capture Intent
Start by understanding the user's goal at a high level. Extract from context first — they may have already described what they want.
Ask only what you don't already know:
- - What should this skill enable Claude to do?
- When should it trigger? What kinds of user requests?
- What does a good output look like?
Don't ask all of these at once if the answer is already clear from context. Keep it conversational.
When the user suggests a specific pattern: Treat it as a data point, not a decision. Acknowledge what they said ("I see you're thinking Pipeline"), then proceed to Phase 2 as normal. Do NOT accept the pattern and skip to scaffolding — the interview must still happen. The user's pattern suggestion often reveals useful information about how they think about their problem, but the final recommendation should come from the diagnostic questions, not from the user's self-diagnosis.
Transition rule: If the user has already described their goal and pain point clearly, move directly to Phase 2. Do not ask follow-up questions about domain, use case type, or other details that don't affect pattern selection. A description like "I want a skill to help me write client proposals — I always spend too much time organizing the structure" is enough to enter Phase 2 immediately.
Phase 2: Pattern Interview
This is the key step that distinguishes this skill from a generic skill creator.
Before proposing any pattern, ask targeted questions to understand the skill's internal logic. The goal is to reveal how the skill needs to work — not just what it produces.
Critical rules:
- - Ask one question at a time. Wait for the answer before asking the next. This is a conversation, not a form.
- Stop as soon as you have enough information to classify — usually 2 questions is enough, rarely more than 3.
- Only ask questions that affect pattern selection. Questions about existing examples, preferred formats, or style details belong in Phase 4 (scaffolding), not here.
- Never re-confirm information the user already stated explicitly. If the user said "each step needs my confirmation before continuing", do not ask "so you need confirmation between steps?" — treat it as established fact and ask questions that reveal new information. Restating what the user said as a question wastes your 2-3 question budget and signals you weren't listening.
- Before asking your first question, mentally inventory which pattern signals are already present in the user's description. Common signals:
- "consistent format every time" / "same structure" → Generator
- "first... then... next... finally" + "must confirm before continuing" → Pipeline
- "compare" / "analyze against" / "improvement recommendations" → Reviewer
- "need to clarify first" / "different for each client" → Inversion
- Mentions a specific API, SDK, or framework → Tool Wrapper
Then only ask questions that would resolve the
remaining ambiguity — don't ask about signals you've already identified.
The core diagnostic questions (pick the most relevant, one at a time):
- 1. Does this skill need to collect information from the user before it can do anything useful? Or can it act immediately on what's given?
- Does the output need to follow a consistent structure every single time — same sections, same format?
- Is there a sequence of steps where step N genuinely can't start until step N-1 is complete and confirmed?
- Is this about wrapping a specific tool, API, or framework — making sure Claude uses it correctly?
- Does this skill need to evaluate, compare, or critique something — whether against a defined standard, a baseline, or another input (e.g., competitor analysis, gap analysis)?
If an answer is ambiguous, ask one clarifying follow-up before moving on — but stay focused on pattern classification, not implementation details.
Common misclassifications to watch for:
- - "Has steps" ≠ Pipeline. Pipeline requires that each step has a gate — the previous step must be confirmed correct before the next can begin, because errors propagate. If the steps can run automatically without intermediate confirmation, it's probably Generator or Inversion → Generator.
- "Asks the user questions" ≠ Inversion. Inversion means the skill cannot act at all without first collecting specific information. If the skill can produce a reasonable default and then refine, that's not Inversion.
- "Checks quality" ≠ Reviewer. Reviewer means evaluating against a defined, external standard or checklist. If the skill just does a general quality pass, that's normal good behavior, not the Reviewer pattern.
These questions do NOT belong in Phase 2 — they are Phase 4 (scaffolding) questions:
- - What output format do you want? (Markdown, Word, PPTX...)
- Do you have an existing example or template I can reference?
- What domain or industry is this for?
- What tone or style do you prefer?
- How long should the output be?
Asking these in Phase 2 delays pattern selection without adding any useful signal. Save them for after the pattern is confirmed.
Phase 3: Pattern Classification
Once you have enough information, propose a pattern (or combination). Always explain your reasoning — don't just name a pattern.
Read references/patterns.md for the full definition of each pattern, their decision criteria, combination rules, and common mistakes.
The 5 patterns:
| Pattern | Core question it answers |
|---|
| Tool Wrapper | How should Claude use this specific API/framework correctly? |
| Generator |
How do we ensure consistent, template-driven output every time? |
|
Reviewer | How do we evaluate something against a defined standard? |
|
Inversion | What information must we collect before we can act? |
|
Pipeline | What sequence of steps must happen in order, with gates? |
How to present your recommendation:
CODEBLOCK0
When your recommendation differs from the user's original suggestion, add a comparison block that explains the difference concretely:
CODEBLOCK1
This isn't about proving the user wrong. It's about giving them the information to make an informed choice. Always offer to proceed with their original suggestion if they prefer.
Give the user a clear path to push back. Common responses:
- - "Yes, that makes sense" → proceed to scaffolding
- "I'm not sure" → offer to walk through the pattern definitions together
- "I think it's more like X" → update your recommendation and re-explain
Patterns can and should be combined. See references/patterns.md for combination guidance.
Phase 4: Scaffold the Skill
Once the pattern is confirmed, load the corresponding template from references/templates/ and use it as the structural backbone for the SKILL.md.
Template files:
- - INLINECODE3
- INLINECODE4
- INLINECODE5
- INLINECODE6
- INLINECODE7
- INLINECODE8 — for multi-pattern skills
Fill in the template with everything you've learned in the interview. Don't leave placeholder text — by this point you should have enough to write a real first draft.
Always produce the full directory structure, not just SKILL.md. Each pattern has required companion files:
CODEBLOCK2
Pattern-specific structure requirements:
- - Generator: SKILL.md must reference
references/style-guide.md (tone, voice, formatting rules) and assets/[output]-template.md (the structural skeleton). Never inline the template or style rules into SKILL.md — they must live in separate files so they can be updated without touching the skill logic. - Reviewer: SKILL.md must reference
references/review-checklist.md. The checklist lives outside SKILL.md so the review criteria can evolve independently. - Tool Wrapper: SKILL.md must reference
references/conventions.md. The API/framework rules belong in the reference file. - Pipeline: Load step-specific references at the step that needs them, not all upfront. Each step should name the file it loads.
- Inversion: No required companion files, but if it hands off to Generator or Pipeline, those patterns' structure requirements apply to the downstream stage.
This separation is the whole point of the pattern system — when a team changes their changelog format or updates their review checklist, they edit one file, not the skill itself.
Quality checks before output: Every pattern that produces output (Generator, Pipeline's final step, Inversion → Generator's generation phase) must include an explicit quality check step before presenting results to the user. Use a checkbox-style checklist that verifies:
- - Every template section is present and filled (no placeholders remain)
- Tone and formatting match the style guide
- Content is internally consistent (no contradictions between sections)
- All user-provided inputs are reflected in the output
This step catches structural gaps before the user sees the result. Do not skip it — even for simple skills.
SKILL.md content rule: SKILL.md describes what to do and when to load which file. It does not contain the actual templates, checklists, or domain rules. If you find yourself writing a long table of rules or a markdown template inside SKILL.md, stop and move it to a companion file.
Keep SKILL.md under 500 lines. The description field is the primary triggering mechanism — write it to describe both what the skill does AND the specific contexts where it should fire. Make it slightly "pushy" so the skill doesn't undertrigger.
Phase 5: Test & Iterate
Follow the standard skill-creator eval loop:
- 1. Write 2–3 realistic test prompts — the kind of thing a real user would actually type
- Share them with the user for confirmation before running
- Run the prompts and evaluate results qualitatively
- Improve based on feedback, repeat
Environment-specific guidance:
- - Claude Code / Cowork: spawn subagents for parallel runs, use the eval viewer, run quantitative assertions.
- Claude.ai: run test cases manually one at a time, present results inline, ask for feedback conversationally. Skip quantitative benchmarking.
- Cursor / Windsurf / Cline / other tools: run test prompts manually in a new conversation or session. Paste the generated SKILL.md as custom instructions, then test with realistic prompts. Evaluate results conversationally and iterate.
After the skill is in good shape, offer to optimize the description field for better triggering accuracy.
Principles
The pattern is a scaffold, not a cage. Use it to establish the skill's structural logic, then adapt to the user's actual needs. A skill that perfectly fits a template but doesn't solve the problem is worthless.
Explain the why behind every design choice. When you write the SKILL.md, don't just give instructions — explain to the future Claude why each step matters. Smart models follow reasoning better than rules.
The interview is the most important part. Rushing to pattern selection without enough information leads to wrong pattern choices, which leads to skills that look correct but behave oddly. The 2–3 questions in Phase 2 are load-bearing — don't skip them.
Combinations are normal. Real-world skills often need two patterns. Inversion → Generator is especially common. Pipeline + Reviewer is another. Don't feel pressure to pick exactly one.
技能架构师
一项用于创建结构严谨(而不仅仅是语法正确)的新AI技能的技能。适用于任何AI编码工具——Claude Code、Google Antigravity、Cursor、Windsurf、Cline、GitHub Copilot等。
大多数技能创建指南关注的是格式:如何编写SKILL.md、frontmatter中应包含什么、如何组织目录。本技能关注的是设计:在编写任何内容之前,我们先弄清楚技能内部逻辑应该采用什么形态,以Google的5种Agent技能设计模式作为框架。
核心循环:
- 1. 理解意图——用户希望这个技能做什么?
- 访谈——提出有针对性的问题以揭示底层结构
- 分类——提出一个或多个模式并附上推理,与用户确认
- 搭建框架——根据相应的模式模板构建SKILL.md
- 测试与迭代——遵循标准技能创建者评估循环(或在你的环境中手动测试)
阶段1:捕获意图
首先从高层次理解用户的目标。优先从上下文中提取——他们可能已经描述了自己想要什么。
只问你还不知道的内容:
- - 这个技能应该让Claude能够做什么?
- 它应该在什么时候触发?针对哪种类型的用户请求?
- 好的输出是什么样的?
如果答案已经从上下文中清晰可见,不要一次性问完所有问题。保持对话性。
当用户建议一个特定模式时: 将其视为一个数据点,而非决策。确认他们所说的内容(我理解你在考虑管道模式),然后正常进入阶段2。不要接受该模式并直接跳到搭建框架——访谈仍然必须进行。用户的模式建议通常能揭示他们如何看待自己问题的有用信息,但最终推荐应来自诊断性问题,而非用户的自我诊断。
过渡规则: 如果用户已经清晰描述了他们的目标和痛点,直接进入阶段2。不要追问关于领域、用例类型或其他不影响模式选择的细节。像我想要一个帮助我撰写客户提案的技能——我总是花太多时间组织结构这样的描述足以立即进入阶段2。
阶段2:模式访谈
这是本技能区别于通用技能创建者的关键步骤。
在提出任何模式之前,提出有针对性的问题以理解技能的内部逻辑。目标是揭示技能需要如何工作——而不仅仅是它产生什么。
关键规则:
- - 一次只问一个问题。等待回答后再问下一个。这是对话,不是填表。
- 一旦有足够信息进行分类就停止——通常2个问题就足够了,很少超过3个。
- 只问影响模式选择的问题。关于现有示例、偏好格式或风格细节的问题属于阶段4(搭建框架),不在此处。
- 永远不要重新确认用户已经明确陈述过的信息。如果用户说每个步骤都需要我确认才能继续,不要问所以你需要步骤之间进行确认?——将其视为既定事实,问那些能揭示新信息的问题。将用户说过的话重复一遍作为问题,会浪费你2-3个问题的预算,并表明你没有在听。
- 在问第一个问题之前,在心里盘点用户描述中已经存在的模式信号。常见信号:
- 每次都保持一致格式/相同结构 → 生成器
- 首先...然后...接下来...最后 + 必须确认后才能继续 → 管道
- 比较/对照分析/改进建议 → 评审者
- 需要先澄清/每个客户都不同 → 反转
- 提到特定的API、SDK或框架 → 工具包装器
然后只问那些能解决
剩余模糊性的问题——不要问你已经识别出的信号。
核心诊断性问题(选择最相关的,一次一个):
- 1. 这个技能是否需要先从用户那里收集信息才能做任何有用的事情?还是可以立即根据所给信息行动?
- 输出是否需要每次都遵循一致的结构——相同的部分,相同的格式?
- 是否存在一个步骤序列,其中步骤N在步骤N-1完成并确认之前确实无法开始?
- 这是关于包装一个特定的工具、API或框架——确保Claude正确使用它?
- 这个技能是否需要评估、比较或批评某些东西——无论是针对定义的标准、基线还是其他输入(例如,竞争对手分析、差距分析)?
如果答案模棱两可,在继续之前问一个澄清性的跟进问题——但保持专注于模式分类,而非实现细节。
需要注意的常见误分类:
- - 有步骤 ≠ 管道。管道要求每个步骤都有一个门控——前一个步骤必须被确认为正确后下一个才能开始,因为错误会传播。如果步骤可以在没有中间确认的情况下自动运行,那很可能是生成器或反转→生成器。
- 向用户提问 ≠ 反转。反转意味着技能在收集特定信息之前根本无法行动。如果技能可以产生一个合理的默认值然后进行优化,那不是反转。
- 检查质量 ≠ 评审者。评审者意味着针对一个定义的、外部的标准或检查清单进行评估。如果技能只是进行一般的质量检查,那是正常的好行为,不是评审者模式。
这些问题不属于阶段2——它们是阶段4(搭建框架)的问题:
- - 你想要什么输出格式?(Markdown、Word、PPTX...)
- 你有我可以参考的现有示例或模板吗?
- 这是针对什么领域或行业的?
- 你喜欢什么语气或风格?
- 输出应该有多长?
在阶段2问这些问题会延迟模式选择,而不会增加任何有用的信号。将它们留到模式确认之后。
阶段3:模式分类
一旦你有足够的信息,提出一个模式(或组合)。始终解释你的推理——不要只是命名一个模式。
阅读references/patterns.md以获取每个模式的完整定义、决策标准、组合规则和常见错误。
5种模式:
| 模式 | 它回答的核心问题 |
|---|
| 工具包装器 | Claude应该如何正确使用这个特定的API/框架? |
| 生成器 |
我们如何确保每次都能产生一致的、模板驱动的输出? |
|
评审者 | 我们如何根据定义的标准评估某事物? |
|
反转 | 在我们行动之前必须收集什么信息? |
|
管道 | 哪些步骤序列必须按顺序进行,并带有门控? |
如何呈现你的推荐:
根据你的描述,我建议:[模式]
我的推理如下:
- - [用户说的具体内容] → 暗示[模式]因为[原因]
- [另一个信号] → 排除了[模式]因为[原因]
这意味着该技能将[简要描述它将如何运作]。
这符合你的想法吗,还是有什么地方感觉不对?
当你的推荐与用户最初的建议不同时,添加一个比较块,具体解释差异:
你提到了[模式X]。以下是我建议的内容与它的比较:
- - [模式X]是为[核心特征]设计的——例如,[X是正确选择的示例场景]
- 你的技能[访谈中的具体观察]——这更接近[模式Y]因为[原因]
- 实际区别:使用[X],你的技能会[行为]。使用[Y],它会[行为]。
如果你仍然偏好[X],我可以让它工作——那个版本会是这样的:[简要草图]。
这不是为了证明用户错了。而是为了给他们信息以做出明智的选择。如果他们偏好,始终提供按照他们最初建议进行的选项。
给用户一个清晰的途径来提出异议。常见回应:
- - 是的,有道理 → 进入搭建框架
- 我不确定 → 提供一起浏览模式定义的选项
- 我认为它更像是X → 更新你的推荐并重新解释
模式可以也应该被组合。参见references/patterns.md获取组合指南。
阶段4:搭建技能框架
一旦模式被确认,从references/templates/加载相应的模板,并将其作为SKILL.md的结构骨架。
模板文件:
- - references/templates/tool-wrapper.md
- references/templates/generator.md
- references/templates/reviewer.md
- references/templates/inversion.md
- references/templates/pipeline.md
- references/templates/combined.md——适用于多模式技能
用你在访谈中学到的所有内容填充模板。不要留下占位文本——到这个时候,你应该有足够的信息来写出真正的初稿。
始终生成完整的目录结构,而不仅仅是SKILL.md。 每个模式都有必需的配套文件:
skill-name/
├── SKILL.md ← 仅包含流程逻辑;通过名称引用配套文件
├── references/ ← 规则、标准、检查清单——独立变化的内容
└── assets/ ← 输出骨架、技能填充的模板
特定模式的结构要求:
- - 生成器:SKILL.md必须引用references/style-guide.md(语气、风格、格式规则)和assets/[output]-template.md(结构骨架)。永远不要将模板或风格规则内联到SKILL.md中——它们必须存在于单独的文件中,以便可以在不触及技能逻辑的情况下更新。
- 评审者:SKILL.md必须引用references/review-checklist.md。检查清单存在于SKILL.md之外,以便评审标准可以独立演变。
- 工具包装器:SKILL.md必须引用references/conventions.md。API/框架规则属于参考文件。
- 管道:在需要它们的步骤处加载特定于步骤的参考,而不是一次性全部