Agent skill
src
Install this agent skill to your Project
npx add-skill https://github.com/m3lander/system-skills-pattern-template/tree/main/src
SKILL.md
{{SKILL_NAME}} Skill
Overview
{{SKILL_DESCRIPTION}}
This is a System Skill - it provides handles to operate a personal data system. As commands run and data accumulates, context builds and compounds. The system learns patterns and provides increasingly valuable insights through an OODA loop of observation, orientation, decision, and action.
Mental Model: The OODA Loop
Operating this skill involves running a continuous cycle:
- Observe - Check current state (
./{{skill-name}} status) and review data (./{{skill-name}} list) - Orient - Analyze patterns in the data (
./{{skill-name}} stats --period week) - Decide - Determine optimal actions based on accumulated insights
- Act - Execute commands, provide recommendations, celebrate milestones
Each cycle builds on accumulated data, making insights more valuable over time.
Dependencies
- Binary location:
~/.claude/skills/{{skill-name}}/{{skill-name}} - Database: Auto-created at
~/.claude/skills/{{skill-name}}/{{skill-name}}.dbon first run - No external dependencies required
Quick Decision Tree
User request -> What kind of action?
|-- Add new data -> Use add command
|-- View current state -> Use status or list command
|-- Analyze patterns -> Use stats command (day/week/month/year)
|-- Update existing data -> Use update command
|-- Remove data -> Use delete command
+-- Search/query -> Use search or list with filters
Core Commands
To see all available options: Run ./{{skill-name}} --help or ./{{skill-name}} <command> --help
Adding Data
Add a new item to the system:
./{{skill-name}} add --content "Description of item"
./{{skill-name}} add --content "Another item" --category "work"
Options:
--content <text>- The main content/description (required)--category <name>- Optional category for organization--priority <level>- Optional priority (low/medium/high)
JSON output:
./{{skill-name}} add --content "New item" --json
# Returns: {"status": "added", "id": 1, "content": "New item", "created_at": "..."}
Checking Status
See current state of the system:
./{{skill-name}} status
./{{skill-name}} status --json # For programmatic use
Listing Data
View stored items:
./{{skill-name}} list # Recent items
./{{skill-name}} list --days 7 # Last 7 days
./{{skill-name}} list --category "work" # Filter by category
./{{skill-name}} list --json # For programmatic use
Output includes:
- Item IDs for reference
- Content and metadata
- Timestamps
- Status/completion info
Analyzing Patterns
Get insights from accumulated data:
./{{skill-name}} stats --period day # Today's stats
./{{skill-name}} stats --period week # This week
./{{skill-name}} stats --period month # This month
./{{skill-name}} stats --period year # This year
./{{skill-name}} stats --json # For programmatic use
Statistics include:
- Total items and trends
- Category distribution
- Most active times
- Pattern insights
Updating Data
Modify existing items:
./{{skill-name}} update <id> --status "completed"
./{{skill-name}} update <id> --note "Additional context"
Deleting Data
Remove items:
./{{skill-name}} delete <id>
./{{skill-name}} delete <id> --confirm # Skip confirmation
Essential Workflows
Daily Review
To provide a daily summary:
- Fetch today's data:
./{{skill-name}} stats --period day --json - Parse and present insights:
- Summary of activity
- Notable patterns
- Recommendations
Weekly Analysis
To provide weekly insights:
- Fetch week's data:
./{{skill-name}} stats --period week --json - Identify patterns:
- Compare to previous periods
- Note trends and changes
- Make recommendations:
- Actionable insights based on data
Pattern Recognition Over Time
As data accumulates, provide increasingly valuable insights:
After a few items (1-10):
- Basic counts and recent activity
- Initial patterns forming
After several days (10-50 items):
- Daily/weekly patterns visible
- Category trends emerging
After a week (50-100 items):
- Clear usage patterns
- Time-of-day preferences
- Category distributions
After a month (100+ items):
- Long-term trends
- Seasonal patterns
- Predictive insights
Commands for pattern recognition:
./{{skill-name}} stats --period month --json # Monthly patterns
./{{skill-name}} list --days 90 --json # Long-term history
Common Pitfalls
Missing Required Fields
- Don't run commands without required options
- Do use
--helpto see required options
Non-Descriptive Content
- Don't use vague content: "stuff", "thing", "misc"
- Do use specific, searchable descriptions
Ignoring Pattern Signals
- Don't ignore trends in the data
- Do surface insights when patterns emerge
Best Practices
Data Entry
- Use descriptive content for better analytics
- Apply categories consistently
- Add context via notes when relevant
User Interaction
- Celebrate milestones as data accumulates
- Surface insights proactively
- Suggest optimizations based on patterns
Data Analysis
- Review stats regularly
- Track trends over time
- Use JSON output for custom analytics
Command Composition
Combine commands for deeper insights:
# Morning check
./{{skill-name}} status
./{{skill-name}} stats --period day
# Weekly review
./{{skill-name}} list --days 7 --json
./{{skill-name}} stats --period week --json
# Long-term analysis
./{{skill-name}} stats --period month --json
./{{skill-name}} list --days 90 --json
Technical Notes
JSON Output
All commands support --json flag for programmatic access:
./{{skill-name}} status --json
./{{skill-name}} list --json
./{{skill-name}} stats --json
Use JSON output when:
- Parsing data programmatically
- Building custom analytics
- Feeding into other tools
Database
- Location:
~/.claude/skills/{{skill-name}}/{{skill-name}}.db - Format: SQLite
- Persistence: All data saved permanently
- Analytics: Richer insights as data accumulates
Binary Location
- Path:
~/.claude/skills/{{skill-name}}/{{skill-name}} - To run from skill directory:
./{{skill-name}} - Full path from anywhere:
~/.claude/skills/{{skill-name}}/{{skill-name}}
The System Skill Pattern in Action
This skill demonstrates the System Skill Pattern (CLI + SKILL.md + Database):
- CLI Binary: Handles to operate the system
- SKILL.md: Operating procedure for the OODA loop
- SQLite Database: Persistent memory where every interaction adds context
The key insight: With these three components, the skill animates a system rather than just responding to requests. Each interaction builds on the last. Analytics become richer. Insights get sharper. The tool compounds in value.
See also: README.md for technical details and implementation guide.
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
handoff
Compact the current conversation into a handoff document for another agent to pick up.
obsidian-vault
Search, create, and manage notes in the Obsidian vault with wikilinks and index notes. Use when user wants to find, create, or organize notes in Obsidian.
setup-pre-commit
Set up Husky pre-commit hooks with lint-staged (Prettier), type checking, and tests in the current repo. Use when user wants to add pre-commit hooks, set up Husky, configure lint-staged, or add commit-time formatting/typechecking/testing.
migrate-to-shoehorn
Migrate test files from `as` type assertions to @total-typescript/shoehorn. Use when user mentions shoehorn, wants to replace `as` in tests, or needs partial test data.
edit-article
Edit and improve articles by restructuring sections, improving clarity, and tightening prose. Use when user wants to edit, revise, or improve an article draft.
scaffold-exercises
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
Didn't find tool you were looking for?