Files
gh-bradleyboehmke-brads-mar…/skills/progressive-disclosure.md
2025-11-29 18:02:00 +08:00

6.4 KiB

title, description, tags
title description tags
Progressive Disclosure Pattern Three-tier knowledge loading for efficient token usage
skills
optimization
token-efficiency
loading-strategy

Progressive Disclosure Pattern

Metadata

Purpose: Optimize token usage through progressive skill loading Pattern: Three-tier activation (metadata → instructions → resources) Benefit: Load only what's needed when it's needed


Instructions

The Three-Tier Pattern

Skills should be structured in three distinct sections that load progressively:

Tier 1: Metadata (Always Loaded)

When: Plugin loads, skill file scanned Purpose: Identification and discovery Token Cost: ~50-100 tokens Contains:

  • Title
  • Description (1-2 sentences)
  • Tags for categorization
  • Version/applicability info

Example:

---
title: Python Packaging Standards
description: Modern Python packaging best practices using pyproject.toml
tags: [python, packaging, standards]
---

# Python Packaging Standards

## Metadata
**Purpose**: Guide Python package structure and configuration
**Applies to**: All Python projects
**Version**: 1.0.0

Tier 2: Instructions (Loaded When Activated)

When: Agent/command explicitly activates the skill Purpose: Core knowledge and guidance Token Cost: ~500-1500 tokens Contains:

  • Core concepts and principles
  • Decision-making frameworks
  • Standards and best practices
  • Common patterns
  • Quick reference tables

Example:

## Instructions

### Packaging Structure

Modern Python projects use `pyproject.toml`:
- Project metadata (name, version, description)
- Dependencies (tool.poetry.dependencies)
- Build system configuration
- Tool-specific settings (pytest, mypy, ruff)

### Best Practices
1. Use `pyproject.toml` over `setup.py`
2. Pin dependency versions for reproducibility
3. Separate dev and production dependencies
...

Tier 3: Resources (Loaded On Demand)

When: Agent/command explicitly requests additional resources Purpose: Detailed examples, reference materials, edge cases Token Cost: ~1000-3000 tokens Contains:

  • Complete examples
  • Code templates
  • Detailed reference tables
  • Edge case handling
  • Troubleshooting guides

Example:

## Resources

### Complete pyproject.toml Example
\```toml
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"

[tool.poetry]
name = "my-package"
version = "0.1.0"
...
\```

### Dependency Management Patterns
...detailed examples...

Activation Strategy

In Commands:

# Command starts
## Analysis Process

1. Determine project type
2. **Activate skill**: `plugin-architecture-principles` (Tier 2)
3. If detailed examples needed, load Tier 3 resources
4. Apply knowledge to analysis

In Agents:

# Agent definition
You are a Python packaging expert.

**Skills available**:
- `python-packaging-standards` - Activate when analyzing Python projects
- `dependency-management` - Activate when reviewing dependencies

When encountering a Python project:
1. Activate `python-packaging-standards` (Tier 2)
2. Review structure against standards
3. Request Tier 3 resources if edge cases encountered

Token Optimization

Without Progressive Disclosure (Always load everything):

  • Every invocation: ~3000 tokens of skill knowledge
  • 10 invocations: 30,000 tokens
  • Much knowledge never used

With Progressive Disclosure:

  • Metadata (always): ~75 tokens
  • Instructions (when needed): +800 tokens
  • Resources (rarely): +2000 tokens
  • Average: ~875 tokens per invocation
  • 10 invocations: ~8,750 tokens (71% savings)

Design Guidelines

DO:

  • Place essential guidance in Instructions
  • Move detailed examples to Resources
  • Keep Metadata concise (title, description, tags)
  • Make each tier independently valuable
  • Reference Resources from Instructions

DON'T:

  • Put all knowledge in one section
  • Duplicate information across tiers
  • Load Resources by default
  • Hide essential info in Resources
  • Make tiers interdependent

Skill Size Targets

Tier Target Size Token Budget Load Frequency
Metadata 50-100 lines 75-150 tokens Always
Instructions 100-300 lines 500-1500 tokens When activated
Resources 200-500 lines 1000-3000 tokens On explicit request

When to Split Skills

If a single skill exceeds these thresholds, consider splitting:

Too Large (Instructions > 300 lines):

python-standards/  →  python-packaging-standards/
                      python-testing-standards/
                      python-code-quality/

Too Granular (Instructions < 50 lines):

ruff-setup/       →  python-code-quality/
black-setup/          (combine related tools)
mypy-setup/

Resources

Complete Skill Template

---
title: [Skill Name]
description: [One sentence description]
tags: [category, topic, use-case]
---

# [Skill Name]

## Metadata

**Purpose**: [What this skill provides]
**Applies to**: [When to use this skill]
**Version**: [Skill version]

---

## Instructions

### [Core Concept 1]
[Essential knowledge that's always needed when skill is activated]

### [Core Concept 2]
[More essential knowledge]

### [Quick Reference]
[Tables, lists, decision frameworks]

**Note**: For detailed examples, see Resources section below.

---

## Resources

### [Detailed Example 1]
[Complete code examples, templates]

### [Edge Case Handling]
[Unusual situations, troubleshooting]

### [Reference Materials]
[Comprehensive tables, detailed guides]

Real-World Example: Documentation Standards

Metadata (~75 tokens, always loaded):

---
title: Personal Documentation Standards
description: Required documentation for personal use project maturity tiers
tags: [documentation, standards, maturity-tiers]
---

Instructions (~1000 tokens, loaded when validating docs):

  • Tier definitions (Prototype/MVP/Production)
  • Required doc types (README, ADRs, diagrams)
  • Scoring methodology
  • Validation checklist

Resources (~2500 tokens, loaded only if needed):

  • Complete scoring examples
  • Full README template
  • Detailed ADR format
  • Comprehensive diagram examples

Usage:

  • Most validations: Metadata + Instructions (~1075 tokens)
  • Creating templates: All tiers (~3575 tokens)
  • Simple checks: Metadata only (~75 tokens)