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.
git 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/test-feature)<a href="https://agentmods.dev/commands/thisissadeghi/kmpilot/test-feature"><img src="https://agentmods.dev/badge/commands/thisissadeghi/kmpilot/test-feature/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/commands/thisissadeghi/kmpilot/test-feature"><img src="https://agentmods.dev/badge/commands/thisissadeghi/kmpilot/test-feature.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.00008 | $0.02329 |
| Opus 5.5 | $0.00003 | $0.00932 |
| Sonnet 5.5 | $0.00002 | $0.00466 |
| Haiku 4.5 | $0.00001 | $0.00233 |
Grade A, and why
test-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 1mo 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 — 241 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Generate Feature Tests
Usage: /test-feature {featurename}
Phase 1: Discovery (Direct Execution)
1.1 Detect Namespaces
grep "namespace" feature/{featurename}/build.gradle.kts # PKG_PREFIX
grep "namespace" core/common/build.gradle.kts # CORE_COMMON_PKG
grep "namespace" core/data/build.gradle.kts # CORE_DATA_PKG
1.2 Extract Context (YAML Only)
Glob: feature/{featurename}/src/commonMain/kotlin/**/*.kt
Extract 5-line YAML summaries (not full code):
entities: [{name, fields}]
dataSource: {interface, implementation, methods}
repository: {interface, implementation, dependencies}
viewModel: {class, dependencies, actions, flow_name, state_slot} # see detection rules
screen: {composable, rootComposable, callbacks}
# Capability flags (drive conditional template sections):
hasDto: true|false # true if data/model/*Dto.kt exists OR DTO class found alongside entities
hasPagination: true|false # true if {Feature}Response with results/count/next/previous fields exists
successValueShape: list|single # list = repository returns Either<List<T>>; single = Either<T> (non-list)
Detection rules:
flow_name: read the ViewModel's public flow property — matchval (\w+)\s*=\s*_\w+\.asStateFlow\(\). Under Rule 11 convention, this isuiModel. Pass the matched name (e.g.uiModel, oruiStatefor legacy features) to all presentation agents.state_slot: read{Feature}UiModel.ktforval (\w+)State:\s*UiState<— the slot prefix (e.g.data,submit,fetch) is what test agents substitute for{state}. If multiple slots exist, pass the primary one; defaultdata.hasDto: globfeature/{featurename}/src/commonMain/kotlin/**/model/*Dto.kt→ if any match, true.hasPagination: grepdata class .*Response.*results.*countindata/model/*.kt.successValueShape: read the repository interface return type.Either<List<...>>→list;Either<...>(anything else) →single. (Repository returnsEither<DTO>directly — Rule 11.)
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.
- 1mo ago First seen · 241 lines · 8 tokens per session scan A bae0ca8dff1a
test-feature is a command published in the GitHub repository ThisIsSadeghi/KMPilot (57 stars, last pushed 2mo ago), licensed MIT. It adds 8 tokens to every session and 2,329 once invoked, about $0.0000 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-30.
Other commands, from other repositories
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.
feature-build-fix
Compile the feature, run all tests, and iteratively fix compilation errors and test failures until everything passes. Max 5 iterations.
feature-test
Create all tests for an implemented feature - unit tests (ViewModel, UseCase, Repository), Compose UI tests, and E2E user flow tests.
feature-verify
Run final verification - pass@k test metrics, coverage report, and sign-off. Confirms feature is production-ready.
ijfw-audit
Run the IJFW audit gate for the current workflow phase. Usage: /ijfw-audit [phase name].
test-bar
Generate a floating QA test overlay for the current branch's UI changes. Use when user says /test-bar, needs visual QA scenarios, or wants to test conditional rendering paths.