fewword
npx skills add https://github.com/sheeki03/few-word --skill fewword
Agent 安装分布
Skill 文档
FewWord – Filesystem-Based Context Engineering
The filesystem provides a single interface for storing, retrieving, and updating effectively unlimited context. This addresses the fundamental constraint that context windows are limited while tasks often require more information.
Core insight: Files enable dynamic context discoveryâpull relevant context on demand rather than carrying everything in the context window.
v1 Feature: Bash commands are automatically intercepted and their output is offloaded to files when large. You will see a pointer and preview instead of full output.
Directory Structure
project/
âââ .fewword/ # All plugin data in one namespace
âââ scratch/ # Ephemeral (auto-cleaned hourly)
â âââ tool_outputs/ # Offloaded command outputs
â âââ subagents/ # Agent workspace files
âââ memory/ # Persistent (survives cleanup)
â âââ plans/ # Archived completed plans
â âââ history/ # Archived sessions
â âââ patterns/ # Discovered patterns
â âââ preferences.yaml # User preferences
âââ index/ # Metadata tracking
â âââ current_plan.yaml # THE canonical active plan
â âââ tool_log.jsonl # Tool execution log
â âââ mcp_metadata.jsonl # MCP tool metadata
âââ DISABLE_OFFLOAD # Create to disable auto-offloading
Escape Hatch
If automatic offloading causes issues:
- Create file:
touch .fewword/DISABLE_OFFLOAD - Or set env:
export FEWWORD_DISABLE=1
Automatic Behaviors (v1)
Bash Output Offloading
When you run a Bash command, the plugin automatically:
- Captures stdout+stderr to a file
- After completion, measures output size
- If small (<8KB): shows full output normally, deletes temp file
- If large: shows pointer + preview (first/last 10 lines)
- Preserves the original exit code
What you see for large output:
=== [FewWord: Output offloaded] ===
File: .fewword/scratch/tool_outputs/pytest_20250107_143022_a1b2c3d4.txt
Size: 45678 bytes, 1234 lines
Exit: 0
=== First 10 lines ===
...preview...
=== Last 10 lines ===
...preview...
=== Retrieval commands ===
Full: cat .fewword/scratch/tool_outputs/pytest_20250107_143022_a1b2c3d4.txt
Grep: grep 'pattern' .fewword/scratch/tool_outputs/pytest_20250107_143022_a1b2c3d4.txt
Skipped commands (v1 conservatively skips):
- Interactive: ssh, vim, less, top, watch, python, node, psql, etc.
- Already redirecting: commands with
>,2>,| tee,| less - Heredocs: commands containing
<< - Pipelines: commands containing
| - Trivial: very short commands
MCP Tool Handling
- All MCP tool calls are logged to
.fewword/index/mcp_metadata.jsonl - Write-like operations (create, update, delete, commit, push) are gated
- Pagination parameters are automatically clamped to prevent excessive results
Manual Patterns
Pattern 1: Plan Persistence
For long-horizon tasks, use the canonical active plan:
# .fewword/index/current_plan.yaml
objective: "Refactor authentication module"
status: in_progress
steps:
- id: 1
description: "Audit current auth endpoints"
status: completed
- id: 2
description: "Design new token validation"
status: in_progress
- id: 3
description: "Implement and test"
status: pending
- Plan survives context summarization
- Re-read at turn start or when losing track
- When completed, automatically archived to
memory/plans/
Pattern 2: Sub-Agent File Workspaces
Sub-agents write findings directly to filesystem instead of message passing:
.fewword/scratch/subagents/
âââ research_agent/
â âââ findings.md
â âââ sources.jsonl
âââ code_agent/
â âââ changes.md
â âââ test_results.txt
âââ synthesis.md
Pattern 3: Chat History as File Reference
When context window fills:
- Write full history to
.fewword/memory/history/session_{id}.txt - Generate summary for new context window
- Include reference: “Full history in .fewword/memory/history/session_{id}.txt”
- Use grep to recover details lost in summarization
Search Techniques
| Tool | Use Case | Example |
|---|---|---|
ls / find |
Discover structure | find .fewword -name "*.txt" -mmin -30 |
grep |
Content search | grep -rn "error" .fewword/scratch/ |
head/tail |
Boundary reads | tail -100 .fewword/scratch/tool_outputs/log.txt |
sed -n |
Line ranges | sed -n '50,100p' file.txt |
References
For detailed implementation patterns, see:
references/implementation-patterns.md– Code examples for each patternreferences/cleanup-strategies.md– Scratch file lifecycle management