Files
FoundryVTT/.claude/TEMPLATE_CAPABILITIES_ANALYSIS.md
2025-11-06 14:04:48 +01:00

25 KiB

Claude Code Template Capabilities Analysis

Analysis Date: 2025-10-20 Purpose: Comprehensive review of all template files against official Claude Code documentation Focus: Identify missing capabilities, improvement opportunities, and well-implemented features


Executive Summary

Overall Assessment

The templates demonstrate strong foundation with comprehensive guidance, but are missing several key Claude Code capabilities documented in official sources. The templates excel at providing structure and MCP integration but lack proper frontmatter configuration examples and some advanced features.

Completeness Score by Template

Template Coverage Missing Critical Features Grade
Commands Template 75% model frontmatter, comprehensive allowed-tools examples B+
Agent Template 70% allowed-tools, model, disable-model-invocation B
Skills Template 65% model frontmatter, minimal allowed-tools examples B-
Output Styles Template 80% Model selection guidance A-
CLAUDE.md Template 90% Extended thinking instructions A

1. Commands Template (.COMMANDS_TEMPLATE.md)

Well-Implemented Features

  1. Argument Handling EXCELLENT

    • Comprehensive documentation of $ARGUMENTS, $1, $2, $3
    • Clear examples showing usage
    • Multiple scenarios covered (lines 69-88)
  2. File References with @ Syntax EXCELLENT

    • Well-documented with examples (lines 137-145, 377-390)
    • Multiple use cases shown
    • Integration with arguments demonstrated
  3. Bash Execution with ! Prefix GOOD

    • Documented with examples (lines 125-134, 363-375)
    • Shows inline execution pattern
  4. Description Field EXCELLENT

    • Extensive guidance on writing descriptions (lines 274-289)
    • Good vs poor examples provided
    • Emphasizes visibility in /help
  5. argument-hint Field GOOD

    • Documented with examples (lines 11-14, 318-338)
    • Shows format and usage
  6. disable-model-invocation Field GOOD

    • Documented (lines 16-18, 407-425)
    • Use case explained clearly
  7. MCP Server Integration EXCELLENT

    • Comprehensive section (lines 36-67)
    • Clear distinction between Serena (persistent) and Memory (temporary)

Missing or Incomplete Features

  1. model Frontmatter Field 🔴 CRITICAL MISSING

    • What's Missing: No documentation of the model frontmatter option
    • Official Doc: "model: Designates a specific AI model for execution"
    • Impact: Users cannot optimize model selection per command
    • Recommendation: Add section on model selection strategy
    # SHOULD ADD:
    model: claude-3-5-sonnet-20241022
    # or: claude-3-5-haiku-20241022 (for fast, simple commands)
    # or: claude-opus-4-20250514 (for complex reasoning)
    
  2. allowed-tools Comprehensive Patterns 🟡 INCOMPLETE

    • Current State: Basic examples exist (lines 292-307)
    • What's Missing:
      • More sophisticated pattern matching examples
      • Tool inheritance explanation
      • Bash command-specific patterns like Bash(git status:*)
    • Official Doc: "allowed-tools: Bash(git status:), Bash(git add:), Read(*)"
    • Recommendation: Expand with real-world pattern examples
    # SHOULD ADD MORE EXAMPLES:
    allowed-tools: Bash(git *:*), Read(*), Grep(*)  # All git commands
    allowed-tools: Bash(npm test:*), Read(*), Grep(*)  # Specific npm commands
    allowed-tools: mcp__*  # All MCP tools
    
  3. Extended Thinking Integration 🟡 MISSING

    • What's Missing: No mention of extended thinking capabilities
    • Official Doc: "Commands can trigger extended thinking by including relevant keywords"
    • Impact: Users don't know commands can leverage extended thinking
    • Recommendation: Add section on triggering extended thinking
    # SHOULD ADD:
    ## Extended Thinking in Commands
    
    Commands can trigger extended thinking by using specific phrases:
    - "think" - Basic extended thinking
    - "think hard" - More computation
    - "think harder" - Even more computation
    - "ultrathink" - Maximum thinking budget
    
  4. Tool Permission Inheritance 🟡 MISSING

    • What's Missing: No explanation of how tools inherit from conversation settings
    • Official Doc: "Inheritance from conversation settings as default"
    • Impact: Confusion about when allowed-tools is needed

