adversarial-qa
Exploratory, adversarial QA: exercise a feature through whichever surface(s) it exposes — UI, API, or both — and surface issues the plan and committed tests…
Appends the cost half to a workflow-retro record: parses the feature session's Claude Code transcripts with a bundled read-only script (tokens per agent, wall-clock, handoff tax) and writes the result into the record's Cost section. Companion of /workflow-retro; run it while the
$ npx -y skills add cunhaax/ai-workflow --skill workflow-inspect --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/workflow-inspectContext preview
The summary Claude sees to decide when to auto-load this skill.
Appends the cost half to a workflow-retro record: parses the feature session's Claude Code transcripts with a bundled read-only script (tokens per agent, wall-clock, handoff tax) and writes the result into the record's Cost section. Companion of /workflow-retro; run it while the
name: workflow-inspect
description: >
Appends the cost half to a workflow-retro record: parses the feature
session's Claude Code transcripts with a bundled read-only script
(tokens per agent, wall-clock, handoff tax) and writes the result into
the record's Cost section. Companion of /workflow-retro; run it while
the transcripts still exist (they are pruned after Claude Code's
retention window, ~30 days by default). Requires python3.
allowed-tools: Bash(${CLAUDE_SKILL_DIR}/inspect.py *)Run this skill after `/workflow-retro` has recorded a feature's outcome, and within the transcript retention window. It fills the record's pending `## Cost` section with numbers computed from the raw session transcripts: tokens and wall-clock per sub-agent, the sub-agents' share of the total, and the handoff tax (files the planner read that the main agent re-read). Together the two halves say what each workflow step cost *and* caught — the evidence base for tuning the workflow (see *Evolving the System* in the AI Workflow plugin's own documentation).
**Ground rules:**
fill in a figure the script did not print. If the script fails or its output carries warnings, surface them to the user as-is (Rule 2 in `AGENTS.md` applies to the script like any other command).
the chosen record(s) — after the user confirms — is the only write this skill performs. Never commit anything; `.workflow-log/` stays local.
**read-only**: it parses transcripts and prints markdown to stdout.
Resolve the log directory exactly as `/workflow-retro` does: `.workflow-log/` under the main worktree (parent of `git rev-parse --path-format=absolute --git-common-dir`). List the records whose `## Cost` section is still pending. One pending record → proceed with it; several → ask which to inspect (offering "all" — each is one script run). None → report that every record is already inspected and stop.
Read the record's `Sessions:` line. If it is `unknown`, or Step 3 finds no transcript for any listed ID, the cost is unrecoverable once transcripts are pruned — with the user's confirmation, close the section honestly with `unavailable — transcripts pruned or session IDs unknown` instead of leaving `pending` forever.
One command, from the repository root:
python3 ${CLAUDE_SKILL_DIR}/inspect.py <session-id> [<session-id> …]It locates each session's transcript by a **global search** of `~/.claude/projects/` (transcripts are filed under the session's *launch* directory, which for worktree-launched sessions is not the worktree — never derive the directory from a path), resolves every sub-agent transcript via its spawn `toolUseId`, deduplicates records shared by resumed sessions, and prints a complete `## Cost` section. It fails soft: what it cannot parse or find becomes a warning line inside that output, and the numbers are then lower bounds.
Before writing, act on what the output says:
the record** means the feature spanned more sessions than the retro knew about (resumed sessions carry history over). Offer to add those IDs to the record's `Sessions:` line and re-run the script once with the full list.
sub-agent runs than the Steps table's review rounds), point the discrepancy out to the user — the outcome sections are theirs to amend; do not edit them yourself.
Show the user the script's output. On confirmation, replace the record's entire `## Cost` section (heading included) with it, leaving every other section untouched, and report the file path. If the user declines, leave the record as it was.
Turns Claude Code into a small development team instead of one agent guessing alone — with a git-level gate that keeps the humans in charge of what actually ships.
Repo: cunhaax/ai-workflow
Exploratory, adversarial QA: exercise a feature through whichever surface(s) it exposes — UI, API, or both — and surface issues the plan and committed tests…
Code review checklist and coding standards, extended per project by whatever file AGENTS.md's Review & Planning Guidance section names (defaulting to…
Runs the full feature workflow: plan, critique, implement, review, QA. Use this when starting a new feature. Guides you through each phase with explicit gates…
Bootstraps and validates the AI workflow in a project that has this plugin installed: scaffolds whichever project-owned files are missing, detects the…
Critiques an implementation plan using pre-mortem, inversion, load-bearing assumption analysis, and consistency checks. Invoked as /plan-critic for ad-hoc plan…
Planning rules and plan template for drafting implementation plans. Invoked as /plan-draft for an ad-hoc planning session, or used by the planner sub-agent in…