Skip to content

feat(plugin): add setup skill — guided watchmen install across agents#124

Merged
aktasbatuhan merged 2 commits into
mainfrom
feat/setup-skill
Jun 8, 2026
Merged

feat(plugin): add setup skill — guided watchmen install across agents#124
aktasbatuhan merged 2 commits into
mainfrom
feat/setup-skill

Conversation

@aktasbatuhan

Copy link
Copy Markdown
Member

Why

Setting up watchmen is a multi-step flow (uv tool install → watchmen init wizard → agent /plugin steps → statusline → verify), and the one step the CLI genuinely can't do is the agent's own /plugin install — that's interactive agent UI. A skill running inside the agent can orchestrate the whole thing and adapt per agent.

What it does

/watchmen:setup (Claude Code) / /skills setup or $setup (Codex) is a thin orchestrator:

  1. Detects uv + any existing install, branches accordingly (won't reinstall over a working setup)
  2. Installs the CLI (git clone + uv sync && uv tool install --editable .)
  3. Hands off the interactive watchmen init wizard (waits for the user — never drives provider auth or touches keys)
  4. Gives the exact /plugin commands for whichever agent(s) the user has, and wires the statusline (Claude Code)
  5. Verifies with watchmen doctor and walks the ✓/✗/! lines

Cross-agent by design: covers both Claude Code and Codex. It's an orchestrator over existing commands, not a reimplementation of the wizard.

Files

  • plugin/skills/setup/SKILL.md — Claude variant (with allowed-tools)
  • plugin-codex/skills/setup/SKILL.md — Codex variant ($-invocation, AGENTS.md, no statusline, no allowed-tools), matching the existing brief skill's conventions
  • Both manifests bumped 0.1.7 → 0.1.8 (the fix(plugin): bump version to 0.1.7 so /plugin picks up changes + guard it #123 guard requires a bump when plugin/skills/ changes)

Known limitation

Shipping in the plugin means a brand-new user can't invoke it until they install the plugin — i.e. the thing it sets up. So it's primarily for wiring a second agent, repairing, verifying, or updating. A standalone-install README line (curl the SKILL.md into ~/.claude/skills/) can follow if we want it usable pre-install.

Testing

  • Full suite green (548 passed), ruff clean, plugin-version guard satisfied (0.1.8)

aktasbatuhan and others added 2 commits June 8, 2026 23:43
A thin orchestrator skill (`/watchmen:setup` in Claude Code, `/skills setup`
or `$setup` in Codex) that walks a user through installing and wiring watchmen:
detects uv + existing install, installs the CLI, hands off the interactive
`watchmen init` wizard and the agent-only `/plugin` steps, wires the statusline,
and verifies with `watchmen doctor`. Cross-agent: covers both Claude Code and
Codex. Never touches credentials — defers all provider auth to the init wizard.

- plugin/skills/setup/SKILL.md (Claude variant, with allowed-tools)
- plugin-codex/skills/setup/SKILL.md (Codex variant: $-invocation, AGENTS.md,
  no statusline, no allowed-tools — matching the brief skill's conventions)
- Bump both plugin manifests 0.1.7 -> 0.1.8 (the #123 CI guard requires a bump
  when plugin/skills changes; keeps the two harnesses in version lockstep).

Note: shipping in the plugin means a brand-new user can't invoke it until they
install the plugin (the thing it sets up) — it's primarily for wiring a second
agent, repairing, or verifying. A standalone-install README line can follow.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Adds a 'Guided setup skill' note to the Plugins section: how to invoke
/watchmen:setup (or $setup in Codex) once installed, and how to curl the
SKILL.md into ~/.claude/skills/ standalone so a brand-new machine can run it
before any plugin exists (resolving the in-plugin chicken-and-egg).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@aktasbatuhan aktasbatuhan merged commit 0ac337e into main Jun 8, 2026
8 checks passed
@aktasbatuhan aktasbatuhan deleted the feat/setup-skill branch June 8, 2026 23:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant