Branch skill for building and improving skills. Use when creating new skills, adapting marketplace skills, validating skill structure, writing progressive disclosure, or improving existing skills. Triggers: 'create skill', 'improve skill', 'validate skill', 'fix skill', 'skill frontmatter', 'progressive disclosure', 'adapt skill', 'SKILL.md', 'skill references'.
Branch skill for building and improving skills. Use when creating new skills, adapting marketplace skills, validating skill structure, writing progressive disclosure, or improving existing skills. Triggers: 'create skill', 'improve skill', 'validate skill', 'fix skill', 'skill frontmatter', 'progressive disclosure', 'adapt skill', 'SKILL.md', 'skill references'.
/plugin marketplace add henmessi/plugin-dev/plugin install henmessi-plugin-dev@henmessi/plugin-devThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Build and improve skills following the skills-management policy.
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.
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
Skills are modular, self-contained packages that extend Claude's capabilities by providing specialized knowledge, workflows, and tools.
What Skills Provide:
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)
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 |
| 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 |
Answer these questions:
| Question | Answer → Type |
|---|---|
| Defines policy for JARVIS? | Primary skill |
| Executes policy from Primary? | Branch skill |
| Provides domain knowledge? | Domain skill |
---
name: skill-name
description: "This skill [does what]. Use when [conditions]. Triggers: '[trigger1]', '[trigger2]', '[trigger3]'."
---
Description Requirements:
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."
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]
| 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
Run full validation checklist.
# Read skill
cat skills/[name]/SKILL.md
# Check word count
wc -w skills/[name]/SKILL.md
# Check references
ls skills/[name]/references/
| 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/ |
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:
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
Run full validation checklist.
When taking a skill from wshobson-agents, obra-superpowers, or similar:
cat marketplace-plugin/skills/[skill]/SKILL.md
ls marketplace-plugin/skills/[skill]/references/
Note:
| 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 |
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'."
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`
Run full validation checklist.
Claude Code automatically discovers skills:
skills/ directory in pluginSKILL.mdSkill locations:
| Location | Scope |
|---|---|
| plugin/skills/ | Available when plugin installed |
| .claude/skills/ | Available in project |
| ~/.claude/skills/ | Available in all projects |
SKILL.md in skill subdirectory--- markersname: lowercase, hyphens, 3-50 charactersdescription: uses third person ("This skill should be used when...")description: has "Use when" clause with conditionsdescription: has "Triggers:" with 3+ specific termsreferences/ exists if content > 1500 wordsDO:
DON'T:
| 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 |
Before executing any workflow:
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.