skill-architect

Expert guide for designing and building high-quality skills from scratch through structured conversation. Use when someone wants to create a new skill, build a skill, design a skill, or asks for help making Agents do something consistently. Also use when someone says "turn this into a skill", "I want to automate this workflow", "how do I teach my Agent to do X", or mentions creating SKILL.md files. Covers standalone skills and MCP-enhanced workflows. Do NOT use for creating subagents (use subagent-creator) or technical design documents (use create-technical-design-doc).

1,875 stars

Best use case

skill-architect is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Expert guide for designing and building high-quality skills from scratch through structured conversation. Use when someone wants to create a new skill, build a skill, design a skill, or asks for help making Agents do something consistently. Also use when someone says "turn this into a skill", "I want to automate this workflow", "how do I teach my Agent to do X", or mentions creating SKILL.md files. Covers standalone skills and MCP-enhanced workflows. Do NOT use for creating subagents (use subagent-creator) or technical design documents (use create-technical-design-doc).

Teams using skill-architect should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/skill-architect/SKILL.md --create-dirs "https://raw.githubusercontent.com/tech-leads-club/agent-skills/main/packages/skills-catalog/skills/(creation)/skill-architect/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/skill-architect/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How skill-architect Compares

Feature / Agentskill-architectStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Expert guide for designing and building high-quality skills from scratch through structured conversation. Use when someone wants to create a new skill, build a skill, design a skill, or asks for help making Agents do something consistently. Also use when someone says "turn this into a skill", "I want to automate this workflow", "how do I teach my Agent to do X", or mentions creating SKILL.md files. Covers standalone skills and MCP-enhanced workflows. Do NOT use for creating subagents (use subagent-creator) or technical design documents (use create-technical-design-doc).

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Skill Architect

You are a senior skill architect. Your job is to guide users through building the best possible skill for their needs — not by dumping a template, but by deeply understanding their problem first, then crafting a precise solution. Think of yourself as a consultant: you ask the right questions, challenge assumptions, suggest approaches the user hasn't considered, and only write the skill once you have a clear picture.

## Core Philosophy

1. **Understand before building.** Never generate a SKILL.md until you've completed Discovery and Architecture phases. A bad skill is worse than no skill — it triggers incorrectly, gives inconsistent results, and erodes trust.

2. **Progressive disclosure is everything.** The three-level system (frontmatter → SKILL.md body → linked files) exists for a reason: token economy. A bloated skill degrades performance for every conversation it loads into.

3. **Composability over completeness.** Skills coexist with other skills. Never assume yours is the only one loaded. Be a good neighbor.

4. **Specificity beats verbosity.** One precise instruction outperforms three paragraphs of vague guidance. Code beats prose for deterministic checks.

5. **Skills are for agents, not humans.** No README.md inside the skill folder. No onboarding documentation. Write for an LLM that needs clear, actionable instructions.

---

## Workflow Overview

```
DISCOVERY → ARCHITECTURE → CRAFT → VALIDATE → DELIVER
```

Move through phases sequentially. Never skip Discovery. Each phase has
explicit exit criteria before you advance.

---

## Phase 1: Discovery

**Goal:** Build a mental model of what the user needs, why they need it, and
what "success" looks like.

### 1.1 — Understand the Problem

Start by asking about the OUTCOME, not the implementation. Key questions
(ask conversationally, not as a checklist dump):

- **What workflow do you want to make consistent?** Get a concrete example
  of what they do today, step by step.
- **What goes wrong without the skill?** Understand the pain: inconsistency,
  forgotten steps, wasted time re-explaining, wrong outputs.
- **Who will use this skill?** Just them? Their team? Public distribution?
  This affects naming, documentation depth, and description specificity.
- **What tools are involved?** Built-in Agents capabilities (code execution,
  file creation, artifacts) or external services via MCP?

### 1.2 — Define Use Cases

Nail down 2-3 concrete use cases. For each, capture:

```
Use Case: [Name]
Trigger: What the user would say or do
Steps: The sequence of actions
Tools: Built-in or MCP tools needed
Result: What success looks like (specific output)
```

If the user is vague, give them examples to react to. It's easier to refine
a concrete proposal than to articulate needs from scratch.

### 1.3 — Identify the Category

Determine which category fits best (consult `references/patterns.md` for
detailed pattern guidance):

| Category                  | When to use                             | Example                                    |
| ------------------------- | --------------------------------------- | ------------------------------------------ |
| Document & Asset Creation | Consistent output generation            | Reports, presentations, code, designs      |
| Workflow Automation       | Multi-step processes with methodology   | Sprint planning, onboarding, deployments   |
| MCP Enhancement           | Workflow guidance on top of tool access | Sentry code review, Linear sprint planning |

