2026-01-06 05:52:07 +01:00
# Opencode Agent Skills & Configurations
2026-02-17 09:15:15 +01:00
Central repository for [Opencode ](https://opencode.ai ) Agent Skills, AI agent configurations, custom commands, and AI-assisted workflows. This is an extensible framework for building productivity systems, automations, knowledge management, and specialized AI capabilities.
2026-01-06 05:52:07 +01:00
## 🎯 What This Repository Provides
This repository serves as a **personal AI operating system ** - a collection of skills, agents, and configurations that extend Opencode's capabilities for:
- **Productivity & Task Management** - PARA methodology, GTD workflows, project tracking
- **Knowledge Management** - Note-taking, research workflows, information organization
- **AI Development** - Tools for creating new skills and agent configurations
- **Memory & Context** - Persistent memory systems, conversation analysis
2026-02-18 17:32:13 +01:00
- **Document Processing** - PDF manipulation, spreadsheet handling, diagram generation
2026-01-06 05:52:07 +01:00
- **Custom Workflows** - Domain-specific automation and specialized agents
## 📂 Repository Structure
```
.
2026-02-18 17:32:13 +01:00
├── agents/ # Agent definitions (agents.json)
├── prompts/ # Agent system prompts (chiron.txt, chiron-forge.txt, etc.)
2026-01-06 05:52:07 +01:00
├── context/ # User profiles and preferences
│ └── profile.md # Work style, PARA areas, preferences
2026-02-18 17:32:13 +01:00
├── commands/ # Custom command definitions
2026-01-06 05:52:07 +01:00
│ └── reflection.md
2026-03-03 19:38:48 +01:00
├── skills/ # Opencode Agent Skills (15 skills)
2026-02-18 17:32:13 +01:00
│ ├── agent-development/ # Agent creation and configuration
2026-01-13 14:50:04 +01:00
│ ├── basecamp/ # Basecamp project management
│ ├── brainstorming/ # Ideation & strategic thinking
2026-02-18 17:32:13 +01:00
│ ├── doc-translator/ # Documentation translation
│ ├── excalidraw/ # Architecture diagrams
│ ├── frontend-design/ # UI/UX design patterns
│ ├── memory/ # Persistent memory system
│ ├── obsidian/ # Obsidian vault management
│ ├── outline/ # Outline wiki integration
│ ├── pdf/ # PDF manipulation toolkit
│ ├── prompt-engineering-patterns/ # Prompt patterns
│ ├── reflection/ # Conversation analysis
│ ├── skill-creator/ # Meta-skill for creating skills
│ ├── systematic-debugging/ # Debugging methodology
│ └── xlsx/ # Spreadsheet handling
2026-01-11 13:06:32 +01:00
├── scripts/ # Repository utility scripts
│ └── test-skill.sh # Test skills without deploying
2026-03-03 19:38:48 +01:00
├── rules/ # AI coding rules
│ ├── languages/ # Python, TypeScript, Nix, Shell
│ ├── concerns/ # Testing, naming, documentation
│ └── frameworks/ # Framework-specific rules (n8n)
├── flake.nix # Nix flake: dev shell + skills-runtime export
├── .envrc # direnv config (use flake)
2026-01-06 05:52:07 +01:00
├── AGENTS.md # Developer documentation
└── README.md # This file
```
## 🚀 Getting Started
### Prerequisites
2026-03-03 19:38:48 +01:00
- **Nix** with flakes enabled — for reproducible dependency management and deployment
- **direnv** (recommended) — auto-activates the development environment when entering the repo
- **Opencode** — AI coding assistant ([opencode.ai ](https://opencode.ai ))
2026-01-06 05:52:07 +01:00
### Installation
#### Option 1: Nix Flake (Recommended)
2026-03-03 19:38:48 +01:00
This repository is a **Nix flake ** that exports:
- **`devShells.default` ** — development environment for working on skills (activated via direnv)
- **`packages.skills-runtime` ** — composable runtime with all skill script dependencies (Python packages + system tools)
**Consume in your system flake:**
2026-01-06 05:52:07 +01:00
```nix
2026-03-03 19:38:48 +01:00
# flake.nix
2026-01-11 13:06:32 +01:00
inputs.agents = {
url = "git+https://code.m3ta.dev/m3tam3re/AGENTS";
2026-03-03 19:38:48 +01:00
inputs.nixpkgs.follows = "nixpkgs";
2026-01-11 13:06:32 +01:00
};
2026-01-06 05:52:07 +01:00
2026-01-11 13:06:32 +01:00
# In your home-manager module (e.g., opencode.nix)
xdg.configFile = {
2026-02-18 17:32:13 +01:00
"opencode/skills".source = "${inputs.agents}/skills";
2026-01-11 13:06:32 +01:00
"opencode/context".source = "${inputs.agents}/context";
2026-02-18 17:32:13 +01:00
"opencode/commands".source = "${inputs.agents}/commands";
2026-01-11 13:06:32 +01:00
"opencode/prompts".source = "${inputs.agents}/prompts";
};
# Agent config is embedded into config.json, not deployed as files
2026-02-17 09:15:15 +01:00
programs.opencode.settings.agent = builtins.fromJSON
2026-02-18 17:32:13 +01:00
(builtins.readFile "${inputs.agents}/agents/agents.json");
2026-01-06 05:52:07 +01:00
```
2026-03-03 19:38:48 +01:00
**Deploy skills via home-manager:**
```nix
# home-manager module (e.g., opencode.nix)
{ inputs, system, ... }:
{
# Skill files — symlinked, changes visible immediately
xdg.configFile = {
"opencode/skills".source = "${inputs.agents}/skills";
"opencode/context".source = "${inputs.agents}/context";
"opencode/commands".source = "${inputs.agents}/commands";
"opencode/prompts".source = "${inputs.agents}/prompts";
};
# Agent config — embedded into config.json (requires home-manager switch)
programs.opencode.settings.agent = builtins.fromJSON
(builtins.readFile "${inputs.agents}/agents/agents.json");
# Skills runtime — ensures opencode always has script dependencies
home.packages = [ inputs.agents.packages.${system}.skills-runtime ];
}
```
**Compose into project flakes** (so opencode has skill deps in any project):
```nix
# Any project's flake.nix
{
inputs.agents.url = "git+https://code.m3ta.dev/m3tam3re/AGENTS";
inputs.agents.inputs.nixpkgs.follows = "nixpkgs";
outputs = { self, nixpkgs, agents, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in {
devShells.${system}.default = pkgs.mkShell {
packages = [
# project-specific tools
pkgs.nodejs
# skill script dependencies
agents.packages.${system}.skills-runtime
];
};
};
}
```
Rebuild:
2026-02-17 09:15:15 +01:00
2026-01-06 05:52:07 +01:00
```bash
home-manager switch
```
2026-02-18 17:32:13 +01:00
**Note**: The `agents/` directory is NOT deployed as files. Instead, `agents.json` is read at Nix evaluation time and embedded into the opencode `config.json` .
2026-01-11 13:06:32 +01:00
2026-01-06 05:52:07 +01:00
#### Option 2: Manual Installation
Clone and symlink:
```bash
# Clone repository
git clone https://github.com/yourusername/AGENTS.git ~/AGENTS
2026-02-18 17:32:13 +01:00
# Create symlinks to Opencode config directory
ln -s ~/AGENTS/skills ~/.config/opencode/skills
ln -s ~/AGENTS/context ~/.config/opencode/context
ln -s ~/AGENTS/commands ~/.config/opencode/commands
ln -s ~/AGENTS/prompts ~/.config/opencode/prompts
2026-01-06 05:52:07 +01:00
```
### Verify Installation
Check that Opencode can see your skills:
```bash
2026-02-18 17:32:13 +01:00
# Skills should be available at ~/.config/opencode/skills/
ls ~/.config/opencode/skills/
2026-01-06 05:52:07 +01:00
```
## 🎨 Creating Your First Skill
Skills are modular packages that extend Opencode with specialized knowledge and workflows.
### 1. Initialize a New Skill
```bash
2026-02-18 17:32:13 +01:00
python3 skills/skill-creator/scripts/init_skill.py my-skill-name --path skills/
2026-01-06 05:52:07 +01:00
```
This creates:
2026-02-17 09:15:15 +01:00
2026-02-18 17:32:13 +01:00
- `skills/my-skill-name/SKILL.md` - Main skill documentation
- `skills/my-skill-name/scripts/` - Executable code (optional)
- `skills/my-skill-name/references/` - Reference documentation (optional)
- `skills/my-skill-name/assets/` - Templates and files (optional)
2026-01-06 05:52:07 +01:00
### 2. Edit the Skill
2026-02-18 17:32:13 +01:00
Open `skills/my-skill-name/SKILL.md` and customize:
2026-01-06 05:52:07 +01:00
```yaml
---
name: my-skill-name
description: What it does and when to use it. Include trigger keywords.
compatibility: opencode
---
# My Skill Name
## Overview
[Your skill instructions for Opencode]
```
2026-03-03 19:38:48 +01:00
### 3. Register Dependencies
If your skill includes scripts with external dependencies, add them to `flake.nix` :
```nix
# Python packages — add to pythonEnv:
# my-skill: my_script.py
some-python-package
# System tools — add to skills-runtime paths:
# my-skill: needed by my_script.py
pkgs.some-tool
```
Verify: `nix develop --command python3 -c "import some_package"`
### 4. Validate the Skill
2026-01-06 05:52:07 +01:00
```bash
2026-02-18 17:32:13 +01:00
python3 skills/skill-creator/scripts/quick_validate.py skills/my-skill-name
2026-01-06 05:52:07 +01:00
```
2026-03-03 19:38:48 +01:00
### 5. Test the Skill
2026-01-11 13:06:32 +01:00
```bash
./scripts/test-skill.sh my-skill-name # Validate specific skill
2026-03-03 19:38:48 +01:00
./scripts/test-skill.sh --run # Launch opencode with dev skills
2026-01-11 13:06:32 +01:00
```
2026-01-06 05:52:07 +01:00
## 📚 Available Skills
2026-02-18 17:32:13 +01:00
| Skill | Purpose | Status |
| --------------------------- | -------------------------------------------------------------- | ------------ |
| **agent-development ** | Create and configure Opencode agents | ✅ Active |
| **basecamp ** | Basecamp project & todo management via MCP | ✅ Active |
| **brainstorming ** | General-purpose ideation and strategic thinking | ✅ Active |
| **doc-translator ** | Documentation translation to German/Czech with Outline publish | ✅ Active |
| **excalidraw ** | Architecture diagrams from codebase analysis | ✅ Active |
| **frontend-design ** | Production-grade UI/UX with high design quality | ✅ Active |
| **memory ** | SQLite-based persistent memory with hybrid search | ✅ Active |
| **obsidian ** | Obsidian vault management via Local REST API | ✅ Active |
| **outline ** | Outline wiki integration for team documentation | ✅ Active |
| **pdf ** | PDF manipulation, extraction, creation, and forms | ✅ Active |
| **prompt-engineering-patterns ** | Advanced prompt engineering techniques | ✅ Active |
| **reflection ** | Conversation analysis and skill improvement | ✅ Active |
| **skill-creator ** | Guide for creating new Opencode skills | ✅ Active |
| **systematic-debugging ** | Debugging methodology for bugs and test failures | ✅ Active |
| **xlsx ** | Spreadsheet creation, editing, and analysis | ✅ Active |
2026-01-06 05:52:07 +01:00
## 🤖 AI Agents
2026-02-18 17:32:13 +01:00
### Primary Agents
2026-01-06 05:52:07 +01:00
2026-02-18 17:32:13 +01:00
| Agent | Mode | Purpose |
| ------------------- | ------- | ---------------------------------------------------- |
| **Chiron ** | Plan | Read-only analysis, planning, and guidance |
| **Chiron Forge ** | Build | Full execution and task completion with safety |
2026-01-06 05:52:07 +01:00
2026-02-18 17:32:13 +01:00
### Subagents (Specialists)
2026-01-06 05:52:07 +01:00
2026-02-18 17:32:13 +01:00
| Agent | Domain | Purpose |
| ------------------- | ---------------- | ------------------------------------------ |
| **Hermes ** | Communication | Basecamp, Outlook, MS Teams |
| **Athena ** | Research | Outline wiki, documentation, knowledge |
| **Apollo ** | Private Knowledge| Obsidian vault, personal notes |
| **Calliope ** | Writing | Documentation, reports, prose |
2026-01-06 05:52:07 +01:00
2026-02-18 17:32:13 +01:00
**Configuration**: `agents/agents.json` + `prompts/*.txt`
2026-01-06 05:52:07 +01:00
2026-03-03 19:38:48 +01:00
## 🛠️ Development
### Environment
The repository includes a Nix flake with a development shell. With [direnv ](https://direnv.net/ ) installed, the environment activates automatically:
```bash
cd AGENTS/
# → direnv: loading .envrc
# → 🔧 AGENTS dev shell active — Python 3.13.x, jq-1.x
# All skill script dependencies are now available:
python3 -c "import pypdf, openpyxl, yaml" # ✔️
pdftoppm -v # ✔️
```
Without direnv, activate manually: `nix develop`
2026-01-06 05:52:07 +01:00
### Quality Gates
Before committing:
2026-02-18 17:32:13 +01:00
1. **Validate skills ** : `./scripts/test-skill.sh --validate` or `python3 skills/skill-creator/scripts/quick_validate.py skills/<name>`
2026-01-11 13:06:32 +01:00
2. **Test locally ** : `./scripts/test-skill.sh --run` to launch opencode with dev skills
3. **Check formatting ** : Ensure YAML frontmatter is valid
2026-01-06 05:52:07 +01:00
4. **Update docs ** : Keep README and AGENTS.md in sync
## 🎓 Learning Resources
### Essential Documentation
- **AGENTS.md** - Complete developer guide for AI agents
2026-02-18 17:32:13 +01:00
- **skills/skill-creator/SKILL.md** - Comprehensive skill creation guide
- **skills/skill-creator/references/workflows.md** - Workflow pattern library
- **skills/skill-creator/references/output-patterns.md** - Output formatting patterns
2026-03-03 19:38:48 +01:00
- **rules/USAGE.md** - AI coding rules integration guide
2026-01-06 05:52:07 +01:00
### Skill Design Principles
1. **Concise is key ** - Context window is a shared resource
2. **Progressive disclosure ** - Load information as needed
3. **Appropriate freedom ** - Match specificity to task fragility
4. **No extraneous files ** - Keep skills focused and minimal
### Example Skills to Study
- **skill-creator/** - Meta-skill with bundled resources
- **reflection/** - Conversation analysis with rating system
2026-01-13 14:50:04 +01:00
- **basecamp/** - MCP server integration with multiple tool categories
2026-01-27 20:09:05 +01:00
- **brainstorming/** - Framework-based ideation with Obsidian markdown save
2026-02-18 17:32:13 +01:00
- **memory/** - SQLite-based hybrid search implementation
2026-03-03 19:38:48 +01:00
- **excalidraw/** - Diagram generation with JSON templates and Python renderer
2026-01-06 05:52:07 +01:00
## 🔧 Customization
### Modify Agent Behavior
2026-02-18 17:32:13 +01:00
Edit `agents/agents.json` for agent definitions and `prompts/*.txt` for system prompts:
2026-02-17 09:15:15 +01:00
2026-02-18 17:32:13 +01:00
- `agents/agents.json` - Agent names, models, permissions
2026-01-11 13:06:32 +01:00
- `prompts/chiron.txt` - Chiron (Plan Mode) system prompt
2026-02-18 17:32:13 +01:00
- `prompts/chiron-forge.txt` - Chiron Forge (Build Mode) system prompt
- `prompts/hermes.txt` - Hermes (Communication) system prompt
- `prompts/athena.txt` - Athena (Research) system prompt
- `prompts/apollo.txt` - Apollo (Private Knowledge) system prompt
- `prompts/calliope.txt` - Calliope (Writing) system prompt
2026-01-11 13:06:32 +01:00
**Note**: Agent changes require `home-manager switch` to take effect (config is embedded, not symlinked).
2026-01-06 05:52:07 +01:00
### Update User Context
Edit `context/profile.md` to configure:
2026-02-17 09:15:15 +01:00
2026-01-06 05:52:07 +01:00
- Work style preferences
- PARA areas and projects
- Communication preferences
- Integration status
### Add Custom Commands
2026-02-18 17:32:13 +01:00
Create new command definitions in `commands/` directory following the pattern in `commands/reflection.md` .
2026-01-06 05:52:07 +01:00
2026-03-03 19:38:48 +01:00
### Add Project Rules
Use the rules system to inject AI coding rules into projects:
```nix
# In project flake.nix
m3taLib.opencode-rules.mkOpencodeRules {
inherit agents;
languages = [ "python" "typescript" ];
frameworks = [ "n8n" ];
};
```
See `rules/USAGE.md` for full documentation.
2026-01-06 05:52:07 +01:00
## 🌟 Use Cases
### Personal Productivity
2026-01-27 20:09:05 +01:00
Use the PARA methodology with Obsidian Tasks integration:
2026-02-17 09:15:15 +01:00
2026-01-06 05:52:07 +01:00
- Capture tasks and notes quickly
- Run daily/weekly reviews
- Prioritize work based on impact
- Batch similar tasks for efficiency
### Knowledge Management
Build a personal knowledge base:
2026-02-17 09:15:15 +01:00
2026-01-06 05:52:07 +01:00
- Capture research findings
- Organize notes and references
- Link related concepts
- Retrieve information on demand
### AI-Assisted Development
Extend Opencode for specialized domains:
2026-02-17 09:15:15 +01:00
2026-01-06 05:52:07 +01:00
- Create company-specific skills (finance, legal, engineering)
- Integrate with APIs and databases
- Build custom automation workflows
- Deploy via Nix for reproducibility
### Team Collaboration
Share skills and agents across teams:
2026-02-17 09:15:15 +01:00
2026-01-06 05:52:07 +01:00
- Document company processes as skills
- Create shared knowledge bases
- Standardize communication templates
- Build domain expertise libraries
## 🤝 Contributing
This is a personal repository, but the patterns and structure are designed to be reusable:
1. **Fork ** this repository
2. **Customize ** for your own use case
3. **Share ** interesting skills and patterns
4. **Learn ** from the skill-creator documentation
## 📝 License
This repository contains personal configurations and skills. Feel free to use the patterns and structure as inspiration for your own setup.
## 🔗 Links
- [Opencode ](https://opencode.dev ) - AI coding assistant
- [PARA Method ](https://fortelabs.com/blog/para/ ) - Productivity methodology
2026-01-27 20:09:05 +01:00
- [Obsidian ](https://obsidian.md ) - Knowledge management platform
2026-01-06 05:52:07 +01:00
## 🙋 Questions?
- Check `AGENTS.md` for detailed developer documentation
2026-02-18 17:32:13 +01:00
- Review existing skills in `skills/` for examples
- See `skills/skill-creator/SKILL.md` for skill creation guide
2026-01-06 05:52:07 +01:00
---
**Built with** ❤️ **for AI-augmented productivity **