* fix(context): migrate delegation references to split workflow files * chore(ci): add markdown link validation with regex skip rules * fix(context): migrate index references to navigation * fix(agent): allow limited bash for task status updates * refactor(skills): migrate to .opencode/skills and normalize skill files * fix(agent): align subagent permissions and workflow structure * docs: reconcile workflow examples and design iteration references * feat(skill): enforce schema checks in task validate command * fix(install): improve colored output and skills collision grouping
568 lines
13 KiB
Markdown
568 lines
13 KiB
Markdown
---
|
|
name: context-manager
|
|
description: Context management skill providing discovery, fetching, harvesting, extraction, compression, organization, cleanup, and guided workflows for project context
|
|
version: 1.0.0
|
|
author: opencode
|
|
type: skill
|
|
category: development
|
|
tags:
|
|
- context
|
|
- management
|
|
- discovery
|
|
- organization
|
|
- external-docs
|
|
---
|
|
|
|
# Context Manager Skill
|
|
|
|
> **Purpose**: Comprehensive context management operations with clear guidance, lazy loading, and safe operations for discovering, organizing, and maintaining project context.
|
|
|
|
---
|
|
|
|
## What I Do
|
|
|
|
I provide 8 powerful operations for managing context:
|
|
|
|
1. **DISCOVER** - Find context files by topic or path
|
|
2. **FETCH** - Get external documentation from libraries
|
|
3. **HARVEST** - Extract context from summary files
|
|
4. **EXTRACT** - Pull specific information from context
|
|
5. **COMPRESS** - Reduce large file sizes
|
|
6. **ORGANIZE** - Restructure context by concern
|
|
7. **CLEANUP** - Remove stale or temporary files
|
|
8. **PROCESS** - Guided workflow for context operations
|
|
|
|
---
|
|
|
|
## Quick Start
|
|
|
|
### 1. Discover Context
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh discover authentication
|
|
```
|
|
Finds all context files related to authentication patterns.
|
|
|
|
### 2. Fetch External Documentation
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh fetch "Drizzle ORM" "modular schemas"
|
|
```
|
|
Retrieves live documentation from external libraries.
|
|
|
|
### 3. Harvest Context
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh harvest ANALYSIS.md
|
|
```
|
|
Extracts key concepts from summary files into permanent context.
|
|
|
|
### 4. Extract Information
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh extract code-quality.md "naming conventions"
|
|
```
|
|
Pulls specific information from context files.
|
|
|
|
### 5. Compress Files
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh compress .opencode/context/ 100KB
|
|
```
|
|
Reduces large context files to save space.
|
|
|
|
### 6. Organize Context
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh organize .opencode/context/
|
|
```
|
|
Restructures context by concern for better organization.
|
|
|
|
### 7. Cleanup Stale Files
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh cleanup .tmp/ 7
|
|
```
|
|
Removes temporary or old files (older than 7 days).
|
|
|
|
### 8. Guided Workflow
|
|
```bash
|
|
bash .opencode/skills/context-manager/router.sh process "organize authentication context" .opencode/context/
|
|
```
|
|
Step-by-step guidance for complex context operations.
|
|
|
|
---
|
|
|
|
## Operations Reference
|
|
|
|
### Operation 1: DISCOVER
|
|
|
|
**Purpose**: Find context files using intelligent discovery or direct search
|
|
|
|
**When to Use**:
|
|
- Need to find all context files in repository
|
|
- Looking for specific context by topic
|
|
- Mapping context structure
|
|
- Understanding what context exists
|
|
|
|
**Syntax**:
|
|
```
|
|
discover [target]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Discover by topic
|
|
./router.sh discover "authentication patterns"
|
|
|
|
# Discover all context
|
|
./router.sh discover "all context files"
|
|
|
|
# Discover in specific directory
|
|
./router.sh discover ".opencode/context/core/"
|
|
```
|
|
|
|
**Output**:
|
|
- List of discovered files with paths and sizes
|
|
- File statistics (count, total size, last updated)
|
|
- Categorization by type
|
|
- Suggestions for next steps
|
|
|
|
---
|
|
|
|
### Operation 2: FETCH
|
|
|
|
**Purpose**: Fetch external documentation using ExternalScout
|
|
|
|
**When to Use**:
|
|
- Need live documentation from external libraries
|
|
- Setting up new external library integration
|
|
- Need version-specific documentation
|
|
- Want to cache external docs for team
|
|
|
|
**Syntax**:
|
|
```
|
|
fetch [libraries] [topics]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Fetch single library
|
|
./router.sh fetch "Drizzle ORM" "modular schemas"
|
|
|
|
# Fetch multiple libraries
|
|
./router.sh fetch "Drizzle ORM" "Better Auth" "Next.js" "modular schemas" "integration" "app router"
|
|
|
|
# Fetch with specific query
|
|
./router.sh fetch "Better Auth" "Next.js App Router integration with Drizzle adapter"
|
|
```
|
|
|
|
**Output**:
|
|
- Fetched files with paths
|
|
- File sizes and statistics
|
|
- Source URLs
|
|
- How to reference in context
|
|
- Manifest updates
|
|
|
|
---
|
|
|
|
### Operation 3: HARVEST
|
|
|
|
**Purpose**: Extract context from summary files and create permanent context
|
|
|
|
**When to Use**:
|
|
- Have summary documents that should become context
|
|
- Need to convert temporary notes to permanent context
|
|
- Want to extract key concepts from larger documents
|
|
- Need to organize scattered information
|
|
|
|
**Syntax**:
|
|
```
|
|
harvest [source-file]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Harvest from analysis
|
|
./router.sh harvest DEVELOPER_PROFILE_ANALYSIS.md
|
|
|
|
# Harvest from brainstorm
|
|
./router.sh harvest AGENT_NAMING_BRAINSTORM.md
|
|
|
|
# Harvest from UX analysis
|
|
./router.sh harvest UX_ANALYSIS_THREE_MAIN_AGENTS.md
|
|
```
|
|
|
|
**Output**:
|
|
- Created context file path
|
|
- Space saved (original vs. harvested)
|
|
- Content structure
|
|
- Updated navigation files
|
|
- How to use the new context
|
|
|
|
---
|
|
|
|
### Operation 4: EXTRACT
|
|
|
|
**Purpose**: Extract specific information from context files
|
|
|
|
**When to Use**:
|
|
- Need specific information from context
|
|
- Creating summaries or reports
|
|
- Building context bundles for subagents
|
|
- Validating context completeness
|
|
|
|
**Syntax**:
|
|
```
|
|
extract [file] [what-to-extract]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Extract naming conventions
|
|
./router.sh extract code-quality.md "naming conventions"
|
|
|
|
# Extract test patterns
|
|
./router.sh extract test-coverage.md "test patterns"
|
|
|
|
# Extract all standards
|
|
./router.sh extract ".opencode/context/core/" "all standards"
|
|
```
|
|
|
|
**Output**:
|
|
- Extracted information organized by topic
|
|
- Source file citations
|
|
- Relevance scores
|
|
- Usage suggestions
|
|
- Next steps
|
|
|
|
---
|
|
|
|
### Operation 5: COMPRESS
|
|
|
|
**Purpose**: Compress large context files to save space
|
|
|
|
**When to Use**:
|
|
- Context files are very large (>100 KB)
|
|
- Need to reduce disk space usage
|
|
- Archiving old context
|
|
- Preparing context for distribution
|
|
|
|
**Syntax**:
|
|
```
|
|
compress [target] [size-threshold]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Compress large files
|
|
./router.sh compress ".opencode/context/" "100 KB"
|
|
|
|
# Compress all context
|
|
./router.sh compress ".opencode/context/"
|
|
|
|
# Compress and archive
|
|
./router.sh compress ".opencode/context/development/" "50 KB"
|
|
```
|
|
|
|
**Output**:
|
|
- Compressed files with paths
|
|
- Space savings (before/after)
|
|
- Compression ratio
|
|
- Decompression instructions
|
|
- Manifest updates
|
|
|
|
---
|
|
|
|
### Operation 6: ORGANIZE
|
|
|
|
**Purpose**: Reorganize context files by concern (what you're doing) rather than function
|
|
|
|
**When to Use**:
|
|
- Context is scattered across multiple locations
|
|
- Need to reorganize by concern/topic
|
|
- Creating new context structure
|
|
- Consolidating related context
|
|
|
|
**Syntax**:
|
|
```
|
|
organize [target]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Organize by concern
|
|
./router.sh organize ".opencode/context/"
|
|
|
|
# Organize specific topic
|
|
./router.sh organize ".opencode/context/development/"
|
|
```
|
|
|
|
**Output**:
|
|
- Current structure analysis
|
|
- Proposed new structure
|
|
- Files moved and reorganized
|
|
- Updated references
|
|
- Navigation updates
|
|
- New structure overview
|
|
|
|
---
|
|
|
|
### Operation 7: CLEANUP
|
|
|
|
**Purpose**: Clean up stale, temporary, or unused context files
|
|
|
|
**When to Use**:
|
|
- Removing temporary files (.tmp/)
|
|
- Deleting old external context (>7 days)
|
|
- Removing duplicate context
|
|
- Archiving unused context
|
|
|
|
**Syntax**:
|
|
```
|
|
cleanup [target] [older-than-days]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Cleanup .tmp directory
|
|
./router.sh cleanup ".tmp/"
|
|
|
|
# Cleanup old external context
|
|
./router.sh cleanup ".tmp/external-context/" "7"
|
|
|
|
# Cleanup stale sessions
|
|
./router.sh cleanup ".tmp/sessions/" "3"
|
|
```
|
|
|
|
**Output**:
|
|
- Files to be deleted
|
|
- Space to be freed
|
|
- Impact analysis
|
|
- Recovery instructions
|
|
- Manifest updates
|
|
|
|
---
|
|
|
|
### Operation 8: PROCESS
|
|
|
|
**Purpose**: Provide guided workflow for processing context
|
|
|
|
**When to Use**:
|
|
- Need step-by-step guidance on context operations
|
|
- Processing multiple context files
|
|
- Learning context management workflow
|
|
- Automating context processing
|
|
|
|
**Syntax**:
|
|
```
|
|
process [goal] [scope]
|
|
```
|
|
|
|
**Examples**:
|
|
```bash
|
|
# Process authentication context
|
|
./router.sh process "organize authentication context" ".opencode/context/development/"
|
|
|
|
# Process all development context
|
|
./router.sh process "organize all development context" ".opencode/context/development/"
|
|
|
|
# Process external context
|
|
./router.sh process "fetch, persist, and reference external context" ".tmp/external-context/"
|
|
```
|
|
|
|
**Output**:
|
|
- Step-by-step workflow
|
|
- Progress indicators
|
|
- Discovered context
|
|
- Processing plan
|
|
- Execution results
|
|
- Validation results
|
|
- Summary and next steps
|
|
|
|
---
|
|
|
|
## Common Workflows
|
|
|
|
### Workflow 1: Discover & Extract
|
|
```
|
|
1. discover context for: "authentication"
|
|
→ Find all auth-related context
|
|
|
|
2. extract from: "security-patterns.md" what: "auth patterns"
|
|
→ Get specific patterns
|
|
|
|
3. Show results
|
|
→ Ready to use in session
|
|
```
|
|
|
|
### Workflow 2: Fetch & Reference
|
|
```
|
|
1. fetch external docs for: "Drizzle ORM"
|
|
→ Get live documentation
|
|
|
|
2. Show file paths
|
|
→ .tmp/external-context/drizzle-orm/...
|
|
|
|
3. Reference in session context
|
|
→ Add to "## External Context Fetched"
|
|
|
|
4. Pass to subagents
|
|
→ Include in subtask JSONs
|
|
```
|
|
|
|
### Workflow 3: Harvest & Organize
|
|
```
|
|
1. harvest context from: "ANALYSIS.md"
|
|
→ Extract key concepts
|
|
|
|
2. organize context by: "concern"
|
|
→ Restructure for clarity
|
|
|
|
3. Update documentation
|
|
→ Show new structure
|
|
|
|
4. Delete original summary
|
|
→ Clean up temporary files
|
|
```
|
|
|
|
### Workflow 4: Cleanup & Maintain
|
|
```
|
|
1. cleanup .tmp/ directory
|
|
→ Remove temporary files
|
|
|
|
2. cleanup external context older than: "7 days"
|
|
→ Remove stale external docs
|
|
|
|
3. Show space freed
|
|
→ Provide statistics
|
|
|
|
4. Update manifest
|
|
→ Keep tracking accurate
|
|
```
|
|
|
|
---
|
|
|
|
## Key Principles
|
|
|
|
### 1. Lazy Loading
|
|
- Discover files first (glob, grep)
|
|
- Load only what's needed (read specific files)
|
|
- Process incrementally (don't load entire repo)
|
|
- Reference context files, don't duplicate
|
|
|
|
### 2. Clear Guidance
|
|
- Explain what you're doing at each step
|
|
- Show file paths and sizes
|
|
- Provide before/after metrics
|
|
- Suggest next steps
|
|
- Ask for confirmation before destructive operations
|
|
|
|
### 3. Context Reference
|
|
- When discovering: cite which files found
|
|
- When processing: reference standards applied
|
|
- When organizing: show which patterns used
|
|
- When cleaning: explain what's being removed
|
|
|
|
### 4. Safe Operations
|
|
- Ask for confirmation before destructive ops
|
|
- Create backups when needed
|
|
- Verify integrity after operations
|
|
- Provide recovery instructions
|
|
|
|
---
|
|
|
|
## File Structure
|
|
|
|
```
|
|
.opencode/skills/context-manager/
|
|
├── SKILL.md # This file
|
|
├── router.sh # CLI router (entry point)
|
|
├── CONTEXT_SKILL_QUICK_START.md # Quick start guide
|
|
├── context-manager.md # Detailed operation guide
|
|
└── navigation.md # Navigation index
|
|
```
|
|
|
|
---
|
|
|
|
## Integration Points
|
|
|
|
### With ContextScout
|
|
- ContextScout discovers context files
|
|
- This skill helps organize what ContextScout finds
|
|
- Can harvest context from ContextScout results
|
|
|
|
### With ExternalScout
|
|
- ExternalScout fetches external documentation
|
|
- This skill persists and organizes fetched docs
|
|
- Can reference external context in operations
|
|
|
|
### With TaskManager
|
|
- TaskManager references context in task definitions
|
|
- This skill ensures context files exist and are valid
|
|
- Can catalog which tasks use which context
|
|
|
|
### With Other Subagents
|
|
- All subagents depend on context structure
|
|
- This skill maintains and validates context
|
|
- Can identify context gaps that subagents need
|
|
|
|
---
|
|
|
|
## Success Criteria
|
|
|
|
You succeed when:
|
|
✅ Context files are discovered efficiently
|
|
✅ External documentation is fetched and persisted
|
|
✅ Context is harvested from summaries
|
|
✅ Key information is extracted clearly
|
|
✅ Large files are compressed safely
|
|
✅ Context is organized by concern
|
|
✅ Stale files are cleaned up safely
|
|
✅ User has clear guidance at each step
|
|
✅ All operations are reversible
|
|
✅ Documentation is updated
|
|
|
|
---
|
|
|
|
## Tips & Best Practices
|
|
|
|
### 1. Regular Discovery
|
|
Run discover operations regularly to understand your context structure and identify gaps.
|
|
|
|
### 2. Organize by Concern
|
|
Organize context by what you're doing (authentication, testing, etc.) not by function (standards, guides).
|
|
|
|
### 3. Lazy Load External Docs
|
|
Fetch external documentation only when needed, not preemptively.
|
|
|
|
### 4. Harvest Summaries
|
|
Convert temporary analysis documents into permanent context using harvest.
|
|
|
|
### 5. Regular Cleanup
|
|
Schedule regular cleanup operations to remove stale temporary files.
|
|
|
|
### 6. Validate After Changes
|
|
Always validate context integrity after making changes.
|
|
|
|
### 7. Document Organization
|
|
Keep navigation.md files up-to-date as you organize context.
|
|
|
|
### 8. Reference Standards
|
|
When extracting context, always cite the source files.
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### "Context files not found"
|
|
Run `discover all context files` to see what exists and where.
|
|
|
|
### "External docs failed to fetch"
|
|
Check that the library name is correct and ExternalScout is available.
|
|
|
|
### "Harvest created empty file"
|
|
The source file may not have enough high-signal content. Review and add manually.
|
|
|
|
### "Organization failed"
|
|
Check that all referenced files exist and navigation.md is valid.
|
|
|
|
### "Cleanup removed too much"
|
|
Check the backup at `.backup/cleanup-{date}.tar.gz` for recovery.
|
|
|
|
---
|
|
|
|
**Context Manager Skill** - Discover, organize, and maintain your project context!
|