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 zakariaf/Flutter-Skills --skill codegen-and-toolchaingit clone --depth 1 https://github.com/zakariaf/Flutter-SkillsWrote 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/zakariaf/flutter-skills/codegen-and-toolchain)<a href="https://agentmods.dev/skills/zakariaf/flutter-skills/codegen-and-toolchain"><img src="https://agentmods.dev/badge/skills/zakariaf/flutter-skills/codegen-and-toolchain.svg" alt="Measured on agentmods" 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.00224 | $0.02356 |
| Opus 5 | $0.00112 | $0.01178 |
| Sonnet 5 | $0.00045 | $0.00471 |
| Haiku 4.5 | $0.00022 | $0.00236 |
Grade A, and why
codegen-and-toolchain 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 6d 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.
How it starts
The opening of the file, as written. The whole thing — 192 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Codegen and toolchain
One deterministic codegen pass is the source of truth for every generated file;
run it first, scope it tightly, and decide once whether its output lives in git.
Applies whenever a project uses build_runner or gen-l10n.
Read the reference for the task at hand:
references/codegen-scoping.md— the generator inventory,generate_for:scoping tables, error-to-fix recovery map.references/commit-vs-gitignore.md— the two committed/gitignored strategies, their tradeoffs, and the exact CI gate each one requires.references/toolchain-and-workspace.md— SDK pinning, analyzer/coverage excludes, and the multi-package workspace layering (fenced, opt-in).
Run scripts/regen.sh (codegen → format → analyze) before a PR, and
scripts/check-codegen-hygiene.sh to verify excludes and commit-policy parity.
Non-negotiable rules
- Codegen runs FIRST, before
flutter analyze. Generated files may be absent on a fresh clone or stale after editing an annotation. Analyzing that tree emits misleading "missing part file" and "undefined class_$Foo" errors. Regenerate, then analyze — never chase the symptom at the call site. - Always pass
--delete-conflicting-outputs. Without itbuild_runnerrefuses to overwrite an output from a renamed/deleted source and fails with a wall of "conflicting outputs" text. That is not a bug to investigate. - Never hand-edit a generated file. The next build silently reverts it and takes your edit with it. Change the annotated source and rerun codegen.
- Scope every builder with
generate_for:in a per-packagebuild.yaml. A change in one directory must not regenerate the whole tree. Point each glob at the narrowest directory that owns the annotation. - Decide commit-vs-gitignore ONCE, back it with the matching CI gate.
Gitignored → CI regenerates first, before analyze. Committed → CI regenerates
then runs
git diff --exit-codeas a freshness gate. Either is valid; a policy without its gate is not (seereferences/commit-vs-gitignore.md). - Mirror generated-file globs into the analyzer AND coverage excludes. A glob that lints machine output wastes review; a glob missing from lcov inflates coverage. Exclude the emitted suffix — verify it, do not guess.
- Pin the SDK; local must equal CI. The CI Flutter/Dart version must match
the pinned local version (
.fvmrcunder FVM, or the tool the repo standardizes on). A drift here reproduces "works on my machine" format/codegen churn. watchis a local edit-loop tool only. CI and the pre-analyze step always use the one-shotbuildcommand.
What ships with it
7 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 192 lines · 224 tokens per session scan A a937e9e27b17
codegen-and-toolchain is a skill published in the GitHub repository zakariaf/Flutter-Skills (2 stars, last pushed 8d ago), licensed MIT. It adds 224 tokens to every session and 2,356 once invoked, about $0.0011 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-31.
Other skills, from other repositories
feishu
Work with Feishu or Lark bots, docs, sheets, bitables, approval flows, and OpenAPI/MCP setup without hardcoding credentials.
writing
A writing guide for turning verified facts and calculations into finished text for a specific audience. It follows the requested language, structure, and length.
cw-gates
Use before claiming any Codewhale change is done, green, or ready to land: the focused-to-broad verification ladder, the budget checks CI enforces, and the rules for what counts as a passing test.
mcp-scripting
Write mcpScript JavaScript for discovering, inspecting, and calling MCP tools.
implementation-readiness
Verify BRD-lite, PRD, SRS/FRS, UX, and test prerequisites before implementation starts.
skill-benchmark
Benchmark AI skill effectiveness by measuring implementation quality against legacy constraints.