add-screen

add-screen is a skill for Claude Code from kvdm-co-pilot/create-cmp. It costs 202 tokens per session (1,946 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.

Needs its repository: it runs a file that does not travel with it, so clone the repository first. The line is node qa/scaffold-feature.mjs <FeatureName> --entity <EntityName> --preset screen --dry-run.

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

Good fit 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.

Compare 6 skills from other repositories ↓
Install

Getting it into your agent

It runs from inside its repository, so the clone comes first — what it calls does not travel with the file alone.

Clone the repo
git clone --depth 1 https://github.com/kvdm-co-pilot/create-cmp
agentmods
npx agentmods add skills/kvdm-co-pilot/create-cmp/add-screen

Made for: Claude Code.

Or install create-cmp, the plugin that ships this one along with the rest of its 18 skills, 4 agents, 3 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/github.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/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.

agentmods 80×15 button for add-screen

Your own site · 80×15
<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="Reviewed on agentmods" width="80" height="20"></a>
Per session 202 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 1,946 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
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.00202 $0.01946
Opus 5.5 $0.00081 $0.00778
Sonnet 5.5 $0.00040 $0.00389
Haiku 4.5 $0.00020 $0.00195

Measured 1mo ago against content hash bdcb0854a818, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, 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 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.

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

How it starts

The opening of the file, as written. The whole thing — 147 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 · 147 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. 1mo ago Changed · +4 lines · +20 tokens per session bdcb0854a818
  2. 1mo 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 3d ago), licensed MIT. It adds 202 tokens to every session and 1,946 once invoked, about $0.0008 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-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

mobile-session-security

KMP + iOS/Android session hardening for a fintech app — inactivity auto-lock (track last-interaction, idle timeout, biometric/passcode re-auth), biometric re-lock on background/foreground with a grace period, and screen-capture/snapshot protection. Android: WindowManager FLAGSECURE (blocks screenshots + recents…

TalissonVitorino/kmp-ios-skills · 209 tokens

offline-first

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

TalissonVitorino/kmp-ios-skills · 26 tokens