💡 Improvement Opportunities

  1. Better Tool Pattern Documentation

    • Add table of common tool patterns
    • Explain wildcard matching rules
    • Show precedence and inheritance
  2. Model Selection Strategy Section

    ### Choosing the Right Model
    
    | Task Type | Recommended Model | Why |
    |-----------|-------------------|-----|
    | Quick status checks | Haiku | Fast, cost-effective |
    | Code generation | Sonnet | Balanced speed/quality |
    | Architecture review | Opus | Deep reasoning required |
    | Simple text display | N/A | Use disable-model-invocation |
    
  3. Command Performance Optimization

    • Add guidance on when to disable model invocation
    • Explain token efficiency strategies

2. Agent Template (.AGENT_TEMPLATE.md)

Well-Implemented Features

  1. Technology Adaptation Section EXCELLENT

    • Strong integration with CLAUDE.md (lines 38-50)
    • Clear workflow instructions
  2. MCP Server Integration EXCELLENT

    • Comprehensive documentation (lines 150-205)
    • Clear distinction between persistent and temporary storage
    • Good use case examples
  3. Output Format Structure GOOD

    • Well-defined sections (lines 78-94)
    • Consistent pattern
  4. Guidelines Section GOOD

    • Clear Do's and Don'ts (lines 97-108)

Missing or Incomplete Features

  1. Frontmatter Configuration 🔴 CRITICAL MISSING

    • What's Missing: Agent template has minimal frontmatter (only name and description)
    • Official Doc: Agents support allowed-tools, model, and other options
    • Impact: Cannot configure agent tool permissions or model selection
    • Recommendation: Add complete frontmatter documentation
    # SHOULD ADD TO TEMPLATE:
    ---
    name: agent-name-here
    description: Clear description of when this agent should be invoked
    allowed-tools: Read(*), Grep(*), Glob(*), Bash(git *:*)
    model: claude-3-5-sonnet-20241022
    ---
    
  2. allowed-tools Field 🔴 CRITICAL MISSING

    • What's Missing: No documentation of tool restrictions for agents
    • Official Doc: "Subagent files define specialized AI assistants with custom prompts and tool permissions"
    • Impact: Cannot create security-restricted agents
    • Use Case: Read-only review agents, git-only agents
  3. model Field 🔴 CRITICAL MISSING

    • What's Missing: No model selection guidance for agents
    • Impact: Cannot optimize agent performance/cost
    • Recommendation: Add model selection per agent type
  4. Agent Storage Locations 🟡 INCOMPLETE

    • Current State: References "Notes" about cwd reset (line 206)
    • What's Missing:
      • User vs Project agent distinction
      • ~/.claude/agents/ (user-wide)
      • .claude/agents/ (project-specific)
    • Official Doc: Clear distinction between user and project subagents
  5. Agent Invocation Mechanism 🟡 MISSING

    • What's Missing: No explanation of how agents are invoked
    • Should Add:
      • Model-invoked vs user-invoked
      • How descriptions affect discovery
      • Trigger keyword optimization

