Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Argument shapes for the 5 built-in workflow patterns — deep-research, adversarial-review, code-review, multi-perspective, codebase-audit — runnable via the `workflow` tool's `name` input, without slash-command syntax. Use for requests like "research X", "fact-check/adversarially review this", "review this diff/PR", "analyze from multiple perspectives", or "audit the codebase for Y". Not for authoring a new workflow script — see workflow-authoring.
.claude/skills/quintinshaw-workflow-patterns/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-04 | ✗→✓ | ▲ Improved | -12% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -39% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -34% | 0% |
| case-10 | ✗→✓ | ▲ Improved | -32% | 0% |
| case-18 | ✗→✓ | ▲ Improved | 5% | 0% |
pi-dynamic-workflows ships 5 curated, tested workflow patterns. Each is also a slash command (/deep-research, /adversarial-review, /code-review, /multi-perspective, /codebase-audit), but they are equally reachable from the workflow tool directly: call it with name set to the pattern name below and args matching its shape, instead of writing an equivalent script from scratch. Prefer this over authoring a new script whenever the request fits one of these shapes — the curated version is already reviewed and tested.
A project or user saved workflow of the same name always takes precedence over a built-in of that name — on the slash command, too.
These 5 names are reachable only at the workflow tool's top-level name input, not via the in-script await workflow(savedName, childArgs) helper — that helper resolves saved workflows only. Calling workflow('deep-research') from inside a script fails as an unknown saved workflow; use the top-level name input instead.
| name | When to reach for it | args | | --- | --- | --- | | deep-research | Research a question across the web with cross-checked sources | { question: string, angles?: number, minSupport?: number } — angles (default 4) is the number of distinct search queries; minSupport (default 2) is the minimum distinct sources required for a claim to survive cross-checking | | adversarial-review | Investigate a task/claim, then cross-check each finding with skeptical reviewers | { task: string, reviewers?: number, threshold?: number } | | code-review | Multi-angle review of a diff (correctness, reuse, simplification, efficiency, altitude) | { diff: string, diffSource?: string } — get diff yourself first (e.g. git diff, gh pr diff <n>); this path does not fetch it for you | | multi-perspective | Analyze a topic from several independent perspectives in parallel, then synthesize | { topic: string, perspectives?: string[] } — omit or give fewer than 2 to use the default set (technical, product, security, user experience, maintainability) | | codebase-audit | Run parallel checks against a codebase scope, then cross-validate and report | { scope: string, checks: string[] } |
json{ "name": "deep-research", "args": { "question": "What are the tradeoffs of X vs Y?" } }
This is a workflow tool call, not a script — omit script entirely. The run starts in the background exactly like the slash-command form; background, maxAgents, concurrency, agentRetries, agentTimeoutMs, and tokenBudget all still apply.
If the request doesn't fit one of these 5 shapes, author a script with script as usual — see the workflow-authoring skill.
| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 5,318 | 16,549 | +211% | 1 | 1 | 0% | 794 | 1,690 | +113% | 0 | 0 | — |
case-07 | fail→fail | 37,174 | 7,303 | -80% | 1 | 1 | 0% | 6,175 | 961 | -84% | 0 | 0 | — |
case-02 | fail→fail | 32,779 | 9,082 | -72% | 1 | 1 | 0% | 4,475 | 1,168 | -74% | 0 | 0 | — |
case-03 | fail→fail | 14,736 | 14,811 | +1% | 1 | 1 | 0% | 1,890 | 2,231 | +18% | 0 | 0 | — |
case-04 | fail→pass | 16,563 | 13,284 | -20% | 1 | 1 | 0% | 3,560 | 3,144 | -12% | 0 | 0 | — |
case-05 | fail→pass | 12,512 | 3,853 | -69% | 1 | 1 | 0% | 2,067 | 1,253 | -39% | 0 | 0 | — |
case-06 | fail→pass | 13,541 | 3,998 | -70% | 1 | 1 | 0% | 2,075 | 1,365 | -34% | 0 | 0 | — |
case-08 | fail→fail | 6,412 | 6,802 | +6% | 1 | 1 | 0% | 231 | 957 | +314% | 0 | 0 | — |
case-09 | fail→fail | 43,548 | 6,951 | -84% | 1 | 1 | 0% | 3,287 | 1,037 | -68% | 0 | 0 | — |
case-10 | fail→pass | 10,625 | 2,375 | -78% | 1 | 1 | 0% | 1,542 | 1,048 | -32% | 0 | 0 | — |
case-11 | fail→fail | 9,137 | 7,831 | -14% | 1 | 1 | 0% | 1,384 | 910 | -34% | 0 | 0 | — |
case-12 | fail→fail | 19,480 | 7,175 | -63% | 1 | 1 | 0% | 2,903 | 1,176 | -59% | 0 | 0 | — |
case-13 | fail→fail | 21,372 | 5,327 | -75% | 1 | 1 | 0% | 3,022 | 967 | -68% | 0 | 0 | — |
case-14 | fail→fail | 8,780 | 9,082 | +3% | 1 | 1 | 0% | 1,116 | 1,513 | +36% | 0 | 0 | — |
case-15 | pass→pass | 9,952 | 2,049 | -79% | 1 | 1 | 0% | 1,363 | 999 | -27% | 0 | 0 | — |
case-16 | fail→fail | 15,753 | 7,167 | -55% | 1 | 1 | 0% | 2,791 | 1,003 | -64% | 0 | 0 | — |
case-17 | fail→fail | 20,582 | 9,216 | -55% | 1 | 1 | 0% | 2,957 | 1,004 | -66% | 0 | 0 | — |
case-18 | fail→pass | 8,695 | 3,956 | -55% | 1 | 1 | 0% | 1,282 | 1,344 | +5% | 0 | 0 | — |
case-19 | pass→pass | 9,259 | 4,169 | -55% | 1 | 1 | 0% | 1,496 | 1,365 | -9% | 0 | 0 | — |
case-20 | pass→pass | 9,008 | 2,189 | -76% | 1 | 1 | 0% | 1,450 | 990 | -32% | 0 | 0 | — |
case-21 | fail→pass | 8,288 | 2,013 | -76% | 1 | 1 | 0% | 1,263 | 953 | -25% | 0 | 0 | — |
case-22 | fail→pass | 6,674 | 2,969 | -56% | 1 | 1 | 0% | 1,061 | 1,172 | +10% | 0 | 0 | — |
case-23 | pass→pass | 9,755 | 3,368 | -65% | 1 | 1 | 0% | 1,355 | 982 | -28% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 23 cases were attempted, and 14 counted toward the lift figure. The other 9 produced results that are not comparable between the two arms, so they are excluded from the headline rather than averaged into it. The headline lift of +30 percentage points is the difference between those two pass rates over the 14 comparable cases. 2 cases got worse with the skill loaded, and they are included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.