agentic-os-mcp
The agentic-os-mcp server provides read-only access to the agentic-os governance, SDLC pipeline, and QE blueprint methodology, allowing any MCP-capable client to explore, plan, and verify agentic-os installations without modifying any repository.
Search methodology docs (
search_methodology): Full-text search across agentic-os governance, agentic-sdlc, and agentic-qe documentation, returning ranked results with URIs to fetch full documents.Fetch full documents (
get_document): Retrieve the complete text of any methodology document by itsagentic-os://URI, with optional truncation.List role presets (
list_presets): Browse all available role presets (developer, qa, architect, devops, ba-po, etc.) with their HITL defaults, orchestration styles, template counts, and SDLC skills.List QE blueprints (
list_qe_blueprints): Browse the Quality Engineering blueprint catalog (organized by STLC stage: analyze, build, design, execute, operate, report), with titles and summaries.List SDLC pipeline phases (
list_sdlc_phases): View the agentic-sdlc pipeline phases in execution order, including skip conditions and judgment gates (human decision checkpoints).Plan an install (
plan_install): Compose one or more role presets into a concrete, ordered file manifest to scaffold — showing expected HITL levels, orchestration styles, agent candidates, and SDLC skills — without writing anything to disk.Verify an existing install (
run_doctor): Audit an agentic-os install in a target repository via native file inspection (manifest, settings, git hooks, dependencies, scorecard, registry), and return copy-pasteable shell commands for hook compilation, canned-event dry-runs, and HITL smoke tests that require Python execution on the host.
agentic-os
Turn your repo into a governed multi-agent setup in one interview — scoped agent contracts, enforcement hooks (not just prompts), and optional SDLC orchestration. Works in Claude Code and Cursor; the SDLC pipeline (agentic-sdlc) also runs in Codex.
In plain words
You install two plugins into your AI coding editor (Claude Code or Cursor). The first, agentic-os, sets up guardrails for AI agents in your project: what files they may touch, when they must stop and ask a human, and how their work gets independently reviewed before anything is committed. The second, agentic-sdlc, runs a software-delivery pipeline on top of those guardrails: it takes an idea or a ticket and carries it through requirements, a spec, a plan, tested code, and a review-ready pull request. You don't need to be a programmer to benefit — there are role setups for developers, QA, architects, DevOps, business analysts, project/portfolio managers, security engineers, data engineers, and designers, and the non-coding roles work entirely through plain chat phrases. Unfamiliar terms (HITL, gate, preset…) are one-liners in the Glossary.
Start here
Prefer a walk-through? The role-based setup guides cover the same install for every role preset — pick your role (developer, QA, BA/PO, architect, DevOps, PM, portfolio, security, data, design) and follow the checklist, quick or fully guided.
New to this repo? You do not need to read everything below. Pick a path:
Your goal | Install from marketplace | First command in your project |
Governed agents in my repo — scoped writes, blind pre-commit review, role presets, stack agents | agentic-os + agentic-sdlc + superpowers (≥ 6.1.0 — enforced by | Choose roles: |
SDLC pipeline on top — spec → plan → TDD → QA ( | Same three plugins (pipeline skills ship in agentic-sdlc) | After init: |
QE AI blueprints — 28 QE methodology blueprints, scaffold an agent framework from one, or set up evals for skills/agents | agentic-qe (works alone — no | Ask e.g. "scaffold the bug-reporting blueprint for Claude Code" or "set up evals for my skills" |
Five-minute flow (any editor):
Install the plugin(s) for your editor (Claude Code or Cursor).
Open the git repo you want to improve (not this marketplace repo).
Run
/agentic-init --presets <role[,role...]>(or/agentic-initfor the full role-selection interview).Run
/agentic-doctor— expectpassed: truein.agentic/agentic-os/doctor.json.git status— review scaffolded files; nothing is committed for you.If you use the SDLC pipeline, run sdlc-preflight — expect
passed: truein.agentic/agentic-sdlc/doctor.json.
Safe first try: use the throwaway repo walkthrough before touching a real project.
Full install checklist
Complete this before /agentic-init in the repo you want to equip:
# | Requirement | How to check |
1 | Claude Code or Cursor | Editor running with plugin support |
2 |
|
|
3 |
| Target directory is a git repo ( |
4 |
|
|
5 |
| |
6 |
| Install for your editor |
7 |
| Both cards/skills visible after reload |
8 |
| Only for GitHub ticket/MR adapters |
After equip — which doctor?
Check | When | Output |
| After |
|
sdlc-preflight skill | Before |
|
Cursor users: this plugin is not in Browse Marketplace → All (curated public plugins only). You add a custom marketplace and install from the User tab — see Cursor install.
Related MCP server: Jenkins MCP Server
Why this exists
Left alone, multi-agent coding fails in a few specific, recurring ways: an
agent's write scope silently creeps into files it wasn't asked to touch; an
agent reviewing its own work rationalizes away the gaps it should have
caught; "autonomous mode" is a blunt on/off switch instead of a resolution
strategy sized to each decision's actual risk; and stack facts get re-guessed
from scratch every session, with nothing stopping a Postgres-flavored rule
from leaking into a MongoDB agent's contract. agentic-os closes each of
those with a mechanism that's enforced, not just requested in a prompt — see
docs/PRINCIPLES.md for what each one does and why a
plain agent session doesn't already have it.
What it is
agentic-os packages that governance layer as an installable system. One
command interviews you (role, autonomy level, stack) and scaffolds a coherent
system into your project: canonical agent contracts, enforcement hooks (blind
pre-commit review, write-scope guard, instruction-quality spawn gate), a
human-in-the-loop escalation ladder, and — where it fits your stack — generated
stack-specific agents. It is stack-universal: six curated profiles
(Next.js, Django, Spring, Rails, Go, Playwright) are recognized instantly,
and anything else — a NestJS backend, a schemaless Mongo service, or no code
stack at all — gets real, evidence-grounded persistence and API agents via
live repo discovery instead of a degraded stub (proven live against both a
migration-managed and a schemaless non-curated backend — see
tests/universal/README.md). Frontend/UI generation on a non-curated stack
uses the same discovery mechanism but is earlier in its own verification
cycle. It is also role-agnostic
(developer, QA, BA/PO, architect, delivery).
Today it's delivered as a Claude Code and Cursor plugin (the agentic-sdlc pipeline additionally ships Codex packaging) — that's the install mechanism, not the architectural boundary: the scaffolded contracts are harness-neutral by design (thin per-host pointer files over a canonical, host-independent body).
This repo is a marketplace (Claude Code and Cursor) hosting three plugins:
agentic-os— the product: the/agentic-init,/agentic-doctor, and/agentic-upgradeskills plus the template library, generators, and role presets they scaffold from.agentic-sdlc— the SDLC pipeline and the gate-arbiter that resolves every judgment gate (ask the human in HITL mode; deterministic → fast-path → stand-in subagent → escalate in autonomous mode) with a fulldecisions.jsonlaudit trail. For an interactive visual map of the whole pipeline, openplugins/agentic-sdlc/sdlc.htmlin a browser.agentic-qe— a tool-agnostic catalog of Quality Engineering AI blueprints (28, organized by STLC stage) plus two skills:qe-blueprintsscaffolds a ready-to-fill agent framework from a chosen blueprint, andeval-harnessgenerates a two-layer evaluation framework for skills and agents./agentic-initis never required — but when the governance layer is present,qe-blueprintsdetects it and adapts, writing contracts where the write-scope guard and instruction gate can see them instead of alongside the installer's own files. Composes when governed, stands alone when not.
There's also mcp/ — a read-only MCP server that serves this same
governance/SDLC/QE methodology to hosts that don't speak the Claude Code or
Cursor plugin format (any MCP-capable client). It's a separate package with its
own build, published on npm and the MCP Registry; see
mcp/README.md.
Use it from any MCP client
Don't use Claude Code or Cursor? The same methodology is a published MCP server — your assistant can search the docs, list the role presets and QE blueprints, turn a role into an install plan, and audit an existing install, all read-only:
claude mcp add agentic-os -- npx -y agentic-os-mcpWorks in any MCP-capable assistant. See mcp/README.md for
per-role examples and the full tool list.
Which plugin? For the governed platform, install agentic-os +
agentic-sdlc plus superpowers: agentic-os is the installer/governance
layer, agentic-sdlc is the SDLC orchestrator, and /agentic-init wires them
together and registers missing dependencies in Phase 3 if any are absent.
agentic-qe is optional and installs with or without the other two: alone it
is the QE blueprint catalog and scaffolder, and inside a governed repo it
detects the install journal and writes into the governed paths instead.
Why separate plugins, not one? The governance layer and the pipeline have different lifecycles and different audiences: agentic-os scaffolds into your repo once and evolves with your codebase, while agentic-sdlc is a set of runtime skills you invoke per task — and some teams want the guardrails without the pipeline (or, on Codex, the pipeline alone). agentic-qe is separate again: a knowledge-and-scaffolding add-on with no dependency on the other two. Splitting them keeps each independently versioned, upgraded, and installable.
/agentic-initPhase 3 treats agentic-sdlc and superpowers as non-optional (plugins/agentic-os/manifest/dependencies.json). Install all three up front to avoid a pending-restart loop.
Prerequisites
Claude Code or Cursor — see Install. This is a custom plugin marketplace; you add it once per editor, then equip projects with
/agentic-init.python3on your PATH — enforcement hooks are Python scripts.git— the target repo must be a git repository (/agentic-initcangit initif it is not).nodeon your PATH — required when using agentic-sdlc; sdlc-preflight runsnode --versionandgit --version(plugins/agentic-sdlc/skills/sdlc-preflight/SKILL.md).superpowers≥ 6.1.0 andagentic-sdlc≥ 0.4.4 — required by/agentic-init(plugins/agentic-os/manifest/dependencies.json).Optional:
gh(GitHub CLI) for GitHub ticket/MR adapters.
Install
Install superpowers
/agentic-init and agentic-sdlc require the superpowers plugin ≥
6.1.0 (plugins/agentic-os/manifest/dependencies.json). Install it
before equipping a target repo.
Claude Code:
/plugin install superpowers@claude-plugins-officialIf that marketplace is missing, add it first:
/plugin marketplace add anthropics/claude-plugins-official
/plugin install superpowers@claude-plugins-officialFallback marketplace (same plugin family):
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplaceCursor:
Customize → Plugins → Browse Marketplace → All → install Superpowers (curated public plugin), or
Install superpowers in Claude Code and enable “Automatically import agent configs from other tools”, then reload Cursor.
Confirm version ≥ 6.1.0 on the plugin card or via sdlc-preflight after equip.
Claude Code
Install superpowers (above), then add this marketplace:
/plugin marketplace add Jarroslav/agentic-os
/plugin install agentic-os@agentic-os
/plugin install agentic-sdlc@agentic-osOr try it straight from a local clone, no publish needed:
git clone https://github.com/Jarroslav/agentic-os
# in Claude Code:
/plugin marketplace add /absolute/path/to/agentic-os
/plugin install agentic-os@agentic-os
/plugin install agentic-sdlc@agentic-osRestart the session so the plugins load (Claude Code activates plugins at session start).
Cursor
agentic-os is a custom marketplace, not a curated Cursor Store listing.
You will not find it by searching Browse Marketplace → All.
Install (recommended)
Open Customize → Plugins (or Settings → Plugins; use Customize if you see the “Plugins are moving to Customize” banner).
Add marketplace and paste the Git clone URL (must end in
.git):https://github.com/Jarroslav/agentic-os.gitOr, from a local clone:
/absolute/path/to/agentic-osOpen the User tab (not All).
Install both plugins from the
agentic-osmarketplace:agentic-os —
/agentic-init,/agentic-doctor,/agentic-upgrade,/agentic-uninstallagentic-sdlc — SDLC skills + subagents (display name Agentic SDLC)
Install superpowers ≥ 6.1.0 (Install superpowers — curated Superpowers from Browse Marketplace → All works in Cursor).
Reload the window (Command Palette → “Developer: Reload Window”).
You should see each plugin as its own card (often tagged Imported), with bundled skills listed — similar to other third-party plugins. The page Rules, Skills, Subagents is a flat list of everything on your machine; that is not the plugin install view.
Alternative: import via Claude Code
If you already use Claude Code with “Automatically import agent configs from other tools” enabled in Cursor:
/plugin marketplace add Jarroslav/agentic-os
/plugin install agentic-os@agentic-os
/plugin install agentic-sdlc@agentic-osReload Cursor. Plugins registered in Claude appear as Imported in Cursor.
Equip your project
Open the target repo (your app, not the agentic-os clone), then:
/agentic-init --presets ba-po # explicit role selection + guided interview
/agentic-init --presets ba-po --defaults # explicit role, accept detected defaultsThe interview never commits — it scaffolds files, shows a settings diff before merging, and leaves the working tree for you to review.
Then:
/agentic-doctor # verify governance install → .agentic/agentic-os/doctor.json
/agentic-upgrade # reconcile after a plugin version bump
/agentic-uninstall qa # drop a role (--all for the whole layer, --dry-run to preview)If you use SDLC skills (/sdlc-guided, /sdlc-auto, …), also run
sdlc-preflight — it writes .agentic/agentic-sdlc/doctor.json and checks
superpowers, node, and git.
Cursor troubleshooting
Symptom | Fix |
Cannot find | Expected. Add custom marketplace (above) and use the User tab. |
Marketplace added but no plugin card | You added the repo but did not Install each plugin. Install both, then reload. |
Skills page shows hundreds of items, not | Search for |
| Plugins not loaded — reload window; confirm both plugins show as installed. |
Init or sdlc doctor fails on superpowers | Install superpowers ≥ 6.1.0 (Install superpowers), then reload. |
sdlc-preflight fails on node | Install Node.js ( |
Portfolio and MCP (Cursor or Claude Code)
Role selection is explicit. Choose ba-po when your work is requirements,
customer, and delivery focused; it installs the dispatcher and requirements
workflow without developer/code-writing agents. Add another role later by
re-running /agentic-init --presets ba-po,developer (or the role combination
you need); the installer unions the existing architecture and preserves
user-owned files.
MCP is optional. During setup choose one of:
Connect now — use an approved host directory/“Add to Cursor” connector or an organization-provided server.
Configure later — finish setup and return when access is available.
Continue without MCP — paste a table, attach a CSV, share a screenshot, or paste a Power BI finding. Portfolio workflows remain usable.
For Cursor, project MCP configuration is .cursor/mcp.json and global
configuration is ~/.cursor/mcp.json. Verify with
cursor-agent mcp list, authenticate with cursor-agent mcp login <name>, and
inspect capabilities with cursor-agent mcp list-tools <name>.
For Claude Code, shared project configuration is .mcp.json. Use
claude mcp add <name> --scope project ... or claude mcp add-json, verify
with claude mcp list / claude mcp get <name>, and use /mcp for OAuth and
approval. Keep secrets in OAuth or environment variables, never in committed
JSON.
Glossary: a repo is the project folder Git tracks; a plugin adds skills; a marketplace is where plugins are installed; MCP connects approved external tools and data; OAuth is browser-based sign-in; and project scope means configuration shared by that project.
First Portfolio prompts:
“Turn this Power BI insight into a customer-ready requirement.”
“Convert this Excel analysis into acceptance criteria.”
“Prepare clarification questions for the customer and delivery team.”
Cursor reads .cursor-plugin/marketplace.json from the repo root. Use a Git
clone URL ending in .git, not the GitHub browser URL.
Try it in two minutes (throwaway repo)
Nothing here touches a real project — build a disposable repo and watch the whole install cycle end-to-end:
mkdir /tmp/try-agentic && cd /tmp/try-agentic && git init
printf '{"name":"try","dependencies":{"next":"15.0.0"}}' > package.jsonOpen Claude Code or Cursor in that directory (after the marketplace/plugin install steps and a session reload), then run:
/agentic-init --presets ba-poWhat happens, in order:
Preflight — detects this is a git repo, then runs stack discovery: a cheap marker check spots the
nextdependency and matches thenextjs-supabaseprofile, then a subagent confirms that match against the real repo (a non-matching repo gets a full from-scratch inspection instead, not a dead-end fallback).Interview — role selection is explicit. The flow then asks for MCP access (
connect now,configure later, orcontinue without MCP) before role-relevant autonomy, gates, stack, and adapter questions.--defaultsaccepts detected defaults only after an explicit--presetsselection (or an existing journal).Dependency check — verifies every non-optional dependency (
agentic-sdlc,superpowers) is registered; prints a pending-restart notice for any that aren't.Scaffold — writes
.agentic/agents/,.agentic/guides/,.claude/hooks/,.githooks/pre-commit; always writesCLAUDE.mdas a marker-delimited block, and writesAGENTS.mdwhole on a fresh repo like this one (it only becomes a marker-delimited block when the file already exists). Nothing is committed — it's your working tree to review.Generate — spawns per-slot subagents for the generated set (the union across every selected role preset): writer contracts, any applicable read-only gate like
migration-validator, and stack guides — each independently audited against the instruction-quality rubric before being armed in the scorecard.
Then:
/agentic-doctorruns all 8 checks (file manifest vs. install journal, hook compilation,
canned-event dry-runs of four enforcement hooks, a 3-part HITL smoke test,
settings registration, git hook + dependencies, scorecard coverage/thresholds,
and agent-registry table integrity) and writes the result to
.agentic/agentic-os/doctor.json.
Cursor note: same commands work in Cursor chat once agentic-os is
installed from the custom marketplace. If /agentic-init is missing, reload
the window and confirm the plugin card appears under Customize → Plugins.
git status # inspect exactly what was scaffolded; nothing was committedRole presets
Presets are additive — install several and their template sets union (strictest HITL wins).
Preset | What it installs | Default HITL / orchestration |
developer | generated stack writer agents (schema/api/component), read-only gates, blind pre-commit review, staged pipeline orchestrator | gated-autonomous / pipeline |
qa | dispatcher routing; test-case generation / automation / sync agents with real-ID + existing-coverage gates; failure triage + flaky protocol; adapter-driven work-item creation (tests are recommend-only) | strict / dispatcher |
ba-po | story & requirements intake via agentic-sdlc, ticket adapter — no code-writing agents | gated-autonomous / dispatcher |
architect | full governance scaffolding (AGENTS/PATTERNS/registry), instruction-auditor + scorecard spawn gate, dispatcher routing, generated architecture guides | gated-autonomous / dispatcher |
pm-delivery | ticket/MR adapters, PR pipeline gate, MR-monitoring glue, status conventions | gated-autonomous / dispatcher |
devops | git hooks + quality gates, PR pipeline gate, MR-monitoring/CI-fixing glue, security reviewer, read-only incident triage (3 ranked hypotheses, human-executed fixes) — no code-writing agents | gated-autonomous / dispatcher |
security | DFD-first STRIDE threat modeling (doc-writer scoped to | strict / dispatcher |
data | layered pipeline design raw → cleaned → consumable (doc-writer scoped to | strict / dispatcher |
design | emotion-annotated journey mapping → step+emotion problem framings → decision-closing workshops → negative-AC acceptance criteria → agent-ready context+spec handoff pair (doc-writer scoped to | strict / dispatcher |
portfolio | run status, repo/knowledge health audits, durable cross-session memory, requirements intake — read/report-only, no git layer | gated-autonomous / dispatcher |
The HITL dial
The install sets how much agents may do before a human must weigh in:
strict— every step is user-invoked; agents recommend, they don't act (e.g. QA: agents author tests but never run them). Dispatcher orchestration.gated-autonomous— pipelines run, but judgment gates and theescalate_onrisk flags (default: security, breaking-change, migration, spend) stop them for a human decision.autonomous— the agentic-sdlc gate-arbiter resolves gates with deterministic checks, fast-paths, and stand-in reviewers, escalating to you only on low confidence, a matching risk flag, or malformed agent output.
Underneath, three mechanisms make HITL real, not advisory:
Policy files (
.agentic/guides/policy/) — the autonomy matrix, size ceiling, env write boundaries, secret deny-lists, and the escalation ladder.Resolver conventions — every agent ends its output with
## Summary / ## Why / ## Blocking / ## Non-blocking / ## Escalate to human, parsed fail-closed by a Stop/SubagentStop hook: a non-emptyBlockingstops the parent (no silent retry); a non-emptyEscalate to humanforces anAskUserQuestion.Hard gates — exit-2 hooks: blind pre-commit review (sha256 stamp of the staged diff), write-scope guard, instruction-quality spawn gate, human-gated command blocks.
What gets scaffolded
Into your target repo (harness-neutral canonical contracts, thin Claude pointers):
.agentic/agents/ canonical agent contracts (single source of truth)
.agentic/guides/ policy/, standards/, agent-registry.md, project.md
.agentic/agentic-sdlc/ config.json (gate-arbiter wiring)
.claude/hooks/ the enforcement hooks
.claude/agents/, commands/ thin pointers + orchestration commands
.githooks/pre-commit the review gate's git-level twin
CLAUDE.md / AGENTS.md a managed block (your content outside it is untouched)
docs/audits/ the instruction-quality scorecardMature repos are handled non-destructively: managed marker blocks, deep-merged settings (shown as a diff first), skip-by-default name collisions, chained (never replaced) git hooks.
Using it, by role
After install, what you reach for depends on the preset(s) you chose:
developer — describe a feature; the pipeline orchestrator runs the staged flow (generated schema/api/component agents → read-only gates → blind pre-commit review). Every
git commitis blocked until the staged diff is reviewed./agentic-doctorconfirms the fleet is spawnable.qa —
/dispatchroutes each request to one owning agent (strict HITL, one step at a time). Generate test-case drafts from a story, automate approved work-item IDs (with real-ID + existing-coverage gates), triage a red test against the flaky protocol. Agents author tests but never run them — they hand you the exact command.ba-po — draft stories and requirements through the agentic-sdlc intake skills, wired to your ticket adapter.
architect — the governance layer:
AGENTS.md/PATTERNS.md/agent-registry, the instruction-auditor + scorecard spawn gate, dispatcher routing over that registry, generated architecture guides.pm-delivery — ticket/MR adapters, the PR pipeline gate, MR-monitoring.
devops — the delivery-infrastructure layer: chained git hooks, the quality-gates registry, the PR pipeline gate, MR-monitoring that fixes red CI and reviewer comments until the MR merges, and read-only incident triage (exactly three ranked hypotheses with the cheapest read-only next diagnostic; fixes stay human-executed).
portfolio — oversight without touching code: ask for run status, audit a repo's docs/agent-setup health, keep durable notes across sessions, and turn stakeholder asks into normalized requirements.
security — say "threat-model the checkout flow": the threat-modeler writes the DFD-first pack (diagram → per-element threats → risk register → mitigations) only under
docs/security/, with every severityproposed — owner confirmation pendinguntil you confirm it. Code-diff review stays with the security-reviewer.data — say "design the orders pipeline": the pipeline-designer writes layered designs, force-tested DQ checks, and lineage maps only under
docs/data/, with row math as counted equations and every verification query handed to you ready to run — never executed by the agent.design — say "map the checkout journey": the experience-designer writes emotion-annotated journeys, step+emotion framings, decision-closing workshop logs, and the agent-ready
context.md+spec.mdhandoff pair only underdocs/design/; negative acceptance criteria are carried verbatim, and story drafting hands off tostory-author.
If you don't write code (pm-delivery, ba-po, portfolio, security, data, design): everything you need is a plain chat phrase, not a CLI command. Type things like "draft a story for password reset", "what's the status of the current run?", "watch MR !123", or "turn this stakeholder email into requirements" directly into the editor's chat. The one honest prerequisite: someone installs Claude Code or Cursor with these plugins for you first — after that, no terminal is required.
Everything obeys the HITL dial you set: an agent that hits a ## Blocking item
stops and surfaces it; an ## Escalate to human item forces a question before
anything proceeds.
Why not just prompt the agent yourself?
You can, and for a one-off change you should. The difference shows up when the work is big enough to span several agents, several sessions, or a stack the agent has to learn rather than be told about:
Plain agent session | With | |
Scope enforcement | A session-wide allow/deny list ( | A |
Review independence | You can spawn a fresh-context reviewer, and should. But nothing gates the commit on it: a review is advisory, and the agent decides whether to honor it. | The reviewer reads the staged diff cold, and its approval is a sha256 stamp of that exact diff. No stamp, no commit — enforced by a |
Autonomy granularity | Permission rules are per tool call — may this session run | Resolution is per gate: deterministic check → fast-path → stand-in subagent → escalate, with |
Stack-fact provenance | Re-derived each session, uncited, with nothing stopping a Postgres idiom leaking into a MongoDB rule. | Every fact carries a |
Instruction freshness | Custom instructions are static text that silently rots as the code moves. | Contracts are graded artifacts: independently audited, hash-pinned in a scorecard. A stale hash blocks that agent's spawn ( |
The claim isn't that agents can't do this work, or that a plain session has no
guardrails — it has good ones. It's that those guardrails are per session and
per tool, and the failures above are per agent and per decision. Nothing
in a plain session stops a specific agent from quietly doing a specific thing
wrong. See docs/PRINCIPLES.md for the reasoning behind
each row.
Why hooks, not prompts? A prompt is a request the model may weigh against
everything else in context; a hook is a program the harness runs outside the
model, whose non-zero exit physically blocks the tool call. An agent under
context pressure can rationalize its way past "please don't commit unreviewed
code" — it cannot rationalize its way past a PreToolUse hook that exits 2.
That's why every load-bearing rule here (blind review before commit, write
scope, human-gated commands, instruction freshness) is enforced by a hook,
with prompts reserved for guidance (docs/PRINCIPLES.md).
FAQ
Does it ever commit or push on its own?
Not unless you ask it to. /agentic-init scaffolds files and shows you a
settings diff before merging it — it never runs git add or git commit, so
the working tree is yours to review. The SDLC pipeline stops at a review-ready
branch and never opens a PR by itself. Two bundled skills do write to git,
and only when you invoke them by name: mr-submit (commits, pushes, opens the
PR) and mr-watch (pushes review fix-ups with --force-with-lease).
What if my stack isn't one of the six curated profiles?
Then discovery inspects the repo from scratch instead of matching a profile,
and you still get real, evidence-grounded agents — not a degraded stub. This
is verified against non-curated fixtures spanning both persistence paradigms
and both UI paradigms; see tests/universal/README.md.
What if I have no code stack at all?
That's a first-class path by design, not a degradation: any no-code preset
(qa, ba-po, pm-delivery, portfolio, security, data, design) declares
generated: []; a pm-delivery or ba-po install wires ticket/MR adapters plus the
governance layer instead of code agents. Honest caveat — the preset
combinatorics are covered deterministically in CI, but this zero-capability
path hasn't yet been driven through a live end-to-end /agentic-init run
(tracked in ROADMAP.md).
Will it fight my existing CI, hooks, or CLAUDE.md?
No. Mature repos are handled non-destructively: CLAUDE.md/AGENTS.md get a
marker-delimited managed block (your content outside it is never touched),
settings are deep-merged after showing you a diff, name collisions skip by
default, and a pre-existing git hook is chained, not replaced.
Does this work outside Claude Code?
The canonical agent contracts are harness-neutral by design — the
host-specific files are thin pointers over them. Install via Claude Code or
Cursor; on Codex, the agentic-sdlc pipeline installs and runs, but the
agentic-os governance installer has no Codex packaging yet (tracked in
ROADMAP.md; see INSTALL.md).
Claude Code is the best-supported enforcement host today; Cursor packaging
reuses the same skills and scaffolds the same .agentic/ layer.
What does /agentic-doctor actually check?
Eight things: file manifest vs. install journal, hook compilation, canned-event
dry-runs of four enforcement hooks, a 3-part HITL smoke test, settings
registration, git hook + dependencies, scorecard coverage/thresholds, and
agent-registry table integrity (that the routing matrix the orchestrator reads
is a real, contiguous table with a row per generated agent). It writes the
result to .agentic/agentic-os/doctor.json.
Can I uninstall it?
Yes — /agentic-uninstall <role> drops a role, /agentic-uninstall --all takes
the whole layer out, and --dry-run shows you either plan without writing
anything. It is not a delete: presets share most of their templates, so removing
qa from a developer,qa repo removes only what developer does not also
claim. What it actually does is recompute the state an install of the remaining
roles would produce and converge to it, which is why the result equals a fresh
narrower install and the repo stays installable with any role afterwards. Files
you edited are never removed without an explicit choice; files it adopted rather
than wrote are never touched. Nothing is committed for you either way, so
git diff remains your undo.
Glossary
One-liners for the jargon used above, no forward references required:
Agent — an AI worker with its own instructions and tool access, spawned to do one job (write a migration, review a diff, triage a test failure).
Subagent — an agent spawned by another agent rather than by you.
Agent contract — the written instructions an agent runs under: its job, the files it may write, and when it must escalate.
HITL (human-in-the-loop) — the rule that certain decisions stop and wait for a person instead of proceeding automatically.
HITL dial — the install-time setting choosing how much runs unattended:
strict(agents only recommend),gated-autonomous(pipelines run, risky decisions stop for you),autonomous(only low-confidence or flagged-risk decisions reach you).Gate — a checkpoint that work cannot pass until a condition holds (tests green, review approved, human said yes).
Hook — a small program the editor runs automatically around an agent's actions; a failing hook physically blocks the action, unlike a prompt.
Preset — a role-shaped bundle (developer, qa, ba-po, architect, pm-delivery, devops, portfolio, security, data, design) choosing which agents, hooks, and skills get installed.
Scaffold — the set of files
/agentic-initwrites into your repo (contracts, hooks, policies, guides); nothing is committed for you.Doctor — a read-only verifier (
/agentic-doctor, sdlc-preflight) that checks an install actually works and writes a pass/fail report.Adapter — a small config declaring which ticket/MR tool you use (GitHub, GitLab, Jira, Azure DevOps…), so no vendor is hardcoded.
MR / PR — merge request (GitLab) / pull request (GitHub): a proposed change someone reviews before it lands.
TDD (test-driven development) — writing the failing test first, then the code that makes it pass.
Dispatcher vs pipeline — the two orchestration styles: dispatcher routes each request to one owning agent, one step at a time; pipeline runs the staged multi-agent flow.
Skill — a packaged, invocable capability of a plugin (e.g.
/agentic-init,sdlc-guided,mr-watch).
Testing & development
bash tests/t0/run.sh # 61 hook unit tests
bash tests/t0/run-output-contract.sh # 12 output-contract parser checks
bash tests/run-matrix.sh # T1–T8 acceptance (38 checks; re-runs the output-contract suite as T7)
cd mcp && npm run build && npm test # mcp/ server: contract, content, and read-only testsWhat CI proves, deterministically, on every PR: 99 checks — 61 hook unit
tests (tests/t0/run.sh) plus the 38-check T1–T8 acceptance matrix — and JSON
manifest/preset validation. The matrix executes the installer's deterministic
phases against fresh and mature fixture repos; it is a skill-executability
proof, not a mock. It covers non-destructive mature-repo handling, idempotent
re-runs, upgrade classification, preset/ID resolution, dependency
registration, the output-contract parser, and template rendering under
quote-bearing answers. See
tests/README.md.
What CI structurally cannot prove, and how it's proven instead: the
generation loop is model-driven — you cannot spawn real subagents from a bash
script, and mocking them would prove nothing about the actual claim. So it is
verified by hand, repeatably, against fixtures on stacks the plugin has never
seen, and every generation run below is recorded with its score: discovery →
capability-driven generation → independent audit by a separate
instruction-auditor subagent that re-checks every claim in the generated
contract against the fixture's real code. Recorded results
(tests/universal/README.md):
Non-curated fixture | Generated contract | Audit score |
SvelteKit |
| 100/100 first audit (25/25 claims verified) |
Express + EJS |
| 100/100 first audit (22/22 verified) |
FastAPI + Alembic |
| 95/100 first audit (19/20 verified) |
Express + Mongoose |
| 90/100 → 95/100 after one regen |
The 95s are the interesting ones. On FastAPI + Alembic the contract carried zero Postgres/Supabase RLS vocabulary from the exemplar it was shown; on Mongoose, zero migration vocabulary — and the rubric's evidence check caught a real generation mistake live, before it could reach a user's repo. The unverified claims are named in the log rather than rounded away.
That split is deliberate: the deterministic half is gated in CI, and the model-driven half is never quietly claimed as CI-covered.
Contributing
main is protected — no direct pushes; every change lands through a
CI-passing pull request, and contributor PRs require a code-owner review. See
CONTRIBUTING.md for the branch → PR flow.
Docs
Engineering principles — the ideas behind the enforcement mechanisms, and why a plain agent session doesn't have them:
docs/PRINCIPLES.mdUpgrade flow:
plugins/agentic-os/docs/UPGRADING.mdChangelog:
plugins/agentic-os/CHANGELOG.mdPreset composition rules:
plugins/agentic-os/presets/README.mdMCP server (non-plugin hosts):
mcp/README.mdMCP server changelog:
mcp/CHANGELOG.mdRoadmap:
ROADMAP.mdSecurity policy:
SECURITY.mdCode of conduct:
CODE_OF_CONDUCT.md
License: Apache-2.0.
Available Tools
7 toolsget_documentGet an agentic-os documentARead-onlyIdempotent
Fetch the full text of one agentic-os methodology document, named by its exact agentic-os:// URI. Use it to read a document you have already located — normally via search_methodology, whose every result carries the URI to pass here. It resolves exact URIs only and cannot search, so a guessed URI returns an error rather than a near match. Read-only and idempotent: nothing is ever written, and the same URI returns the same document. A body longer than max_chars comes back cut at a code-point boundary with truncated set and total_chars giving the full length.
| Name | Required | Description | Default |
|---|---|---|---|
| uri | Yes | An agentic-os:// URI, e.g. agentic-os://skills/agentic-sdlc/qa-gates or agentic-os://file/agentic-sdlc/agents/guide-sync.md. Get these from search_methodology. | |
| max_chars | No | Truncate the body at this many Unicode code points (not UTF-16 code units — astral-plane characters such as emoji count as one). |
Output Schema
| Name | Required | Description |
|---|---|---|
| uri | Yes | The requested URI, echoed back unchanged. |
| text | Yes | The document body — complete, or cut to max_chars code points when truncated is true. |
| title | Yes | The document's first markdown heading, or its path within the content bundle when it has no heading. |
| truncated | Yes | true when the body was cut because it exceeded max_chars. There is no offset or paging parameter: re-request with a larger max_chars to get the rest. |
| total_chars | Yes | Length of the complete, untruncated body in Unicode code points — the same unit max_chars is measured in, so total_chars > max_chars is precisely the condition that sets truncated. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description discloses read-only and idempotent behavior, consistent with annotations. Adds details about truncation at code-point boundaries and that same URI returns same document, going beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph, front-loaded with primary action. Every sentence adds necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully explains input, output behavior, truncation, and compatibility with search_methodology. No gaps given annotations and output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3). Description adds meaning by explaining URI format, hint from search_methodology, and that max_chars uses Unicode code points with truncated indicator. Adds value beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the tool fetches full text of an agentic-os document by exact URI. Distinguishes from sibling search_methodology which is for locating documents.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to use it after locating via search_methodology, and warns that guessed URIs return errors. Provides clear when and when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_presetsList agentic-os role presetsARead-onlyIdempotent
List the agentic-os role presets — the named role bundles (developer, qa, architect, devops, and so on) that decide which governance files an install scaffolds and how much human approval it demands. Use it to discover the valid role names before calling plan_install, or to compare what roles differ on; each entry carries a uri you can read for the preset in full. Takes no arguments and always returns every preset. Read-only and idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| presets | Yes | Every role preset in the bundle, ordered by role name. Never empty in a healthy install — an empty list means the preset directory failed to load and is returned as an error instead. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and idempotentHint true; description confirms 'Read-only and idempotent'. Adds context that presets decide governance files and approval demands, and each entry carries a URI.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with no waste. Front-loaded with purpose and examples. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no parameters and presence of output schema, the description covers purpose, usage, behavior, and output structure (each entry has a URI). Adequate for a simple list tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema is empty; description explicitly says 'Takes no arguments'. Since there are 0 parameters, this adds the necessary clarity beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List the agentic-os role presets' with examples like developer, qa, architect. It distinguishes from sibling plan_install by noting its use before that call.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states 'Use it to discover the valid role names before calling plan_install' and 'to compare what roles differ on'. Provides clear context for when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_qe_blueprintsList QE blueprintsARead-onlyIdempotent
Browse the agentic-qe Quality Engineering blueprint catalog, organized by STLC stage. Each blueprint describes how to build one piece of QE capability (test-coverage analysis, flaky-test debugging, and so on); use this to find the blueprint that fits a QE task, then read its uri for the instructions. Returns titles and one-line summaries only — it is a catalog index, not the blueprint content. The stage argument enumerates the valid stages. Read-only and idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
| stage | No | Restrict results to a single STLC stage. Omit to return the whole catalog, which is small enough to scan in one call. |
Output Schema
| Name | Required | Description |
|---|---|---|
| blueprints | Yes | Matching blueprints, ordered by stage then id. Empty only when a stage filter matched nothing; an unfiltered call that finds nothing is reported as an error instead, since that means the catalog failed to load. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. Description adds valuable context: returns only titles/summaries, is a catalog index, and stage enumerates valid stages. No contradiction with annotations (repeats idempotent).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences with clear structure: purpose, usage, return format. Every sentence earns its place—no redundancy, front-loaded with primary purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with one optional param and an output schema, the description fully covers what the tool does, what it returns, how to use the parameter, and sets expectations (catalog index, not content). No gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, baseline 3. Description adds extra meaning beyond schema: the note about omitting stage to return the whole catalog (small enough). Also reiterates that stage enumerates valid stages, reinforcing enum usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses specific verb+resource ('list QE blueprints') and clearly distinguishes from siblings like 'search_methodology' and 'get_document' by noting it returns a catalog index with titles and summaries, not full instructions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('find the blueprint that fits a QE task') and what is returned (catalog index). Provides guidance on the stage parameter (omit for full catalog). Missing explicit when-not-to-use or alternatives among siblings, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sdlc_phasesList SDLC pipeline phasesARead-onlyIdempotent
List the agentic-sdlc pipeline phases in execution order, with each phase's skip condition and the judgment gates it raises — the points where the flow must stop for a human decision. Use it to drive the SDLC flow yourself in a host that cannot run the plugin, or to answer what happens when in the pipeline. Returns the phase and gate skeleton only; read source_uri for what each phase actually does. Takes no arguments. Read-only and idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| phases | Yes | Every pipeline phase, in execution order from phase 0. |
| source_uri | Yes | URI of the pipeline skill this map was parsed from. Read it with get_document for what each phase actually does — this tool returns only the phase/gate skeleton. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. Description adds that it returns a skeleton, phases are from source_uri, and it's read-only and idempotent, adding context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with purpose, usage, and return details. Every sentence adds value without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for a zero-parameter, read-only tool with annotations. Output schema exists, so return values are covered. Description adds usage context and clarification about the skeleton vs source_uri.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters in schema (baseline 4). Description adds no parameter info, but none needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool lists SDLC pipeline phases in execution order with skip conditions and judgment gates, using specific verb and resource. It distinguishes from sibling tools like search_methodology or list_presets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly mentions use cases: driving SDLC flow in hosts that cannot run the plugin or answering pipeline questions. No explicit exclusions, but context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
plan_installPlan an agentic-os installARead-onlyIdempotent
Compose one or more agentic-os role presets into an ordered manifest of the files an install should scaffold, each with a uri to read its template from. Use it after list_presets to turn chosen roles into concrete steps. Composition is additive: roles are unioned, the strictest HITL level wins, and every orchestration style in the union is installed. This returns a plan and writes nothing — no file is created, and the target repository is neither read nor touched, so the plan is not validated against what may already be installed (use run_doctor for that). You perform every write yourself, so the user can review each one. Read-only and idempotent.
| Name | Required | Description | Default |
|---|---|---|---|
| roles | Yes | Role preset names to compose, e.g. ["developer","qa"]. At least one is required. Get the valid names from list_presets — an unrecognized name is an error, not a silent skip, and no partial plan is returned. Composition is additive: pass every role the repo needs in one call rather than planning each separately. |
Output Schema
| Name | Required | Description |
|---|---|---|
| files | Yes | The files to scaffold, ordered by template id. This is the plan's payload: you read each source_uri and perform the writes yourself. Any template with no file in the bundle is reported in follow_ups and omitted here rather than emitted as a broken entry. |
| roles | Yes | The roles this plan composes, echoed back in the order given (which determines orchestration_default). |
| follow_ups | Yes | Problems and decisions this plan could not settle — a missing template, an undeterminable HITL level or orchestration default. Surface these rather than installing past them: an empty array means the plan is complete as returned. |
| sdlc_skills | Yes | agentic-sdlc pipeline skills the composed roles enable. Empty if no chosen role takes part in the SDLC flow. |
| hitl_default | Yes | The human-in-the-loop level to install: the strictest among the chosen roles ("strict" > "gated-autonomous" > "autonomous"). Empty if no role declared a recognized level, in which case follow_ups says so. |
| generated_candidates | Yes | Stack-specific agent contracts this role set *could* generate — candidates, not commitments. Generating one requires facts about the target stack that this server does not have, so filter them against the actual repository before writing any. |
| orchestration_default | Yes | The style to pre-select as active: the first listed role's default, except that a "strict" hitl_default forces "dispatcher". Empty if undeterminable, in which case follow_ups says to set it explicitly. |
| orchestration_installed | Yes | Every orchestration style to install — the union across roles, not a single choice, because a mixed team needs each one present. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint, idempotentHint, and destructiveHint annotations, the description adds that the tool returns a plan and writes nothing, does not read or touch the target repository, and does not validate against existing installs. No contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is reasonably concise, front-loading the main purpose. Some minor redundancy in bolded text and elaboration, but overall efficient for the depth provided.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple input schema (1 parameter), comprehensive annotations, and presence of an output schema, the description fully covers the tool's behavior, usage, and linkages to sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds value by explaining that unrecognized role names cause errors, composition is additive, and to pass all roles in one call. This exceeds the schema's basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific action: composing role presets into an ordered manifest of files. It uses precise verbs and resource nouns, and distinguishes itself from siblings like list_presets and run_doctor.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to use after list_presets and contrasts with run_doctor for validation. However, it does not explicitly state when not to use the tool, missing a full exclusion clause.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
run_doctorVerify an agentic-os installARead-onlyIdempotent
Audits an agentic-os install in a target repo you name. Runs the checks that are pure file inspection natively and returns a verdict for each; the three checks that need executing Python (hook compile+import, canned-event dry-runs, HITL smoke) come back as exact commands in host_must_run for you to run yourself — this server never executes code from a target repository, and two of those three commands sets (dry_runs, hitl_smoke) write and then delete a probe file under .agentic/agents/ in the target repo when you run them (see each entry's why). verdict is "passed" only when every native check passed AND host_must_run is empty; it is "incomplete", never "passed", while host_must_run still has entries — which is every install this server finds, since host_must_run is never empty on a single server-side call. This server alone therefore never returns "passed"; that verdict is only reachable once the host has run the returned commands and folded the result back in.
| Name | Required | Description | Default |
|---|---|---|---|
| target_path | Yes | Filesystem path to the repository to audit — an absolute path, or one resolvable from the host process's working directory. Must already exist and be a directory; this server never creates one. |
Output Schema
| Name | Required | Description |
|---|---|---|
| checks | Yes | Every native (pure file inspection) check this server ran, including "dependencies" — a permanent, structural placeholder that always reports passed: false because verifying installed plugin sources requires ~/.claude/plugins/installed_plugins.json, a path outside the target repo this server cannot read. It is always reported here for visibility, but it is excluded from both the verdict decision and failures below: it reflects what this server cannot check, not a defect in the target repo. |
| verdict | Yes | "failed": at least one check other than "dependencies" reported passed: false — a real, native-verifiable problem exists in the target repo. "incomplete": every other native check passed, but host_must_run still has entries the host has not run and folded back in yet — this is the expected, correct result of a server-side-only call, not an error. "passed": every native check passed AND host_must_run is empty — this requires the host to have already run the host_must_run commands from a prior call and re-invoked run_doctor after resolving them (or otherwise established there is nothing left to run); this server alone, in a single call, never returns "passed" — a fresh install-found call always has all three host_must_run entries pending. |
| failures | Yes | "key: detail" for every entry in checks with passed: false, EXCLUDING "dependencies" — which always reports passed: false but is not a real failure (see checks' description above). An empty failures array means every check this server can actually verify came back clean; it does not by itself mean verdict is "passed" — host_must_run may still have entries outstanding. |
| installed | Yes | Whether .agentic/agentic-os/install.json exists at target_path and parses as JSON. false means none of the checks below ran — checks will contain the single not-installed sentinel instead. |
| host_must_run | Yes | Command sets for the three checks that require executing Python (hook compile+import, canned-event dry-runs, HITL smoke). Empty when installed is false (nothing to check yet). Non-empty entries here are why verdict can be "incomplete" even when every entry in checks passed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations (readOnlyHint, idempotentHint, etc.), the description discloses that the server never executes repo code and that user-returned commands may write/delete files. This adds critical behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed but front-loaded with the core action. Every sentence adds value, though it could be slightly more concise without losing clarity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (native checks, host commands, verdict logic), the description fully explains the non-obvious behaviors, such as the verdict states and the need for multiple calls. It is complete for the user to understand usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers the single parameter with description, but the tool description adds context about 'target repo you name' and that the path must exist as a directory, reinforcing the schema's meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool audits an agentic-os install in a target repo. It distinguishes from siblings like search_methodology or plan_install by focusing on verification and returning commands to run locally.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains when to use the tool to audit an install and details that the verdict is never 'passed' on a single call, requiring host commands. It does not explicitly list when not to use but provides context for correct usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_methodologySearch agentic-os methodologyARead-onlyIdempotent
Full-text search over the agentic-os governance, agentic-sdlc pipeline, and agentic-qe blueprint documentation. Use it first whenever you do not already hold a document URI, then pass a result uri to get_document for the full text. Matching is AND, not OR — every term must appear — and terms match at word starts, so "gate" finds "gates" and "gating" but "ate" finds neither. It searches markdown only: role presets are JSON and never appear here, so use list_presets for those. Read-only and idempotent; searches the server's own bundled corpus, never the network or your repository.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum number of results, best-scoring first (1-25). | |
| query | Yes | Search terms, e.g. "write scope enforcement". Every term must appear in a document for it to match, so two or three distinctive words find more than a full sentence does. Runs of fewer than two alphanumeric characters are ignored, and punctuation is not searchable. | |
| plugin | No | Restrict results to one plugin: agentic-os (governance), agentic-sdlc (the SDLC pipeline), or agentic-qe (QE blueprints). Omit to search all three, which is usually right unless you already know the area. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | Matching documents, best first. Empty when nothing matched — a normal result, not an error; broaden the query or drop the plugin filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint. The description adds valuable context: it searches only markdown (not JSON), only the server's bundled corpus, and explains matching in detail. However, it doesn't mention potential issues like rate limits or performance, but given annotations cover safety, the added context is significant.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, using short sentences. It front-loads purpose and usage, then adds behavioral details. No fluff; every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given rich annotations, full schema descriptions, and an output schema (context signal), the description covers scope, behavior, limitations, and sibling tool differentiation. It is sufficiently complete for an AI agent to use correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with descriptions. The description adds beyond schema: explains AND matching for query, clarifies that omitting plugin searches all three and is usually right, and gives examples (e.g., 'gate' finds 'gates'). This enriches understanding without redundancy.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool does full-text search over specific documentation (agentic-os, agentic-sdlc, agentic-qe). It uses a specific verb+resource and distinguishes from sibling tools by naming get_document and list_presets, making it unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance: use it first when you don't have a document URI, then pass result to get_document. It also explains when not to use (for JSON presets, use list_presets) and describes matching behavior (AND, word-starts), setting correct expectations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
7 tool updates
v0.1.6- Added
get_document - Added
list_presets - Added
list_qe_blueprints - Added
list_sdlc_phases - Added
plan_install - Added
run_doctor - Added
search_methodology
4 tool updates
v0.1.4- Removed
list_qe_blueprints - Removed
list_sdlc_phases - Removed
plan_install - Removed
run_doctor
4 tool updates
v0.1.3- Removed
get_document - Removed
list_presets - Added
list_qe_blueprints - Removed
search_methodology
4 tool updates
v0.1.1- Added
get_document - Added
list_presets - Added
run_doctor - Added
search_methodology
2 tool updates
v0.1.0- First observed
list_sdlc_phases - First observed
plan_install
TDQS
Each tool targets a distinct operation: searching/fetching methodology documents, listing different catalogs (presets, blueprints, phases), planning an install, and auditing. No two tools have overlapping purposes.
All tool names follow a consistent verb_noun snake_case pattern with verbs like search, get, list, plan, run. The naming is uniform and predictable.
Seven tools cover the essential operations for the methodology/pipeline domain: documentation access, catalog browsing, install planning, and auditing. The count is well-scoped without unnecessary tools.
The tool surface comprehensively covers read operations and planning. Writing is intentionally left to the host, which is a design choice. No obvious gaps for the server's stated purpose.
Maintenance
Related MCP Connectors
Read-only MCP server for turva.dev, an agent-readiness audit and advisory service.
Guarded MCP server for agent-readable business truth, provenance, readiness, and discovery.
Read-only MCP server for The Quiet Protocol's engines, benchmarks, proof, and business data.
Public, read-only MCP server for FarmNeural company facts, packages, and capabilities.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for AI coding agents to inspect repositories, audit code quality, route engineering skills, and plan safe issue/PR workflows.1MIT
- AlicenseNot gradedqualityCmaintenanceRead-only MCP server for Jenkins CI, enabling AI agents to securely query job/build status, logs, artifacts, and generate verification reports for loop workflows.17ISC
- AlicenseNot gradedqualityAmaintenancePublic read-only MCP server for turva.dev's agent-readiness audit, enabling AI agents to query service catalog, security evidence, and engagement principles via structured JSON.1MIT
- AlicenseAqualityCmaintenanceRead-only MCP server providing AI access to verifiable web, GitHub, and local sources, plus a managed fantasy entity catalog, with strong security and provenance tracking.101MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Jarroslav/agentic-os'
If you have feedback or need assistance with the MCP directory API, please join our Discord server