mcpbeat Sign in

Agency OS Skill for Claude

| Notion-as-source-of-truth dispatch board for running your work like an AI agency. One Tasks database is the source of truth; tasks flow Suggestion through Discussion, To-Do, In Progress, and Done with subtasks, recurring cadences, dependencies, and template subtrees. Batch execution fans approved To-Do rows out to parallel agents with per-task model selection. Use when capturing chat to Notion, running the To-Do queue, suggesting, approving, or discussing tasks, or coordinating multi-task batches. Trigger with "/agency-os" subcommands or "run the queue").

19k tokens
context cost
the whole folder, loaded on every use
12
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
2679
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/jeremylongshore/tons-of-skills-marketplace --skill agency-os

What comes with it

69 439 bytes besides the instruction
references/architecture.md
references/commands.md
references/config-template.json
references/corpus-template.md
references/general-guidance.md
references/natural-language.md
references/notion-pointers.json
references/positioning.md
references/task-page-template.md
scripts/query-tasks.py
state/.gitkeep

What it tells the agent to use

found in the instruction text
Bash runs shell commands — read the instruction before connecting

The instruction itself

8 sections, as written by the author

agency-os

Notion-as-source-of-truth dispatch board. One Tasks database, one Hub page, one

page per Corpus, one page each for General Guidance and Resources. The skill

mutates Notion via the Notion MCP (mcp__*__notion-* tools); only

references/notion-pointers.json is committed to git.

Skill name decision: the skill is named agency-os (matching the repo). All

commands are /agency-os <cmd>. This is the single plugin entry point; there

is no agency-os/notion sub-namespace. If you embed this plugin alongside

others, prefix commands with agency-os to avoid collisions.

Overview

agency-os turns a single Notion database into a multi-status dispatch board for

AI work. The model is intentionally narrow:

  • One Tasks database is the source of truth for status, priority, model

selection, and ownership. No parallel kanban tools.

  • One Hub page holds the General Guidance, Resources, and Corpus pointers

that every task consults.

  • Tasks flow through five statuses: Suggestion → Discussion → To-Do →

In Progress → Done. The dedup gate at each transition prevents accidental

re-execution.

  • run fans approved To-Do rows out to parallel agents. Each task carries

its own model selection (Haiku for cheap fan-out, Sonnet for default,

Opus for hard reasoning) and respects declared dependencies.

The skill is stateless on disk — the only committed artifact is

references/notion-pointers.json (database/page IDs). All runtime state lives

in Notion.

For the full architecture (status flow, sync protocol, workspace structure,

pointer/cache format), see references/architecture.md.

Prerequisites

  • Notion MCP server installed:

npx -y @notionhq/notion-mcp-server (declare in .mcp.json)

  • Notion integration token (NOTION_TOKEN) with read+write access to your

workspace. Add .env to .gitignore — never commit the token.

  • A Notion Tasks database with the columns the skill expects (see

references/architecture.md § "Workspace structure" for the schema). The

/agency-os init command can scaffold this for you.

  • Python 3 for the optional scripts/query-tasks.py helper.

First-time setup:

ccpi install agency-os
# then in Claude Code:
/agency-os init --harness=basic --haiku=cost-tier --sonnet=default --opus=hard-reasoning

Instructions

The skill is a CLI surface over Notion. Three usage patterns:

  • Direct command invocation/agency-os <cmd> [args]. See

references/commands.md for the full reference

of 19 commands (init, scaffold, suggest, discuss, log,

add-subtask, approve, start, refresh, run, done, kill,

next, status, list, show, update, move, plus launch alias).

  • Natural-language driving — the skill translates conversational chat into

the corresponding command. Examples in

references/natural-language.md.

  • Batch execution/agency-os run [--go] fans the entire To-Do queue

out to parallel agents with per-task model selection. See ## Examples

below for the canonical flow.

Status flow is enforced — you cannot skip a stage. Every command performs a

sync preflight to ensure your local view of Notion is current (see

references/architecture.md § "Sync — preflight on every command").

When drafting any user-facing copy (READMEs, blog posts, launch surfaces),

apply the positioning brief at

references/positioning.md before writing.

Output

Every command returns to chat with:

  • Verdict line✅ <action> or ⚠️ <reason> (one line, scannable)
  • Affected task IDs and titles — every task touched, with its new status
  • Next-action hint — what command the operator would typically run next

Batch run additionally emits:

  • A per-task pass/fail table
  • Total model spend estimate (Haiku/Sonnet/Opus call counts)
  • Outstanding-dependency callouts for tasks that couldn't start

Error Handling

The skill fails closed on five well-defined cases (full details in

references/architecture.md § "Status flow — the dedup gate"):

| Condition | Behavior |

|---|---|

| Notion API auth fails | Halt, print "NOTION_TOKEN missing or invalid", exit 1 |

| Database/page ID drift (pointers stale) | Halt, print "Run /agency-os refresh", exit 1 |

| Status-flow violation (e.g. approve on a Suggestion) | Halt with the required prerequisite step quoted |

| Dependency cycle detected during run | Halt, list the cycle, exit 1 |

| Task missing required model selection | Halt, print "Run /agency-os update <id> --model <tier>" |

The skill never silently corrects state in Notion — every fix is an explicit

command the operator must run.

Examples

Capture a chat insight as a Suggestion:

User: add a suggestion: refactor the auth flow to use the new token cache
Skill: → /agency-os suggest "refactor the auth flow to use the new token cache"
       ✅ Created Suggestion #t-2026-05-23-001 in corpus "platform"
       Next: /agency-os discuss t-2026-05-23-001

Approve and run a batch:

User: approve t-2026-05-23-{001..003} then run the queue
Skill: ✅ Approved 3 tasks → To-Do
       /agency-os run --go
       → fanning to 3 parallel agents...
       ✅ Done: 2 | ⚠️ Blocked on deps: 1 | Total spend: ~$0.04

More examples and the full command catalog are in

references/commands.md.

Resources

  • Plugin source: <https://github.com/ratamaha-git/agency-os>
  • Launch post: <https://automatelab.tech/agency-os-launch/>
  • references/architecture.md — status flow, sync protocol, workspace schema
  • references/commands.md — full CLI reference (19 commands)
  • references/natural-language.md — chat-to-command translation table
  • references/positioning.md — canonical brief for user-facing copy
  • references/general-guidance.md — shared operating principles applied to every task
  • references/notion-pointers.json — pointer file scaffold (database/page IDs)
  • references/task-page-template.md — Notion page template for new tasks
  • references/corpus-template.md — Notion page template for a Corpus
  • references/config-template.json — default per-task model routing
  • scripts/query-tasks.py — optional Python helper for offline introspection

How to use it

Copy the folder

Take jeremylongshore/agency-os from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

The agent identifies a skill by the name field in its header. Two skills with the same name cannot sit side by side — one of them will be ignored.

Install what it needs

The instructions reference npx. Without those the skill loads but fails at the first command.