Skill Architect logo

Skill Architect

Organization
curiositech
skill-architect

Design, create, audit, and improve Claude Agent Skills with expert-level progressive disclosure. Use when building new skills, reviewing existing skills, debugging activation failures, encoding domain expertise, designing skills for subagent consumption, or understanding platform constraints and distribution surfaces. NOT for general Claude Code features, runtime debugging, non-skill coding, or MCP server implementation.

Overview

Publishercuriositech
Repositorysome_claude_skills
Skill nameskill-architect
Stars
224
Forks
40
Bundled files
21
LicenseMIT
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 21 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by curiositech on GitHub. Read the source before you install it.

Installation

Install the Skill Architect AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/curiositech/some_claude_skills.git /tmp/some_claude_skills
mkdir -p .claude/skills
cp -r /tmp/some_claude_skills/corpus/meta-skills-experiment/cross-improved/skill-architect .claude/skills/skill-architect
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Skill Architect in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Skill Architect on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Skill Architect is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

Skill Architect: The Authoritative Meta-Skill

The unified authority for creating expert-level Agent Skills. Encodes the knowledge that separates a skill that merely exists from one that activates precisely, teaches efficiently, and makes users productive immediately.

Philosophy

Great skills are progressive disclosure machines. They encode real domain expertise (shibboleths), not surface instructions. They follow a three-layer architecture: lightweight metadata for discovery, lean SKILL.md for core process, and reference files for deep dives loaded only on demand.


When to Use This Skill

Use for:

  • Creating new skills from scratch or from existing expertise
  • Auditing/reviewing skills for quality, activation, and progressive disclosure
  • Improving activation rates and reducing false positives
  • Encoding domain expertise (shibboleths, anti-patterns, temporal knowledge)
  • Designing skills that subagents consume effectively
  • Building self-contained tools (scripts, MCPs, subagents)
  • Debugging why skills don't activate or activate incorrectly

NOT for:

  • General Claude Code features (slash commands, MCP server implementation)
  • Non-skill coding advice or code review
  • Debugging runtime errors (use domain-specific skills)
  • Template generation without real domain expertise to encode

Quick Wins (Immediate Improvements)

For existing skills, apply in priority order:

  1. Tighten description → Follow [What] [When to use]. NOT for [Exclusions] formula
  2. Check line count → SKILL.md must be <500 lines; move depth to /references
  3. Add NOT clause → Prevent false activation with explicit exclusions
  4. Add 1-2 anti-patterns → Use shibboleth template (Novice/Expert/Timeline)
  5. Remove dead files → Delete unreferenced files in scripts/ and references/ (no phantoms)
  6. Test activation → Write 5 queries that should trigger and 5 that shouldn't

Progressive Disclosure Architecture

Skills use three-layer loading. The runtime scans metadata at startup, loads SKILL.md on activation, and pulls reference files only when the agent decides it needs them.

LayerContentSizeLoading
1. Metadataname + description in frontmatter~100 tokensAlways in context (catalog scan)
2. SKILL.mdCore process, decision trees, brief anti-patterns<5k tokensOn skill activation
3. ReferencesDeep dives, examples, templates, specsUnlimitedOn-demand, per-file, only when relevant

Critical rules:

  • Keep SKILL.md under 500 lines. Move depth to /references.
  • Reference files are NOT auto-loaded. Only SKILL.md enters context on activation.
  • In SKILL.md, list each reference file with a 1-line description of when to consult it. This teaches the agent what's available without loading it.
  • Never instruct "read all reference files before starting." Instead: "Read only the files relevant to the current step."
  • If a reference file is large, the agent should skim headings first, then drill into the relevant section.

Frontmatter Rules

Required Fields

KeyPurposeConstraints
nameLowercase-hyphenated identifierMax 64 chars, a-z/0-9/hyphens only, no "anthropic" or "claude", no XML tags
descriptionActivation trigger: [What] [When to use]. NOT for [Exclusions]Max 1024 chars, no XML tags. See Description Formula

Optional Fields