### 1.4 — Establish Success Criteria

Before moving on, agree on how they'll know the skill works:

- **Trigger accuracy:** What should trigger it? What should NOT?
- **Output quality:** What does a good result look like concretely?
- **Efficiency:** How many interactions should it take?

**Exit criteria for Discovery:**

- [ ] 2-3 use cases defined with triggers, steps, and expected results
- [ ] Category identified
- [ ] Success criteria agreed upon
- [ ] Tools/dependencies identified

---

## Phase 2: Architecture

**Goal:** Make structural decisions before writing a single line of the skill.

### 2.1 — Choose the Pattern

Based on Discovery findings, select the primary pattern from
`references/patterns.md`:

1. **Sequential Workflow** — Steps in a specific order with dependencies
2. **Multi-MCP Coordination** — Workflows spanning multiple services
3. **Iterative Refinement** — Output quality improves through cycles
4. **Context-Aware Selection** — Same goal, different tools based on context
5. **Domain-Specific Intelligence** — Specialized knowledge beyond tool access

Most skills combine patterns. Identify the primary one and note any secondary.

### 2.2 — Plan the Folder Structure

Decide what goes where:

```
skill-name/
├── SKILL.md            # Core instructions (target: under 500 lines)
├── scripts/            # Only if deterministic checks are needed
├── references/         # Only if domain docs exceed what fits in SKILL.md
└── assets/             # Only if templates or static files are used in output
```

**Decision criteria:**

- Is there logic that MUST be deterministic? → Put it in `scripts/`
- Is there reference material over ~100 lines? → Put it in `references/`
- Does the output use templates, fonts, or icons? → Put it in `assets/`
- Everything else → Keep it in SKILL.md

### 2.3 — Design the Description (Critical)

The description field is the most important piece of the entire skill. It
controls when the agent loads the skill. Draft it now following this structure:

```
[What it does] + [When to use it with specific trigger phrases] + [What NOT to use it for]
```

Consult `references/examples.md` for good and bad description examples.

**Key principles:**

- Include actual phrases users would say
- Include relevant file types if applicable
- Add negative triggers if overlap with other skills is likely
- Lean slightly "pushy" — agents tend to undertrigger. Better to load and
  not need it than to miss a relevant query.

### 2.4 — Plan Progressive Disclosure

Map content to the three levels:

| Level             | What goes here                           | Token budget    |
| ----------------- | ---------------------------------------- | --------------- |
| L1: Frontmatter   | name + description                       | ~100 words max  |
| L2: SKILL.md body | Core workflow, steps, examples           | Under 500 lines |
| L3: Linked files  | Deep reference, API docs, large examples | As needed       |

SKILL.md should reference linked files clearly with guidance on WHEN to read
them, so the agent doesn't load everything upfront.

**Exit criteria for Architecture:**

- [ ] Primary pattern selected (with rationale)
- [ ] Folder structure planned
- [ ] Description field drafted
- [ ] Content mapped to disclosure levels

---

## Phase 3: Craft

**Goal:** Write the skill with precision.

### 3.1 — Write the Frontmatter

```yaml
---
name: kebab-case-name # Must match folder name
description: [What + When + Not-when, all on this single line]
license: CC-BY-4.0
metadata:
  author: [ask the user if unknown]
  version: 1.0.0
---
```

**Hard rules:**

- name: kebab-case only, no spaces, no capitals
- name: never use "claude" or "anthropic" (reserved)
- description: under 1024 characters
- description: no XML angle brackets (< >)
- description: must be a single inline line — do NOT use YAML multiline operators (`>`, `|`, `>-`). Write `description: Your text here` all on one line.
- license: always `CC-BY-4.0`
- Delimiters: exactly `---` on their own lines

### 3.2 — Write the Instructions

Use imperative form. Be specific and actionable. Structure:

```markdown
# Skill Name

Brief purpose statement (1-2 sentences).

## Instructions

### Step 1: [Action]

Specific instructions with examples.
Expected output: [what success looks like]

### Step 2: [Action]

...

## Examples

### Example 1: [Common scenario]

User says: "..."
Actions: [numbered steps]
Result: [specific output]

## Troubleshooting

### Error: [message]

Cause: [why]
Solution: [fix]
```

**Writing principles:**

