Agent skill
project-encyclopedia
[DEPRECATED] Use project-level AGENTS.md files instead. Previously used for first-session codebase onboarding and persistent glossary creation.
Install this agent skill to your Project
npx add-skill https://github.com/axiomantic/spellbook/tree/main/skills/project-encyclopedia
SKILL.md
DEPRECATED (v0.23.0): This skill is deprecated. Project knowledge now belongs in
AGENTS.mdfiles within the project repository. See the "Project Knowledge (AGENTS.md)" section in AGENTS.spellbook.md. This skill will be removed in a future version.
Project Encyclopedia
Invariant Principles
-
Overview Only: Encyclopedias contain key abstractions, not implementation details. If it could go stale within a sprint, it doesn't belong.
-
Offer, Don't Force: Always ask before creating. "Would you like me to create an encyclopedia?" Never auto-generate.
-
Reference, Don't Duplicate: If README/CLAUDE.md/configs already specify something, reference the location. Never copy.
-
Staleness Detection: Check mtime. Encyclopedias older than 30 days get refresh offers, not silent reads.
-
Context Budget: Target 500-1000 lines.
Inputs
| Input | Required | Description |
|---|---|---|
project_root |
Yes | Path to project being documented |
existing_encyclopedia |
No | Path if encyclopedia already exists |
refresh_request |
No | User explicitly requesting update |
Outputs
| Output | Type | Description |
|---|---|---|
encyclopedia |
File | ~/.local/spellbook/docs/<project-encoded>/encyclopedia.md |
staleness_warning |
Inline | If existing encyclopedia > 30 days old |
Session Integration
Add to AGENTS.spellbook.md under Session Start:
## Encyclopedia Check
BEFORE first substantive work in a project:
1. Compute project path: `~/.local/spellbook/docs/<project-encoded>/encyclopedia.md`
2. Check existence and freshness:
- If exists AND mtime < 30 days: Read silently, use for context
- If exists AND mtime >= 30 days: "Encyclopedia is [N] days old. Refresh?"
- If not exists: "I don't have an encyclopedia for this project. Create one?"
3. User declines: Proceed without. Do not ask again this session.
4. User accepts: Invoke `project-encyclopedia` skill
Workflow
Phase 1: Discovery
Gather via exploration:
- Project type (language, framework, monorepo?)
- Entry points (main files, CLI commands, API routes)
- Key directories and their purposes
- Test configuration and commands
- Build/run commands
Phases 2-5: Build Content
Dispatch subagent with the encyclopedia-build command.
Subagent builds: Glossary (Phase 2), Architecture Skeleton (Phase 3), Decision Log (Phase 4), Entry Points & Testing (Phase 5).
Phase 6: Validate & Write
Dispatch subagent with the encyclopedia-validate command.
Subagent assembles all sections, validates against quality checklist, and writes to output path.
Refresh Workflow
When updating existing encyclopedia:
- Read current version
- Scan for major changes:
- New entry points
- Renamed/removed components
- New glossary terms in recent commits
- Present diff of proposed changes
- User approves: Apply updates, reset mtime
- User declines: Keep existing
Template
# Project Encyclopedia: [Name]
> Last updated: YYYY-MM-DD | Created by: [model]
> Purpose: Cross-session context for AI assistants
## Glossary
| Term | Definition | Location |
|------|------------|----------|
## Architecture
```mermaid
graph TD
A[Component] --> B[Component]
Key boundaries:
- (to be filled)
Decisions
| Decision | Alternatives | Rationale | Date |
|---|
Entry Points
| Entry | Path | Purpose |
|---|
Testing
- Command:
- Framework:
- Key patterns:
See Also
- README.md for setup instructions
- CLAUDE.md for development conventions
## Anti-Patterns
<FORBIDDEN>
- Auto-creating without asking
- Including implementation details that change frequently
- Duplicating content from existing docs
- Diagrams with more than 7 nodes
- Encyclopedias exceeding 1000 lines
- Skipping staleness check on existing encyclopedias
- Regenerating from scratch instead of surgical refresh
</FORBIDDEN>
## Self-Check
Before completing encyclopedia work:
- [ ] User explicitly consented to creation/refresh
- [ ] Total content < 1000 lines
- [ ] No duplication of existing documentation
- [ ] Architecture diagram <= 7 nodes
- [ ] Glossary contains only project-specific terms
- [ ] Decisions explain rationale, not just facts
- [ ] File written to `~/.local/spellbook/docs/<project>/encyclopedia.md`
- [ ] Mtime reflects current date
If ANY unchecked: Revise before completing.
<reflection>
After each phase, verify: outputs produced match template sections, no duplication of existing docs, content stays within context budget, staleness metadata is current.
</reflection>
<FINAL_EMPHASIS>
Maps that agents cannot trust are worse than no maps. Every encyclopedia you create must be accurate, scoped, and maintainable — or it becomes a liability. Offer first. Compress ruthlessly. Refresh surgically. This is the obligation.
</FINAL_EMPHASIS>
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
spellbook-auditing
Meta-audit skill for spellbook development. Spawns parallel subagents to factcheck docs, optimize instructions, find token savings, and identify MCP candidates. Produces actionable report.
documentation-updates
Use after modifying library skills, library commands, or agents to ensure CHANGELOG, README, and docs are updated
reviewing-impl-plans
Use when reviewing implementation plans before execution. Triggers: 'is this plan solid', 'review the plan', 'check before I start building', 'anything missing from this plan', 'will this plan work', 'audit the implementation plan'. NOT for: reviewing design documents (use reviewing-design-docs) or creating plans (use writing-plans).
session-resume
Session resume protocol and session repairs handling. Loaded when spellbook_session_init returns resume_available: true, or when session_init returns a repairs array. Triggers: 'resume', 'continue', 'where were we', session resume, session repairs.
brainstorming
Use when exploring design approaches, generating ideas, or making architectural decisions. Triggers: 'explore options', 'what are the tradeoffs', 'how should I approach', 'let's think through', 'sketch out an approach', 'I need ideas for', 'how would you structure', 'what are my options'. Also invoked by develop when design decisions are needed.
debugging
Use when debugging bugs, test failures, or unexpected behavior. Triggers: 'why isn't this working', 'this doesn't work', 'X is broken', 'something's wrong', 'getting an error', 'exception in', 'stopped working', 'regression', 'crash', 'hang', 'flaky test', 'intermittent failure', or when user pastes a stack trace/error output. NOT for: test quality issues (use fixing-tests), adding new behavior (use develop).
Didn't find tool you were looking for?