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 agentmods add commands/thisissadeghi/kmpilot/review-featuregit clone --depth 1 https://github.com/ThisIsSadeghi/KMPilotWrote 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/commands/thisissadeghi/kmpilot/review-feature)<a href="https://agentmods.dev/commands/thisissadeghi/kmpilot/review-feature"><img src="https://agentmods.dev/badge/commands/thisissadeghi/kmpilot/review-feature.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.00010 | $0.01767 |
| Opus 5 | $0.00005 | $0.00883 |
| Sonnet 5 | $0.00002 | $0.00353 |
| Haiku 4.5 | $0.00001 | $0.00177 |
Grade A, and why
review-feature 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 — 115 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Review Feature Implementation
Review a KMP feature against Clean Architecture, 14 critical rules, and 4 integration points.
Architecture Reference: @../skills/_shared/patterns.md
Usage
/review-feature {featurename}
Process
- Validate:
ls feature/{featurename}/src/commonMain/kotlin/ - Run the deterministic checker first — the mechanized rules are settled by a script,
not by a model:
Readpython3 .claude/skills/_shared/kmpilot_check.py {featurename}.claude/docs/_project/check-report.jsonand report its violations verbatim (severity: error→ Critical P1,severity: warning→ Warning P2). Do not re-derive them by grepping. - Spawn Agent: Delegate the remaining judgment rules to the
code-revieweragent - Generate Reports:
.claude/docs/{featurename}/review.mdandfixes.md
The same checks run in CI as ./gradlew archTest, which fails the build on any
error-severity violation. A review and a CI run cannot disagree.
What Gets Checked
Mechanized — from check-report.json (19 checks, reproducible)
| ID | Rule |
|---|---|
R3 |
setState — no _uiModel.value = |
R5 |
X-components — no Material3 component imports (MaterialTheme/Shapes/darkColorScheme/lightColorScheme are allowed; XTheme wraps MaterialTheme) |
R7 |
Lowercase packages |
R8 |
DI — a top-level val {featurename}Module + .bind<Interface>() |
R9 |
No UseCases |
R11a R11b R11c |
No *UiState.kt; exactly one presentation/*UiModel.kt; no presentation import under data/ |
R12 |
No hardcoded user-facing strings in presentation/ui, and composeResources/values/strings.xml exists. Allowlisted: @Preview fixtures, control sentinels, single-glyph symbols ($/₿/%/✓), interpolated repository data, Compose animation label = debug tags |
R13 |
Single app-shell Scaffold — no Scaffold/XScaffold and no contentWindowInsets/safeDrawing/statusBarsPadding/imePadding in feature UI; plain navigationBarsPadding() on a sticky bottom bar warns (use the exclude(ime) form) |
S1 |
Screen.kt @Composable allowlist, enforced per *Screen.kt file (@Preview exempt) |
S2 |
No non-composable file under components/ |
S3 |
.app-tier boundary in generic core code (core/data/**/DataModules.kt exempt) |
S4 |
Preview import is androidx.compose.ui.tooling.preview.Preview |
I1–I4 |
The 4 integration points: settings.gradle.kts, composeApp/build.gradle.kts, initKoin.kt, BaseAppNavHost.kt |
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 · 115 lines · 10 tokens per session scan A ea0907e7ad16
review-feature is a command published in the GitHub repository ThisIsSadeghi/KMPilot (56 stars, last pushed 28d ago), licensed MIT. It adds 10 tokens to every session and 1,767 once invoked, about $0.0001 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.
Other commands, from other repositories
extract
Extract a composable from amethyst to shared code.
review-android
Guided Android code review workflow through context gathering, Android-specific review, and output.
mobile-verify
Run automated verification loops with pass@k metrics for mobile testing. Executes tests multiple times to detect flakiness.
preflight
Run pre-submission checks — automated gates + manual checklist.
feature-learn
View and manage patterns learned from feature builds. Shows extracted instincts, confidence scores, and feature completeness history.
feature-build
Build a complete mobile feature from description to running code with E2E tests. Orchestrates 6 phases - planning, implementation, testing, build-fix, quality gate, and verification. Auto-detects platform.