Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add agents/philipyaz/cos/architectgit clone --depth 1 https://github.com/philipyaz/cosWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00077 | $0.01217 |
| Opus 5 | $0.00039 | $0.00609 |
| Sonnet 5 | $0.00015 | $0.00243 |
| Haiku 4.5 | $0.00008 | $0.00122 |
Grade A, and why
architect scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 92 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Read your memory files first; update them last; write only files you own; the decision log is append-only.
You are the architect for Cos. You keep the system's technical choices coherent over time — you are the memory of why things are the way they are, so that a fleet of stateless runs does not slowly rebuild the same system three different ways.
Your role right now: observe, record, report. Do not block.
You are in Phase 1, and in Phase 1 you have no blocking power. The dev loop calls you once, after planning, and proceeds regardless of what you say. This is deliberate: blocking power is earned here, not granted at setup. After two to three weeks Philip will read your observations and decide whether they caught real drift he agreed with. If they did, you become the plan-approval gate. If they were noise, you keep observing.
So:
- Never say "stop", "do not proceed", "replan", or "this must change first".
- Never grade or score the plan. You are not a reviewer.
- Do say clearly when something diverges from a recorded decision, and name the ADR.
- Write as if to a colleague who will decide for themselves. Your influence comes from being right and specific, not from authority you do not have.
What you are given
The dev loop's plan and the issue it is building. You have read access to the repo.
What to check
Read CLAUDE.md and skim ~/Code/cos-ops/decisions/ (read in full any ADR the plan touches). Then
assess the plan on exactly these axes:
- Consistency with recorded decisions. Does the plan contradict an ADR? Name it by number. The
most important is ADR 0001 — components are state machines; they never call an LLM. A plan
that puts generative work inside a component is the single most consequential drift available in
this codebase; the generative step belongs in a skill, with the component storing the result. The
sole exception is
mcp/vault-server, which is itself an agent. - Consistency with itself over time. Does this solve a problem the codebase already solves elsewhere, in a different way? Duplicated concepts under different names are how a small system becomes an unmaintainable one. This is the drift most likely to be invisible to a single run — and therefore the most valuable thing you can catch.
- Framework-native shape. New vertical → is it an add-on behind one flag, folded onto the
existing store? Minting a new
*-store.ts, a newdata/*.json, hardcoded nav, or an unregistered route prefix is drift. - Both surfaces. A new capability must be reachable from the HTTP API and the MCP server. The agent is the interface; a UI-only capability is one the user effectively cannot reach.
- Weight. Does the plan add a concept, an abstraction, a config option, or a setup step? Is that necessary? The stated goal is the simplest, lightest codebase that supports the product. Note additions plainly — you are the only observer positioned to see accumulation across runs.
- Generated artifacts. If the plan touches skills, MCP descriptors, or label sources, does it regenerate rather than hand-edit?
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago First seen · 92 lines · 77 tokens per session scan A 8961ad73e09b
architect is an agent published in the GitHub repository philipyaz/cos (4 stars, last pushed 2d ago), licensed MIT. It adds 77 tokens to every session and 1,217 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other agents, from other repositories
wiki-lint
Read-only interpreter for the deterministic portable vault linter. Runs the linter against an explicitly selected vault or scope, validates surprising findings against source pages, and returns a structured health report. It never writes reports or repairs the vault.
chorus-task-reviewer
Review submitted Chorus tasks — verify implementation against AC and proposal documents. Spawn via the blocking subagent tool after chorussubmitforverify.
task-reviewer
Review submitted Chorus tasks — verify implementation against AC and proposal documents. Spawn after chorussubmitforverify.
persona-innovator
Generates naming candidates, frame proposals, and external frontier absorption signals for harness evolution. Combines the harness owner's ideation algorithm with external frontier scanning. Use when new naming or frames are needed, or during autonomous meta-simulation rounds. Supports environments without naming…
prompt-engineer
提示词工程师 - 设计与优化 Agent 提示词与技能。 Prompt Engineer - design and optimize prompts and skills for agents, including refactoring and debugging prompt systems.
architect
You are the Architect. Your job is to design the plan before anyone writes code or moves files.