/agentic-os
Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude
Claude Code
$ npx -y skills add affaan-m/ECC --skill agentic-os --agent claude-code
Codex
$ npx skills add affaan-m/ECC --skill agentic-os -a codex -y
Cursor
$ npx skills add affaan-m/ECC --skill agentic-os -a cursor -y
Gemini CLI
$ npx skills add affaan-m/ECC --skill agentic-os -a gemini-cli -y
GitHub Copilot
$ npx skills add affaan-m/ECC --skill agentic-os -a github-copilot -y
OpenCode
$ npx skills add affaan-m/ECC --skill agentic-os -a opencode -y
Windsurf
$ npx skills add affaan-m/ECC --skill agentic-os -a windsurf -y
SKILL.md
agentic-os.SKILL.mdname: agentic-os
description: Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling.
metadata:
origin: ECC
Agentic OS
Treat Claude Code as a persistent runtime / operating system rather than a chat session. This skill codifies the architecture used by production agentic setups: a kernel config that routes tasks to specialist agents, persistent file-based memory, scheduled automation, and a JSON/markdown data layer.
When to Activate
- Building a multi-agent workflow inside Claude Code
- Setting up persistent Claude Code automation that survives session restarts
- Creating a "personal OS" or "agentic OS" for recurring tasks
- User says "agentic OS", "personal OS", "multi-agent", "agent coordinator", "persistent agent"
- Structuring long-running projects where context must survive across sessions
Architecture Overview
The Agentic OS has four layers. Each layer is a directory in your project root.
project-root/
├── CLAUDE.md # Kernel: identity, routing rules, agent registry
├── agents/ # Specialist agent definitions (markdown prompts)
├── .claude/commands/ # Slash commands: user-facing CLI
├── scripts/ # Daemon scripts: scheduled or event-driven tasks
└── data/ # State: JSON/markdown filesystem, no external DB
Layer Responsibilities
| Layer | Purpose | Persistence | |---|---|---| | Kernel (`CLAUDE.md`) | Identity, routing, model policies, agent registry | Git-tracked | | Agents (`agents/`) | Specialist identities with scoped tools and memory | Git-tracked | | Commands (`.claude/commands/`) | User-facing slash commands (`/daily-sync`, `/outreach`) | Git-tracked | | Scripts (`scripts/`) | Python/JS daemons triggered by cron or webhooks | Git-tracked | | State (`data/`) | Append-only logs, project state, decision records | Git-ignored or tracked |
The Kernel
`CLAUDE.md` is the kernel. It acts as the COO / orchestrator. Claude reads it at session start and uses it to route work.
Kernel Structure
# CLAUDE.md - Agentic OS Kernel
## Identity
You are the COO of [project-name]. You route tasks to specialist agents.
You never write code directly. You delegate to the right agent and synthesize results.
## Agent Registry
| Agent | Role | Trigger |
|---|---|---|
| @dev | Code, architecture, debugging | User says "build", "fix", "refactor" |
| @writer | Documentation, content, emails | User says "write", "draft", "blog" |
| @researcher | Research, analysis, fact-checking | User says "research", "analyze", "compare" |
| @ops | DevOps, deployment, infrastructure | User says "deploy", "CI", "server" |
## Routing Rules
1. Parse the user request for intent keywords
2. Match to the Agent Registry trigger column
3. Load the corresponding agent file from `agents/<name>.md`
4. Hand off execution with full context
5. Synthesize and present the result back to the user
## Model Policies
- Default model: use the repository or harness default.
- @dev tasks: prefer a higher-reasoning model for complex architecture.
- @researcher tasks: use the configured research-capable model and approved search tools.
- Cost ceiling: warn before exceeding the project's configured spend threshold.
Key Principle
The kernel should be **small and declarative**. Routing logic lives in plain markdown tables, not code. This makes the system inspectable and editable without debugging.
Specialist Agents
Each agent is a standalone markdown file in `agents/`. Claude loads the relevant agent file when routing a task.
Agent Definition Format
# @dev - Software Engineer
## Identity
You are a senior software engineer. You write clean, tested, production-grade code.
You prefer simple solutions. You ask clarifying questions when requirements are ambiguous.
## Memory Scope
- Read `data/projects/<current-project>.md` for context
- Read `data/decisions/` for architectural decisions
- Append execution logs to `data/logs/<date>-@dev.md`
## Tool Access
- Full filesystem access within project root
- Git operations (status, diff, commit, branch)
- Test runner access
- MCP servers as configured in `.claude/mcp.json`
## Constraints
- Always write tests for new features
- Never commit directly to `main`; use feature branches
- Prefer editing existing files over creating new ones
- Keep functions under 50 lines when possible
Multi-Agent Collaboration Pattern
When a task spans multiple agents, the kernel runs them sequentially or in parallel:
User: "Build a landing page and write the launch blog post"
Kernel routing:
1. @dev - "Build a landing page with [requirements]"
2. @writer - "Write a launch blog post for [product] using the landing page copy"
3. Kernel synthesizes both outputs into a unified response
For parallel execution, use Claude Code's background task capability or shell scripts that invoke Claude Code with specific agent contexts.
Commands and Daily Workflows
Slash commands are markdown files in `.claude/commands/`. They define reusable workflows.
Command Structure
# /daily-sync
Run the morning briefing:
1. Read `data/logs/last-sync.md` for context
2. Check project status: `git status`, pending PRs, CI health
3. Review `data/inbox/` for new tasks or decisions needed
4. Generate a summary of blockers, priorities, and next actions
5. Append the briefing to `data/logs/daily/<date>.md`
Standard Command Set
| Command | Purpose | |---|---| | `/daily-sync` | Morning briefing: status, blockers, priorities | | `/outreach` | Run outreach workflow (email, LinkedIn, etc.) | | `/research <topic>` | Deep research with citation tracking | | `/apply-jobs` | Tailor resume + cover letter for a target
Read more
name: agentic-os description: Build persistent multi-agent operating systems on Claude Code. Covers kernel architecture, specialist agents, slash commands, file-based memory, scheduled automation, and state management without external databases. Use when building a persistent multi-agent system on Claude Code with its own memory, commands, and scheduling. metadata: origin: ECC
Agentic OS
Treat Claude Code as a persistent runtime / operating system rather than a chat session. This skill codifies the architecture used by production agentic setups: a kernel config that routes tasks to specialist agents, persistent file-based memory, scheduled automation, and a JSON/markdown data layer.
When to Activate
- Building a multi-agent workflow inside Claude Code
- Setting up persistent Claude Code automation that survives session restarts
- Creating a "personal OS" or "agentic OS" for recurring tasks
- User says "agentic OS", "personal OS", "multi-agent", "agent coordinator", "persistent agent"
- Structuring long-running projects where context must survive across sessions
Architecture Overview
The Agentic OS has four layers. Each layer is a directory in your project root.
project-root/ ├── CLAUDE.md # Kernel: identity, routing rules, agent registry ├── agents/ # Specialist agent definitions (markdown prompts) ├── .claude/commands/ # Slash commands: user-facing CLI ├── scripts/ # Daemon scripts: scheduled or event-driven tasks └── data/ # State: JSON/markdown filesystem, no external DB
Layer Responsibilities
| Layer | Purpose | Persistence | |---|---|---| | Kernel (`CLAUDE.md`) | Identity, routing, model policies, agent registry | Git-tracked | | Agents (`agents/`) | Specialist identities with scoped tools and memory | Git-tracked | | Commands (`.claude/commands/`) | User-facing slash commands (`/daily-sync`, `/outreach`) | Git-tracked | | Scripts (`scripts/`) | Python/JS daemons triggered by cron or webhooks | Git-tracked | | State (`data/`) | Append-only logs, project state, decision records | Git-ignored or tracked |
The Kernel
`CLAUDE.md` is the kernel. It acts as the COO / orchestrator. Claude reads it at session start and uses it to route work.
Kernel Structure
# CLAUDE.md - Agentic OS Kernel ## Identity You are the COO of [project-name]. You route tasks to specialist agents. You never write code directly. You delegate to the right agent and synthesize results. ## Agent Registry | Agent | Role | Trigger | |---|---|---| | @dev | Code, architecture, debugging | User says "build", "fix", "refactor" | | @writer | Documentation, content, emails | User says "write", "draft", "blog" | | @researcher | Research, analysis, fact-checking | User says "research", "analyze", "compare" | | @ops | DevOps, deployment, infrastructure | User says "deploy", "CI", "server" | ## Routing Rules 1. Parse the user request for intent keywords 2. Match to the Agent Registry trigger column 3. Load the corresponding agent file from `agents/<name>.md` 4. Hand off execution with full context 5. Synthesize and present the result back to the user ## Model Policies - Default model: use the repository or harness default. - @dev tasks: prefer a higher-reasoning model for complex architecture. - @researcher tasks: use the configured research-capable model and approved search tools. - Cost ceiling: warn before exceeding the project's configured spend threshold.
Key Principle
The kernel should be **small and declarative**. Routing logic lives in plain markdown tables, not code. This makes the system inspectable and editable without debugging.
Specialist Agents
Each agent is a standalone markdown file in `agents/`. Claude loads the relevant agent file when routing a task.
Agent Definition Format
# @dev - Software Engineer ## Identity You are a senior software engineer. You write clean, tested, production-grade code. You prefer simple solutions. You ask clarifying questions when requirements are ambiguous. ## Memory Scope - Read `data/projects/<current-project>.md` for context - Read `data/decisions/` for architectural decisions - Append execution logs to `data/logs/<date>-@dev.md` ## Tool Access - Full filesystem access within project root - Git operations (status, diff, commit, branch) - Test runner access - MCP servers as configured in `.claude/mcp.json` ## Constraints - Always write tests for new features - Never commit directly to `main`; use feature branches - Prefer editing existing files over creating new ones - Keep functions under 50 lines when possible
Multi-Agent Collaboration Pattern
When a task spans multiple agents, the kernel runs them sequentially or in parallel:
User: "Build a landing page and write the launch blog post" Kernel routing: 1. @dev - "Build a landing page with [requirements]" 2. @writer - "Write a launch blog post for [product] using the landing page copy" 3. Kernel synthesizes both outputs into a unified response
For parallel execution, use Claude Code's background task capability or shell scripts that invoke Claude Code with specific agent contexts.
Commands and Daily Workflows
Slash commands are markdown files in `.claude/commands/`. They define reusable workflows.
Command Structure
# /daily-sync Run the morning briefing: 1. Read `data/logs/last-sync.md` for context 2. Check project status: `git status`, pending PRs, CI health 3. Review `data/inbox/` for new tasks or decisions needed 4. Generate a summary of blockers, priorities, and next actions 5. Append the briefing to `data/logs/daily/<date>.md`
Standard Command Set
| Command | Purpose | |---|---| | `/daily-sync` | Morning briefing: status, blockers, priorities | | `/outreach` | Run outreach workflow (email, LinkedIn, etc.) | | `/research <topic>` | Deep research with citation tracking | | `/apply-jobs` | Tailor resume + cover letter for a target
Your agent can write code, but ECC gives it a coordinated engineering system and toolbox: it plans before it builds, verifies changes with tests, reviews its own work from a fresh context, remembers what matters, and turns repeated wins into reusable skills
Other skills on ecc.
More skills from other plugins.
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
ask-matt
Ask which skill or flow fits your situation. A router over the skills in this repo.
act-on-feedback
Act on user feedback attached to the current session. Use when the user submits feedback on the session's changes via the Submit…
Questions about agentic-os.
- Which coding agents can use agentic-os?
- agentic-os installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.

