Skills Manager - Branch of JARVIS-04
Build and improve skills following the skills-management policy.
Policy Source
Primary policy: JARVIS-04 → .claude/skills/skills-management/SKILL.md
This branch executes the policy defined by JARVIS-04. Always sync with Primary before major operations.
Quick Decision Tree
Task Received
│
├── Create new skill? ───────────────> Workflow 1: Build
│ └── What type?
│ ├── Primary (JARVIS-XX) ─────> Full policy skill
│ ├── Branch (plugin-dev) ─────> Execution skill
│ └── Domain (category) ───────> Domain knowledge skill
│
├── Adapt marketplace skill? ────────> Workflow 3: Adapt
│
├── Fix existing skill? ─────────────> Workflow 2: Improve
│
└── Validate skill? ─────────────────> Validation Checklist
Skill Overview
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialized knowledge, workflows, and tools.
What Skills Provide:
- •Specialized workflows - Multi-step procedures for specific domains
- •Tool integrations - Instructions for working with specific file formats or APIs
- •Domain expertise - Company-specific knowledge, schemas, business logic
- •Bundled resources - Scripts, references, and assets for complex tasks
Skill Structure
skill-name/
├── SKILL.md (required)
│ ├── YAML frontmatter metadata (required)
│ │ ├── name: (required)
│ │ └── description: (required)
│ └── Markdown instructions (required)
└── Bundled Resources (optional)
├── scripts/ - Executable code (Python/Bash)
├── references/ - Documentation loaded as needed
├── examples/ - Working code examples
└── assets/ - Files used in output (templates, icons)
Progressive Disclosure Principle
Skills use a three-level loading system to manage context efficiently:
| Level | Content | When Loaded | Size Target |
|---|---|---|---|
| 1. Metadata | name + description | Always in context | ~100 words |
| 2. SKILL.md body | Main instructions | When skill triggers | <2000 words |
| 3. Bundled resources | Details, examples, scripts | As needed by Claude | Unlimited |
What Goes Where:
| Content Type | Location | Loaded |
|---|---|---|
| Core concepts, overview | SKILL.md | On trigger |
| Essential procedures | SKILL.md | On trigger |
| Quick reference tables | SKILL.md | On trigger |
| Detailed patterns | references/ | On demand |
| Advanced techniques | references/ | On demand |
| API documentation | references/ | On demand |
| Working code examples | examples/ | On demand |
| Utility scripts | scripts/ | Executed |
| Templates, assets | assets/ | Used in output |
Skill Types
| Type | Location | Purpose | Content Focus |
|---|---|---|---|
| Primary | JARVIS-XX/.claude/skills/ | Define policy | What and why |
| Branch | plugin-dev/skills/ | Execute policy | How to do |
| Domain | plugin-category/skills/ | Domain knowledge | Specific guidance |
Workflow 1: Build New Skill
Step 1: Understand the Skill Purpose
Answer these questions:
- •What functionality should this skill support?
- •What triggers should invoke this skill?
- •What procedural knowledge does Claude need?
- •What scripts, references, or examples would be helpful?
Step 2: Determine Skill Type
| Question | Answer → Type |
|---|---|
| Defines policy for JARVIS? | Primary skill |
| Executes policy from Primary? | Branch skill |
| Provides domain knowledge? | Domain skill |
Step 3: Write Frontmatter
--- name: skill-name description: "This skill [does what]. Use when [conditions]. Triggers: '[trigger1]', '[trigger2]', '[trigger3]'." ---
Description Requirements:
- •Third-person format: "This skill should be used when..."
- •"Use when" clause: Specific conditions for triggering
- •"Triggers:" section: 3+ terms in single quotes
- •Specific phrases: Exact words users would say
Good example:
description: "This skill should be used when the user asks to 'create a hook', 'add a PreToolUse hook', 'validate tool use', or mentions hook events (PreToolUse, PostToolUse, Stop)."
Bad examples:
# Wrong: Vague, no triggers description: "Provides hook guidance." # Wrong: Not third person description: "Use this skill when working with hooks." # Wrong: Missing trigger phrases description: "Load when user needs hook help."
Step 4: Choose Content Pattern
Pattern 1: Policy Skill (Primary)
--- name: [domain]-management description: "This skill defines [domain] policy for JARVIS. Use when [conditions]. Triggers: '[trigger1]', '[trigger2]', '[trigger3]'." --- # [Domain] Management - JARVIS-XX [Core concept in 2-3 sentences explaining what this policy covers] ## Core Concept [What this domain is about, key principles] ## When to Use This Skill - [Condition 1] - [Condition 2] - [Condition 3] ## Key Structures [Tables, diagrams, templates] ## Workflows ### Workflow 1: [Name] 1. [Step] 2. [Step] ### Workflow 2: [Name] 1. [Step] 2. [Step] ## Validation Checklist - [ ] [Check 1] - [ ] [Check 2] ## Reference Files - [references/detail.md](references/detail.md) - [Description]
Pattern 2: Execution Skill (Branch)
--- name: [domain]-manager description: "Branch skill for [action]. Use when [conditions]. Triggers: '[trigger1]', '[trigger2]'." --- # [Domain] Manager - Branch of JARVIS-XX [What this branch executes] ## Policy Source **Primary policy**: JARVIS-XX → `.claude/skills/[domain]-management/SKILL.md` ## Quick Decision Tree [ASCII diagram for routing] ## Workflow 1: [Name] ### Step 1: [Action] [Details] ### Step 2: [Action] [Details] ## Validation Checklist - [ ] [Check 1] - [ ] [Check 2] ## Common Issues & Fixes | Issue | Fix | |-------|-----| | [Problem] | [Solution] | ## Sync Protocol [How to sync with Primary]
Pattern 3: Domain Skill
--- name: [domain] description: "Domain knowledge for [area]. Use when [conditions]. Triggers: '[trigger1]', '[trigger2]'." --- # [Domain] Knowledge ## Overview [What this domain covers] ## Key Concepts ### [Concept 1] [Explanation] ## Common Operations ```bash [Example command or code]
Best Practices
- •[Practice 1]
- •[Practice 2]
Troubleshooting
| Issue | Solution |
|---|---|
| [Problem] | [Fix] |
### Step 5: Write Main Content
**Word limit**: Under 2000 words
**Writing style**: Imperative form ("Create...", "Validate...", "Check...")
**Required sections:**
1. Title with context (e.g., "- Branch of JARVIS-XX")
2. Core concept or Policy Source
3. When to Use (Primary) or Quick Decision Tree (Branch)
4. Main workflows with numbered steps
5. Validation Checklist
6. Reference Files (if references/ exists)
### Step 6: Create Bundled Resources (if needed)
**scripts/** - Executable utilities:
```bash
# When to include: Same code rewritten repeatedly
# Example: scripts/validate-skill.sh
# Benefits: Token efficient, deterministic
references/ - Detailed documentation:
# When to include: Content that would bloat SKILL.md # Examples: references/patterns.md, references/advanced.md # Benefits: Loaded only when needed
examples/ - Working code:
# When to include: Complete, runnable examples # Examples: examples/hook-example.sh # Benefits: Users can copy and adapt
assets/ - Output files:
# When to include: Files used in output # Examples: assets/template.json, assets/logo.png # Benefits: Used without loading into context
Step 7: Validate
Run full validation checklist.
Workflow 2: Improve Existing Skill
Step 1: Analyze Current State
# Read skill cat skills/[name]/SKILL.md # Check word count wc -w skills/[name]/SKILL.md # Check references ls skills/[name]/references/
Step 2: Gap Analysis
| Component | Check | Common Issues |
|---|---|---|
| name | lowercase-hyphens? | Spaces, uppercase |
| description | Third person? | "Use this skill when..." |
| description | Has triggers? | Missing "Triggers:" section |
| description | Has "Use when"? | Only describes, no conditions |
| content | Under 2000 words? | Too long, needs references/ |
| content | Imperative style? | "You should...", passive voice |
| references | Exists if needed? | Long content without references/ |
Step 3: Apply Fixes
Fixing description format:
Before (wrong):
description: "Use this skill when working with hooks."
After (correct):
description: "This skill should be used when the user asks to 'create a hook', 'validate hooks', or mentions PreToolUse/PostToolUse events. Triggers: 'create hook', 'hook validation', 'PreToolUse'."
Converting to imperative:
Before (wrong):
You should start by reading the configuration file. The skill is used to create hooks.
After (correct):
Start by reading the configuration file. Create hooks following these steps.
Moving content to references:
- •Identify sections > 500 words
- •Create references/[section].md
- •Move content
- •Add link:
See [references/section.md](references/section.md)
Adding comparison tables:
| Option | Pros | Cons | Use When | |--------|------|------|----------| | [A] | [+] | [-] | [Condition] | | [B] | [+] | [-] | [Condition] |
Adding ASCII diagrams:
Task Received
│
├── Condition A? ──> Action 1
│
└── Condition B? ──> Action 2
Step 4: Validate
Run full validation checklist.
Workflow 3: Adapt Marketplace Skill
When taking a skill from wshobson-agents, obra-superpowers, or similar:
Step 1: Read Original Skill
cat marketplace-plugin/skills/[skill]/SKILL.md ls marketplace-plugin/skills/[skill]/references/
Note:
- •Writing patterns used
- •Content organization
- •Triggers format
- •Reference structure
Step 2: Identify JARVIS Fit
| Original Focus | JARVIS Target |
|---|---|
| Generic orchestration | plugin-orchestrator skill |
| Self-improvement | plugin-dev branch skill |
| Data/analytics | Plugin-BigQuery skill |
| Domain-specific | Plugin-Category skill |
Step 3: Adapt Description
Original (generic):
description: "Build production-ready monitoring..."
Adapted (JARVIS-specific):
description: "This skill should be used when setting up monitoring for JARVIS categories, tracking MCP server metrics, or implementing category alerting. Triggers: 'monitoring', 'observability', 'metrics', 'alerts'."
Step 4: Add JARVIS Context
For Primary skills:
## When to Use This Skill - Creating monitoring for new JARVIS category - Setting up MCP server observability - Implementing cross-category metrics - Configuring JARVIS-00 dashboards
For Branch skills:
## Policy Source **Primary policy**: JARVIS-XX → `.claude/skills/[domain]-management/SKILL.md`
Step 5: Adapt Content
- •Replace generic examples with JARVIS examples
- •Add references to JARVIS tools (MCP, BigQuery)
- •Include category-specific workflows
- •Update validation to include JARVIS checks
Step 6: Validate Adaptation
Run full validation checklist.
Skill Auto-Discovery
Claude Code automatically discovers skills:
- •Scans
skills/directory in plugin - •Finds subdirectories containing
SKILL.md - •Loads skill metadata (name + description) always
- •Loads SKILL.md body when skill triggers
- •Loads references/examples as needed
Skill locations:
| Location | Scope |
|---|---|
| plugin/skills/ | Available when plugin installed |
| .claude/skills/ | Available in project |
| ~/.claude/skills/ | Available in all projects |
Validation Checklist
Structure
- • File is
SKILL.mdin skill subdirectory - • Skill directory follows kebab-case naming
- • Referenced files actually exist
Frontmatter
- • Valid YAML between
---markers - •
name: lowercase, hyphens, 3-50 characters - •
description: uses third person ("This skill should be used when...") - •
description: has "Use when" clause with conditions - •
description: has "Triggers:" with 3+ specific terms
Content
- • Title with context (e.g., "- Branch of JARVIS-XX")
- • Core concept or Policy Source section
- • Main content under 2000 words
- • Imperative writing style throughout (not "You should...")
- • Numbered steps for workflows
- • Validation Checklist section
- • References to bundled resources if they exist
Bundled Resources (if applicable)
- •
references/exists if content > 1500 words - • No duplicate content between SKILL.md and references/
- • Links to references work
- • Scripts are executable
- • Examples are complete and runnable
Integration
- • No conflicts with other skills in same plugin
- • References JARVIS patterns where relevant
Writing Best Practices
DO:
- •✅ Use third person in description ("This skill should be used when...")
- •✅ Include specific trigger phrases ("'create hook'", "'validate'")
- •✅ Use imperative form in body ("Create...", "Validate...", "Check...")
- •✅ Keep SKILL.md under 2000 words
- •✅ Move detailed content to references/
- •✅ Include comparison tables for options
- •✅ Provide ASCII diagrams for complex flows
- •✅ Link to references for detailed content
- •✅ Include "Common Issues & Fixes" table
DON'T:
- •❌ Use second person ("You should...", "You can...")
- •❌ Have vague triggers ("Provides guidance")
- •❌ Exceed 2000 words in SKILL.md
- •❌ Duplicate content between files
- •❌ Leave procedures vague ("do the thing")
- •❌ Skip validation checklists
- •❌ Include broken examples
Common Issues & Fixes
| Issue | Diagnosis | Fix |
|---|---|---|
| Skill not triggering | Vague description | Add specific "Triggers:" terms |
| Wrong person | "Use this skill when..." | Use "This skill should be used when..." |
| No triggers | Description lacks "Triggers:" | Add comma-separated trigger terms |
| Too long | SKILL.md > 2000 words | Move details to references/ |
| Passive voice | "is used to", "should be" | Rewrite with imperative verbs |
| Vague steps | "configure the thing" | Add numbered, specific steps |
| Missing checklist | No validation section | Add checkbox list |
| No examples | Procedures without examples | Add code blocks, templates |
| Duplicate content | Same info in SKILL.md and references | Keep in one place only |
When to Use This Skill
- •User asks to create a new skill
- •User asks to adapt a marketplace skill
- •User asks to validate skill structure
- •User asks to improve skill content or description
- •User asks about progressive disclosure or references
- •DEV-Manager detects skill issues during improvement cycle
- •Regular improvement cycle (~6 sessions)
Sync Protocol
Before executing any workflow:
- •Read JARVIS-04's skills-management SKILL.md
- •Check for policy updates
- •Apply current policy, not cached knowledge