Hub repo for the RAFA agent stack (openrafa). Start here for the strategy: which agent to use when, how the pieces share one skill directory, and how to install everything from scratch.
Get started first:
docs/install-from-scratch.md(中文) — or the one-liner below. The install guide is the product path; tool layering explains the why.
RAFA ships a multi-tool agent stack. Instead of one runtime, it layers four tools with different strengths and one shared skill directory (~/.agents/skills/) that every runtime reads — install a skill once, use it everywhere.
| Tool | Role in the stack | When to reach for it |
|---|---|---|
| opencode | Main coding runtime, profile-driven | Structured coding work, slash commands, project agents |
| pi | Lightweight standalone agent | Quick questions, scratch coding, scripted -p runs |
| omp | Full harness with skills + memory | Notes / wiki / knowledge work, long-running sessions |
| oh-my-openagents (OMOS) | Orchestration + model routing | Multi-agent decomposition, model tiers, cost control |
All four read skills from ~/.agents/skills/ — the shared dependency layer. Repos install into it; agents load from it.
| Layer | Role | Source | Installs into |
|---|---|---|---|
| Shared skills | One skill dir for every agent | opencode-obsidian-wiki + opencode-writing-skills | ~/.agents/skills/ |
| Command kit | Slash commands + agent personas | opencode-command-kit — adapted from waybarrios/opencode-power-pack | ~/.config/opencode/ |
| Skill runtime | Per-skill Python venvs | opencode-skill-runtime — RAFA-original | ~/.config/opencode/.scripts/ (or vault .scripts/) |
| Wiki skills | Vault workflows, 21 skills | opencode-obsidian-wiki — fork of AgriciDaniel/claude-obsidian; borrows from Karpathy llm-wiki + kepano/obsidian-skills | ~/.agents/skills/wiki* |
| Writing skills | Humanize EN/ZH drafts | opencode-writing-skills — vendored from blader/humanizer + op7418/Humanizer-zh | ~/.agents/skills/humanizer* |
Examples use placeholders. This is not a dump of one person's live config. Configure providers, MCP, and plugins yourself.
Please credit upstream authors when you reuse or fork further:
| Piece | Relationship | Upstream |
|---|---|---|
| OMOS | Dependency, install upstream | https://github.com/code-yeongyu/oh-my-openagent |
| Most slash commands | Adapted / derived, MIT | https://github.com/waybarrios/opencode-power-pack |
| Power-pack lineage | Ports of Anthropic skill workflows | https://github.com/anthropics/skills · https://github.com/anthropics/claude-code |
| Wiki skill bundle | Fork of | https://github.com/AgriciDaniel/claude-obsidian |
| Wiki pattern | Borrowed idea, behind claude-obsidian + this suite | https://gist.github.com/karpathy/442a6bf555914893e9891c11519de94f |
| Obsidian substrate | Borrowed idea / prefer upstream | https://github.com/kepano/obsidian-skills |
| Defuddle CLI | External tool | https://github.com/kepano/defuddle |
venv-manager.sh |
Written for this suite | Cyame / openrafa |
Local git commands (commit, simplify, …) |
OpenCode ports | command-kit attribution |
Writing skills (humanizer, humanizer-zh) |
Vendored from | https://github.com/blader/humanizer · https://github.com/op7418/Humanizer-zh |
One command initializes the whole stack (commands, shared skills, skill runtime, optional OMOS):
bash <(curl -fsSL https://raw.githubusercontent.com/openrafa/RAFA/main/get-started.sh)Or follow the manual path: docs/install-from-scratch.md. Then read docs/tool-layering.md to map tools to scenarios.
| Repo | Remote | Installs into |
|---|---|---|
| opencode-methodology (this) | openrafa/opencode-methodology | docs only |
| opencode-command-kit | openrafa/opencode-command-kit | ~/.config/opencode/ |
| opencode-skill-runtime | openrafa/opencode-skill-runtime | ~/.config/opencode/.scripts/ |
| opencode-obsidian-wiki | openrafa/opencode-obsidian-wiki | ~/.agents/skills/ |
| opencode-writing-skills | openrafa/opencode-writing-skills | ~/.agents/skills/ |
- Shared before specific: public dependencies (
skills/,commands/) live where every agent can read them —~/.agents/skills/is the single skill source. - Tool layering over tool loyalty: pick the runtime by scenario; profiles (
opencode.*.json) keep one runtime honest per mode (clean / OMOS / power-pack / ponytail). AGENTS.mdonly for project rules; call the runtime Agent, not a vendor product name.- Publish examples, not private runtime state. Providers, model routing, and vault paths stay personal.
- Keep Chinese and English docs first-class; language switchers link EN↔ZH.
| Topic | English | 中文 |
|---|---|---|
| Install from scratch | install-from-scratch.md | install-from-scratch.zh-CN.md |
| Tool layering (pi / omp / opencode / omo) | tool-layering.md | tool-layering.zh-CN.md |
| Philosophy | philosophy.md | philosophy.zh-CN.md |
Migration / AGENTS.md |
migration-guide.md | migration-guide.zh-CN.md |
| OMOS / oh-my-openagents | omos.md | omos.zh-CN.md |
| Components | component-matrix.md | component-matrix.zh-CN.md |
| Wiki overview | wiki-workflows.md | wiki-workflows.zh-CN.md |
| Python runtime | python-skill-runtime.md | python-skill-runtime.zh-CN.md |
| Case study, optional | case-study.md | case-study.zh-CN.md |
MIT License — Copyright (c) 2026 Cyame. See LICENSE.
Do not publish live opencode.json, oh-my-openagent.json, auth files, local vault paths, or provider credentials. Use examples/ as placeholders only.