KeyPurposeExample
allowed-toolsComma-separated tool names (least privilege)Read,Write,Grep
argument-hintHint shown in autocomplete for expected arguments"[path] [format]"
licenseLicense identifierMIT
disable-model-invocationIf true, only user-triggered via /skill-nametrue
user-invocableControls whether skill appears in UI menustrue
contextExecution context; fork runs skill in isolated subagentfork
agentWhich subagent type when context: forkcode-reviewer
modelOverride model when skill is activesonnet
hooksHooks scoped to this skill's lifecycleSee hooks reference
metadataArbitrary key-value map for tooling/dashboardsauthor: your-org
dependenciesRequired packages for scriptspython>=3.8, pandas>=1.5.0
bundled-resourcesDeclared resource files(list of paths)
distributionDistribution methodnpm, pip, zip

Note: The Skills API uses hyphenated variants (context-fork, model-override). Claude Code uses the names shown above.

Custom Keys (Safe to Use)

Custom keys like category, tags, version are ignored by Claude Code but safe to include for your own tooling (gallery websites, documentation generators, dashboards). They don't conflict with runtime parsing.

Invalid Keys (Confusingly Similar to Valid Ones)

yaml
# ❌ These look like valid keys but aren't — use the correct alternatives
tools: Read,Write           # Use 'allowed-tools' instead
integrates_with: [...]      # Use SKILL.md body text instead
outputs: [...]              # Use SKILL.md Output Format section instead
python_dependencies: [...]  # Use 'dependencies' in frontmatter instead

Platform Constraints

ConstraintLimit
Name length64 characters
Name formatLowercase letters, numbers, hyphens only
Reserved words in name"anthropic", "claude" prohibited
Description length1024 characters
Total skill upload size8MB (API and claude.ai)
Skills per API request8 maximum
XML tags in name/descriptionProhibited

Cross-surface behavior: Skills do NOT sync across Claude.ai, Claude API, and Claude Code. Each surface requires separate upload/management. Maintain source files in Git as single source of truth.

Recall limits: Too many active skills degrades Claude's selection accuracy. Test coexistence when adding new skills — verify the new skill doesn't steal triggers from existing ones.


Description Formula

Pattern: [What it does] [When to use — be slightly pushy]. NOT for [Exclusions].

The description is the most important line for activation. Claude's runtime scans descriptions to decide which skill to load. A weak description means zero activations or constant false positives.

How activation works: Claude evaluates descriptions semantically, not via keyword matching. It reasons about whether your description covers the user's intent. This means specific, context-rich descriptions outperform keyword lists. Claude also tends to undertrigger — it errs toward NOT activating skills. Combat this by making descriptions slightly pushy: explain when the skill should be used, even if it seems obvious.

ProblemBadGood
Too vague"Helps with images""CLIP semantic search for image-text matching and zero-shot classification. NOT for counting, spatial reasoning, or generation."
No exclusions"Reviews code changes""Reviews TypeScript/React diffs and PRs for correctness. NOT for writing new features."
Mini-manual"Researches, then outlines, then drafts...""Structured research producing 1-3 page synthesis reports. NOT for quick factual questions."
Catch-all"Helps with product management""Writes and refines product requirement documents (PRDs). NOT for strategy decks."
Name mismatchname: db-migration / desc: "writes marketing emails"name: db-migration / desc: "Plans database schema migrations with rollback strategies."

Full guide with more examples: See references/description-guide.md


SKILL.md Template

markdown
---
name: your-skill-name
description: [What it does] [When to use — be slightly pushy]. NOT for [Exclusions].
allowed-tools: Read,Write
---

# Skill Name
[One sentence purpose]

## When to Use
✅ Use for: [A, B, C with specific trigger keywords]
❌ NOT for: [D, E, F — explicit boundaries]

## Core Process
[Mermaid diagrams — 23 types available. See visual-artifacts.md for full catalog]

