Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mhawthorne/gza --skill gza-task-fixgit clone --depth 1 https://github.com/mhawthorne/gzaWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mhawthorne/gza/gza-task-fix)<a href="https://agentmods.dev/skills/mhawthorne/gza/gza-task-fix"><img src="https://agentmods.dev/badge/skills/mhawthorne/gza/gza-task-fix/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mhawthorne/gza/gza-task-fix"><img src="https://agentmods.dev/badge/skills/mhawthorne/gza/gza-task-fix.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00049 | $0.03749 |
| Opus 5 | $0.00024 | $0.01875 |
| Sonnet 5 | $0.00010 | $0.00750 |
| Haiku 4.5 | $0.00005 | $0.00375 |
Grade C, and why
gza-task-fix scanned grade C with 1 finding against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Recursive force deletehighDestructive command
rm -rf with a variable or a broad path is one typo away from removing the wrong tree.
rm -rf .gza-worktrees/<impl_branch>/.gza # only if it's an empty/throwaway DB this worktree just created How it starts
The opening of the file, as written. The whole thing — 281 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Fix Stuck Gza Task Inline
Use this skill when an implementation task is stuck in review/improve churn — the same blockers keep reappearing, or a previous improve/fix pass failed to close them. fix is escalation: it diagnoses why the loop is happening before making any edits, then applies a bounded repair scoped strictly to blocker closure.
Unlike /gza-task-improve, this skill requires you to verify each blocker against the current code before deciding whether a change is needed. A stuck task often already has the fix on disk — in which case the answer is "no change, this was hallucinated-closure churn," not another edit pass.
This skill runs entirely inline in the current Claude Code session. Do not invoke gza fix or any background worker — that defeats the purpose of running here.
Process
Step 0: Capture the starting directory
pwd
Save as <START_DIR>. This skill must never change the branch checked out in the directory the user invoked it from — all branch work happens in a separate worktree (Step 3). You return here at the end by cd, not by any git checkout.
Step 1: Resolve the target task and recent review history
The user provides a full prefixed task ID (for example, gza-1234) — implementation, review, improve, or prior fix. Resolve to the implementation task and fetch the last three reviews so you can detect churn:
uv run python -c "
import json, sys
from pathlib import Path
from gza.config import Config
from gza.db import SqliteTaskStore
config = Config.load(Path.cwd())
store = SqliteTaskStore.from_config(config)
task = store.get('<TASK_ID>')
if not task:
print('ERROR: task not found', file=sys.stderr); sys.exit(1)
impl = task
if task.task_type in ('review', 'fix') and task.depends_on:
impl = store.get(task.depends_on)
if impl and impl.task_type == 'review' and impl.depends_on:
impl = store.get(impl.depends_on)
elif task.task_type == 'improve' and task.based_on:
impl = store.get(task.based_on)
reviews = store.get_reviews_for_task(impl.id)[:3] if impl else []
print(json.dumps({
'impl_id': impl.id if impl else None,
'impl_branch': impl.branch if impl else None,
'impl_prompt': impl.prompt if impl else None,
'impl_tags': list(impl.tags) if impl else [],
'verify_command': config.verify_command,
'inner_verify_command': config.inner_verify_command,
'reviews': [
{'id': r.id, 'report_file': r.report_file, 'output_content': r.output_content, 'completed_at': str(r.completed_at)}
for r in reviews
],
}, default=str))
"
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 2d ago Changed · +30 lines scan A → C 32f3ca2aa9c4
- 8d ago First seen · 251 lines · 49 tokens per session scan A 2e893031aad5
gza-task-fix is a skill published in the GitHub repository mhawthorne/gza (12 stars, last pushed yesterday), licensed MIT. It adds 49 tokens to every session and 3,749 once invoked, about $0.0002 per session on Opus 5. A static security scan graded it C with 1 finding (recursive force delete). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
sentry-fix-issues
Find and fix issues from Sentry using MCP. Use when asked to fix Sentry errors, debug production issues, investigate exceptions, or resolve bugs reported in Sentry. Methodically analyzes stack traces, breadcrumbs, traces, and context to identify root causes.
audit
Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.
debugging-executions
Debug failed or wrong-output workflow executions using executions tools. Load when the user reports execution failures, unexpected node output, empty parameter values after a successful run, or a node showing a red or failed expression error.
n8n-docs-assistant
Answers n8n product, setup, credential, node, hosting, API, and usage questions from current n8n docs. Load n8n-docs via loadtool before calling it (search "n8n docs" if not visible). Use when the user asks how to configure, set up, troubleshoot, or understand n8n behavior, especially credential setup questions opened…
dorodango
Polishes working code through successive quality passes in fresh subagents. Use after tests pass when code needs multi-dimension refinement before release.
sentry-sdk-upgrade
Upgrade the Sentry JavaScript SDK across major versions. Use when asked to upgrade Sentry, migrate to a newer version, fix deprecated Sentry APIs, or resolve breaking changes after a Sentry version bump.