Category Manager - Branch of JARVIS-01
Build and improve categories following the category-management policy.
Policy Source
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.
Quick Decision Tree
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
Category Overview
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 policy - •
plugins/- 4-Plugin Architecture
Workflow 1: Build New Category
Step 1: Determine Layer
| Range | Layer | Purpose | Example |
|---|---|---|---|
| 00-10 | Management | Build ecosystem infrastructure | JARVIS-07 MCP-Manager |
| 11+ | Execution | Control external system | JARVIS-11 Cloudflare |
Decision criteria:
- •Does it build tools for OTHER categories? → Management
- •Does it control ONE external API/system? → Execution
Step 2: Assign Number
# Check existing categories ls -d JARVIS-* | sort -t'-' -k2 -n
- •Management: Limited to 00-10, must be approved
- •Execution: Start from 11, take next available
Step 3: Create Full Structure
# 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
Step 4: Write CLAUDE.md
CLAUDE.md Structure
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]
CLAUDE.md Best Practices
- •Keep concise (500-2000 words ideal)
- •Use tables for structured data
- •Include practical examples
- •Update changelog on changes
- •Focus on actionable instructions
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]
Step 5: Configure settings.json
Settings.json Location
.claude/settings.json in category root
Basic Structure
{
"permissions": {
"allow": [],
"deny": []
}
}
With MCP Servers
{
"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}"
}
}
}
}
Permission Patterns
| 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 |
Settings.json Best Practices
- •Follow least privilege principle
- •Document why permissions exist
- •Test after changes
- •Use environment variables for secrets
- •Keep MCP configs minimal
Step 6: Create Primary Skill
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]
Step 7: Set Up 4 Plugins
| 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.
Step 8: Configure MCP (Execution Layer Only)
Work with JARVIS-07 to:
- •Build or adapt MCP server
- •Document all tools in Primary Skill
- •Configure .claude/mcp.json
- •Test tool coverage
Step 9: Validate
Run full validation checklist (see below).
Self-Improvement Cycle
Categories should run self-improvement periodically to maintain effectiveness.
When to Run
- •Every ~6 conversations
- •After completing major tasks
- •When issues or inefficiencies noticed
- •On explicit request
Self-Improvement Process
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
What to Improve
CLAUDE.md:
- •Add instructions for recurring tasks
- •Remove outdated information
- •Improve clarity and organization
- •Add learnings from conversations
- •Update MCP server documentation
Settings.json:
- •Add permissions for frequently used tools
- •Remove unnecessary permissions
- •Update MCP configurations
- •Fix broken server configs
Self-Improvement Best Practices
- •Make incremental changes
- •Preserve working configurations
- •Document all changes
- •Test after modifications
- •Review periodically
Workflow 2: Improve Existing Category
Step 1: Analyze Current State
# 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/
Step 2: Gap Analysis
| 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 |
Step 3: Apply Fixes
Priority order:
- •Critical: Missing CLAUDE.md or Primary Skill
- •High: Missing plugins
- •Medium: Outdated content
- •Low: Formatting, clarity
Step 4: Document Changes
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
Workflow 3: Migrate Category to New Standard
When category structure policy changes:
- •Backup current state
- •Compare with new standard (read Primary Skill)
- •Create migration plan
- •Apply changes incrementally
- •Validate each step
- •Document migration
Validation Checklist
Structure Checks
- • Directory named
JARVIS-XX-Name(XX = 2-digit number) - • Number matches layer (00-10 Management, 11+ Execution)
- • CLAUDE.md exists at root
- • CLAUDE.md has Role section
- • CLAUDE.md has Responsibilities section
Configuration Checks
- •
.claude/settings.jsonexists and valid JSON - •
.claude/mcp.jsonexists (if Execution layer) - • MCP servers documented in CLAUDE.md
Skill Checks
- • Primary Skill at
.claude/skills/[name]-management/SKILL.md - • SKILL.md has valid frontmatter (name, description)
- • Description has "Triggers:" section
- • references/ exists if SKILL.md > 1500 words
Plugin Checks
- •
plugins/orchestrator/exists - •
plugins/dev/exists - •
plugins/bigquery-[name]/exists - •
plugins/category-[name]/exists - • Each plugin has
.claude-plugin/plugin.json
Integration Checks
- • If Management 01-06: branch exists in plugin-dev
- • If Execution: MCP configured and tested
- • TASKS/ directory exists
Common Issues & Fixes
| 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 |
BigQuery Integration (Optional)
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
Tracked Metrics
- •Conversation count
- •Task types and frequency
- •Error patterns
- •Improvement effectiveness
Use bigquery-[name] plugin for data access.
When to Use This Skill
- •User asks to create a new JARVIS category
- •User asks to validate category compliance
- •User asks to fix category structure issues
- •User asks about CLAUDE.md structure or settings.json format
- •User asks about self-improvement cycle
- •DEV-Manager detects category problems during improvement cycle
- •Migrating categories to updated standard
- •Regular improvement cycle (~6 sessions)
Sync Protocol
Before executing any workflow:
- •Read JARVIS-01's category-management SKILL.md
- •Check for policy updates
- •Apply current policy, not cached knowledge