## Anti-Patterns
### [Pattern Name]
**Novice**: [Wrong assumption]
**Expert**: [Why it's wrong + correct approach]
**Timeline**: [When this changed, if temporal]

## References
- `references/guide.md` — Consult when [specific situation]
- `references/examples.md` — Consult for [worked examples of X]

The 6-Step Skill Creation Process

mermaid
flowchart LR
  S1[1. Gather Examples] --> S2[2. Plan Contents]
  S2 --> S3[3. Initialize]
  S3 --> S4[4. Write Skill]
  S4 --> S5[5. Validate]
  S5 --> S6{Errors?}
  S6 -->|Yes| S4
  S6 -->|No| S7[6. Ship & Iterate]

Step 1: Gather Concrete Examples

Collect 3-5 real queries that should trigger this skill, and 3-5 that should NOT.

Step 2: Plan Reusable Contents

For each example, identify what scripts, references, or assets would prevent re-work. Also identify shibboleths: domain algorithms, temporal knowledge, framework evolution, common pitfalls.

Step 3: Initialize

bash
scripts/init_skill.py <skill-name> --path <output-directory>

For existing skills, skip to Step 4.

Step 4: Write the Skill

Order of implementation:

  1. Scripts first (scripts/) — Working code, not templates
  2. References next (references/) — Domain knowledge, schemas, guides
  3. SKILL.md last — Core process, anti-patterns, reference index

Write in imperative form: "To accomplish X, do Y" not "You should do X."

Answer these questions in SKILL.md:

  1. Purpose: What is this skill for? (1-2 sentences)
  2. Activation: What triggers it? What shouldn't?
  3. Process: Use Mermaid diagrams (23 types) — flowcharts for decisions, sequence for protocols, state for lifecycles, etc.
  4. Anti-patterns: What do novices get wrong?
  5. Visual artifacts: Render workflows, architectures, timelines as Mermaid diagrams (see references/visual-artifacts.md)
  6. References: What files exist and when to consult them?

Step 5: Validate

bash
python scripts/validate_skill.py <path>
python scripts/check_self_contained.py <path>

Fix ERRORS → WARNINGS → SUGGESTIONS.

Step 6: Iterate

After real-world use: notice struggles, improve SKILL.md and resources, update CHANGELOG.md.


Designing Skills for Subagent Consumption

When skills will be loaded by subagents (not just direct user invocation), apply these patterns:

Three Skill-Loading Layers

  1. Preloaded (2-5 core skills): Injected into the subagent's system context. These are its standard operating procedures — always present.
  2. Dynamically selected: Subagent receives a catalog (name + 1-line description) and picks 1-3 matching skills before starting. The orchestrator can also pre-filter.
  3. Execution-time: Subagent reads each skill's "When to use" section, follows numbered steps in order, respects output contracts, and runs QA checks.

How Subagents Should Use Skills

Teach the subagent to treat each skill like a mini-protocol:

  • Check the "When to use / When not to use" section for applicability
  • Follow numbered steps in order (adapt only if task constraints force it)
  • Respect the skill's output contract (templates, JSON shapes, required sections)
  • Apply QA/validation steps last
  • Reference skill steps by number: "Completed step 3 of refactor-plan-skill"

Subagent Prompt Structure

The subagent's prompt should have four sections:

  1. Identity: "You are the [role]. You handle [narrow domain]. If outside scope, say so."
  2. Skill usage rules: "Your skills define your methods. Decide which apply, follow their workflows."
  3. Task loop: Restate → Select skills → Clarify → Plan → Execute step-by-step → Validate → Return (artifacts + skills used + remaining risks).
  4. Constraints: Quality bar, safety rules, tie-breaking priorities.

Full templates and orchestration patterns: See references/subagent-design.md


Visual Artifacts: Mermaid Diagrams & Code

Skills that include Mermaid diagrams serve two audiences at once. For humans, diagrams render as visual flowcharts, state machines, and timelines — instantly parseable. For agents, Mermaid is a text-based graph DSL — A -->|Yes| B is an explicit, unambiguous edge that's actually easier to reason about than equivalent prose. The agent reads the text; the human sees the picture. Both win.

Rule: If a skill describes a process, decision tree, architecture, state machine, timeline, or data relationship, include a Mermaid diagram. Use raw ```mermaid blocks directly in SKILL.md — not wrapped in outer markdown fences.

Most Useful Diagram Types for Skills

Skill ContentDiagram TypeSyntax
Decision trees / troubleshootingFlowchartflowchart TD
API/agent communication protocolsSequencesequenceDiagram
Lifecycle / status transitionsStatestateDiagram-v2
Temporal knowledge / evolutionTimelinetimeline
Data models / schemasERerDiagram
Domain taxonomy / concept mapsMindmapmindmap
Priority matrices (2-axis)QuadrantquadrantChart
Infrastructure / cloud topologyArchitecturearchitecture-beta

Full catalog (all 23 types) with syntax, examples, and YAML config: See references/visual-artifacts.md


Encoding Shibboleths

Expert knowledge that separates novices from experts. Things LLMs get wrong due to outdated training data or cargo-culted patterns.

Shibboleth Template

markdown
### Anti-Pattern: [Name]
**Novice**: "[Wrong assumption]"
**Expert**: [Why it's wrong, with evidence]
**Timeline**: [Date]: [Old way] → [Date]: [New way]
**LLM mistake**: [Why LLMs suggest the old pattern]
**Detection**: [How to spot this in code/config]

What to Encode

  • Framework evolution (React Classes → Hooks → Server Components)
  • Model limitations (CLIP can't count; embedding models are task-specific)
  • Tool architecture (Script → MCP graduation path)
  • API versioning (ada-002 → text-embedding-3-large)
  • Temporal traps (advice that was correct in 2023 but harmful in 2025)

Full catalog with case studies: See references/antipatterns.md


Self-Contained Tools and the Extension Taxonomy

Skills are one of seven Claude extension types: Skills (domain knowledge), Plugins (packaged bundles for distribution), MCP Servers (external APIs + auth), Scripts (local operations), Slash Commands (user-triggered skills), Hooks (lifecycle automation at 17+ event points), and Agent SDK (programmatic Claude Code access). Most skills should include scripts. MCPs are only for auth/state boundaries. Plugins are for sharing skills across teams/community.

NeedExtension TypeKey Requirement
Domain expertise / processSkill (SKILL.md)Decision trees, anti-patterns, output contracts
Packaging & distributionPlugin (plugin.json)Bundles skills + hooks + MCP + agents
External API + authMCP ServerWorking server + setup README
Repeatable local operationScriptActually runs (not a template), minimal deps
Multi-step orchestrationSubagent4-section prompt, skills, workflow
User-triggered actionSlash CommandSkill with user-invocable: true
Lifecycle automationHook17+ events: PreToolUse, PostToolUse, Stop, etc.
Programmatic accessAgent SDKnpm/pip package, CI/CD pipelines

Evolution path: Skill → Skill + Scripts → Skill + MCP Server → Skill + Subagent → Plugin (for distribution). Only promote when complexity justifies it.

Full taxonomy with examples and common mistakes: See references/claude-extension-taxonomy.md Detailed tool patterns: See references/self-contained-tools.md Plugin creation and distribution: See references/plugin-architecture.md


Tool Permissions (Least Privilege)

Access Levelallowed-tools
Read-onlyRead,Grep,Glob
File modifierRead,Write,Edit
Build integrationRead,Write,Bash(npm:*,git:*)
⚠️ Never for untrustedUnrestricted Bash

Anti-Pattern Summary

#Anti-PatternFix
1Documentation DumpDecision trees in SKILL.md, depth in /references
2Missing NOT clauseAlways include "NOT for X, Y, Z" in description
3Phantom ToolsOnly reference files that exist and work
4Template SoupShip working code or nothing
5Overly Permissive ToolsLeast privilege: specific tool list, scoped Bash
6Stale Temporal KnowledgeDate all advice, update quarterly
7Catch-All SkillSplit by expertise type, not domain
8Vague DescriptionUse [What] [When to use]. NOT for [Exclusions]
9Eager LoadingNever "read all files first"; lazy-load references
10Prose-Only ProcessesUse Mermaid diagrams (23 types) — flowcharts, sequences, states, ER, timelines, etc.

Full case studies: See references/antipatterns.md


Validation Checklist

□ SKILL.md exists and is &lt;500 lines
□ Frontmatter has name + description (minimum required)
□ Description follows [What][When to use] NOT [Exclusions] formula
□ Description is specific and context-rich (semantic activation, not keyword lists)
□ Name and description are aligned (not contradictory)
□ At least 1 anti-pattern with shibboleth template
□ All referenced files actually exist (no phantoms)
□ Scripts work (not templates), have clear CLI, handle errors
□ Reference files each have a 1-line purpose in SKILL.md
□ Processes/decisions/lifecycles use Mermaid diagrams (23 types), not prose
□ CHANGELOG.md tracks version history
□ If subagent-consumed: output contracts are defined

Run automated checks: python scripts/validate_skill.py <path> and python scripts/validate_mermaid.py <path>


Common Rejection Causes

CauseSymptomFix
Missing name or descriptionSkill won't loadAdd both to frontmatter
tools: instead of allowed-tools:Tools silently ignoredUse allowed-tools: (hyphenated)
YAML list in allowed-toolsParse errorUse comma-separated: Read,Write,Edit
Brackets in allowed-toolsParse errorNo [ ] — just Read,Write,Edit
Invalid keys (triggers, outputs)Silently ignored or errorMove to SKILL.md body text
Name with spaces/uppercaseMay fail matchingLowercase-hyphenated: my-skill-name
Name doesn't match directoryActivation mismatchKeep name = directory name
context: not forkIgnoredOnly valid value is fork
disable-model-invocation: not booleanIgnoredUse true or false
Phantom file referencesAgent wastes tool callsDelete references or create files

Full validation: python scripts/validate_skill.py <path> catches all of these.


Success Metrics

MetricTarget
Correct activation>90%
False positive rate<5%
Token usage<5k tokens
Time to productive<5 min

Reference Files

Consult these for deep dives — they are NOT loaded by default:

FileConsult When
references/knowledge-engineering.mdKE methods for extracting expert knowledge into skills; protocol analysis, repertory grids, aha! moments
references/description-guide.mdWriting or rewriting a skill description
references/antipatterns.mdLooking for shibboleths, case studies, or temporal patterns
references/self-contained-tools.mdAdding scripts, MCP servers, or subagents to a skill
references/subagent-design.mdDesigning skills for subagent consumption or orchestration
references/claude-extension-taxonomy.mdSkills vs Plugins vs MCPs vs Hooks vs Agent SDK — the 7-type taxonomy
references/plugin-architecture.mdCreating, packaging, and distributing plugins via marketplaces
references/visual-artifacts.mdAdding Mermaid diagrams: all 23 types, YAML config, best practices
references/mcp-template.mdBuilding an MCP server for a skill
references/subagent-template.mdDefining subagent prompts and multi-agent pipelines
references/scoring-rubric.mdQuantitative skill evaluation (0-10 scoring criteria)
references/skill-composition.mdCross-skill dependencies and composition patterns
references/skill-lifecycle.mdMaintenance, versioning, and deprecation guidance
references/activation-debugging.mdDiagnosing why skills don't activate or false-positive; systematic debugging steps
agents/cross-evaluator.mdTemplate for cross-evaluating skills — inject source expertise, evaluate target, produce improved version

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Skill Architect AI skill do?

Design, create, audit, and improve Claude Agent Skills with expert-level progressive disclosure. Use when building new skills, reviewing existing skills, debugging activation failures, encoding domain expertise, designing skills for subagent consumption, or understanding platform constraints and distribution surfaces. NOT for general Claude Code features, runtime debugging, non-skill coding, or MCP server implementation.

Why use Skill Architect on TypingMind?

Because you install it once and use it with any model. Skill Architect is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Skill Architect in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/curiositech/some_claude_skills/tree/main/corpus/meta-skills-experiment/cross-improved/skill-architect. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Skill Architect?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Skill Architect?

As many as you like. As long as a model supports skills, you can use Skill Architect with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Skill Architect AI skill free?

Yes. It is published on GitHub by curiositech under the MIT license. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