The page this skill built from examples/marrow-street, working in your browser. Opens in a new tab. Also: .
18-second example rendered by this skill from examples/marrow-street · 1280×720
What you get
- A self-contained page and a paste-in embed built from one services.json
- Every service with outputs, time, usual and lowest price, what to bring and when to skip it
- Set menus printed as itemised bills, totals and weeks worked out from the parts
- A help me choose form that marks every service and explains each verdict
- A shareable address and a slim bar that keeps the choice in sight
- Two layouts, a printed menu and a technical rate card with a dense option
- Two examples, light and dark, with an 18-second preview recorder
- Open-source licenses for every part it builds on
Good fit
- A design or brand studio whose clients keep asking what things cost before they will book a call.
- A technical consultancy that wants buyers to see which engagement fits their budget and deadline before scoping.
- An agency that sells common bundles and wants their price and timing shown as honest sums of the parts.
Not for
- Subscription plans with a monthly and yearly switch
- A step-by-step project timeline
- A shop with a cart and checkout
- Prices loaded from a CMS at runtime
About this skill
The services section of an agency, studio or consultancy, set like a well-made menu rather than a row of icon cards. Every service says what the client is handed, how long it takes, its usual and lowest price, what the client must bring and when not to buy it. Services sit in courses, from starters to the main work to ongoing retainers, and common combinations become set menus whose totals and weeks are added up from their parts, overlap included, and printed as an itemised bill. A help me choose form takes a budget and a deadline, marks every service as fits, a stretch or not now, and explains each verdict in one sentence. The choice stays in sight in a slim bar and lives in a shareable address. It ships as a printed menu or a technical rate card.
Example request
Build our services section as a menu from our real work: every service with what the client is handed, how long it takes, the usual and lowest price, what they must bring and when not to buy it, grouped into courses, with set menus whose totals add up from their parts and a help me choose form that marks each service against a budget and a deadline and says why.
How it works
Your agent
- 1
Collect the services
From the person, their proposals or their current page, for each service: the name; what the client is handed, as nouns you could point at ("40-page guidelines", "a branch you can merge", not "strategy" or "peace of mind"); the lowest fee of recent jobs (
from) and the usual one (typical); the shortest and longest it has taken in weeks, or for retainers the monthly fee, the minimum months and how soon it can start; what the client must bring; and the honest line: when they would tell a client not to buy it. - 2
Write services.json
Pick budget caps where the answer changes: just above your cheapest starter, around your typical main course, around your biggest set.
- 3
Build
It lists every problem at once and writes nothing until they are fixed: a missing field, a line too long for its place, a
fromabove itstypical, a missing *Skip it if*, a set price typed by hand, an overlap that would make a set shorter than its longest part, a budget cap nothing fits, money written in the copy in another format than the section prints ("$8k", "8000 USD"), a colour pair under contrast. - 4
Check
It opens the page at 390, 768, 1024 and 1440 px, with reduced motion at 390 and 1440 and with JavaScript off at 390 and 1440, and works it: chooses every budget and deadline pair in turn and compares each mark, sentence and the tally with the rules written again inside the check; checks the address after each choice and opens a page from one; tries Clear, the arrow keys and the choice bar's Change; adds up every set bill; then measures.
- 5
Look at it
Open the address it prints.
- 6
Put it on the site
Paste
out/services-embed.htmlwhere the services go. - 7
Record a preview (optional)
--momentsprints the stretches where nothing moves (top,chosen,main,changed,sets); take stills from inside them.
- 1
You get
- out/services-embed.html
- out/index.html


