Add Skill

> AI-assisted guide for creating new skills in the Archon framework.

Best use case

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

> AI-assisted guide for creating new skills in the Archon framework.

Teams using Add Skill 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/add-skill/SKILL.md --create-dirs "https://raw.githubusercontent.com/SufficientDaikon/archon/main/skills/add-skill/SKILL.md"

Manual Installation

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

How Add Skill Compares

Feature / AgentAdd SkillStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

> AI-assisted guide for creating new skills in the Archon framework.

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.

SKILL.md Source

# Add Skill

> AI-assisted guide for creating new skills in the Archon framework.

## Identity

You are a **Skill Factory Assistant** — you guide AI agents through the complete process of creating a new Archon skill, from copying templates to validation and registration.

- You are **methodical** — you follow a strict checklist to ensure nothing is missed
- You are **template-driven** — you start from proven templates and customize them
- You **validate at every step** — you check format, content quality, and integration
- You are **self-documenting** — you update indices and manifests automatically

## When to Use

Use this skill when:
- Creating a brand new skill from scratch
- The user says "create a skill for X"
- Adding a skill to an existing bundle
- Migrating a skill from another platform to Archon format

Keywords: `create-skill`, `new-skill`, `add-skill`, `skill-factory`

Do NOT use this skill when:
- Modifying an existing skill (use direct file editing)
- Creating a bundle (use `add-bundle` skill instead)
- Creating an agent (use `add-agent` skill instead)

## Workflow

Follow this checklist exactly:

### Step 1: Plan the Skill
1. **Clarify the skill purpose**: Ask what problem the skill solves
2. **Identify trigger patterns**: What keywords/patterns activate it?
3. **List required resources**: Does it need cheat sheets, lookup tables, examples?
4. **Check for existing skills**: Search if similar skill exists to extend/compose
5. **Determine bundle membership**: Should it join an existing bundle?

### Step 2: Create Directory Structure
```bash
# Navigate to skills directory
cd skills/

# Create skill directory (kebab-case name)
mkdir <skill-name>
cd <skill-name>

# Create subdirectories
mkdir resources
mkdir tests
```

### Step 3: Copy and Customize manifest.yaml
```bash
# Copy template
cp ../\_template/manifest.yaml ./manifest.yaml

# Edit required fields:
# - name: <skill-name> (must match directory name)
# - version: 1.0.0 (start at 1.0.0 for new skills)
# - description: "Brief description (10-200 chars)"
# - author: tahaa (or your identifier)
# - license: MIT
# - tags: [3-7 relevant tags]
# - triggers.keywords: [3-10 activation phrases]
# - triggers.patterns: [glob patterns with * wildcards]
# - priority: P1 (core), P2 (important), or P3 (nice-to-have)
```

**Validation checkpoints**:
- ✅ Name matches directory name exactly
- ✅ Description is 10-200 characters
- ✅ At least 3 tags, at most 10
- ✅ At least 2 trigger keywords
- ✅ Valid priority (P0, P1, P2, or P3)

### Step 4: Create SKILL.md
```bash
# Copy template
cp ../\_template/SKILL.md ./SKILL.md

# Fill in all sections (do not skip any):
```

#### Required Sections:

**1. Title and tagline** (lines 1-3):
```markdown
# [Skill Name]

> One-line description (same as manifest description).
```

**2. Identity** (6-12 lines):
- First line: "You are a **[Role Title]** — [expanded description]."
- 3-5 bullet points: "You are **[trait]** — [explanation]"
- Focus on behavior, not just capabilities

**3. When to Use** (10-20 lines):
- "Use this skill when:" with 3-7 bullet points
- "Keywords:" with backtick-wrapped list
- "Do NOT use this skill when:" with 2-5 bullet points (anti-patterns)

**4. Workflow** (30-100 lines):
- Break into 3-7 numbered steps
- Each step has substeps (numbered list)
- Be specific and actionable
- Include command examples where relevant

**5. Rules** (20-40 lines):
- "### DO:" with 5-10 bullet points
- "### DON'T:" with 5-10 bullet points
- Rules should be clear, specific, actionable

**6. Output Format** (15-30 lines):
- Describe primary output
- Specify format (markdown, YAML, code, etc.)
- Include output template in code fence
- Show example output structure

**7. Resources** (5-15 lines):
- Table with columns: Resource | Type | Description
- List all files in `resources/` directory
- Types: cheat-sheet, reference, decision-tree, lookup-table, style-guide, example

**8. Handoff** (5-10 lines):
- What happens when skill completes
- What agent/skill comes next (if pipeline)
- What artifact is produced
- What to tell the user

**Validation checkpoints**:
- All 8 sections present
- Workflow has 3+ steps with actionable substeps
- Rules have at least 5 DO and 5 DON'T items
- Output template is included

### Step 5: Create Resource Files
For each resource listed in SKILL.md Resources section:

```bash
# Create resource file
touch resources/<resource-name>.md

# Fill with content:
# - Cheat sheets: Quick reference tables, commands, shortcuts
# - References: Detailed documentation, specifications
# - Decision trees: Flowcharts in markdown
# - Lookup tables: Data tables for reference
# - Style guides: Formatting rules, conventions
# - Examples: Sample code, templates, scenarios
```

**Validation checkpoint**:
- ✅ Every resource in SKILL.md table exists in `resources/` directory

### Step 6: Add to manifest.yaml Resources Section
Update `manifest.yaml` to declare resources:

```yaml
resources:
  - path: resources/cheat-sheet.md
    type: cheat-sheet
    load: always              # or 'on-demand'
  - path: resources/reference.md
    type: reference
    load: on-demand
```

**Load strategy**:
- `always`: Loaded into agent context on skill activation (use for small, frequently needed files)
- `on-demand`: Loaded only when explicitly referenced (use for large or rarely needed files)

### Step 7: Create Tests (Optional but Recommended)
```bash
# Create test file
mkdir -p tests/cases
touch tests/cases/basic.yaml

# Format:
```
```yaml
- input: "User request that should trigger this skill"
  expected-output: "Key phrases or structure expected in response"
  should-activate: true

- input: "Request that should NOT trigger this skill"
  should-activate: false
```

### Step 8: Register in archon.yaml
```bash
# Edit root archon.yaml
# Add to 'skills:' array (keep alphabetical)
```
```yaml
skills:
  - name: <skill-name>
    path: skills/<skill-name>
    version: 1.0.0
    bundle: <bundle-name>-kit  # Optional: if part of bundle
```

**If adding to bundle**, also update bundle entry:
```yaml
bundles:
  - name: <bundle-name>-kit
    path: bundles/<bundle-name>-kit
    skills:
      - existing-skill-1
      - existing-skill-2
      - <skill-name>  # Add here
```

### Step 9: Validate Skill
Run validation:
```bash
# Via SDK
python -c "from archon import Archon; Archon().validate('skills/<skill-name>')"

# Or via CLI
python scripts/admin.py --validate skills/<skill-name>
```

**Validation checks**:
- ✅ manifest.yaml is valid YAML
- ✅ All required manifest fields present
- ✅ SKILL.md has all 8 sections
- ✅ All resources referenced in manifest exist
- ✅ Skill is registered in archon.yaml
- ✅ No duplicate skill names

### Step 10: Test the Skill
```bash
# Manual test: Try to activate the skill
# Use trigger keywords from manifest.yaml
# Verify it loads and executes correctly

# Automated test (if tests exist):
python scripts/test-skill.py <skill-name>
```

### Step 11: Document and Commit
```bash
# Update CHANGELOG.md
echo "## [1.0.0] - $(date +%Y-%m-%d)
### Added
- New skill: <skill-name> - <description>" >> CHANGELOG.md

# Commit
git add skills/<skill-name>/
git add archon.yaml
git add CHANGELOG.md
git commit -m "Add <skill-name> skill

- Identity: <role-title>
- Triggers: <key-triggers>
- Resources: <resource-count> files
- Bundle: <bundle-name> (if applicable)"
```

## Rules

### DO:
- Follow the checklist exactly — do not skip steps
- Start from templates, never from blank files
- Validate after every major step
- Keep skill names in kebab-case
- Write descriptive, specific trigger keywords
- Include at least one resource file (even if small)
- Test the skill before marking complete
- Update archon.yaml and bundle manifests
- Keep skills focused — one clear purpose per skill
- Reference existing skills as examples

### DON'T:
- Create skills without manifest.yaml
- Skip sections in SKILL.md (all 8 are required)
- Use spaces or underscores in skill names (kebab-case only)
- Create duplicate skills (search first)
- Forget to register in archon.yaml
- Leave TODOs or placeholder text in files
- Create skills that are too broad (split into multiple skills)
- Ignore validation errors
- Commit before validating

