Ticket execution orchestrator. Takes a pre-defined ticket from acceptance criteria to implementation-ready code on a feature branch. Includes satellite skills for tracker import, advisor review, MR review, and publishing.
Run configurable advisor personas (security, performance, mobile, a11y, api) against specs, ACs, diffs, or files. Personas are JSON files under lib/advisor-personas/. Use /wk:advise --list to see available personas.
Ticket execution orchestrator. Takes a pre-defined ticket (feature, bug, refactor) from acceptance criteria to implementation-ready code on a feature branch. Invoke with "/doer <TICKET-ID>" to start a new ticket or resume an existing one (auto-detected). Other entry points: "/doer status <ID>", "/doer list", "/doer verify <ID>", "/doer cleanup-history <ID>", "/doer locale <code>". Also activates implicitly when the user references an active /doer ticket in natural language ("continue", "pause", "keep going with ABC-123"). Skips PRD, architecture design, ticket creation, PR assembly, and deployment. Keeps spec, plan, tests, code, review, docs, and lessons learned.
Import a ticket from Jira, Linear, or GitHub Issues into the local doer intake. After import, run /wk:doer <TICKET-ID> to start the pipeline. Auto-detects the tracker by ID shape; override with --tracker.
Create a Pull Request (GitHub) or Merge Request (GitLab) for a completed doer ticket, optionally transitioning the linked Jira ticket. Opt-in step at the end of the pipeline; doer itself stops before PR creation.
Review an external pull request (GitHub or GitLab) with configurable advisor personas (security, performance, mobile, a11y, api). Optionally posts the findings as a PR review comment. Personas are shared with /wk:advise.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
wk)Ticket execution orchestrator for Claude Code. Plugin version 6.9.0.
Takes a pre-defined ticket (feature, bug, refactor) from acceptance criteria to implementation-ready code on a feature branch. Nine sequential stages, delta-aware doer/reviewer loops on the heaviest stages, on-device runtime verification, automatic versioning + migrations.
Scope stops before PR and deploy. Anything upstream (PRD, architecture, ticket creation) or downstream (PR assembly, CI, deploy) is out of scope by design.
Detailed install ritual (and onboarding for a Claude session that just received this repo) lives in AGENTS.md. Quick version:
claude plugin marketplace add https://github.com/icarloscornejo/doer.git
claude plugin install wk@wk
claude plugin list
The plugin ships five operational skills (see "Included skills" below). After install, set your locale with /wk:doer locale es (or any ISO 639-1 code). The setting persists at ${CLAUDE_CONFIG_DIR:-$HOME/.claude}/wk/preferences.json and survives plugin upgrades.
Updates — doer notifies you at the start of each session when a newer version is published. To update:
Option A — GUI (recommended): open the /plugins panel in Claude Code, find wk, and click Update now.
Option B — CLI (use the full plugin id wk@wk, not the short name wk):
claude plugin update wk@wk
# restart Claude Code so the new version loads
The Migration Check auto-applies any structural changes to in-flight tickets the next time they're touched. Locale and opt-in flags live outside the versioned plugin cache (since 6.2.0), so they survive upgrades.
| Slash command | Status | Purpose |
|---|---|---|
/wk:doer ABC-123 | Operational | 9-stage ticket execution orchestrator (the core skill, was previously /doer). |
/wk:load <ID> | Operational | Import a ticket from Jira / Linear / GitHub Issues into the doer intake. |
/wk:advise | Operational | Review specs, ACs, or code with configurable advisor personas. |
/wk:review | Operational | Review external pull requests with configurable advisor personas. |
/wk:publish ABC-123 | Operational | Push the feature branch and create a PR (GitHub) or MR (GitLab) for a completed ticket. Optional --transition <state> triggers a Jira state change. |
All 4 satellite skills shipped in 6.0.0 via WK-7 through WK-10 and are operational. See CHANGELOG.md for per-version detail.
| Command | Description |
|---|---|
/wk:doer <TICKET-ID> | Start a new ticket. Orchestrator asks for title, description, ACs, context, branch name, prior-work flags, then asks you to confirm the inferred testing strategy (direct or bdd). |
/wk:doer continue <TICKET-ID> | Resume a ticket from its last stage (across sessions). |
/wk:doer status <TICKET-ID> | Show current stage, loop state, blockers. |
/wk:doer list | List all tickets under ./.doer/tickets/. |
| Command | When to use it manually |
|---|---|
/wk:doer verify <TICKET-ID> | Only for tickets already at status: complete. The Migration Check auto-upgrades any in-flight ticket, but a closed ticket has no entry point, so this command is the only way to retroactively run new stages added to the skill after the ticket closed. |
/wk:doer cleanup-history <TICKET-ID> | Auto-runs at wrapup (Stage 9). Use manually only if you declined the prompt at wrapup, want to preview/re-run the cleanup, or are working on a closed ticket. |
State is persisted to metadata.json after every Agent return; no separate "save" or "pause" needed. Multiple ways to stop:
| Action | When to use |
|---|---|
| Close the session / quit Claude | End-of-day. Session exit doesn't lose anything; resume next day. |
Write stop, wait, hold on | At any turn boundary. Orchestrator narrates where it stopped and stops. |
Press Esc | Mid-Agent (the orchestrator is waiting for a subagent). Cancels the current Agent call. Works in CLI clients that support it. |
Ctrl+C in the parent shell | Mid-Agent in terminal-based clients (e.g. Android Studio terminal) where Esc doesn't propagate. |
To resume from any future session: /wk:doer continue <TICKET-ID>.
Once a ticket is active, natural language works alongside slash commands. Whatever you type at a turn boundary is interpreted as one of two intents:
npx claudepluginhub icarloscornejo/doer --plugin wkMemory compression system for Claude Code - persist context across sessions
Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Editorial "Web Designer" bundle for Claude Code from Antigravity Awesome Skills.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Frontend design skill for UI/UX implementation
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns