Agent skill

Skill Builder

by jwynia in jwynia/agent-skills

Build new agent skills. An agent skill from jwynia/agent-skills.

MITAuto-check passedAgent Workflows

Install Skill Builder

skills CLI
$ npx skills add jwynia/agent-skills --skill skill-builder -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install jwynia/agent-skills skill-builder --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/jwynia/agent-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/general/meta/skill-builder .claude/skills/skill-builder && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
skill-builder
GitHub stars
166
Token cost
~6.9k tokens
SKILL.md length
2,066 words
Files
6 (incl. scripts)
Skills in repo
112
Repo updated
First seen
Licence
MIT

At a glance

Build new agent skills. An agent skill from jwynia/agent-skills.

  • Works in 10 steps: Identify the Problem Space → Define States → Design Tools → …
  • Creating diagnostic frameworks
  • SKILL.md covers Core Principle, Skill Anatomy, Skill Types and Skill Maturity Scoring (24…, plus 6 more sections
  • Runs TypeScript scripts from its folder; calls deno

What it does

Skill Builder is an agent skill from jwynia/agent-skills. Build new agent skills. Use when creating diagnostic frameworks, CLI tools, or data-driven generators that follow the established skill patterns.

Its SKILL.md is about 6.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts (for example `scripts/scaffold.ts`, `scripts/validate-skill.ts` and `templates/SKILL.template.md`).

It sits in Agent Workflows, covering Skill authoring. The licence is MIT.

When your agent uses it

  • Creating diagnostic frameworks
  • Data-driven generators that follow the established skill patterns

Example prompts

  • “/skill-builder”

Requirements

  • Node.js

Workflow steps

10 steps, taken from the step headings in SKILL.md.

  1. Identify the Problem Space
  2. Define States
  3. Design Tools
  4. Map Integrations
  5. Validate Completeness
  6. Identify Problem Space
  7. Define States
  8. Design Tools
  9. Map Integrations
  10. Generate Scaffolding

What it can do on your machine

Read from SKILL.md and the folder at commit e02ec7e. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (TypeScript), which the agent can run.

    Shell commands in SKILL.md call:

    • deno

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Skill Builder loads about 6.9k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 2,066 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~6.9k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from jwynia/agent-skills at commit e02ec7e, republished under its MIT licence (© jwynia). 2,066 words, ~6,919 tokens.

Download SKILL.mdSave it as .claude/skills/skill-builder/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
skill-builder
description
Build new agent skills. Use when creating diagnostic frameworks, CLI tools, or data-driven generators that follow the established skill patterns.
license
MIT
metadata.author
jwynia
metadata.version
1.0
metadata.type
utility
metadata.mode
generative
metadata.domain
infrastructure

Skill-Builder: Meta-Skill for Creating Skills

You help create new agent skills that follow established patterns. Your role is to guide skill design, generate scaffolding, and validate completeness.

Core Principle

Skills are diagnostic frameworks with tools, not feature checklists.

A skill diagnoses a problem space, identifies states, and provides interventions. Scripts provide randomization and structure; the LLM provides judgment. Each does what it's best at.

Skill Anatomy

Every skill has these components:

skill-name/
├── SKILL.md           # Diagnostic framework + documentation
├── scripts/           # Deno TypeScript tools
│   └── *.ts
├── data/              # JSON datasets (if needed)
│   └── *.json
└── references/        # Supporting documentation (optional)
    └── *.md
SKILL.md Structure
markdown
---
name: skill-name
description: One sentence starting with action verb
license: MIT
metadata:
  author: your-name
  version: "1.0"
  maturity_score: [0-20]                          # Optional
---

# Skill Name: Subtitle

You [role description]. Your role is to [specific function].

## Core Principle
**Bold statement capturing diagnostic essence.**

## The States
### State X1: Name
**Symptoms:** What the user notices
**Key Questions:** What to ask
**Interventions:** What framework/tool to apply

[Repeat for each state]

## Diagnostic Process
1. Step one
2. Step two
...

## Key Questions
### For Category A
- Question?
- Question?

## Anti-Patterns
### The [Problem Name]
**Problem:** Description
**Fix:** Solution

## Available Tools
### script.ts
Description of what it does.
\`\`\`bash
deno run --allow-read scripts/script.ts [args]
\`\`\`

## Example Interaction
**User:** "Problem description"
**Your approach:**
1. Action
2. Action

## What You Do NOT Do
- List of boundaries
- Things the skill never does

## Integration Graph

### Inbound (From Other Skills)
| Source Skill | Source State | Leads to State |
|--------------|--------------|----------------|
| [skill] | [state] | [state] |

### Outbound (To Other Skills)
| This State | Leads to Skill | Target State |
|------------|----------------|--------------|
| [state] | [skill] | [state] |

### Complementary Skills
| Skill | Relationship |
|-------|--------------|
| [skill] | [how they relate] |

Skill Types

Type D: Diagnostic Skills

Purpose: Identify problems, recommend interventions Pattern: States → Questions → Interventions Examples: story-sense, worldbuilding, conlang

Key characteristics:

  • Problem states with symptoms/questions
  • Cross-references to intervention tools
  • "What you do NOT do" section enforces boundaries
  • Integration tables mapping to other skills
Type G: Generator Skills

Purpose: Produce structured output from parameters Pattern: Parameters → Generation → Output Examples: Functions in story-sense, phonology in conlang

Key characteristics:

  • Input parameters with defaults
  • Randomization with optional seeding
  • Multiple output formats (human, JSON, brief)
  • Quality levels (starter → comprehensive)
Type U: Utility Skills

Purpose: Support other skills, build infrastructure Pattern: Input → Analysis/Transformation → Report Examples: list-builder, skill-builder

Key characteristics:

  • Meta-level operation
  • Quality metrics and validation
  • Templates and scaffolding
  • Cross-skill applicability
Type O: Orchestrator Skills

Purpose: Coordinate multiple skills into autonomous workflows Pattern: Input → Multi-Pass Evaluation Loop → Polished Output Examples: chapter-drafter

Key characteristics:

  • Invokes multiple sub-skills sequentially
  • Iterates until quality thresholds met
  • Accumulates context across work units
  • Operates autonomously without human checkpoints

Required frontmatter:

yaml
metadata:
  orchestrates:           # Sub-skills to coordinate
    - skill-one
    - skill-two
  pass_order:             # Evaluation sequence
    - skill-one
    - skill-two
  pass_weights:           # Weight per skill (sum to 100)
    skill-one: 50
    skill-two: 50
  max_iterations: 3       # Per-pass iteration limit
  global_max_iterations: 50  # Total cap

See skills/fiction/orchestrators/README.md for architectural details.

Skill Maturity Scoring (24 points)

Skills are evaluated on a 24-point scale parallel to the framework 24-point system.

Completeness (11 points)
CheckPointsCriteria
Core Principle1Bold statement capturing diagnostic essence
States23-7 states for diagnostic skills (N/A for generator/utility)
State Components2Symptoms, Key Questions, Interventions for each state
Diagnostic Process1Step-by-step process documented
Anti-Patterns23+ anti-patterns with Problem/Fix structure
Examples22+ worked examples showing skill application
Boundaries1"What You Do NOT Do" section
Quality (5 points)
CheckPointsCriteria
Self-Contained1Can be used without reading other skills
Type+Mode Declared1Required frontmatter fields present
State Naming1Consistent state prefix matching skill abbreviation
Integration Map1Documents connections to other skills
Tools Documented1All scripts have usage documentation
Usability (4 points)
CheckPointsCriteria
Output Persistence1Customized (not boilerplate) persistence section
Progressive Disclosure1Quick reference section for at-a-glance use
Decision Tree1Routing logic for common scenarios
Actionability1Clear next steps for each diagnosis
Execution Intelligence (4 points) — NEW
CheckPointsCriteria
Reasoning Requirements1Specifies when extended thinking benefits the task
Execution Strategy1Documents sequential vs. parallelizable work
Subagent Guidance1Identifies when to spawn specialized subagents
Context Management1Documents token footprint and optimization strategies
Maturity Levels
LevelScoreDescription
Draft0-8Missing core elements
Developing9-14Functional but incomplete
Stable15-20Production-ready
Battle-Tested21-24Has case studies + full execution intelligence

Required Metadata

Type (Required)

Every skill must declare its type in frontmatter:

yaml
metadata:
TypeDefinitionRequired Sections
diagnosticIdentifies problems, recommends interventionsStates, Diagnostic Process, Anti-Patterns
generatorProduces structured output from parametersParameters, Generation Logic, Output Formats
utilitySupports other skills, builds infrastructureProcess, Templates, Validation
orchestratorCoordinates multiple skills into autonomous workflowsOrchestration Loop, Pass Criteria, Iteration Limits
Mode (Required)

Every skill must declare its mode in frontmatter:

yaml
metadata:
ModeDefinitionUser Relationship
diagnosticIdentifies problem states and recommendsAgent diagnoses, user decides
assistiveGuides without producing contentAgent asks questions, user creates
collaborativeWorks alongside userAgent produces, user guides
evaluativeAssesses existing workAgent reviews, user responds
applicationOperates in real-time contextAgent runs, user participates
generativeCreates output from parametersAgent produces, user selects

Compound modes (e.g., diagnostic+generative) are allowed when skills perform multiple functions.

Optional Metadata
yaml
metadata:
  maturity_score: 15

State Naming Convention

States must follow a consistent naming pattern:

Convention: {ABBREV}{NUMBER}: {State Name}

Rules:

  1. Abbreviation is 1-3 uppercase letters derived from skill name
  2. Numbers start at 0 (for "no X exists" states) or 1
  3. State names are descriptive, not just numbers
  4. Sub-states use decimal notation (4.5, 5.75) when inserting between existing states

Standard Abbreviations:

SkillAbbreviationExample
story-senseSSState SS1: Concept Without Foundation
dialogueDState D1: Identical Voices
conlangLState L1: No Language
worldbuildingWState W1: Backdrop World
revisionRState R1: Overwhelmed
endingsEState E1: Arbitrary Ending
character-arcCAState CA1: Static Character
scene-sequencingSQState SQ1: Scene-Only Pacing
brainstormingBState B1: Convergent Ideas
researchRSState RS1: No Research
requirements-analysisRAState RA1: Vague Requirements
system-designSDState SD1: No Architecture
chapter-drafterCD(Orchestrator - uses pass scores, not states)

New skills should claim an unused abbreviation and document it here.

Integration Graph Requirements

Every skill must document its connections to other skills.

Required Format:

markdown
## Integration Graph

### Inbound (From Other Skills)
| Source Skill | Source State | Leads to State |
|--------------|--------------|----------------|
| story-sense | SS5: Plot Without Purpose | D4: No Subtext |

### Outbound (To Other Skills)
| This State | Leads to Skill | Target State |
|------------|----------------|--------------|
| D6: Pacing Mismatch | scene-sequencing | SQ2: Sequel Missing |

### Complementary Skills
| Skill | Relationship |
|-------|--------------|
| character-arc | Voice reflects transformation |
| worldbuilding | Speech reflects culture |

Requirements:

  • Minimum 1 inbound OR 1 outbound connection
  • Complementary skills list for context
  • State-level specificity (not just skill-to-skill)
  • Bidirectional documentation (if A references B, B should reference A)

Execution Intelligence Requirements

Skills should document how they're best executed by Claude Code.

Reasoning Requirements Section

Document when extended thinking (ultrathink) benefits the skill:

markdown
## Reasoning Requirements

### Standard Reasoning
- Initial diagnosis and symptom matching
- Simple state identification
- Script execution and output interpretation

### Extended Reasoning (ultrathink)
Use extended thinking for:
- Multi-framework synthesis - [Why: requires holding multiple models simultaneously]
- Complex worldbuilding systems - [Why: many interdependent variables]
- Cascade analysis across states - [Why: second-order effects compound]

**Trigger phrases:** "deep analysis", "comprehensive review", "multi-framework synthesis"

Why this matters: LLMs have a completion reward bias—they rush toward visible goals. Extended thinking allocates reasoning time before output, improving quality on complex tasks. This aligns with the LLM Process Design Framework principle.

Execution Strategy Section

Document sequential vs. parallel work:

markdown
## Execution Strategy

### Sequential (Default)
- Diagnosis must complete before intervention
- State identification before framework selection

### Parallelizable
- Multiple script runs (entropy + functions) can run concurrently
- Research across multiple frameworks can parallelize
- Use when: Tasks are independent and can merge results

### Subagent Candidates
| Task | Agent Type | When to Spawn |
|------|------------|---------------|
| Codebase exploration | Explore | When skill needs project context |
| Framework research | general-purpose | When synthesizing across 3+ frameworks |
Context Management Section

Document token usage and optimization:

markdown
## Context Management

### Approximate Token Footprint
- **Skill base:** ~2k tokens
- **With full state definitions:** ~4k tokens
- **With scripts inline:** ~8k tokens (avoid unless debugging)

### Context Optimization
- Load scripts on-demand rather than including inline
- Reference framework documentation by name rather than embedding
- Use Quick Reference section for common cases

### When Context Gets Tight
- Prioritize: Current state diagnosis and immediate intervention
- Defer: Integration graph, full anti-patterns list
- Drop: Script source code, historical examples

Anti-Pattern Requirements

Every skill must document common mistakes.

Minimum Requirements:

  • 3 anti-patterns for diagnostic skills
  • 2 anti-patterns for generator/utility skills

Required Structure:

markdown
### The {Anti-Pattern Name}
**Pattern:** What the problematic behavior looks like
**Problem:** Why this causes harm
**Fix:** How to resolve it
**Detection:** [Optional] How to recognize this happening

Common Anti-Pattern Categories:

CategoryExample Names
Scope CreepThe Kitchen Sink, The Mission Creep
Missing DepthThe Surface Treatment, The Checklist
Wrong LevelThe Bottom-Up Edit, The Premature Optimization
User RelationshipThe Puppet Master, The Passive Recipient
IntegrationThe Orphan Skill, The Boundary Ignorer

Script Patterns

Standard Script Template
typescript
#!/usr/bin/env -S deno run --allow-read

/**
 * Script Name
 *
 * Description of what it does.
 *
 * Usage:
 *   deno run --allow-read script.ts [args]
 */

// === INTERFACES ===
interface ResultType {
  field: string;
  // ...
}

// === DATA ===
const DATA: Record<string, string[]> = {
  category: ["item1", "item2"],
};

// === UTILITIES ===
function randomFrom<T>(arr: T[], count: number = 1): T[] {
  const shuffled = [...arr].sort(() => Math.random() - 0.5);
  return shuffled.slice(0, Math.min(count, arr.length));
}

// === CORE LOGIC ===
function generate(/* params */): ResultType {
  // Generation logic
}

// === FORMATTING ===
function formatResult(result: ResultType): string {
  const lines: string[] = [];
  // Format output
  return lines.join("\n");
}

// === MAIN ===
function main(): void {
  const args = Deno.args;

  // Help
  if (args.includes("--help") || args.includes("-h")) {
    console.log(`Script Name

Usage:
  deno run --allow-read script.ts [options]

Options:
  --flag     Description
  --json     Output as JSON
`);
    Deno.exit(0);
  }

  // Parse arguments
  const flagIndex = args.indexOf("--flag");
  const flagValue = flagIndex !== -1 ? args[flagIndex + 1] : null;
  const jsonOutput = args.includes("--json");

  // Skip indices for positional arg detection
  const skipIndices = new Set<number>();
  if (flagIndex !== -1) {
    skipIndices.add(flagIndex);
    skipIndices.add(flagIndex + 1);
  }

  // Find positional argument
  let positionalArg: string | null = null;
  for (let i = 0; i < args.length; i++) {
    if (!args[i].startsWith("--") && !skipIndices.has(i)) {
      positionalArg = args[i];
      break;
    }
  }

  // Generate
  const result = generate(/* params */);

  // Output
  if (jsonOutput) {
    console.log(JSON.stringify(result, null, 2));
  } else {
    console.log(formatResult(result));
  }
}

main();
Argument Parsing Pattern
typescript
// 1. Help check first
if (args.includes("--help") || args.includes("-h")) { ... }

// 2. Parse --flag value pairs
const flagIndex = args.indexOf("--flag");
const flagValue = flagIndex !== -1 ? args[flagIndex + 1] : defaultValue;

// 3. Boolean flags
const boolFlag = args.includes("--bool");

// 4. Track consumed indices
const skipIndices = new Set<number>();
if (flagIndex !== -1) {
  skipIndices.add(flagIndex);
  skipIndices.add(flagIndex + 1);
}

// 5. Find positional args
for (let i = 0; i < args.length; i++) {
  if (!args[i].startsWith("--") && !skipIndices.has(i)) {
    positionalArg = args[i];
    break;
  }
}
Data Loading Pattern
typescript
// For external JSON files
async function loadData<T>(path: string): Promise<T> {
  try {
    const text = await Deno.readTextFile(path);
    return JSON.parse(text);
  } catch (e) {
    console.error(`Error loading ${path}: ${e}`);
    Deno.exit(1);
  }
}

// Relative path from script
const scriptDir = new URL(".", import.meta.url).pathname;
const dataPath = `${scriptDir}../data/file.json`;
Output Pattern
typescript
// Always support multiple formats
if (jsonOutput) {
  console.log(JSON.stringify(result, null, 2));
} else if (briefOutput) {
  console.log(formatBrief(result));
} else {
  console.log(formatFull(result));
}

Data File Patterns

Simple List (for entropy/randomization)
json
{
  "list_name": [
    "Specific item with enough detail to spark ideas",
    "Another item that's 20-60 characters ideally",
    "Items should be concrete not vague"
  ]
}

Quality thresholds:

  • Starter: 10-30 items (demo only)
  • Functional: 30-75 items (usable)
  • Production: 75-150 items (ready)
  • Comprehensive: 150+ items (reference quality)
Structured Data (for complex generation)
json
{
  "_meta": {
    "description": "What this data is for",
    "usage": "How to use it",
    "source": "Where it came from (optional)"
  },
  "category": {
    "item_name": {
      "property": "value",
      "frequency": 0.85,
      "tags": ["tag1", "tag2"]
    }
  }
}
Frequency-Weighted Data
json
{
  "tier_universal": {
    "description": "Found in nearly all cases",
    "items": { "a": { "frequency": 0.95 }, "b": { "frequency": 0.90 } }
  },
  "tier_common": {
    "description": "Found in most cases",
    "items": { "c": { "frequency": 0.70 } }
  },
  "tier_rare": {
    "description": "Unusual but attested",
    "items": { "d": { "frequency": 0.15 } }
  }
}

Diagnostic Process for Building Skills

When creating a new skill:

1. Identify the Problem Space
  • What problems does this skill diagnose?
  • What are the symptoms a user would notice?
  • How does this connect to existing skills?
2. Define States
  • Create 3-7 distinct states
  • Each state needs: symptoms, key questions, interventions
  • States should be mutually exclusive but cover the space
3. Design Tools
  • What can scripts do better than LLM judgment?
  • Randomization? Structure generation? Validation?
  • What data does the script need?
4. Map Integrations
  • Which other skills does this connect to?
  • What states in other skills lead here?
  • What states here lead elsewhere?
5. Validate Completeness

Run validate-skill.ts to check:

  • Required frontmatter fields
  • State definitions with all components
  • Script documentation
  • Integration references

Available Tools

scaffold.ts

Generates skill directory structure and template files.

bash
# Create new skill scaffolding
deno run --allow-read --allow-write scripts/scaffold.ts skill-name

# With type specification
deno run --allow-read --allow-write scripts/scaffold.ts skill-name --type diagnostic

# Preview without writing
deno run --allow-read scripts/scaffold.ts skill-name --dry-run
validate-skill.ts

Checks skill completeness and pattern conformance.

bash
# Validate a skill
deno run --allow-read scripts/validate-skill.ts ../worldbuilding

# Validate all skills in fiction cluster
deno run --allow-read scripts/validate-skill.ts --all

# JSON output for CI
deno run --allow-read scripts/validate-skill.ts ../conlang --json

Anti-Patterns

The Feature List Skill

Problem: Skill is a list of things it can do, not a diagnostic framework. Fix: Restructure around problem states. What are users stuck on?

The Kitchen Sink

Problem: Skill tries to do too much, covers multiple problem domains. Fix: Split into focused skills. One skill = one diagnostic space.

The Script Without Skill

Problem: Script exists but no SKILL.md explains when to use it. Fix: Every script belongs to a skill with documented purpose.

The Orphan Skill

Problem: Skill doesn't reference or get referenced by other skills. Fix: Add integration section. Map state transitions to/from other skills.

Show full SKILL.md (834 more words)Show less
The Clone Skill

Problem: Skill duplicates another skill's states with different names. Fix: Merge or clearly differentiate the problem spaces.

Verification (Oracle)

This section documents what this skill can reliably verify vs. what requires human judgment. See organization/architecture/context-packet-architecture.md for background on oracles.

What This Skill Can Verify
  • Structural completeness - validate-skill.ts checks required sections exist (High confidence)
  • State naming conventions - Validates {ABBREV}{N}: Name pattern (High confidence)
  • Frontmatter presence - Required type/mode fields present (High confidence)
  • Section presence - Anti-patterns, Integration Graph, Output Persistence exist (High confidence)
  • State component structure - Symptoms/Questions/Interventions present per state (Medium confidence)
What Requires Human Judgment
  • State quality - Are states mutually exclusive and comprehensive? (Semantic)
  • Integration accuracy - Do state transitions make sense across skills? (Contextual)
  • Anti-pattern usefulness - Do they capture real failure modes? (Experiential)
  • Example relevance - Do examples match real use cases? (Domain knowledge)
  • Boundary appropriateness - Is the scope correct for one skill? (Design judgment)
Available Validation Scripts
ScriptVerifiesConfidence
validate-skill.ts20-point maturity scoring across Completeness/Quality/UsabilityHigh for structure, Low for semantics
scaffold.tsGenerated files match expected structureHigh
Oracle Limitations

The validate-skill.ts script:

  • Cannot detect duplicated skill coverage (The Clone Skill anti-pattern)
  • Cannot detect scope creep (The Kitchen Sink anti-pattern)
  • Cannot verify integration bidirectionality (must check both skills manually)
  • Reports presence, not quality - a section existing doesn't mean it's good

Feedback Loop

This section documents how outputs persist and inform future sessions. See organization/architecture/context-packet-architecture.md for background on feedback loops.

Session Persistence
  • Output location: skills/{cluster}/{skill-name}/ (directory structure)
  • What to save: SKILL.md, scripts/, data/, templates/
  • Naming pattern: Skill name becomes directory name
Cross-Session Learning
  • Before starting: Check if a skill for this problem space already exists
  • If prior skill exists: Extend rather than duplicate; check integration graph
  • What feedback improves this skill:
    • New anti-patterns discovered during skill creation
    • State naming collisions found
    • Integration patterns that work well
Improvement Triggers
  • When validate-skill.ts reveals common failures → Update maturity criteria
  • When skill creation struggles → Add to anti-patterns
  • When integration mapping is unclear → Improve Integration Graph section

Design Constraints

This section documents preconditions and boundaries. See organization/architecture/context-packet-architecture.md for background on constraints.

This Skill Assumes
  • User has a clear problem domain to address (not vague "make a skill")
  • Problem domain has identifiable states (symptoms a user would notice)
  • Some automation is possible (script + LLM split makes sense)
This Skill Does Not Handle
  • Framework development (higher abstraction) - Route to: framework-development methodology
  • Single-use scripts (no diagnostic model) - Route to: simple script writing
  • Skills without states (pure generators) - Route to: generator template (simpler structure)
Degradation Signals

Signs this skill is being misapplied:

  • Cannot identify 3+ distinct states for the problem space
  • All "states" are really parameters to a single generator
  • No connection to existing skills makes sense (orphan problem space)
  • Problem space overlaps significantly with existing skill

Example: Building a New Skill

Request: "Create a skill for diagnosing dialogue problems"

Step 1: Identify Problem Space

Dialogue problems are distinct from scene-sequencing (structure) and character-arc (transformation). This is about how characters speak.

Step 2: Define States
  • D1: No Dialogue (narrative summary only)
  • D2: Same-Voice Characters (everyone sounds identical)
  • D3: On-the-Nose Dialogue (no subtext)
  • D4: Talking Heads (dialogue without context)
  • D5: Functional-Only Dialogue (moves plot, reveals nothing)
Step 3: Design Tools

Script: voice-check.ts - generates voice differentiation questionnaire Data: speech-patterns.json - regional, class, personality markers

Step 4: Map Integrations
  • From story-sense State 5.5 (dialogue-specific issues)
  • To character-arc (voice reflects character growth)
  • To worldbuilding (speech reflects culture)
Step 5: Generate Scaffolding
bash
deno run --allow-read --allow-write scripts/scaffold.ts dialogue --type diagnostic

Output Persistence

This skill writes primary output to files so work persists across sessions.

Output Discovery

Before doing any other work:

  1. Check for context/output-config.md in the project
  2. If found, look for this skill's entry
  3. If not found or no entry for this skill, ask the user first:
    • "Where should I save output from this skill-builder session?"
    • Suggest: skills/{cluster}/{skill-name}/ as the standard skill location
  4. Store the user's preference:
    • In context/output-config.md if context network exists
    • In .skill-builder-output.md at project root otherwise
Primary Output

For this skill, persist:

  • Skill scaffolding - SKILL.md, scripts/, templates/, data/
  • State definitions - the diagnostic model
  • Script templates - generated utility scripts
  • Integration map - connections to other skills
Conversation vs. File
Goes to FileStays in Conversation
Generated SKILL.mdDiscussion of problem space
Script templatesState definition iteration
Data file stubsIntegration planning
Validation resultsReal-time feedback
File Naming

Pattern: skills/{cluster}/{skill-name}/ (directory structure) Example: skills/fiction/dialogue/

What You Do NOT Do

  • You do not build skills without clear problem states
  • You do not create scripts without SKILL.md documentation
  • You do not duplicate existing skill coverage
  • You do not skip integration mapping
  • You build the framework; the user decides what skills to create

Integration with Other Skills

With list-builder (fiction cluster)

Use list-builder quality criteria for any data files:

  • Validate list maturity before marking skill production-ready
  • Follow dimensional frameworks for list variety
Cross-Cluster Skills

Skills can reference skills in other clusters:

  • Document integration in both skills
  • Use full path references when crossing clusters
Cluster Conventions

When building skills within a cluster:

  • Set cluster in frontmatter to the parent skill
  • Add integration tables mapping states between skills
  • Follow the cluster's established patterns for scripts and data

© jwynia, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts) in skills/general/meta/skill-builder of jwynia/agent-skills.

  • SKILL.md
  • scripts/scaffold.ts
  • scripts/validate-skill.ts
  • templates/SKILL.template.md
  • templates/output-section.md
  • templates/script.template.ts

Open the folder on GitHubat commit e02ec7e

Compare with similar skills

Skill Builder next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Skill Builder compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Skill Builder this skilljwynia/agent-skills166—~6.9kAutomated safety check: PassMIT
Skill CreatorAzure/azqr79589 repos~8.2kAutomated safety check: PassApache-2.0
Claude Code Skill Developer Guidediet103/claude-code-infrastructure-showcase10k11 repos~3.5kAutomated safety check: PassMIT
Darwin Skill Optimizeralchaincyf/darwin-skill6.2k1 repos~4.7kAutomated safety check: PassMIT
Claude Code Command Developmentanthropics/claude-plugins-official38k10 repos~4.8kAutomated safety check: PassApache-2.0
Claude Code Plugin Structureanthropics/claude-plugins-official38k10 repos~3.4kAutomated safety check: PassApache-2.0

Similar skills

  • Skill Creator

    Azure/azqr

    Official

    Create new skills, modify and improve existing skills, and measure skill performance.

    795 GitHub starsUsed in 89 repos~8.2k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Skill Developer Guide

    diet103/claude-code-infrastructure-showcase

    A guide to creating and managing Claude Code skills with auto-activation: skill-rules.json triggers, hooks, enforcement levels, YAML frontmatter and progressive disclosure.

    10k GitHub starsUsed in 11 repos~3.5k tokens
    Agent WorkflowsAuto-check passed
  • Darwin Skill Optimizer

    alchaincyf/darwin-skill

    Scores SKILL.md files on a nine-dimension rubric, then improves them in a keep-or-revert loop with independent judge agents, test prompts, git history and human checkpoints.

    6.2k GitHub starsUsed in 1 repo~4.7k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Command Development

    anthropics/claude-plugins-official

    Official

    Explains how to write Claude Code slash commands: Markdown files with YAML frontmatter, arguments, file references, bash context and interactive prompts.

    38k GitHub starsUsed in 10 repos~4.8k tokens
    Agent WorkflowsAuto-check passed
  • Claude Code Plugin Structure

    anthropics/claude-plugins-official

    Official

    Explains the directory layout, plugin.json manifest and component organization of a Claude Code plugin, including auto-discovery and portable paths.

    38k GitHub starsUsed in 10 repos~3.4k tokens
    Agent WorkflowsAuto-check passed
  • Skill Release Gate

    rohitg00/ai-engineering-from-scratch

    Evaluates an Agent Skill bundle before release for structure, trigger quality, artifact improvement, script correctness, safety, installed-tree integrity and host portability.

    66k GitHub stars~1k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed

More from jwynia/agent-skills

All 112 skills in this repo
  • Devcontainer

    jwynia/agent-skills

    Diagnose devcontainer configuration problems and guide development environment setup.

    166 GitHub stars~1.2k tokensUpdated 7 mo ago
    Auto-check: notes
  • Frontend Design

    jwynia/agent-skills

    Create distinctive, production-grade frontend interfaces with high design quality.

    166 GitHub stars~3.2k tokensUpdated 7 mo ago
    Auto-check passed
  • Gitea Workflow

    jwynia/agent-skills

    Orchestrate agile development workflows for Gitea repositories using the tea CLI.

    166 GitHub stars~3.8k tokensUpdated 7 mo ago
    Auto-check passed
  • Godot Asset Generator

    jwynia/agent-skills

    Generate game assets using AI image generation APIs (DALL-E, Replicate, fal.ai) and prepare them for Godot.

    166 GitHub stars~3.8k tokensUpdated 7 mo ago
    Auto-check passed
  • Mastra Hono

    jwynia/agent-skills

    Develop AI agents, tools, and workflows with Mastra v1 Beta and Hono servers.

    166 GitHub stars~2.9k tokensUpdated 7 mo ago
    Auto-check passed
  • PPTX Generator

    jwynia/agent-skills

    Create and manipulate PowerPoint PPTX files programmatically.

    166 GitHub stars~3.1k tokensUpdated 7 mo ago
    Auto-check passed

Categories

Questions about Skill Builder

What does Skill Builder do?

Build new agent skills. An agent skill from jwynia/agent-skills. Skill Builder is an agent skill from jwynia/agent-skills. Build new agent skills.

When should I use Skill Builder?

Skill Builder fits situations like: creating diagnostic frameworks; data-driven generators that follow the established skill patterns.

How do I install Skill Builder in Claude Code?

Run `npx skills add jwynia/agent-skills --skill skill-builder -a claude-code`. Or copy the skill folder (skills/general/meta/skill-builder in jwynia/agent-skills) into .claude/skills/skill-builder in your project. Claude Code loads it when a task matches its description.

How do I install Skill Builder in Codex?

Run `npx skills add jwynia/agent-skills --skill skill-builder -a codex`. Or copy the skill folder (skills/general/meta/skill-builder in jwynia/agent-skills) into .agents/skills/skill-builder in your project. Codex loads it when a task matches its description.

Can I use Skill Builder in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jwynia/agent-skills --skill skill-builder -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-builder, .gemini/skills/skill-builder, .github/skills/skill-builder and .opencode/skills/skill-builder in your project.

What does Skill Builder need to run?

Going by SKILL.md and its folder, Skill Builder needs TypeScript for the scripts in its folder and the command-line tools its instructions call (deno). Our summary lists: Node.js.

Does Skill Builder access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Skill Builder safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Skill Builder use?

Skill Builder is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Skill Builder use?

About 6.9k tokens (SKILL.md is roughly 28k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Skill Builder?

Skills that share tags, products or a category with Skill Builder: Skill Creator (Azure/azqr, 795 stars), Claude Code Skill Developer Guide (diet103/claude-code-infrastructure-showcase, 10k stars), Darwin Skill Optimizer (alchaincyf/darwin-skill, 6.2k stars) and Claude Code Command Development (anthropics/claude-plugins-official, 38k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Skill Builder?

jwynia (a GitHub user) maintains it in jwynia/agent-skills, which has 166 GitHub stars. The repository holds 112 skills in this directory. The repository was last updated on February 24, 2026.

Source: jwynia/agent-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.