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 ShipWithAI/shipwithai-plugins --skill konsist-architecture-testsgit clone --depth 1 https://github.com/ShipWithAI/shipwithai-pluginsWrote 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/shipwithai/shipwithai-plugins/konsist-architecture-tests)<a href="https://agentmods.dev/skills/shipwithai/shipwithai-plugins/konsist-architecture-tests"><img src="https://agentmods.dev/badge/skills/shipwithai/shipwithai-plugins/konsist-architecture-tests/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/skills/shipwithai/shipwithai-plugins/konsist-architecture-tests"><img src="https://agentmods.dev/badge/skills/shipwithai/shipwithai-plugins/konsist-architecture-tests.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.00093 | $0.01774 |
| Opus 5 | $0.00046 | $0.00887 |
| Sonnet 5 | $0.00019 | $0.00355 |
| Haiku 4.5 | $0.00009 | $0.00177 |
Grade A, and why
konsist-architecture-tests 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 11d 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 — 135 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Konsist architecture tests
Overview
Enforce module-boundary invariants as plain JVM unit tests with Konsist, which parses Kotlin source straight from disk. Each violation turns the suite red the moment a forbidding import is written — before review, before the dependency graph is even wired. The check is on imports (source-level), the right altitude: a stray dependencies {} edge can sit unnoticed, but the first illegal import that relies on it fails.
Why Konsist — not ArchUnit or Detekt
This is the non-obvious decision; get it right first.
- ArchUnit reads compiled bytecode off a classpath. A pure
commonMain/iosMainKMP module never hands a JVM test task its bytecode, so ArchUnit can't see that code at all. Konsist reads source, so it sees every source set. - Detekt wants a Gradle plugin per module; on
com.android.kotlin.multiplatform.library(AGP 9) plugin-compat lags and KMP source-set wiring is awkward. - Konsist needs no plugin and no classpath:
Konsist.scopeFromProject()walks the whole repo from a single host test — the same "rule as a host test" shape as other structural checks. One prevention mechanism, not two.
Where it lives + wiring
Put it in one JVM test source set that runs testDebugUnitTest — conventionally the app module (it already depends on everything, but Konsist scans the whole project from disk regardless of which module hosts the test):
app/src/test/kotlin/<base.package>/architecture/ArchitectureTest.kt
Add the dependency to that module: testImplementation(libs.konsist) (catalog: konsist = { module = "com.lemonappdev:konsist", version.ref = "konsist" }). Run just these rules:
./gradlew :app:testDebugUnitTest --tests "<base.package>.architecture.ArchitectureTest"
Survey the graph, then write one rule per edge
Read settings.gradle(.kts) and the module folders. For each intended dependency direction (core ← feature, api is a seam over impl, domain ↛ data, …), write one @Test. Don't invent rules the project doesn't hold.
What ships with it
1 file 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.
- 11d ago First seen · 135 lines · 93 tokens per session scan A d05bb2712152
konsist-architecture-tests is a skill published in the GitHub repository ShipWithAI/shipwithai-plugins (10 stars, last pushed 28d ago), licensed MIT. It adds 93 tokens to every session and 1,774 once invoked, about $0.0005 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
Micro
Write all micro specs for one group — fully self-contained implementation units, plus the group's simulation scenarios and human-testing checklist.
magdil-rosh
Use when producing any non-trivial deliverable you ship — a feature (auth, email, forms, CRUD, upload, search, payments, API, real-time, modals), a spec/PRD/story, an outreach/marketing campaign, or a data script/migration — to cover the states, edge cases, and failure paths that get silently skipped under a short…
go-testing
Trigger: Go tests, go test coverage, Bubbletea teatest, golden files. Apply focused Go testing patterns.
playwright-testing
E2E testing with Playwright - Page Objects, cross-browser, CI/CD.
agent-teams
Claude Code Agent Teams - default team-based development with strict TDD pipeline enforcement.
typescript
TypeScript strict mode with eslint and jest.