Skip to content

Skill recipes

The toado-triage skill covers the most common case. These recipes cover the rest. Copy any block into ~/.claude/skills/<skill-name>/SKILL.md and restart Claude Code.

Verify In Review

Walks the In Review column and validates that the previous run’s claims hold up. Either advances tickets to Done or sends them back to To Do with a note.

Terminal window
mkdir -p ~/.claude/skills/toado-verify
---
name: toado-verify
description: Walk a Toado project's In Review column, verify each ticket's reported fix, then move to Done or back to To Do.
allowed-tools: ["mcp__toado__*", "Read", "Bash", "Grep", "Glob"]
---
# /toado-verify
Walk the In Review column for project $1. For each ticket, read the most
recent MCP comment to find the claimed fix (branch name, commit SHA, files
touched), then verify.
## Loop
1. `list_tickets(project_id, column_id=in_review, limit=50)` oldest first.
2. For each:
a. `get_ticket(include=['comments'])`.
b. Find the latest comment authored via MCP. Extract branch name and SHA.
c. `git fetch && git log --oneline -n 1 <sha>` to confirm the commit
exists. If not, comment "could not find commit <sha>", move back to To Do.
d. Re-run the project's verify step against the branch (or main, if the
branch was merged).
e. If passes: `add_comment("Verified.")` and `move_ticket` to Done.
f. If fails: `add_comment` with the failure log, `move_ticket` back to To Do.
3. Summarize: verified N, sent back N.

Screenshot regression sweep

Compares the captured screenshot on a ticket against the current state of the page. Files any new visual diffs as fresh tickets in To Do.

Terminal window
mkdir -p ~/.claude/skills/toado-screenshot-sweep
---
name: toado-screenshot-sweep
description: For a project, replay each Done ticket's source URL, capture a fresh screenshot, and file regressions as new tickets.
allowed-tools: ["mcp__toado__*", "Bash", "Read"]
---
# /toado-screenshot-sweep
For project $1, walk the most recent N (default 20) tickets in Done. For each:
1. `get_ticket(include=['capture'])`. Read `source_url` and the original
screenshot URL via `get_capture_asset(asset='screenshot')`.
2. Use a headless browser (Playwright or Puppeteer locally) to fetch
`source_url` and capture a fresh screenshot at the same viewport size.
3. Diff pixel-by-pixel (or with a perceptual diff library).
4. If diff exceeds 5 percent: `create_ticket` in the project with title
"Possible regression on <source_url>" and a description that links back to
the original ticket id.
5. Summarize new tickets created.
## Note
The headless browser part runs on YOUR machine, not in Toado. Toado has no
ability to fetch external URLs from the server. The skill is the orchestrator;
your local environment is the executor.

Duplicate detection

Finds probable duplicates in To Do and links or merges them.

Terminal window
mkdir -p ~/.claude/skills/toado-dupes
---
name: toado-dupes
description: Find probable duplicate tickets in a project's To Do column, comment with the linkback, optionally archive the dupes.
allowed-tools: ["mcp__toado__*", "Read"]
---
# /toado-dupes
For project $1, list all tickets in To Do. For each pair:
1. Compare titles (token overlap).
2. If overlap > 60 percent: read both ticket descriptions and source URLs.
3. If both are about the same source URL OR the descriptions describe the
same symptom: flag as probable dupe.
4. Choose the older as canonical. Comment on the newer:
"Probable duplicate of <id>." Link both ways.
5. Ask the user before archiving any. Default to NOT archiving.
## Output
Print pairs as a list, with confidence and source URLs. Wait for user
confirmation before any `archive_ticket` calls.

Project switcher

A tiny convenience skill that resolves a project name to an id and prints the column ids, so you can paste them once at the start of a long session.

Terminal window
mkdir -p ~/.claude/skills/toado-project
---
name: toado-project
description: Resolve a Toado project name to its id and column ids, then print them so you can copy-paste into the rest of the session.
allowed-tools: ["mcp__toado__list_companies", "mcp__toado__list_projects", "mcp__toado__list_columns"]
---
# /toado-project
Match $1 against project names (case-insensitive substring). If multiple
match, list them and ask which.
Print:
- Company: <name> (`co_...`)
- Project: <name> (`proj_...`)
- Columns:
- To Do: `col_...`
- In Progress: `col_...`
- In Review: `col_...`
- Done: `col_...`
Suggest: "Paste these into the session and I'll use them for the rest of our work."