Help us improve
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
Share bugs, ideas, or general feedback.
npx claudepluginhub lukasrieger-mp/smith-agent --plugin smithAbort an in-flight Smith dispatch — shut down the teammate pair and clean up local + JIRA state for that ticket/PR.
Dispatch a Smith+Anderson pair to implement one JIRA ticket. Flags: `--dry-run` (no external side effects), `--confident` (skip full build+tests, only run formatter).
Arm the autonomous Smith watchdog. Starts background monitors; lead reacts to notifications by dispatching teammate pairs within two separate caps, `max_concurrent_impl_smiths` and `max_concurrent_fixer_smiths` (both default 2). Flag: `--pr-only` (ignore JIRA candidates; only react to PR review comments).
Mr. Anderson (fixer variant) — validates Smith's per-finding dismissal proposals during PR fix rounds. Also performs the final diff review at end of round. Confidence-≥80 filtered.
Mr. Anderson (impl variant) — Smith's adversarial reviewer at each pipeline gate (spec, plan, diff). Returns structured findings via mailbox, confidence-≥80 filtered.
Mr. Smith (fixer variant) — handles one round of PR review feedback. Triages each finding with Anderson, fixes or dismisses with justification, pushes, re-triggers Augment or converges.
Mr. Smith (impl variant) — ticket implementer teammate. Runs claim → enrich → pipeline → smith:pr in his worktree; coordinates with Anderson via mailbox; returns outcome JSON.
Claim a JIRA ticket — transition status, add smith-implementing label, confirm worktree branch. Step 1 of Smith's ticket mode.
Read a JIRA ticket; write an enriched brief (acceptance criteria, ambiguities, proposed DoD). Step 2 of Smith's ticket mode; input to smith:pipeline.
Drive Smith's three-gate pipeline (SPEC → PLAN → IMPL) with bounded Anderson critic dialogue; commit per gate. Step 3 of ticket mode.
Open Smith's draft PR — success path (clean PR + label cleanup) or WIP-stuck path (escalation PR + needs-human-attention + JIRA label swap). Always --draft.
Outer-session notification handler. Reacts to monitor events (jira/pr/stop) by dispatching Smith+Anderson pairs within the 2-cap. Invoke as /smith:watchdog to arm.
Executes bash commands
Hook triggers when Bash tool is used
Uses power tools
Uses Bash, Write, or Edit tools
Share bugs, ideas, or general feedback.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge.
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
This plugin requires configuration values that are prompted when the plugin is enabled. Sensitive values are stored in your system keychain.
polling_minutesHow often the jira-candidates monitor scans JIRA for new eligible tickets.
${user_config.polling_minutes}jira_project_keyJIRA project Smith scans for candidate tickets, e.g. APP.
${user_config.jira_project_key}jira_claim_statusStatus Smith transitions tickets TO when claiming them.
${user_config.jira_claim_status}jira_sprint_fieldCustom field ID for Sprint, e.g. customfield_10020.
${user_config.jira_sprint_field}jira_eligible_statusStatus name Smith looks for when scanning. Tickets must be in this status to be claimed.
${user_config.jira_eligible_status}jira_story_points_fieldCustom field ID for Story Points in your JIRA Cloud instance (e.g. customfield_10026). Find via `acli jira workitem view <ticket> --json | jq '.fields | keys'`.
${user_config.jira_story_points_field}Multi-model consensus engine integrating OpenAI Codex CLI, Gemini CLI, and Claude CLI for collaborative code review and problem-solving.
Ultra-compressed communication mode. Cuts ~75% of tokens while keeping full technical accuracy by speaking like a caveman.
Comprehensive UI/UX design plugin for mobile (iOS, Android, React Native) and web applications with design systems, accessibility, and modern patterns
Curate auto-memory, promote learnings to CLAUDE.md and rules, extract proven patterns into reusable skills.
Memory compression system for Claude Code - persist context across sessions
Standalone image generation plugin using Nano Banana MCP server. Generates and edits images, icons, diagrams, patterns, and visual assets via Gemini image models. No Gemini CLI dependency required.
A Claude Code plugin that picks up small JIRA tickets and drives them to a draft PR. Each ticket is worked by a paired team: Mr. Smith implements, Mr. Anderson critiques at every gate. Built on Claude Code's agent teams feature.
See docs/spec.md for the full design.
claude --version).~/.claude/settings.json:
{ "env": { "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1" } }
acli (Atlassian CLI) authenticated to your JIRA.gh (GitHub CLI) authenticated to your GitHub host.The slash-command pre-flights verify the CLI auth state and abort with a remediation message if either is missing.
This repository doubles as a one-plugin marketplace. From inside any Claude Code session:
/plugin marketplace add lukasrieger-mp/smith-agent
/plugin install smith@smith-agent
Updates: /plugin update smith@smith-agent. Every commit on main is
a new release (version resolution).
On first enable, Claude Code prompts for JIRA values (project key,
custom field IDs for Story Points and Sprint, eligible/claim status
names, poll interval). Per-target state (.smith/config.json + a
.gitignore entry for .smith/) is created lazily in the target repo
on first use; there is no bootstrap step.
Three slash commands. Pick one based on what you want to do.
/smith:implement <KEY> — one specific ticketDispatches a Smith+Anderson pair to implement one JIRA ticket
end-to-end: claim → enrich → spec → plan → impl → draft PR. On a
successful PR creation, the command also arms pr-only mode (see
below) so reviewer and Augment comments on that PR trigger automatic
fixer dispatches. Autonomous JIRA ticket pickup is not activated
by this command.
Flags:
--dry-run — walk the pipeline with no external side effects (no
JIRA writes, no git push, no gh pr create, no fix-loop arming).--confident — skip the full quality-check.sh umbrella in the
impl gate; only the formatter runs. The PR body flags the skipped
checks for the human reviewer./smith:watchdog — autonomous loopArms three background monitors. The watchdog session reacts to their notifications by dispatching Smith+Anderson pairs:
jira-candidates fires when a new eligible ticket appears →
dispatch impl pair.pr-comments fires when reviewer/Augment comments arrive on an
open Smith-authored PR → dispatch fixer pair.stop-sentinel fires when .smith/STOP is created/removed → pause
or resume new dispatches.Flags:
--pr-only — watch PRs only; the JIRA monitor stays idle.Arming is per-session: a SessionStart hook wipes the arming state
on every new Claude Code session, so autonomous behaviour never
resumes silently. Disarm without exiting: rm .smith/state/watchdog-mode.
/smith:abort <KEY-or-PR> — manual cleanupTears down an in-flight pair, removes the worktree, reverts JIRA state, and clears the active-smiths entry. Argument is a JIRA key (impl pair) or a PR number (fixer pair).
touch .smith/STOP — stops new dispatches within ~2 sec; in-flight
pairs wrap up at the next safe checkpoint.no-auto-impl on a ticket → watchdog skips it.| Name | Role |
|---|---|
smith-impl | Implements one ticket (claim → enrich → pipeline → PR) |
anderson-impl | Adversarial reviewer paired with smith-impl; gates spec, plan, diff |
smith-fixer | Triages and applies one round of PR review feedback |
anderson-fixer | Validates smith-fixer's dismissal decisions; runs final diff review |
Pairs are spawned as long-lived agent-team teammates, never as
one-shot subagents. A PreToolUse hook (agent-teams-guard)
enforces this.
Internal — invoked inside Smith teammate sessions, not by the operator directly.
| Name | Role |
|---|---|
smith:claim | Transitions JIRA status; adds smith-implementing label; confirms worktree |
smith:enrich | Reads the ticket; writes a structured brief under .smith/briefs/ |
smith:pipeline | The three-gate spec → plan → impl loop with Anderson critic rounds |
smith:pr | Opens the draft PR (success path) or the WIP-stuck PR (escalation) |
smith:watchdog | Reaction runbook loaded into the lead session for notification handling |