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-skillsReview the files below or copy the command above to add this skill to your agents.
---
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.
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.
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.
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.