💡 Improvement Opportunities

  1. Add Frontmatter Reference Section

    ## Frontmatter Configuration
    
    Agents support these frontmatter options:
    
    - `name`: Agent display name (shown in agent selection)
    - `description`: Discovery description (CRITICAL for activation)
    - `allowed-tools`: Restrict tools agent can use
    - `model`: Override default model for this agent
    
  2. Tool Restriction Examples

    ## Example Agent Configurations
    
    ### Read-Only Security Reviewer
    ```yaml
    allowed-tools: Read(*), Grep(*), Glob(*)
    

    Git Operations Agent

    allowed-tools: Bash(git *:*), Read(*), Edit(*)
    
    
    
  3. Agent Performance Optimization

    • Add section on choosing appropriate model per agent type
    • Document token efficiency strategies

3. Skills Template (.SKILL_TEMPLATE.md)

Well-Implemented Features

  1. Discovery Description EXCELLENT

    • Strong guidance on writing descriptions (lines 187-204)
    • Emphasizes trigger keywords
    • Good vs poor examples
  2. Progressive Disclosure EXCELLENT

    • Well-documented pattern (lines 246-260)
    • Explains on-demand loading
    • Multi-file structure guidance
  3. Tool Permissions Section GOOD

    • Documents allowed-tools (lines 4-11, 141-146, 206-213)
    • Provides examples
  4. When to Use Guidance GOOD

    • Clear activation conditions (lines 43-58)
    • Testing checklist (lines 160-173)

Missing or Incomplete Features

  1. model Frontmatter Field 🔴 CRITICAL MISSING

    • What's Missing: No documentation of model selection for skills
    • Official Doc: Skills support model specification in frontmatter
    • Impact: Cannot optimize skill performance
    • Recommendation: Add model selection guidance
    # SHOULD ADD:
    ---
    name: Skill Name
    description: What it does and when to use it
    allowed-tools: Read, Grep, Glob
    model: claude-3-5-sonnet-20241022  # Optional: override default
    ---
    
  2. Skill vs Command Distinction 🟡 INCOMPLETE

    • Current State: Basic guidance exists (lines 427-453)
    • What's Missing:
      • Model-invoked vs user-invoked emphasis
      • Discovery mechanism explanation
    • Official Doc: "Skills are model-invoked—Claude autonomously decides when to use them"
  3. Skill Directory Structure 🟡 INCOMPLETE

    • Current State: Multi-file structure shown (lines 215-230)
    • What's Missing:
      • Required SKILL.md naming convention
      • Plugin skills vs personal vs project distinction
    • Official Doc: "SKILL.md (required) - instructions with YAML frontmatter"
  4. Tool Pattern Examples 🟡 MINIMAL

    • Current State: Basic examples only
    • What's Missing:
      • Advanced pattern matching
      • MCP tool integration patterns
      • Bash command-specific patterns

💡 Improvement Opportunities

  1. Add Model Selection Section

    ## Choosing the Right Model
    
    Some skills benefit from specific models:
    - **Data processing skills**: Haiku (fast iteration)
    - **Code generation skills**: Sonnet (balanced)
    - **Architecture analysis**: Opus (deep reasoning)
    
  2. Strengthen Discovery Guidance

    ## Optimizing Skill Discovery
    
    Skills are **model-invoked**, meaning Claude decides when to activate them.
    To improve discovery:
    
    1. Include exact terms users would say
    2. List file types the skill handles (.pdf, .xlsx)
    3. Mention operations (analyze, convert, generate)
    4. Reference technologies (React, Python, Docker)
    
  3. Required File Naming

    ## Critical: File Naming Convention
    
    The main skill file MUST be named `SKILL.md`:
    
    

    .claude/skills/ └── pdf-processing/ ├── SKILL.md # Required, exact name ├── reference.md # Optional └── scripts/ # Optional


4. Output Styles Template (.OUTPUT_STYLES_TEMPLATE.md)

Well-Implemented Features

  1. Comprehensive Behavior Definition EXCELLENT

    • Detailed characteristics sections (lines 17-34)
    • Clear DO/DON'T lists (lines 42-53)
    • Response structure templates (lines 55-67)
  2. Use Case Guidance EXCELLENT

    • Ideal vs not ideal scenarios (lines 86-94)
    • Multiple examples (lines 96-146)
    • Comparison to other styles (lines 148-157)
  3. Customization Options GOOD

    • Variant suggestions (lines 159-174)
    • Context-specific adaptations (lines 188-198)
  4. Integration Guidance GOOD

    • Works with commands, skills, agents (lines 254-267)
  5. Testing Checklist GOOD

    • Clear validation criteria (lines 287-299)

Missing or Incomplete Features

  1. Model Selection for Output Styles 🟡 INCOMPLETE

    • Current State: Basic mention (lines 207-210)
    • What's Missing:
      • No frontmatter configuration for model
      • Unclear if output styles can specify model preference
    • Official Doc: Limited information on output style model configuration
    • Recommendation: Add clarification if model can be specified
  2. Frontmatter Options 🟡 MINIMAL

    • Current State: Only name and description shown (lines 1-4)
    • What's Missing:
      • Are other frontmatter options supported?
      • Can output styles specify allowed-tools?
    • Recommendation: Document all supported frontmatter fields
  3. System Prompt Replacement Mechanism 🟡 GOOD BUT COULD BE CLEARER

    • Current State: Mentioned that styles "replace" prompt (line in template)
    • What's Missing:
      • Technical details of how replacement works
      • What capabilities are preserved
      • Limitations or constraints

💡 Improvement Opportunities

  1. Add Model Configuration Section (if supported)

    ## Model Selection (Optional)
    
    If your output style has specific model requirements:
    
    ```yaml
    ---
    name: Ultra-Detailed Reviewer
    description: Comprehensive analysis style
    model: claude-opus-4-20250514  # Requires most powerful model
    ---
    
    
    
  2. Clarify Frontmatter Options

    ## Frontmatter Configuration
    
    Output styles support these fields:
    - `name`: Style display name
    - `description`: Brief explanation of style
    - `model` (if supported): Preferred model
    - Note: Output styles do NOT support `allowed-tools` (tools controlled by conversation)
    
  3. Technical Details Section

    ## How Output Styles Work
    
    - Replaces entire system prompt
    - Preserves all tool capabilities
    - Does not affect agent/skill/command behavior
    - Active for entire conversation until changed
    

