Skip to content

Plugin Distribution

Sequant is available as a Claude Code plugin — install it directly from Claude Code without npm, and get skills, hooks, and MCP tools with zero configuration.

  1. Claude Codeclaude.ai/code
  2. GitHub CLIgh auth status (authenticated)
  3. Git — any recent version
  4. Node.js 22.13+node --version (for MCP server via npx)

In Claude Code:

/plugin install sequant@sequant-io/sequant

This loads:

  • 17 workflow skills (/assess, /spec, /exec, /qa, /fullsolve, etc.)
  • Pre/post-tool hooks (security guardrails, timing, smart tests)
  • MCP server (sequant_status, sequant_run, sequant_logs)
/sequant:setup

The setup skill:

  • Checks prerequisites (git, gh, node)
  • Creates .sequant/settings.json with defaults
  • Detects your package manager and dev server URL
  • Creates ../worktrees/feature/ directory
  • Copies the constitution template to .claude/memory/
  • Creates .sequant-manifest.json with stack info

After setup, all sequant workflows are available:

/assess 123 # Analyze issue, get recommended workflow
/fullsolve 123 # End-to-end: spec → exec → qa → PR
/spec 123 # Plan implementation
/exec 123 # Implement in isolated worktree
/qa 123 # Code review and AC validation

MCP tools are also available for programmatic access:

sequant_status # Check issue progress
sequant_run # Execute workflow phases
sequant_logs # Review past run results
  • Plugin install: Instant — skills and hooks load immediately
  • /sequant:setup: ~10 seconds — creates config and detects stack
  • MCP server: Starts automatically via npx -y sequant@<version> serve (stdio transport), pinned to the plugin’s release version (#793)
  • First /fullsolve: 10–30 minutes depending on issue complexity
CapabilityPluginnpm
Skills (17 slash commands)YesYes (via sequant init)
Hooks (guardrails, timing)YesYes (via sequant init)
MCP toolsYes (auto)Yes (via .mcp.json)
CLI (sequant run, sequant doctor)NoYes
CI/headless modeNoYes
TypeScript library exportsNoYes

Plugin is for interactive Claude Code users. npm is for power users, CI pipelines, and programmatic access.

Plugins do not auto-update. Claude Code pins an install to the version (commit SHA) you installed it at and never moves it on its own — even as new releases ship. An install can silently run months-old skills and hooks while newer versions are available.

To pick up a new release, update the installed plugin and restart Claude Code:

claude plugin update sequant@sequant

Note the distinction from refreshing the marketplace listing:

CommandWhat it does
claude plugin update sequant@sequantUpdates the installed plugin to the latest marketplace version (restart Claude Code after).
/plugin marketplace update sequant-io/sequantRefreshes only the local marketplace listing — it does not touch any installed plugin.

pre-tool.sh compares the running plugin’s version against the local marketplace clone and prints a single warn-only line to stderr when the install falls behind:

sequant plugin v<installed> is stale (marketplace has v<latest>) — run: claude plugin update sequant@sequant, then restart Claude Code

The check is zero-network (grep/sed/awk only), never blocks the tool call, and is rate-limited to once per day via a stamp file. It only fires for real plugin-cache installs (paths under plugins/cache/) — repo-local dev copies never warn. See Plugin Updates & Versioning for the full versioning and auto-update opt-in details.

After /sequant:setup, edit .sequant/settings.json to customize:

SettingDescriptionDefault
run.timeoutMax phase duration (seconds)1800
run.qualityLoopAuto-iterate on QA failuresfalse
run.maxIterationsMax quality loop iterations3
run.smartTestsAuto-run tests after editstrue
run.pmRunPackage manager run commandauto-detected
run.devUrlDev server URL for /testauto-detected
agents.parallelParallel sub-agent executionfalse
agents.modelSub-agent model (currently inert — see anthropics/claude-code#43869; kept for forward compatibility)"haiku"

The plugin bundles an MCP server that starts automatically. The bundled .mcp.json pins sequant to the plugin’s release version (#793) — the build step stamps the concrete version in place of @latest, so an npx reconnect never re-resolves @latest (which was surfacing as -32000 after releases). You pick up a new version when you update the plugin:

{
"sequant": {
"command": "npx",
"args": ["-y", "sequant@2.9.0", "serve"]
}
}

Tools: sequant_status, sequant_run, sequant_logs Resources: sequant://state, sequant://config Transport: stdio (default, most compatible)

Hook logs are stored in the first location available:

  1. Plugin users: ${CLAUDE_PLUGIN_DATA}/logs/ (persistent across updates)
  2. npm/CI users: ${HOME}/.sequant/logs/ (persistent; one sink shared by the main repo and every worktree)
  3. Last resort (no HOME): ${TMPDIR:-/tmp}/ — session-scoped, and macOS purges it

Log files: claude-timing.log, claude-hook.log, claude-quality.log, claude-tests.log

pre-tool.sh and post-tool.sh resolve this location with an identical block and share claude-timing.log (START from pre, END from post) and claude-quality.log. Changing the location in one hook without the other splits every START/END pair across two files (#763).

The log directory deliberately lives outside the repo: creating it inside one would make git status --porcelain non-empty, which silently defeats the pre-tool no-changes guard that reads exactly that output.

Symptoms: Skills work but sequant_status / sequant_run don’t appear.

Solution: Verify Node.js 22.13+ is installed (node --version). The MCP server requires npx which ships with Node.js. Restart Claude Code after installing Node.

/sequant:setup says “gh auth: not authenticated”

Section titled “/sequant:setup says “gh auth: not authenticated””

Symptoms: Prerequisites check fails on GitHub CLI.

Solution: Run gh auth login in your terminal, then re-run /sequant:setup.

Symptoms: Changed .sequant/settings.json but behavior doesn’t change.

Solution: Verify the file is valid JSON (cat .sequant/settings.json | jq .). Settings are read fresh on each skill invocation — no restart needed.

Symptoms: claude plugin install sequant@sequant-io/sequant fails.

Solution: Verify you’re using Claude Code v2.1+. Try the full path: claude plugin install sequant@sequant-io/sequant.


Generated for Issue #476 on 2026-03-27