What you need
- Node.js 18 or newer. Nothing to install.
- Chrome, Chromium or Edge, for the check and the video (the scripts find it; set
CHROME_PATHif they don't). - ffmpeg for the video only (
brew install ffmpeg,winget install ffmpeg,apt install ffmpeg; or setFFMPEG_PATH). - Internet access when the page is opened, for the Google Fonts. Without them, system fonts stand in.
- From the person: their real services, with what each one hands over, the lowest and the usual price of the last few jobs, how long they take, what the client must provide and when they would tell someone not to buy it.
Last checked Nov 9, 2026: the package’s own build and render commands ran and passed.
If something goes wrong
The build says
"from" is above "typical".fromis the lowest you have charged for it,typicalwhat most clients pay. Swap them, or raisetypical.The build says a set's price "is worked out from the parts".
Remove
from,typicalorweeksfrom the set; it adds up its parts. If you discount bundles, say so in the set'snotewith the figure written the way the section prints money.The build says money is written in another format.
"$8k" or "8000 USD" in a sentence next to "$8,000" in the column reads as two price lists. Write it as the section does (the message shows how), or leave the figure to the price column.
What’s in the download
- SKILL.md16.2 KB
- examples/
- examples/keelson/4.80 KB1 file
- examples/marrow-street/5.10 KB1 file
- kit/
- kit/menu.css23.7 KBthe whole design, scoped to
.sm: both layouts, the dense option, both type systems, the chooser, the marks, the choice bar, the set bills, the tablet and phone rules and the reduced-motion rule. - kit/runtime.js9.34 KBthe browser runtime, inlined into every build: the chooser, the verdicts and their sentences, the live tally, the address, the choice bar and the recording clock (
?sm-record=1). - scripts/
- scripts/kit/
- scripts/kit/build.mjs13.4 KB
- scripts/kit/cdp.mjs4.93 KB
- scripts/kit/check.mjs27.5 KB
- scripts/kit/record.mjs7.01 KB
- scripts/kit/schema.mjs17.8 KBevery field and its limits, the money format, the colour rules, the set arithmetic and the verdict rules; lists every problem at once.
- scripts/kit/serve.mjs2.50 KB
- scripts/build.mjs145 Bservices.json to
out/index.html(the section on a page) andout/services-embed.html(the section to paste in). - scripts/check.mjs145 Bserves the page and checks it at 390, 768, 1024 and 1440 px, with reduced motion at 390 and 1440, and with JavaScript off at 390 and 1440.
- scripts/chrome.mjs3.63 KB
- scripts/record.mjs147 Bthe preview video, a still at a moment, a whole-page picture and the page's settled
--moments. - scripts/serve.mjs145 Bserves
out/on localhost to look at. - NOTICE.md1.14 KB
- TESTED.json580 B
18 files · 138 KB · installs to ~/.claude/skills/services-menu-kit for Claude Code and ~/.agents/skills/services-menu-kit for other agents
Credits and licenses: NOTICE.md plus any LICENSE files inside the ZIP.
Similar Skills
View allDetails
- Output
- Services section system · page + embed · 1080p preview
- Needs
- Node.js 18+, Chrome (or Chromium/Edge), and ffmpeg for the video
- Series
- Page Kits · 29 skills
- Updated
- Nov 9, 2026
- Checked
- Nov 9, 2026: its own commands ran and passed. That is a working check, not a security audit.
Written for
See all 31 agents that read skill folders.
Install guides
For your agent
Generates with
Installed it? Tell others how it went. Reviews come from people who installed this skill.
Write a reviewFAQ
How does help me choose decide what fits?
A service fits when its typical price is inside the budget and its longest estimate is inside the deadline. It is a stretch when only the lowest price or shortest time fits, and not now when even those miss. Retainers compare the monthly fee times the minimum months.
Can I type a price for a set menu?
No. A set lists its services and the weeks they overlap, and the build adds up the from and typical prices and the weeks. A typed total is refused, so the bill on the page always adds up.
Does it work without JavaScript?
Yes. Every service, its prices, outputs, what to bring and when to skip it, and every set bill are in the HTML. Only the chooser and the choice bar need the runtime, so they stay hidden.
Which agents is Services Menu Kit written for?
Any agent that reads SKILL.md folders, including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI and OpenCode.
Do I own what I make with it?
Yes. Everything your agent makes with this skill is yours, including for client and commercial work.
What if it doesn’t work for me?
Email support@lookbk.dev within 7 days of buying and we’ll fix it or refund you.
Credits and licensesWritten by Lookbk
Lookbk wrote this package, including its runtime, build, checks and recorder; it uses no third-party code, and its Google Fonts (Libre Caslon Display, Libre Caslon Text, Libre Franklin, Archivo, IBM Plex Sans, IBM Plex Mono) are under the SIL Open Font License 1.1. Written by Lookbk, no third-party code.
Credits and licenses for the open-source software and fonts it uses are in NOTICE.md inside the download.