5. CLAUDE_TEMPLATE.md

Well-Implemented Features

  1. Comprehensive Project Documentation EXCELLENT

    • Technology stack (lines 29-64)
    • Code style guidelines (lines 106-322)
    • Testing requirements (lines 324-399)
    • Git workflow (lines 401-540)
  2. Claude Code Integration Section EXCELLENT

    • Specific instructions for Claude (lines 935-969)
    • Clear behavioral expectations
    • Integration with other features mentioned
  3. Environment Configuration EXCELLENT

    • Detailed env vars (lines 638-682)
    • Environment-specific configs
  4. API Documentation GOOD

    • Structure and patterns (lines 684-729)

Missing or Incomplete Features

  1. Extended Thinking Instructions 🟡 MISSING

    • What's Missing: No guidance on when/how to use extended thinking
    • Official Doc: Extended thinking is a key Claude Code capability
    • Impact: Users don't know to use "think", "think hard", etc.
    • Recommendation: Add section in "Claude Code Specific Instructions"
    ### Extended Thinking
    
    For complex problems, use extended thinking:
    - `think` - Basic extended thinking
    - `think hard` - Moderate computation increase
    - `think harder` - Significant computation increase
    - `ultrathink` - Maximum thinking budget
    
    Use for:
    - Architecture decisions
    - Complex debugging
    - Security analysis
    - Performance optimization
    
  2. Hooks Integration 🟡 MINIMAL

    • Current State: Mentioned briefly (line 232)
    • What's Missing:
      • Available hooks (session-start, session-end, pre-bash, post-write, user-prompt-submit)
      • When to use each hook
      • Integration examples
  3. MCP Server Configuration 🟡 MISSING

    • What's Missing: No section on which MCP servers are available
    • Impact: Claude doesn't know which MCP capabilities exist
    • Recommendation: Add MCP servers section

