argotdocs

Claude Code

The Claude Code plugin bundles on-demand skills, passive MCP tools, and an opt-in pre-write ask.

This is the canonical guide for the Argot Claude Code plugin. It packages seven skills, an MCP server, and one narrow hook. These are different capabilities:

SurfaceInvocationCoverage
SkillsUser or agent selects oneSeven on-demand workflows, including guided snapshot refresh; no scheduling by a skill.
MCPAgent selects a tool callRead-only context and checks over stdio; it does not invoke itself.
Pre-write hookAutomatic when plugin is enabled and repository is fittedAsks only before a Write, Edit, or MultiEdit introduces a foreign import.

There is no packaged automatic end-of-turn or acceptance-time full-check lifecycle. Invoke argot.check_changeset through MCP or run argot check when you want the full changeset scored.

Install and prerequisites

/plugin marketplace add get-tmonier/argot
/plugin install argot@argot

The plugin requires argot on PATH. Its pre-write hook is a no-op until the repository has a fitted .argot/scorer-config.json; set that up with Init and Fit, then review and commit the complete .argot/ snapshot so every clone uses the same baseline. MCP tools that need the repository model also require a fitted repository. When fit status later recommends maintenance, invoke argot-refresh locally; the plugin and CI never refresh it behind your back.

The plugin declares argot mcp --repo .. MCP is passive: Claude Code may call a tool when it chooses, but the server does not initiate checks. Its read-only API distinguishes pre-write context (argot.get_voice_context), fast snippet feedback (argot.check_hunk / argot.explain_hunk), the complete detector pipeline (argot.check_changeset), repository discovery (argot.list_conventions), and snapshot readiness (argot.get_fit_status). Fitting is deliberately absent: setup and refresh remain reviewed local workflows whose .argot/ result is committed.

The pre-write ask

The hook runs before Claude Code write tools and only asks about an introduced foreign-import. It never denies the write, does not run a full check, and allows malformed, unsupported, or unfitted cases through. It is an opt-in review beat, not a merge or acceptance gate.

Do not add a second equivalent PreToolUse hook to .claude/settings.json while this plugin is enabled: both hooks would run. If you installed skills without the plugin, the setup skill can provide a repository-local hook configuration instead.

Update, opt out, and remove

Use /plugin update argot to receive a new published plugin version. To opt out of the pre-write ask while keeping the plugin, disable or remove its hook through your Claude Code plugin settings. To remove the packaged skills, MCP declaration, and hook together:

/plugin uninstall argot@argot

Uninstalling the plugin does not remove the repository’s .argot/ artifacts or argot.toml. Remove those separately only if you no longer want the repository configured.