iansmith
Userticket-plugin is a system for using Claude Code with a ticketing system to have better context with fewer tokens in the context window. It also documents what has been done and concerns about the ticket.
Categories
Indexed Skills (11)
slopstop-gh-init
Bootstrap a GitHub repo for the slopstop ticket workflow. Creates status labels, writes .project-conf.toml. Invoke as /slopstop:gh-init (or /slopstop-gh-init). Idempotent — safe to re-run.
archive
End the local lifecycle for a ticket. Delegates the documentation push to /slopstop:document (description body + DoD-confirmation comment + findings comment, with idempotent skip-when-current and divergence-stop safety), then mv the local tracking dir to ~/.claude/ticket-archive/. Use /slopstop:archive AFTER moving the ticket to a terminal state (Done/Closed/etc.) on the ticket system yourself. Refuses to run otherwise. Does NOT support --force — if the documentation push would overwrite a divergent managed version on the ticket, archive stops cleanly; the user runs /slopstop:document --force separately to overwrite (after eyeballing the diff), then re-runs :archive. Auto-detects ticket system.
doc-sync
Mirror the design/ directory to the project's ticket-system documentation store (GitHub wiki, Linear Docs). One-way push; design/ files unchanged; orphan pages pruned. Reads .project-conf.toml for the backend. Use /slopstop:doc-sync.
document
Sync the active ticket's local tracking documentation (task plan, DoD-confirmation evidence, findings) to the ticket on Linear/JIRA. Use /slopstop:document to push or refresh the description + DoD-confirmation comment + findings comment WITHOUT ending the local lifecycle (no archive, no local-dir move, no state change). Idempotent — running it twice on unchanged local state is a clean no-op. Safe by default — if the ticket already has managed documentation that differs from what would be pushed (e.g., someone hand-edited the description), stops with a per-artifact diff explanation and refuses to push anything. --force overrides the divergence check. --dry-run shows what would happen without doing it. Auto-detects ticket system.
merge
End-to-end "ship it" for the active ticket — code side only. Use /slopstop:merge to merge the PR, advance the ticket by one state in its workflow on Linear/JIRA (NOT auto-Done — same-bucket transitions like "In Progress" → "In Review" are preferred over jumps to Done so review/QA gates aren't skipped), and delete the merged branch. Does NOT archive local tracking or push the task plan back to the ticket — that's /slopstop:archive, which the user runs separately once the ticket actually reaches a terminal Done-type state (typically after QA). The end-of-run summary classifies the post-transition state and tells the user whether to run :archive now or wait. Confirms once before any destructive remote operation; the confirmation prompt shows the specific computed next state so you know what you're agreeing to. Refuses safely on dirty trees, unpushed commits, draft PRs, or merge conflicts. Auto-detects ticket system.
plan
Replace the active ticket's empty Plan section with a thorough, parallelism-aware plan grounded in real codebase investigation, starting with a Phase 0 that writes RED tests for the expected behavior. Also drafts a client-readable Definition of Done (plain-language observable outcomes) that ends up at the top of the ticket description on archive. Use /slopstop:plan [constraint] — the optional textual constraint scopes BOTH the investigation and the resulting plan literally. Phase 0's red tests anchor each work item's "Done when" criteria. The skill confirms before destructive actions (commit before fanout, agent launch, auto-merge); auto-stops hard-stuck agents (60+ min no commits AND repeating errors); never auto-merges without your explicit yes.
pr
Open a pull request for the active ticket's branch with pre-commit simplify + tests + configurable review (CodeRabbit or Claude). Use /slopstop:pr to (1) run Claude Code's code-simplifier agent on uncommitted changes, (2) run the project's tests and refuse to commit on failures, (3) commit with a ticket-anchored message, (4) push and open a PR via GitHub MCP or gh CLI, (5) trigger or run the configured review backend — CodeRabbit (default) or Claude /code-review — posting findings to the PR, and (6) categorize the suggestions for action. Stops after presenting — never auto-applies (unless fix = true in [pr_review], which commits fixable findings after code-review completes). Review backend is set via [pr_review] in .project-conf.toml; omit the block to keep CodeRabbit as the default.
start
Start or resume work on a Linear or JIRA ticket. Use /slopstop:start <KEY> (e.g. /slopstop:start MAZ-26). Fresh-starts a new ticket (fetches it, transitions to In Progress, asks for a Conventional-Commits-style branch type and creates a feature branch like fix/MAZ-26 or feat/MAZ-26 — with a heuristic suggestion from labels/title and the choice between branching off the default branch vs the current branch when cwd is on a feature branch, plus a "skip" option to opt out of branch creation entirely — then seeds tracking files), or resumes an existing one. Auto-detects ticket system.
update
Mid-session checkpoint to the active ticket's progress.md. Use /slopstop:update to snapshot what's been done so far during the same ticket session. The ticket stays active. Local-only — never calls JIRA or Linear.
create-gh
Create a new GitHub issue and assign it a BILL ticket key that matches the GitHub issue number — so BILL-N always equals GitHub issue
search
Semantic search over the project's RAG-indexed ticket corpus and code graph. /slopstop:search "<query>" finds tickets by semantic similarity (descriptions + comments); optional subcommands --callers, --implementors, --blast-radius, and --ticket-code navigate the SCIP code graph. Reads [rag] from .project-conf.toml (endpoint, corpus_scope); gracefully degrades if [rag] is absent or if the RAG service is not running.
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.