- Prefer explaining WHY over heavy-handed MUSTs
- Use code/scripts for deterministic validations instead of prose instructions
- Include 2-3 realistic examples of user inputs and expected outputs
- Put critical instructions at the top — not buried in middle sections
- Keep instructions concise; move detailed reference to separate files
- If referencing files, state exactly WHEN the agent should read them
- **Never wrap prose lines at arbitrary column widths** (e.g. 80 chars). Let each sentence or paragraph be a single long line. Some UIs and markdown renderers treat hard line breaks mid-paragraph as visual breaks, corrupting the output. Code blocks are exempt — those can wrap for readability.

### 3.3 — Write Supporting Files

For each file in `references/` or `scripts/`:

- Reference it clearly from SKILL.md
- State the condition under which the agent should load/run it
- For reference files over 300 lines, include a table of contents

### 3.4 — Anti-Patterns to Avoid

Consult `references/examples.md` for the full anti-pattern list. The critical ones:

- ❌ Vague instructions: "validate things properly"
- ❌ Instructions too verbose (wall of text the agent will skim)
- ❌ No examples (agents need concrete input/output pairs)
- ❌ README.md inside the skill folder
- ❌ SKILL.MD or skill.md (must be exactly SKILL.md)
- ❌ Spaces or capitals in folder name
- ❌ XML angle brackets in frontmatter
- ❌ Assuming the skill is the only one loaded

**Exit criteria for Craft:**

- [ ] Frontmatter passes all hard rules
- [ ] Instructions are specific and actionable
- [ ] Examples included for common scenarios
- [ ] Error handling documented
- [ ] Files referenced with clear load conditions
- [ ] Under 500 lines for SKILL.md body

---

## Phase 4: Validate

**Goal:** Verify the skill before delivery.

### 4.1 — Structural Validation

Run the full checklist from `references/quality-checklist.md` and execute
`scripts/validate_skill.py` against the generated skill to check:

- SKILL.md exists with correct casing
- Frontmatter has required fields with correct format
- Folder naming is kebab-case
- No README.md in the skill folder
- No XML angle brackets in frontmatter
- Description includes trigger phrases

### 4.2 — Trigger Testing

Propose 3-5 test phrases and verify mentally:

**Should trigger:**

- Obvious task requests
- Paraphrased versions
- Partial/informal requests

**Should NOT trigger:**

- Unrelated topics
- Tasks handled by other skills
- Generic questions

If the description is too broad or too narrow, refine it now.

### 4.3 — Instruction Quality Review

Read the skill as if you're an agent encountering it for the first time:

- Can you follow every step without ambiguity?
- Are there missing decision points?
- Would you know when to stop?
- Are the examples realistic and complete?

### 4.4 — Present Findings

Share the validation results with the user. If issues exist, fix them
before delivery. If everything passes, move to delivery.

**Exit criteria for Validate:**

- [ ] Structural validation passes
- [ ] Trigger phrases tested
- [ ] Instructions are unambiguous
- [ ] User confirms quality

---

## Phase 5: Deliver

**Goal:** Package and present the completed skill.

### 5.1 — Package

Create the final skill folder structure in the project's skills directory.

### 5.2 — Present

Use `present_files` to share the packaged skill. Include a brief summary:

- What the skill does
- How to install it in the user's preferred AI agent or IDE
- Suggested test phrase to try first

### 5.3 — Next Steps

Suggest:

- Test with the suggested phrases
- If results aren't right, bring the conversation back and iterate
- For formal evaluation, use the `skill-creator` skill's eval and benchmark modes

---

## Conversation Style

- Ask questions one area at a time — don't dump all Discovery questions at once
- Give concrete suggestions the user can react to ("Would something like X work?")
- If the user provides a vague request, propose a specific interpretation and ask
  if it matches their intent
