add-screen

add-screen is a skill for Claude Code from kvdm-co-pilot/create-cmp. It costs 182 tokens per session (1,832 once invoked), scanned A, original, MIT.

A guided tool for adding the presentation part of a screen to an existing Compose Multiplatform app. Compose Multiplatform is a Kotlin framework for sharing user-interface code across platforms; the presentation part includes the screen, its ViewModel, tests, specification, and navigation route.

In plain words
What is it for?
It is for adding a new entity screen with its ViewModel, tests, navigation entry, and specification when the entity's model and repository are already implemented.
Why use it?
It avoids manually copying and connecting these files, while checking that the required data layer already exists and that the project's verification command passes.

Skill for Claude Code

Written for Claude Code: installed under .claude/. Also seen: mentions CLAUDE.md; mentions Claude Code.

Part of the create-cmp plugin — 15 skills, 2 agents, 4 hooks, 1 MCP server shipped together

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 skills/kvdm-co-pilot/create-cmp/add-screen
Any agent
npx skills add kvdm-co-pilot/create-cmp --skill add-screen
Clone the repo
git clone --depth 1 https://github.com/kvdm-co-pilot/create-cmp

Made for: Claude Code.

Or install create-cmp, the plugin that ships this one along with the rest of its 15 skills, 2 agents, 4 hooks, 1 MCP server.

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 add-screen

README.md
[![agentmods](https://agentmods.dev/badge/skills/kvdm-co-pilot/create-cmp/add-screen.svg)](https://agentmods.dev/skills/kvdm-co-pilot/create-cmp/add-screen)
Your own site
<a href="https://agentmods.dev/skills/kvdm-co-pilot/create-cmp/add-screen"><img src="https://agentmods.dev/badge/skills/kvdm-co-pilot/create-cmp/add-screen.svg" alt="Measured on agentmods" height="20"></a>
Per session 182 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,832 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.1 $0.00182 $0.01832
Opus 5 $0.00091 $0.00916
Sonnet 5 $0.00036 $0.00366
Haiku 4.5 $0.00018 $0.00183

Measured 5d ago against content hash 7e7a40c9662e, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-05, from the pricing page.

Security

Grade A, and why

add-screen 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.

template/.claude/skills/add-screen/SKILL.md · 143 lines

How it starts

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

add-screen — stamp a presentation slice over an existing entity

Deterministic-stamp, gate-proven. The script (qa/scaffold-feature.mjs --preset screen) does the mechanical work — copy the home exemplar's presentation files, whole-word identifier rename, DI injection for the ViewModel only, nav route + import. You (the AI) only refine spec wording and adapt the screen to the entity's real shape. You are not done until node qa/verify.mjs PASSes and the receipt is committed — see this project's CLAUDE.md.

This is the screen subset of add-feature — same stamper, same rename mechanic, filtered to the 6 presentation+tests+spec files, composed on top of an entity that already exists (via add-repository or a prior add-feature run). If the entity doesn't exist yet, this will refuse to stamp anything — see step 2.

Name the lane first, out loud. Before any tool runs, tell the human in a sentence which lane this request takes (CLAUDE.md §"After genesis"): a screen carrying decisions worth recording or blast into signed artifacts goes through a feature brief (docs/features/<name>.md, signed before code); an ordinary screen is direct lane — say so, then continue here. Never route silently.

Why a stamper and not hand-written files

Every hand-written file is a drift chance in this project's architecture. qa/scaffold-feature.mjs --preset screen produces a conforming skeleton by construction: a Screen composable with a testTagged root, a ViewModel (+ test), a Compose UI test, a golden-tree test, and a seven-clause spec — wired into Koin and the nav graph. Your job is to make it behave like the real screen, not to make it structurally correct.

The flow

1. Name the feature and confirm the entity

Ask the human for the feature/screen name (PascalCase, plural-ish noun — e.g. Tags, Bookmarks) and the entity it's backed by (e.g. Tag, Bookmark). If they don't give an entity, the script defaults it by stripping a trailing s/ies from the feature name — naive de-pluralization is unreliable for irregular nouns, so always show the proposed entity and let the human confirm or override it before proceeding (--entity <EntityName>).

Read the full file on GitHub · 143 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 · 143 lines · 182 tokens per session scan A 7e7a40c9662e

Subscribe to this mod's changes

add-screen is a skill published in the GitHub repository kvdm-co-pilot/create-cmp (0 stars, last pushed today), licensed MIT. It adds 182 tokens to every session and 1,832 once invoked, about $0.0009 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.

Related

Other skills, from other repositories

compose-multiplatform

Use when building one shared Compose UI in Kotlin across Android, iOS, and desktop — commonMain @Composables, expect/actual, source-set placement, native interop, multiplatform ViewModel/navigation/Koin. NOT a single-platform native build (that is kotlin-android / swift-ios), and NOT Dart/Flutter cross-platform UI…

ericrisco/rsc-harness · 80 tokens

m3-expressive

Material 3 Expressive design patterns for Jetpack Compose - expressive theming, motion physics, shape morphing, typography emphasis, color emphasis, and all 28 expressive components.

TalissonVitorino/kmp-ios-skills · 41 tokens

liquid-glass

Apple Liquid Glass design patterns for SwiftUI iOS 26 - glass effects, morphing, containers, interactive glass, tinting, accessibility, and cross-platform glass design.

TalissonVitorino/kmp-ios-skills · 40 tokens

android-device-integrity

Android app/device integrity and anti-fraud for a fintech app — the Play Integrity API (com.google.android.play:integrity): Standard requests (StandardIntegrityManager.prepareIntegrityToken → StandardIntegrityTokenProvider.request with a requestHash → StandardIntegrityToken) vs Classic requests…

TalissonVitorino/kmp-ios-skills · 260 tokens

offline-first

Offline-first architecture patterns - NetworkBoundResource, sync strategies, conflict resolution, cache invalidation, and connectivity monitoring.

TalissonVitorino/kmp-ios-skills · 26 tokens

app-intents

Expose a fintech iOS app's actions and data to Siri, Shortcuts, Spotlight, widgets, Control Center, and Apple Intelligence with the App Intents framework — AppIntent.perform + IntentResult, @Parameter (options/defaults/dependencies), AppEntity + EntityQuery/EntityStringQuery, AppShortcutsProvider phrases…

TalissonVitorino/kmp-ios-skills · 186 tokens