💡 Improvement Opportunities

  1. Add Extended Thinking Section

    ## Extended Thinking Usage
    
    This project leverages Claude's extended thinking for:
    
    ### When to Use Extended Thinking
    - [ ] Architecture decisions
    - [ ] Complex refactoring plans
    - [ ] Security vulnerability analysis
    - [ ] Performance optimization strategies
    - [ ] Debugging complex race conditions
    
    ### How to Trigger
    - Prefix requests with "think", "think hard", "think harder", or "ultrathink"
    - Each level increases computational budget
    
  2. Add Hooks Section

    ## Project Hooks
    
    This project uses the following hooks (`.claude/hooks/`):
    
    - **session-start.sh**: Executed when Claude Code starts
      - Purpose: [What it does]
    - **pre-bash.sh**: Executed before bash commands
      - Purpose: [What it does]
    - **post-write.sh**: Executed after file writes
      - Purpose: [What it does]
    - **user-prompt-submit.sh**: Executed after user submits prompt
      - Purpose: [What it does]
    - **session-end.sh**: Executed when session ends
      - Purpose: [What it does]
    
  3. Add MCP Servers Section

    ## Available MCP Servers
    
    This project has access to the following MCP servers:
    
    ### Serena MCP
    - Symbol-based code navigation
    - Persistent memory storage
    - Refactoring operations
    
    ### Memory MCP
    - In-memory knowledge graph
    - Temporary session context
    - Entity relationship tracking
    
    ### Context7 MCP
    - Real-time library documentation
    - Framework best practices
    - Code examples
    
    ### Playwright MCP
    - Browser automation
    - E2E testing capabilities
    - UI interaction
    
    ### Fetch MCP
    - Web content retrieval
    - API testing
    

Missing Capabilities Summary Table

Capability Commands Agents Skills Output Styles CLAUDE.md
model frontmatter 🔴 Missing 🔴 Missing 🔴 Missing 🟡 Partial N/A
allowed-tools patterns 🟡 Basic 🔴 Missing 🟡 Basic N/A N/A
Extended thinking 🔴 Missing 🔴 Missing 🔴 Missing N/A 🔴 Missing
Tool inheritance 🔴 Missing 🔴 Missing 🔴 Missing N/A N/A
Storage locations Good 🟡 Partial 🟡 Partial Good N/A
Invocation mechanism Good 🟡 Missing 🟡 Partial Good N/A
Model selection strategy 🟡 Partial 🔴 Missing 🔴 Missing 🟡 Partial N/A
MCP integration Excellent Excellent Good Good 🔴 Missing
Hooks integration 🟡 Mentioned 🟡 Mentioned 🟡 Mentioned 🟡 Mentioned 🟡 Minimal

Legend:

  • Well-implemented
  • 🟡 Partial/needs improvement
  • 🔴 Missing or critically incomplete
  • N/A = Not applicable

Priority Recommendations

🔥 Critical (Must Add)

  1. Add model frontmatter to all templates

    • Commands Template: Lines 4-5 (add after allowed-tools)
    • Agent Template: Lines 3-4 (add to frontmatter example)
    • Skills Template: Lines 5-6 (add to frontmatter)
    • Add model selection strategy sections to each
  2. Expand allowed-tools documentation

    • Add comprehensive pattern examples
    • Show Bash command-specific patterns
    • Document tool inheritance
    • Add MCP tool patterns
  3. Add extended thinking documentation

    • Commands Template: New section after "Advanced Features"
    • Agent Template: New section in workflow
    • CLAUDE.md: New section in "Claude Code Specific Instructions"

🟡 High Priority (Should Add)

  1. Document agent/skill invocation mechanisms

    • Agent Template: Add "How This Agent is Invoked" section
    • Skills Template: Strengthen "Skills are model-invoked" emphasis
  2. Add frontmatter configuration sections

    • Agent Template: Complete frontmatter documentation
    • Output Styles Template: Clarify supported frontmatter fields
  3. Enhance storage location documentation

    • All templates: Add clear user vs project distinction
    • Document plugin integration paths