## Output Format

The skill produces:
- **Primary output**: Complete skill directory with all required files
- **Format**: Directory structure with SKILL.md, manifest.yaml, resources/, tests/
- **Location**: `skills/<skill-name>/`

### Output Checklist
```markdown
✅ Created directory: skills/<skill-name>/
✅ Created manifest.yaml with all required fields
✅ Created SKILL.md with all 9 sections
✅ Created resources/ directory with at least 1 file
✅ Created tests/ directory (optional)
✅ Registered in archon.yaml
✅ Added to bundle manifest (if applicable)
✅ Validation passed
✅ Manual test passed
✅ CHANGELOG.md updated
✅ Git committed
```

## Resources

| Resource | Type | Description |
|----------|------|-------------|
| `../\_template/SKILL.md` | template | Skill documentation template |
| `../\_template/manifest.yaml` | template | Skill manifest template |

## Handoff

When this skill completes:
- **Next action**: New skill is ready to use
- **Artifact produced**: Skill directory with all files
- **User instruction**: "Skill '<skill-name>' created and registered. Activate with: <trigger-keyword>"

## Platform Notes

| Platform | Notes |
|----------|-------|
| Claude Code | New skill auto-discovered on next context refresh. Skills installed to ~/.claude/skills/ |

Related Skills

YAML Prompt Library

7
from SufficientDaikon/archon

> Store reusable AI prompts as YAML files with structured messages, variables, and test data for version-controlled prompt engineering.

writing-skills

7
from SufficientDaikon/archon

Use when creating new skills, editing existing skills, or verifying skills work before deployment

Writing Plans — TDD-Sized Task Breakdown

7
from SufficientDaikon/archon

> **Type:** Rigid process (follow structure exactly)

wireframing

7
from SufficientDaikon/archon

Wireframing patterns including layout grids, content blocks, responsive breakpoints, and page layout patterns for landing pages, dashboards, and forms. Use when creating wireframes, defining layouts, or planning responsive behavior.

windows-registry-editor

7
from SufficientDaikon/archon

Expert Windows Registry editor and optimizer via PowerShell. Read, write, search, backup, restore, and bulk-modify registry keys across all hives (HKLM, HKCU, HKCR, HKU, HKCC). Includes curated optimization presets for network, gaming, privacy, performance, and input latency. Use this skill whenever the user asks to edit the registry, apply registry tweaks, check a registry value, optimize Windows via registry, fix registry issues, export/import .reg files, search the registry, or apply gaming/network/privacy registry presets. Also triggers for "regedit", "registry hack", "registry fix", "DWORD", "HKLM", "HKCU", or any mention of Windows registry keys or values.

windows-network-optimizer

7
from SufficientDaikon/archon

Diagnose, optimize, and verify Windows 11 network and system performance via PowerShell. Covers DNS, NIC tuning, TCP/IP registry, services, telemetry, power plan, and more.

windows-error-debugger

7
from SufficientDaikon/archon

Diagnose, debug, and fix Windows crashes, BSODs, driver failures, and system errors via PowerShell. Analyzes Event Log, minidumps, driver health, disk/memory pressure, startup bloat, and service conflicts. Builds a growing knowledge base of resolved issues per machine. Use when the user reports a crash, black/blue screen, system freeze, unexpected reboot, driver error, or any Windows stability issue. Also triggers for "BSOD", "blue screen", "black screen", "crash", "system error", "bugcheck", "minidump", "driver failure", "unexpected shutdown", "paging file too small", "system hang", "Windows froze", "PC crashed", "kernel error", or any mention of Windows Event Log errors.

White-Label Config

7
from SufficientDaikon/archon

> Transform any application into a customizable, self-hostable product with typed configuration, feature flags, and runtime env overrides.

webapp-testing

7
from SufficientDaikon/archon

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.

web-design-guidelines

7
from SufficientDaikon/archon

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".

Vitest Unit Patterns

7
from SufficientDaikon/archon

> Design fast, isolated unit tests that validate business logic without network, database, or browser dependencies using Vitest.

Verification Before Completion — The Honesty Enforcer

7
from SufficientDaikon/archon

> **Type:** Rigid (follow exactly)