home / skills / athola / claude-night-market / modular-skills

This skill helps you design modular skills to keep tokens low and complexity manageable by guiding analysis, planning, and validation.

npx playbooks add skill athola/claude-night-market --skill modular-skills

Review the files below or copy the command above to add this skill to your agents.

Files (12)
SKILL.md
5.7 KB
---
name: modular-skills
description: Architect skills as modular blocks to control token usage and complexity.
  Use when creating skills >150 lines, breaking down monolithic skills, or planning
  new architecture. Do not use for evaluating existing skills (use skills-eval) or
  writing human-facing prose (use writing-clearly-and-concisely). Check this skill
  before starting any new skill development.
category: workflow-optimization
tags:
- architecture
- modularity
- tokens
- skills
- design-patterns
- skill-design
- token-optimization
dependencies: []
tools:
- skill-analyzer
- token-estimator
- module_validator
usage_patterns:
- skill-design
- architecture-review
- token-optimization
- refactoring-workflows
complexity: intermediate
estimated_tokens: 1200
---
## Table of Contents

- [Overview](#overview)
- [Quick Start](#quick-start)
- [Workflow and Tasks](#workflow-and-tasks)
- [Quality Checks](#quality-checks)
- [Resources](#resources)


# Modular Skills Design

## Overview

This framework breaks complex skills into focused modules to keep token usage predictable and avoid monolithic files. We use progressive disclosure: starting with essentials and loading deeper technical details via `@include` or `Load:` statements only when needed. This approach prevents hitting context limits during long-running tasks.

Modular design keeps file sizes within recommended limits, typically under 150 lines. Shallow dependencies and clear boundaries simplify testing and maintenance. The hub-and-spoke model allows the project to grow without bloating primary skill files, making focused modules easier to verify in isolation and faster to parse.

### Core Components

Three tools support modular skill development:
- `skill-analyzer`: Checks complexity and suggests where to split code.
- `token-estimator`: Forecasts usage and suggests optimizations.
- `module_validator`: Verifies that structure complies with project standards.

### Design Principles

We design skills around single responsibility and loose coupling. Each module focuses on one task, minimizing dependencies to keep the architecture cohesive. Clear boundaries and well-defined interfaces prevent changes in one module from breaking others. This follows Anthropic's Agent Skills best practices: provide a high-level overview first, then surface details as needed to maintain context efficiency.

### Module Ownership (IMPORTANT)

**Deprecated**: `skills/shared/modules/` directories. This pattern caused orphaned references when shared modules were updated or removed.

**Current pattern**: Each skill owns its modules at `skills/<skill-name>/modules/`. When multiple skills need the same content, the primary owner holds the module and others reference it via relative path (e.g., `../skill-authoring/modules/anti-rationalization.md`). The validator flags any remaining `skills/shared/` directories.

## Quick Start

### Skill Analysis
Analyze modularity using `scripts/analyze.py`. You can set a custom threshold for line counts to identify files that need splitting.
```bash
python scripts/analyze.py --threshold 100
```
From Python, use `analyze_skill` from `abstract.skill_tools`.

### Token Usage Planning
Estimate token consumption to verify your skill stays within budget. Run this from the skill directory:
```bash
python scripts/tokens.py
```

### Module Validation
Check for structure and pattern compliance before deployment.
```bash
python scripts/abstract_validator.py --scan
```

## Workflow and Tasks

Start by assessing complexity with `skill_analyzer.py`. If a skill exceeds 150 lines, break it into focused modules following the patterns in `../../docs/examples/modular-skills/`. Use `token_estimator.py` to check efficiency and `abstract_validator.py` to verify the final structure. This iterative process maintains module maintainability and token efficiency.

## Quality Checks

Identify modules needing attention by checking line counts and missing Table of Contents. Any module over 100 lines requires a TOC after the frontmatter to aid navigation.
```bash
# Find modules exceeding 100 lines
find modules -name "*.md" -exec wc -l {} + | awk '$1 > 100'
```

### Standards Compliance

Our standards prioritize concrete examples and a consistent voice. Always provide actual commands in Quick Start sections instead of abstract descriptions. Use third-person perspective (e.g., "the project", "developers") rather than "you" or "your". Each code example should be followed by a validation command. For discoverability, descriptions must include at least five specific trigger phrases.

### TOC Template
```markdown
## Table of Contents

- [Section Name](#section-name)
- [Examples](#examples)
- [Troubleshooting](#troubleshooting)
```

## Resources

### Shared Modules: Cross-Skill Patterns
Standard patterns for triggers, enforcement language, and anti-rationalization:
- **Trigger Patterns**: See [trigger-patterns.md](modules/enforcement-patterns.md)
- **Enforcement Language**: See [enforcement-language.md](../shared-patterns/modules/workflow-patterns.md)
- **Anti-Rationalization**: See [anti-rationalization.md](../skill-authoring/modules/anti-rationalization.md)

### Skill-Specific Modules
Detailed guides for implementation and maintenance:
- **Enforcement Patterns**: See `modules/enforcement-patterns.md`
- **Core Workflow**: See `modules/core-workflow.md`
- **Implementation Patterns**: See `modules/implementation-patterns.md`
- **Migration Guide**: See `modules/antipatterns-and-migration.md`
- **Design Philosophy**: See `modules/design-philosophy.md`
- **Troubleshooting**: See `modules/troubleshooting.md`

### Tools and Examples
- **Tools**: `skill_analyzer.py`, `token_estimator.py`, and `abstract_validator.py` in `../../scripts/`.
- **Examples**: See `../../docs/examples/modular-skills/` for reference implementations.

Overview

This skill architects skills as modular blocks to control token usage and reduce complexity. It prescribes a hub-and-spoke modular layout where each skill owns its modules and deeper details are loaded only when required. The design emphasizes small files, predictable token budgets, and clear interfaces to simplify testing and maintenance.

How this skill works

The skill inspects skill files for size and complexity, then recommends splits based on line-count thresholds and dependency patterns. Tooling includes a skill analyzer to detect monoliths, a token estimator to forecast usage, and a validator to enforce ownership and structural standards. Modules are loaded progressively via include directives so primary skill files remain concise and quick to parse.

When to use it

  • Creating new skills expected to exceed ~150 lines of code or content
  • Refactoring monolithic skills into focused, testable modules
  • Planning architecture to keep token consumption within budget
  • Enforcing consistent module ownership and preventing shared-orphan patterns
  • Preparing skills for automated validation and deployment

Best practices

  • Keep primary skill files under the 150-line guideline and move deep details to modules
  • Design each module around single responsibility and minimal dependencies
  • Use progressive disclosure: surface high-level overview first, include details only when needed
  • Place modules under skills/<skill-name>/modules/ and reference cross-skill content via relative paths
  • Run token estimation and structural validation as part of the development workflow

Example use cases

  • Splitting a 400-line skill into a top-level orchestrator plus several focused modules for parsing, validation, and output formatting
  • Estimating token usage for a long-running agent that chains multiple modules before deployment
  • Refactoring legacy skills that used shared/module directories into per-skill owned modules
  • Validating a skill repository prior to release to catch orphaned shared modules and missing TOCs
  • Creating a migration plan using the antipatterns-and-migration module to standardize transitions

FAQ

What threshold triggers a suggested split?

The default guideline is 150 lines for primary files and 100 lines for module files; these thresholds are configurable in the analysis tools.

How are shared patterns handled across skills?

Shared content is owned by a primary skill and referenced via relative paths; deprecated global shared/module directories are flagged by the validator.