| Copy of any kind | voice-and-tone.md, claims.md, positioning.md for headlines and pitches, concepts.md for long-form | none |
| Product screen (web) | color.md, typography.md, layout.md (including Shells and States), effects.md, motion.md, voice-and-tone.md section 4 (labels and microcopy), claims.md when the copy states a capability | kortix-design-system for components, then the closest reference implementation it names. Read that file before you write JSX. A new page uses the current shell named in layout.md Shells (Q23). |
| Mobile screen | the same visual files (use each file's mobile column), voice-and-tone.md section 4 | apps/mobile/design.md, apps/mobile/AGENTS.md (sections Loading, Icons and the hit-target rule), components/kortix/settings-list.tsx and components/ui/switch.tsx for a settings screen. Look in apps/mobile/app/ for the screen before you create one: a Notifications screen ships at app/(settings)/notifications.tsx. Product data (event types, defaults, labels) comes from the shipped store or screen, never from this kit. If it is absent, use a named placeholder and list it under Guesses (Q38). |
| Product microcopy (error, empty, toast, confirm) | voice-and-tone.md section 4, claims.md, layout.md sections Shells and States, color.md (status table: the hue of a refusal or failure), typography.md (mono for literal text, such as a details fold), motion.md (a disclosure fold). This row is complete for an error or empty state on a page: do not also read the Product screen row. | EmptyState (features/layout/section/empty-state.tsx), ErrorState (features/layout/section/error-state.tsx) and the toast helpers in kortix-design-system. Deliver TSX that renders them, with the strings inline. Return no second file: integration notes go in your reply. Deliver copy only when the person asks for copy only (Q3, Q26). |
| CLI output and help | voice-and-tone.md section 5.4, claims.md when the text states a capability, color.md (CLI rule), brandmark.md (banner: the landing screen only) | The real binary is the source. Run kortix <command> --help or read apps/cli/src/commands/<command>.ts and apps/cli/src/style.ts, and quote it. Never write a subcommand, flag or value from memory (Q37). Deliver plain text, .txt, unless the person asks for source (Q56). |
| Email (transactional) | voice-and-tone.md section 5.5, color.md (email rule), typography.md (email rule), brandmark.md (hosted logo PNG and its height), layout.md (Email layout), tokens.css | none. No script checks email: audit.sh does not apply. Check every color with grep -ohE '#[0-9a-fA-F]{6}\b' <file> | sort -u: each hex must appear in tokens.css. Email ships light only (Q34). |
| Email (launch or announcement) | the transactional row, plus voice-and-tone.md section 5.5b, claims.md, magic_trick.md | none |
| Landing hero | positioning.md section 1 (approved lines), magic_trick.md, layout.md, typography.md, claims.md | Nearest shipped hero: apps/web/src/features/marketing/landing/content.ts and the hero component it feeds |
| Landing or marketing section | positioning.md (for security or IT buyers, the Enterprise pitch in section 5: the Promise, then one Mechanism), concepts.md, voice-and-tone.md, claims.md, color.md, typography.md, layout.md (marketing column and Marketing section) and motion.md, graphic-elements.md, magic_trick.md | The page's content.ts under apps/web/src/features/marketing/. A request for "one HTML section" is this row plus the Standalone HTML row. |
| Deck or film | concepts.md, claims.md, voice-and-tone.md section 5.8 (slide and note copy), layout.md (deck column), typography.md, color.md, motion.md (Deck), brandmark.md. Run scripts/audit.sh on every deck TSX file. | kortix-presentation. Start in this row, not in the recipe skill. Reuse an engine diagram. If it carries a retired claim, fix it in the engine and do not fork it (Q28). The caption arrays inside engine/diagram.tsx are slide copy: check every caption of the diagram you reuse against claims.md, not only the notes (Q46). |
| Social post | voice-and-tone.md section 5.9, positioning.md, claims.md, art-direction.md (image sizes only) | kortix-social for platform limits. If it is not installed, the kit row is complete: use the limits in section 5.9 and do not search for it. |
| Image | art-direction.md, brandmark.md, color.md | kortix-image |
| OG card | art-direction.md (OG and share cards), brandmark.md, color.md, typography.md, tokens.css | kortix-image. Read no file from references/verbal/: the title is the page label. When silent: build a standalone HTML card from tokens.css in --font-sans-system (D8a), then screenshot it at 1200 x 630. Use banner.png only as the fallback. |
| Anything with the logo | brandmark.md | none |
Standalone HTML outside apps/web | tokens.css, fonts.css (Kortix-owned surfaces only: use --font-sans-system elsewhere), plus the rows above | none. audit.sh does not read HTML: use the checks in section 6. Link tokens.css (and fonts.css on a Kortix-owned page) by a path relative to the file, and copy them beside the page when the file leaves the repo. Set no data-theme attribute: tokens.css follows prefers-color-scheme (Q52). |
| Review of a diff or a draft | the rows for its job, then run scripts/audit.sh <paths> | none |