k2f-menu — Claude Code skill: venue menus as PDF
Turns venue notes and dish lists into a scannable menu with clear categories and one price format. Built on the K2F format, exports to PDF.
npx skills add suzheng/k2f --skill k2f-menu -a claude-codeWhat k2f-menu does
The skill teaches an agent to write content_and_design.md — a blueprint that pairs menu structure with design intent. The agent works through steps: lock the venue type, service style, language and currency; map sections as Open, Featured or Omit; define item anatomy (name, description, price, tags, modifiers); sort content into tiers from the venue name down to allergen notes. A cut pass then drops duplicates, mismatched price formats and sections that do not earn their place.
From there the blueprint goes into the K2F engine, which handles layout, typography and theme while the agent stays on meaning — sections, dishes, prices. Export is typically PDF. You need the core skill first: npx skills add suzheng/k2f --skill k2f. Without it k2f-menu has nothing to pack the menu into.
The skill targets print and digital menus, not websites or POS exports. Prices and names should be readable within about 10 seconds per section, so long descriptions and promo blocks get pushed out of the catalog.
What it helps with
- build a restaurant menu from a rough dish list
- lay out a bar list with glass and bottle columns
- unify price formatting across every section
- produce a seasonal insert for an existing menu
- prepare a room-service card for a hotel
Example prompts for the agent
- Build a café menu from this dish list and my notes about the place
- Make a bar list: cocktails and wine, one price format throughout
- Generate a PDF menu for a gastrobar, calm tone, sections in the order guests decide
How to install k2f-menu
1Skills CLI (Vercel)
npx skills add suzheng/k2f --skill k2f-menu -a claude-code2Manually: put the files in place
~/.claude/skills/k2f-menu/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/k2f-menu/
1Skills CLI (Vercel)
npx skills add suzheng/k2f --skill k2f-menu -a codex2Manually: put the files in place
.agents/skills/k2f-menu/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add suzheng/k2f --skill k2f-menu -a cursor2Manually: put the files in place
.cursor/skills/k2f-menu/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install suzheng/k2f k2f-menu2Manually: put the files in place
.github/skills/k2f-menu/SKILL.md1Skills CLI (Vercel)
npx skills add suzheng/k2f --skill k2f-menu -a gemini-cli2Platform CLI
gemini skills install https://github.com/suzheng/k2f --path skills/marketing/k2f-menuManually: put the files in place
.devin/skills/k2f-menu/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add suzheng/k2f --skill k2f-menu -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about k2f-menu
How do I install k2f-menu in Claude?
Run npx skills add suzheng/k2f --skill k2f-menu -a claude-code. The skill lands at ~/.claude/skills/k2f-menu/SKILL.md. Install the core k2f skill before using it.
What does k2f-menu do?
It writes a menu blueprint, content_and_design.md, covering sections, item anatomy, one price grammar and design intent. The K2F engine then compiles that into a package and exports it, usually to PDF.
Do I need the separate k2f skill?
Yes. k2f-menu only prepares the blueprint; packing, verification and export come from the core k2f skill. Without it the menu never becomes a file.
Source text
SKILL.md · Apache-2.0
--- name: k2f-menu description: Turn venue notes, dish lists, and brand cues into a scannable food or beverage menu with clear categories, consistent item anatomy, and mood-matched visual intent—not a flyer, recipe book, or website sitemap. Use when the user asks for a restaurant menu, café menu, bar or wine list, catering sheet, room-service card, tasting menu, or seasonal insert for hospitality print or PDF. Create menus with AI-native design and the highest aesthetic standards, powered by the K2F format and engine. Purpose-built for AI agents, K2F lets them focus on semantic content and design intent while automatically handling layout, typography, and formatting complexity. --- # K2F Menu — AI-Native Aesthetic Design ## Purpose Teach agents to author `content_and_design.md` for **hospitality menus**: category and item structure, inclusion cuts, and aesthetic intent (tone, hierarchy, density)—not K2F packaging or export. ## Built on K2F This skill produces menus as `.K2F` packages. Follow the **k2f** skill for authoring: unpack or init a workspace, edit the semantic tree, pack/verify, and export. K2F keeps agents on *meaning* (sections, dishes, prices, dietary notes)—not pixel coordinates—while the engine compiles layout, typography, and theme into consistent output across PDF and other formats. Before you build, install the core skill: `npx skills add suzheng/k2f --skill k2f`. ## When to Use - Restaurants, cafés, bars, bakeries, food trucks, hotels, catering, or private dining. - Boards, folded inserts, food/drink splits, wine or cocktail lists, kids or brunch add-ons. - Print or digital PDF—not full websites or POS exports. ## Workflow ### Step 1. Generate the content_and_design.md One blueprint pairing **information architecture** with **design intent**. Long menus: one file per major section slug (e.g. `content_and_design_mains.md`). **Sub-steps** 1. **Menu lock** — Venue type, service style, daypart, language(s), currency, brand constraints. **Guest job**: pick a dish or drink quickly while seated or at a board. 2. **Section map** — Order categories as guests decide (starters → mains → desserts → drinks, or bar-first). Label each **Open**, **Featured** (2–6 heroes), or **Omit** (verbal, QR, other card). Split food/drinks or lunch/dinner when one scan path fails. 3. **Item anatomy** — Consistent fields: **Name**, **Description** (length scales with venue), **Price** (one grammar site-wide), **Tags** (only user-supplied or required), **Modifiers** (sizes, add-ons) nested under one parent—not duplicate dishes. 4. **Content tiers** — **Identity** (name, logo direction), **Navigation** (section titles), **Catalog** (items + prices), **Guidance** (one short chef or pairing note max), **Compliance** (allergens, service charge). Keep essays out of Catalog. 5. **Genre fit** — Fine dining: brevity, seasonal focus. Casual: moderate density, combos. Bar/wine: column-friendly; glass | bottle. Hotel/catering: packages, per-person lines, tray or service notes in Compliance. 6. **Cut pass** — Drop duplicates, unpriced market items without confirmation, mismatched price formats, and naming inconsistency within sections. 7. **Design intent** (no coordinates) — **Tone**: one adjective pair from cuisine/venue cues. **Hierarchy**: sections > item names > descriptions; prices in one scan band (column or dot leaders). **Density**: board vs booklet vs fine dining whitespace; note two-column intent for bar lists. **Brand**: contrast on photos/dark boards (panel intent); 2–3 colors; display vs detail roles. **Channel**: print header scale vs mobile PDF section breaks. **Rules & constraints** - Prices and names scannable within ~10 s per section. - One price grammar; each dish listed once. - No invented dishes, prices, or allergen claims; label placeholders. - Compliance stays short unless the user requires more. **Common failure modes** | Failure | Fix | |--------|-----| | Flyer creep | Promos → separate flyer; menu = Identity + Catalog. | | Adjective walls | One description line; move story to Guidance. | | Price chaos | Unify format; state alignment intent. | | Category soup | Merge small sections; Featured for orphans. | | Website paste | Strip nav/SEO; keep menu tiers only. | **Quality checklist** - [ ] Menu lock and guest job; section map with Open/Featured/Omit. - [ ] Item anatomy + unified prices; tiers assigned. - [ ] Genre density; design intent (tone, hierarchy, density, channel). - [ ] Facts traceable to user input; placeholders marked. ### Step 2. Use the content_and_design.md and k2f skill to generate a K2F file and export to an appropriate file format. Follow **k2f** skill to map the blueprint into the semantic tree, apply theme roles from design intent, verify, and export (typically PDF).
© suzheng · Apache-2.0 · suzheng/k2f