Branch skill for building and improving categories. Use when creating new categories, validating category structure, improving existing categories, or migrating categories to new standard. Triggers: 'create category', 'improve category', 'validate category structure', 'fix category', 'category compliance', 'migrate category', 'JARVIS-XX structure', 'CLAUDE.md structure', 'settings.json format', 'self-improvement cycle'.
Builds and validates complete JARVIS categories with CLAUDE.md, settings.json, 4 plugins, and Primary Skill. Triggers on 'create category', 'validate category structure', 'fix category', or 'migrate category' requests.
/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 categories following the category-management policy.
Primary policy: JARVIS-01 → .claude/skills/category-management/SKILL.md
This branch executes the policy defined by JARVIS-01. Always sync with Primary before major operations.
Task Received
│
├── Create new category? ────────────> Workflow 1: Build
│
├── Fix existing category? ──────────> Workflow 2: Improve
│
├── Validate category? ──────────────> Validation Checklist
│
├── Migrate to new standard? ────────> Workflow 3: Migrate
│
└── Self-improvement cycle? ─────────> Self-Improvement Process
Each JARVIS category maintains effective configuration through:
CLAUDE.md - Main Agent instructions at category root.claude/settings.json - Tool permissions and MCP configurations.claude/mcp.json - MCP server definitions (Execution layer).claude/skills/ - Primary Skill defining category policyplugins/ - 4-Plugin Architecture| Range | Layer | Purpose | Example |
|---|---|---|---|
| 00-10 | Management | Build ecosystem infrastructure | JARVIS-07 MCP-Manager |
| 11+ | Execution | Control external system | JARVIS-11 Cloudflare |
Decision criteria:
# Check existing categories
ls -d JARVIS-* | sort -t'-' -k2 -n
# Create all directories at once
mkdir -p JARVIS-XX-Name/{.claude/skills/[name]-management/references,plugins/{orchestrator,dev,bigquery-[name],category-[name]},TASKS}
Expected structure:
JARVIS-XX-Category-Name/
├── CLAUDE.md <- Category identity (REQUIRED)
├── .claude/
│ ├── settings.json <- Tool permissions
│ ├── mcp.json <- MCP config (Execution layer)
│ └── skills/
│ └── [name]-management/ <- Primary Skill
│ ├── SKILL.md <- REQUIRED
│ └── references/ <- Optional details
├── plugins/ <- 4 Plugins (REQUIRED)
│ ├── orchestrator/ <- Shared - task routing
│ ├── dev/ <- Shared - self-improvement
│ ├── bigquery-[name]/ <- Template - data access
│ └── category-[name]/ <- Unique - domain logic
└── TASKS/ <- Task tracking
└── TASK-XX-[name]/
└── README.md
Minimal Template (for new categories):
# JARVIS-XX-CategoryName
## Role
[One sentence describing primary function]
## Responsibilities
- [Key responsibility 1]
- [Key responsibility 2]
- [Key responsibility 3]
## MCP Servers
| Server | Location | Purpose |
|--------|----------|---------|
| vault | VPS | Secrets management |
| supabase-common | CloudRun | Database access |
## Quick Reference
[Most common commands or patterns]
Full Template (for mature categories):
# JARVIS-XX-CategoryName
## Role
[Category's primary function and domain expertise]
## Responsibilities
- [Responsibility 1]
- [Responsibility 2]
- [Responsibility 3]
## MCP Servers
| Server | Location | Purpose |
|--------|----------|---------|
| server1 | VPS/CloudRun/Local | Description |
## Schemas (if database access)
| Schema | Purpose |
|--------|---------|
| schema1 | Description |
## Common Tasks
### Task Type 1
[Step-by-step instructions]
### Task Type 2
[Step-by-step instructions]
## Best Practices
- [Practice 1]
- [Practice 2]
## Integration Points
- **Category XX**: [How they interact]
- **Category YY**: [How they interact]
## Learnings
- [Learning 1 from previous conversations]
- [Learning 2]
## Changelog
- YYYY-MM-DD: [Change description]
Management Layer Template:
# JARVIS-XX-CategoryName
## Role
[Category function] for the JARVIS AI Ecosystem.
## Responsibilities
- Define [domain] policy for all categories
- Maintain [domain] standards
- Support categories in [domain] tasks
## Integration
- **Plugin-dev branch**: [branch-name]
- **Primary Skill**: [skill-name]-management
## Quick Reference
[Most common operations for this category]
Execution Layer Template:
# JARVIS-XX-CategoryName
## Role
Control [External System] via MCP with full coverage.
## Responsibilities
- Manage [System] resources
- Automate [System] operations
- Monitor [System] status
## MCP Servers
| Server | Location | Coverage | Purpose |
|--------|----------|----------|---------|
| [name] | CloudRun | 90%+ | [Description] |
## Schemas (BigQuery)
| Schema | Purpose |
|--------|---------|
| jarvis_XX_[name] | [Data stored] |
## Quick Reference
[Most common MCP operations]
.claude/settings.json in category root
{
"permissions": {
"allow": [],
"deny": []
}
}
{
"permissions": {
"allow": [
"Bash(npm:*)",
"Bash(git:*)",
"mcp__vault__*"
],
"deny": [
"Bash(rm -rf:*)"
]
},
"mcpServers": {
"vault": {
"command": "npx",
"args": ["-y", "@anthropic/mcp-vault"],
"env": {
"VAULT_ADDR": "${VAULT_ADDR}"
}
}
}
}
| Pattern | Meaning |
|---|---|
Bash(npm:*) | Allow npm commands |
Bash(git:*) | Allow git commands |
mcp__server__* | Allow all tools from MCP server |
mcp__server__tool | Allow specific MCP tool |
Read(path/**) | Allow reading from path |
Write(path/**) | Allow writing to path |
Follow skills-manager for full details. Minimum:
---
name: [category]-management
description: "This skill [function]. Use when [conditions]. Triggers: '[trigger1]', '[trigger2]'."
---
# [Category] Management - JARVIS-XX
[Core concept in 2-3 sentences]
## When to Use This Skill
- [Condition 1]
- [Condition 2]
## Core Workflows
### Workflow 1: [Name]
1. [Step]
2. [Step]
## Validation Checklist
- [ ] [Check 1]
- [ ] [Check 2]
## Reference Files
- [references/detail.md](references/detail.md) - [Description]
| Plugin | Action |
|---|---|
| orchestrator | Copy from shared source (identical) |
| dev | Copy from shared source (identical) |
| bigquery-[name] | Create from template, update table list |
| category-[name] | Create custom with domain agents/skills |
Use plugins-manager for detailed plugin creation.
Work with JARVIS-07 to:
Run full validation checklist (see below).
Categories should run self-improvement periodically to maintain effectiveness.
1. Analyze Current State
├── Read CLAUDE.md
├── Read settings.json
└── Review recent patterns
2. Identify Improvements
├── Missing instructions
├── Outdated information
├── Permission gaps
└── New learnings
3. Apply Changes
├── Update CLAUDE.md
├── Update settings.json
└── Document changes
4. Validate
├── Test configurations
└── Verify no breakage
CLAUDE.md:
Settings.json:
# Run category audit
ls -la JARVIS-XX-Name/
cat JARVIS-XX-Name/CLAUDE.md
cat JARVIS-XX-Name/.claude/skills/*/SKILL.md
ls JARVIS-XX-Name/plugins/
| Component | Check | Common Issues |
|---|---|---|
| CLAUDE.md | Exists? Up to date? | Missing MCP docs, outdated responsibilities |
| Primary Skill | Complete? References? | Missing triggers, no validation checklist |
| settings.json | Permissions correct? | Missing MCP tool permissions |
| 4 Plugins | All present? | Missing plugin directories |
| mcp.json | Configured? (Execution) | Wrong server URLs |
Priority order:
Create task record:
# TASK-XX-Category-Improvement
## Date: YYYY-MM-DD
## Changes Made
- [ ] Updated CLAUDE.md with [changes]
- [ ] Added missing [component]
- [ ] Fixed [issue]
## Validation
- [ ] All checks pass
- [ ] Tested functionality
When category structure policy changes:
JARVIS-XX-Name (XX = 2-digit number).claude/settings.json exists and valid JSON.claude/mcp.json exists (if Execution layer).claude/skills/[name]-management/SKILL.mdplugins/orchestrator/ existsplugins/dev/ existsplugins/bigquery-[name]/ existsplugins/category-[name]/ exists.claude-plugin/plugin.json| Issue | Diagnosis | Fix |
|---|---|---|
| Missing CLAUDE.md | ls JARVIS-XX/CLAUDE.md returns nothing | Create from template above |
| Wrong layer number | Category 15 doing management work | Renumber or reassign responsibilities |
| No Primary Skill | .claude/skills/ empty | Create following skills-manager |
| Missing plugins | ls plugins/ shows < 4 dirs | Create missing plugin directories |
| Outdated content | CLAUDE.md references old tools | Update with current MCP tools |
| No mcp.json | Execution category without MCP | Work with JARVIS-07 to create |
Categories can track metrics in BigQuery for analytics and improvement:
bigquery.jarvis_analytics.
├── jarvis_XX_conversations # Conversation logs
├── jarvis_XX_improvements # Improvement history
└── jarvis_XX_metrics # Performance metrics
Use bigquery-[name] plugin for data access.
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.