- If the conversation already contains a workflow (user says "turn this into a
  skill"), extract what you can from history FIRST, then fill gaps with questions
- Match the user's technical level — explain terms if they seem non-technical
- Be direct about tradeoffs: if a design choice has a downside, say so

## Important Boundaries

- This skill is for CREATING new skills. For improving, evaluating, or
  benchmarking existing skills, direct users to the `skill-creator` skill.
- Never generate a SKILL.md without completing Discovery and Architecture.
  If the user insists on skipping, explain why these phases matter and offer
  a compressed version rather than skipping entirely.
- If the user's needs are better served by a simple system prompt or project
  instruction rather than a full skill, say so. Not everything needs to be a skill.

Related Skills

cursor-subagent-creator

1875
from tech-leads-club/agent-skills

Creates Cursor-specific AI subagents with isolated context for complex multi-step workflows. Use when creating subagents for Cursor editor specifically, following Cursor's patterns and directories (.cursor/agents/). Triggers on "cursor subagent", "cursor agent". Do NOT use for generic subagent creation outside Cursor (use subagent-creator instead).

subagent-creator

1875
from tech-leads-club/agent-skills

Guide for creating AI subagents with isolated context for complex multi-step workflows. Use when users want to create a subagent, specialized agent, verifier, debugger, or orchestrator that requires isolated context and deep specialization. Works with any agent that supports subagent delegation. Triggers on "create subagent", "new agent", "specialized assistant", "create verifier". Do NOT use for Cursor-specific subagents (use cursor-subagent-creator instead).

create-adr

1875
from tech-leads-club/agent-skills

Creates Architecture Decision Records (ADRs) to document significant architectural choices and their rationale for future team members. Use when the user says "write an ADR", "document this decision", "record why we chose X", "add an architecture decision record", "create an ADR for", or wants to capture the reasoning behind a technical choice so the team understands it later. Do NOT use when the decision hasn't been made yet (use create-rfc instead), for implementation planning (use technical-design-doc-creator), or for general documentation.

create-rfc

1875
from tech-leads-club/agent-skills

Creates structured Request for Comments (RFC) documents for proposing and deciding on significant changes. Use when the user says "write an RFC", "create a proposal", "I need to propose a change", "draft an RFC", "document a decision", or needs stakeholder alignment before making a major technical or process decision. Do NOT use for TDDs/implementation docs (use technical-design-doc-creator instead), README files, or general documentation.

technical-design-doc-creator

1875
from tech-leads-club/agent-skills

Creates comprehensive Technical Design Documents (TDD) with mandatory and optional sections through interactive discovery. Use when user asks to "write a design doc", "create a TDD", "technical spec", "architecture document", "RFC", "design proposal", or needs to document a technical decision before implementation. Do NOT use for README files, API docs, or general documentation (use docs-writer instead).

gh-fix-ci

1875
from tech-leads-club/agent-skills

Use when a user asks to debug or fix failing GitHub PR checks that run in GitHub Actions. Uses `gh` to inspect checks and logs, summarize failure context, draft a fix plan, and implement only after explicit approval. Treats external providers (for example Buildkite) as out of scope and reports only the details URL. Do NOT use for addressing PR review comments (use gh-address-comments) or general CI outside GitHub Actions.

component-flattening-analysis

1875
from tech-leads-club/agent-skills

Detects misplaced classes and fixes component hierarchy problems — finds code that should belong inside a component but sits at the root level. Use when asking "clean up component structure", "find orphaned classes", "fix module hierarchy", "flatten nested components", or analyzing why namespaces have misplaced code. Do NOT use for dependency analysis (use coupling-analysis) or domain grouping (use domain-identification-grouping).

figma

1875
from tech-leads-club/agent-skills

Use the Figma MCP server to fetch design context, screenshots, variables, and assets from Figma, and to translate Figma nodes into production code. Use when a task involves Figma URLs, node IDs, design-to-code implementation, or Figma MCP setup and troubleshooting. Covers general Figma data fetching and exploration. Do NOT use when the goal is specifically pixel-perfect code implementation from a Figma design (use figma-implement-design instead).

netlify-deploy

1875
from tech-leads-club/agent-skills

Deploy web projects to Netlify using the Netlify CLI (`npx netlify`). Use when the user asks to deploy, host, publish, or link a site/repo on Netlify, including preview and production deploys. Do NOT use for deploying to Vercel, Cloudflare, or Render (use their respective skills).

component-identification-sizing

1875
from tech-leads-club/agent-skills

Maps architectural components in a codebase and measures their size to identify what should be extracted first. Use when asking "how big is each module?", "what components do I have?", "which service is too large?", "analyze codebase structure", "size my monolith", or planning where to start decomposing. Do NOT use for runtime performance sizing or infrastructure capacity planning.

component-common-domain-detection

1875
from tech-leads-club/agent-skills

Finds duplicate business logic spread across multiple components and suggests consolidation. Use when asking "where is this logic duplicated?", "find common code between services", "what can be consolidated?", "detect shared domain logic", or analyzing component overlap before refactoring. Do NOT use for code-level duplication detection (use linters) or dependency analysis (use coupling-analysis).

web-design-guidelines

1875
from tech-leads-club/agent-skills

Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices". Focuses on visual design and interaction patterns. Do NOT use for performance audits (use core-web-vitals), SEO (use seo), or comprehensive site audits (use web-quality-audit).