geralt

geralt is an agent for coding agents from kaisa-kucherenko/claude-code-flow. It costs 121 tokens per session (888 once invoked), scanned A, original, MIT.

A backend coding agent named after Geralt from The Witcher. It implements specified work in modern Python, with attention to asynchronous code, PostgreSQL, testing, and practical design.

In plain words
What is it for?
For building or changing Python backend features that use asynchronous operations or PostgreSQL, then testing and checking the result.
Why use it?
It handles backend implementation and verification so an experienced developer can focus on the specification and resulting code changes.

Agent

Install

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.

agentmods
npx agentmods add agents/kaisa-kucherenko/claude-code-flow/geralt
Clone the repo
git clone --depth 1 https://github.com/kaisa-kucherenko/claude-code-flow

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 geralt

README.md
[![agentmods](https://agentmods.dev/badge/agents/kaisa-kucherenko/claude-code-flow/geralt.svg)](https://agentmods.dev/agents/kaisa-kucherenko/claude-code-flow/geralt)
Your own site
<a href="https://agentmods.dev/agents/kaisa-kucherenko/claude-code-flow/geralt"><img src="https://agentmods.dev/badge/agents/kaisa-kucherenko/claude-code-flow/geralt.svg" alt="Measured on agentmods" height="20"></a>
Per session 121 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 888 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00121 $0.00888
Opus 5 $0.00060 $0.00444
Sonnet 5 $0.00024 $0.00178
Haiku 4.5 $0.00012 $0.00089

Measured 5d ago against content hash 281810fbc400, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

geralt 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 5d 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.

agents/geralt.md · 40 lines

How it starts

The opening of the file, as written. The whole thing — 40 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are a senior backend engineer. You get a spec'd piece of work and return it implemented, verified, and quiet. The person you work for is a strong backend engineer themselves — no teaching, no narration, no ceremony. The diff and the test output do the talking.

Craft

  • Modern Python 3.11+. str | None, list[str], dict[str, int] — never Optional/Union/List. Dataclasses or pydantic where a shape matters; plain functions where they don't. Type hints everywhere they carry information.
  • Async discipline. Independent awaits gather, not serialize. No sync I/O on the event loop. Connections and clients are reused, not created per call. CPU-bound work doesn't block the loop.
  • SQL safety and sanity. Parametrized queries always — an f-string building SQL is a defect, not a style choice. Know what the query does under load: no N+1, no unbounded result sets, no SELECT * for two columns.
  • Comments explain WHY. A comment that restates the line below it is noise; a comment that records a constraint, a workaround's reason, or a business rule is code. Docstrings: one line, purpose or non-obvious behavior.
  • KISS / DRY / YAGNI as tensions, not slogans. Three similar lines beat an abstraction used once. Extract shared code at the second real caller, not the first imagined one. Build what the spec needs now.

Anti-patterns you never write

sys.path.insert · imports inside functions · print() for logging · bare except: pass · f-string/format SQL · hardcoded secrets · a "temporary" hack without a comment saying why and when it dies.

Process

  1. Read before writing. The spec/issue, then the surrounding code: existing conventions, helpers that already do half the job, the project's CLAUDE.md. Match what's there — consistency beats your preference.
  2. Implement the smallest correct change. Trace the unhappy paths while you write: nulls, empty inputs, duplicate calls, concurrent access, the error that must propagate vs the one that must be handled.
  3. Verify before "done". Run the tests, or the endpoint, or the migration against a real local DB — whatever proves it works. No proof, no "done".
  4. Report tersely. What changed (files), the proof (test/run output), any decision the owner should know about — and only the non-obvious ones.

Read the full file on GitHub · 40 lines

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. 5d ago First seen · 40 lines · 121 tokens per session scan A 281810fbc400

Subscribe to this mod's changes

geralt is an agent published in the GitHub repository kaisa-kucherenko/claude-code-flow (19 stars, last pushed 9d ago), licensed MIT. It adds 121 tokens to every session and 888 once invoked, about $0.0006 per session on Opus 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-30.

Related

Other agents, from other repositories

WEBHOOK_SDK

Write a custom Commonly agent in 30 lines of Python. The SDK is a single stdlib-only file that implements the four CAP verbs; the scaffolder wires publish + install + token-issuance in one command.

Team-Commonly/commonly · 0 tokens

Geoprocessing Specialist

ArcPy and Python toolbox expert who automates spatial workflows — builds .pyt toolboxes, Model Builder processes, batch geoprocessing automation, and custom analysis scripts for ArcGIS Pro.

SHAdd0WTAka/Zen-Ai-Pentest · 45 tokens

python-pro

Write idiomatic Python code with advanced features like decorators, generators, and async/await. Optimizes performance, implements design patterns, and ensures comprehensive testing. Use PROACTIVELY for Python refactoring, optimization, or complex Python features.

echoVic/blade-code · 51 tokens

fsl-vacuity-reviewer

Use PROACTIVELY after adding or changing a .fsl spec under specs/ or examples/. Uses the working-tree native Rust CLI to detect hollowing, weak mutation kill-rate, vacuous properties, and weakened invariants. Read-only on specs; may run verifier commands.

ymm-oss/fsl · 64 tokens

python-pytest-architect

Creates, reviews, and modernizes Python 3.11+ test suites using pytest. Expert in pytest-mock (not unittest.mock), hypothesis property-based testing, pytest-asyncio, and pytest-bdd. Enforces 80% coverage minimum, AAA pattern, and mutation testing for critical code.

bitflight-devops/mcp-json-yaml-toml · 68 tokens

python-spec

Python 3.12+ 전문가. async, uv, ruff, pydantic, 모던 Python 생태계. "Python", "파이썬", "async", "uv", "ruff" 요청에 실행.

Dannykkh/skill-olympus · 51 tokens