expertise-file-design

Expertise File Design

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "expertise-file-design" with this command: npx skills add melodic-software/claude-code-plugins/melodic-software-claude-code-plugins-expertise-file-design

Expertise File Design

Guide for designing YAML expertise files that serve as mental models for agent experts.

MANDATORY: Act-Learn-Reuse Context

Expertise files are mental models, NOT sources of truth. They:

  • Accelerate agent execution by pre-loading domain knowledge

  • Are maintained by self-improve prompts, not humans

  • Validate against the actual codebase (source of truth)

  • Have enforced line limits to protect context windows

When to Use

  • Creating mental models for new domain-specific agents

  • Defining expertise schema structures (YAML)

  • Structuring knowledge for Act-Learn-Reuse workflows

  • Reviewing or auditing existing expertise file designs

  • Setting up line limits and section priorities

Expertise File Structure

Core Template

{domain}/expertise.yaml

Mental model for {domain} agent expert

Last updated: {timestamp}

Lines: {current}/{max}

overview: description: "Brief description of this domain" primary_technology: "Main tech/framework" architecture_pattern: "Key pattern used"

core_implementation: main_module: file: "path/to/main/file.ext" lines: approximate_line_count purpose: "What this module does" key_exports: - name: "FunctionOrClass" type: "function|class|constant" purpose: "Brief description"

supporting_modules: - file: "path/to/support.ext" purpose: "Supporting functionality"

schema_structure: # For database/API domains entities: entity_name: fields: - name: "field_name" type: "data_type" constraints: "nullable, unique, etc." relationships: - target: "other_entity" type: "one-to-many|many-to-many"

key_operations: operation_category: operation_name: function: "function_name" file: "path/to/file.ext" signature: "func(param: Type) -> ReturnType" logic: "Brief description of what it does" edge_cases: - "Important edge case 1" - "Important edge case 2"

patterns_and_conventions: naming: - "Convention description" error_handling: - "How errors are handled" data_flow: - "How data moves through system"

best_practices:

  • "Practice 1: Explanation"
  • "Practice 2: Explanation"

known_issues:

  • issue: "Issue description" workaround: "How to handle it" status: "open|resolved|wontfix"

integration_points:

  • system: "External system name" method: "How integration works" considerations: "Important notes"

testing_notes:

  • "How to test this domain"
  • "Key test scenarios"

Line Limits

Domain Complexity Max Lines Guidance

Small/Focused 300 Single module, simple operations

Medium 500-600 Multiple modules, moderate complexity

Large/Complex 800-1000 Full subsystem, many operations

Absolute Max 1000 Never exceed - split into sub-experts

Section Priority

When approaching line limits, prioritize sections in this order:

  • core_implementation - Essential for navigation

  • key_operations - Critical for task execution

  • best_practices - Prevents mistakes

  • known_issues - Avoids wasted effort

  • patterns_and_conventions - Nice to have

  • testing_notes - Can reference external docs

Domain-Specific Templates

Database Domain

overview: database_system: "PostgreSQL|MySQL|MongoDB|etc" orm_pattern: "Raw SQL|ORM name|Query builder" connection_strategy: "Pooling|Single|Per-request"

schema_structure: tables: table_name: purpose: "What this table stores" primary_key: "id (UUID|INT)" fields: [...] indexes: [...] foreign_keys: [...]

key_operations: crud: create: {function: "", file: "", logic: ""} read: {function: "", file: "", logic: ""} update: {function: "", file: "", logic: ""} delete: {function: "", file: "", logic: ""}

specialized: bulk_insert: {...} transaction_handling: {...}

API/Service Domain

overview: api_style: "REST|GraphQL|gRPC" auth_method: "JWT|OAuth|API Key" versioning: "URL|Header|None"

endpoints: resource_name: base_path: "/api/v1/resource" operations: list: {method: "GET", auth: "required", pagination: "cursor"} create: {method: "POST", auth: "required", validation: "..."}

request_response_patterns: success_format: {...} error_format: {...}

Frontend/UI Domain

overview: framework: "React|Vue|Angular|etc" state_management: "Redux|Zustand|Context|etc" styling: "CSS Modules|Tailwind|Styled Components"

component_hierarchy: pages: - name: "PageName" route: "/path" children: [...]

shared: - name: "ComponentName" purpose: "Reusable for X"

state_structure: stores: store_name: shape: {...} actions: [...]

Seeding Strategy

When creating a new expertise file:

  • Start minimal - Begin with overview and core_implementation only

  • Let agent discover - Run self-improve to populate

  • Iterate - Run self-improve until stable (no changes)

  • Review - Human validates accuracy

  • Maintain - Self-improve after every ACT

Anti-Patterns

Pattern Problem Solution

Copy-pasting docs Duplicates source of truth Reference files, don't copy

Including code Bloats file, goes stale Reference by function name

No line limits Context window overflow Enforce max lines strictly

Manual updates Human time wasted Self-improve prompt only

Flat structure Hard to navigate Use nested YAML sections

Validation Checklist

Before considering an expertise file complete:

  • Valid YAML syntax (no parse errors)

  • Under line limit for domain complexity

  • All file paths verified to exist

  • All function names verified accurate

  • Overview section complete

  • Key operations documented

  • Best practices included

  • Known issues captured

Related Skills

  • agent-expert-creation : Full agent expert workflow

  • self-improve-prompt-design : Maintaining expertise accuracy

  • meta-agentic-creation : Building experts that build experts

Last Updated: 2025-12-15

Version History

  • v1.0.0 (2025-12-26): Initial release

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

design-thinking

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

plantuml-syntax

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

system-prompt-engineering

No summary provided by upstream source.

Repository SourceNeeds Review