🔵 Medium Priority (Nice to Have)

  1. Add model selection strategies

    • Performance vs cost tradeoffs
    • Task-appropriate model selection
    • Token efficiency guidance
  2. Expand hooks integration

    • CLAUDE.md: Add comprehensive hooks section
    • All templates: Reference available hooks
  3. Add MCP server documentation

    • CLAUDE.md: Add "Available MCP Servers" section
    • List capabilities and use cases

Strengths of Current Templates

What's Already Excellent

  1. MCP Integration 🏆

    • Best-in-class documentation of Serena vs Memory MCP usage
    • Clear persistent vs temporary distinction
    • Excellent use case examples
  2. Argument Handling 🏆

    • Comprehensive $ARGUMENTS, $1, $2 documentation
    • Multiple examples and patterns
    • Clear integration with other features
  3. File References 🏆

    • Well-documented @ syntax
    • Good examples across multiple scenarios
    • Integration with arguments shown
  4. Code Style Guidelines 🏆

    • CLAUDE_TEMPLATE.md provides exceptional detail
    • Real-world examples throughout
    • Technology-agnostic patterns
  5. Discovery and Description Writing 🏆

    • Strong guidance on writing descriptions
    • Good vs poor examples
    • Trigger keyword emphasis

Comparison to Official Documentation

Areas Where Templates Exceed Official Docs

  1. MCP Server Integration

    • Templates provide much more detail than official docs
    • Clear persistent vs temporary storage guidance
    • Practical use cases
  2. Code Style Standards

    • CLAUDE_TEMPLATE.md is far more comprehensive
    • Production-ready patterns
    • Team workflow integration
  3. Examples and Use Cases

    • Templates provide significantly more examples
    • Multiple scenarios covered
    • Real-world patterns

Areas Where Official Docs Have More Detail

  1. Frontmatter Configuration

    • Official docs clearly list all frontmatter options
    • Templates missing model field documentation
    • Tool inheritance explained in official docs
  2. Extended Thinking

    • Official docs explain thinking budget levels
    • Templates have no mention of this capability
  3. Invocation Mechanisms

    • Official docs clearly distinguish model-invoked vs user-invoked
    • Templates don't emphasize this critical difference

Action Items for Template Updates

Commands Template

  • Add model frontmatter field with examples
  • Expand allowed-tools with pattern matching guide
  • Add extended thinking section
  • Add tool inheritance explanation
  • Add model selection strategy table

Agent Template

  • Add complete frontmatter section with all options
  • Add allowed-tools field with examples
  • Add model field with selection guidance
  • Add "How This Agent is Invoked" section
  • Clarify user vs project agent storage
  • Add model-invoked vs user-invoked explanation

Skills Template

  • Add model frontmatter field
  • Strengthen "model-invoked" emphasis
  • Add required SKILL.md naming convention
  • Expand tool pattern examples
  • Add model selection strategy
  • Add discovery optimization section

Output Styles Template

  • Add model configuration guidance (if supported)
  • Clarify all supported frontmatter options
  • Add technical details of prompt replacement
  • Expand model selection recommendations

CLAUDE.md Template

  • Add extended thinking section
  • Add comprehensive hooks section
  • Add MCP servers section
  • Add model selection guidance
  • Add extended thinking use cases

Conclusion

The templates provide an excellent foundation with particularly strong coverage of:

  • MCP server integration
  • Argument handling and file references
  • Code style and team workflows
  • Discovery and description writing

However, they are missing critical capabilities from the official documentation:

  • model frontmatter configuration (all templates)
  • Extended thinking integration (all templates)
  • Comprehensive allowed-tools patterns (commands, agents, skills)
  • Invocation mechanism clarity (agents, skills)

Recommendation: Prioritize adding the "Critical" items listed above to bring templates to 95%+ completeness with official Claude Code capabilities.


Analysis performed by: Code Reviewer Agent Date: 2025-10-20 Templates Reviewed: 5 Official Docs Consulted: docs.claude.com Missing Capabilities Identified: 15+ Well-Implemented Features: 20+