wiswa-mcp: Agent for Claude Code

.claude/agents/qa-fixer.md

qa-fixer is an agent for Claude Code from Tatsh/wiswa-mcp. It costs 42 tokens per session (567 once invoked), scanned A, original, MIT.

An automated quality-check agent that runs yarn format and yarn qa repeatedly, fixing reported problems until both commands succeed. QA means checking that the project meets its formatting and other validation rules.

In plain words
What is it for?
Use it after batches of edits or before committing to format the project, run its checks, and resolve the reported issues.
Why use it?
It removes repetitive formatting and test-fixing work before a commit and applies the project’s existing rules when correcting errors.

Agent for Claude Code

Written for Claude Code: installed under .claude/. Also seen: reads .claude/ paths.

This is Tatsh/wiswa-mcp's own configuration. It tells Claude Code how to work on wiswa-mcp itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything wiswa-mcp configures →

Reuse

Borrowing it

Nothing to install: this file belongs to Tatsh/wiswa-mcp. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/Tatsh/wiswa-mcp/master/.claude/agents/qa-fixer.md
Clone the repo
git clone --depth 1 https://github.com/Tatsh/wiswa-mcp

Made for: Claude Code.

Wrote 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.

agentmods badge for qa-fixer

README.md
[![agentmods](https://agentmods.dev/badge/agents/tatsh/wiswa-mcp/qa-fixer/github.svg)](https://agentmods.dev/agents/tatsh/wiswa-mcp/qa-fixer)
Your own site
<a href="https://agentmods.dev/agents/tatsh/wiswa-mcp/qa-fixer"><img src="https://agentmods.dev/badge/agents/tatsh/wiswa-mcp/qa-fixer/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.

agentmods 80×15 button for qa-fixer

Your own site · 80×15
<a href="https://agentmods.dev/agents/tatsh/wiswa-mcp/qa-fixer"><img src="https://agentmods.dev/badge/agents/tatsh/wiswa-mcp/qa-fixer.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 42 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 567 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00042 $0.00567
Opus 5.5 $0.00017 $0.00227
Sonnet 5.5 $0.00008 $0.00113
Haiku 4.5 $0.00004 $0.00057

Measured 2mo ago against content hash 3ccddd5ff5dc, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

qa-fixer scanned grade A with 0 findings 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 2mo 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.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

.claude/agents/qa-fixer.md · 59 lines

What it actually says

QA Fixer Agent

Runs formatting and QA checks, then iteratively fixes all issues until both pass cleanly.

Role

You ensure the project passes all formatting and QA checks. Follow all conventions in the rule files under .claude/rules/.

Workflow

  1. Run yarn format. Fix any issues it reports.

  2. Run yarn qa. Parse the output for errors.

  3. For each error: a. Read the file. b. For docstring violations (Ruff D1xx, DOC501, etc.), follow the rules in .claude/agents/docstring-fixer.md - only document items in __all__, use plain-text types in Parameters/Returns/Raises headers, NumPy style. c. For all other issues, fix following the relevant rule file under .claude/rules/ (Python, Markdown, JSON/YAML, TOML/INI, general).

  4. Repeat from step 1 until both yarn format and yarn qa exit with code 0.

Rules

  • Never attempt to use scripts to mass-edit files.

  • Never suppress or disable linter rules to make checks pass. Fix the root cause.

  • Follow all project conventions when fixing issues (see .claude/rules/).

  • Click command entry points must only have a single-line docstring (no Parameters/Returns/ Raises sections). Click uses the docstring as CLI help text.

  • Use http.HTTPStatus constants (e.g. HTTPStatus.FORBIDDEN) instead of bare integer status codes.

  • Wrap long conditions in if, elif, while, and for statements with parentheses for line continuation. Do not use \ or split the line inside {}, (), or [] literals that are part of the expression.

    Correct:

    if (response is not None
            and response.status_code in {HTTPStatus.FORBIDDEN, HTTPStatus.TOO_MANY_REQUESTS}):
    

    Wrong:

    if response is not None and response.status_code in {
            HTTPStatus.FORBIDDEN, HTTPStatus.TOO_MANY_REQUESTS
    }:
    
  • If a fix introduces new errors, fix those too before re-running.

  • If stuck in a loop (same error persists after 3 attempts), stop and alert the user.

Changes

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.

  1. 2mo ago First seen · 59 lines · 42 tokens per session scan A 3ccddd5ff5dc

Subscribe to this mod's changes

qa-fixer is an agent published in the GitHub repository Tatsh/wiswa-mcp (0 stars, last pushed yesterday), licensed MIT. It adds 42 tokens to every session and 567 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

qa-fixer compared with agents from other repositories

qa-fixer next to 6 agents from other repositories
ModTypeStarsLast pushLicenceScanTokensWorks with
qa-fixerTatsh/wiswa-mcpAgent0yesterdayMITA42Claude Code
ponytail-reviewerwildcard/caroAgent40yesterdayAGPL-3.0C0Claude Code
constitution-validatorwildcard/caroAgent40yesterdayAGPL-3.0C49Claude Code
reviewnamastexlabs/automagik-toolsAgent1511mo agoApache-2.0A25Claude Code
refactornamastexlabs/automagik-toolsAgent1511mo agoApache-2.0A14Claude Code
code-garbage-collectornamastexlabs/automagik-toolsAgent1511mo agoApache-2.0A28Claude Code
challengenamastexlabs/automagik-toolsAgent1511mo agoApache-2.0A12Claude Code