diff --git a/layers/registry/server/data/skill-demos.json b/layers/registry/server/data/skill-demos.json
index cac6a97b..0787786d 100644
--- a/layers/registry/server/data/skill-demos.json
+++ b/layers/registry/server/data/skill-demos.json
@@ -14,16 +14,16 @@
"outputFile": "index.html",
"shots": [
{
- "file": "desktop-9954800c7c.jpg",
+ "file": "desktop-2a201b3766.jpg",
"width": 1440,
"height": 4102,
"viewport": "desktop",
"alt": "Desktop screenshot of the page the Agent built for: Build a single-file landing page for Tidepool, a tide-chart app for surfers. Inline all CSS and JavaScript. Save it as i"
},
{
- "file": "mobile-c67e258443.jpg",
+ "file": "mobile-da8e537494.jpg",
"width": 390,
- "height": 5091,
+ "height": 5065,
"viewport": "mobile",
"alt": "Phone screenshot of the page the Agent built for: Build a single-file landing page for Tidepool, a tide-chart app for surfers. Inline all CSS and JavaScript. Save it as i"
}
@@ -55,6 +55,68 @@
"authorName": "Cathryn Lavery",
"sourceUrl": "https://github.com/cathrynlavery/diagram-design/blob/main/skills/diagram-design/SKILL.md"
},
+ {
+ "owner": "elayadesign",
+ "repo": "ai-design-skills",
+ "name": "landing-page-design",
+ "makes": "landing-page",
+ "authorName": "Elaya",
+ "sourceUrl": "https://github.com/elayadesign/ai-design-skills/blob/main/skills/landing-page-design/SKILL.md",
+ "prompt": "Build a landing page for Glossmere, a fictional invoicing app for freelance translators that bills per word and per language pair. Make your own assumptions about anything I left out. Save it as index.html, with all CSS and JavaScript inline.",
+ "agent": "Claude Code",
+ "agentVersion": "2.1.291",
+ "model": "claude-opus-5-5",
+ "skillCommit": "1c1e97cb9878e236552c772092dda7adcdddbcb2",
+ "recordedAt": "2026-10-06",
+ "outputFile": "index.html",
+ "shots": [
+ {
+ "file": "desktop-b4753ac09d.jpg",
+ "width": 1440,
+ "height": 6000,
+ "viewport": "desktop",
+ "alt": "Desktop screenshot of the page the Agent built for: Build a landing page for Glossmere, a fictional invoicing app for freelance translators that bills per word and per lang"
+ },
+ {
+ "file": "mobile-4d54ba1970.jpg",
+ "width": 390,
+ "height": 6000,
+ "viewport": "mobile",
+ "alt": "Phone screenshot of the page the Agent built for: Build a landing page for Glossmere, a fictional invoicing app for freelance translators that bills per word and per lang"
+ }
+ ]
+ },
+ {
+ "owner": "emilkowalski",
+ "repo": "skills",
+ "name": "animate",
+ "makes": "ui-component",
+ "authorName": "Emil Kowalski",
+ "sourceUrl": "https://github.com/emilkowalski/skills/blob/main/skills/animate/SKILL.md",
+ "prompt": "Build hold.html: a film-roll card for Rollwick, a fictional film-photo journal app, with a hold-to-delete button. Holding fills the button over about two seconds; releasing early springs it back. Inline all CSS and JavaScript.",
+ "agent": "Claude Code",
+ "agentVersion": "2.1.291",
+ "model": "claude-opus-5-5",
+ "skillCommit": "e8a175de22ae1e49370fc144c1f3bb9aeedf988d",
+ "recordedAt": "2026-10-06",
+ "outputFile": "hold.html",
+ "shots": [
+ {
+ "file": "desktop-92230f46d7.jpg",
+ "width": 1440,
+ "height": 900,
+ "viewport": "desktop",
+ "alt": "Desktop screenshot of the page the Agent built for: Build hold.html: a film-roll card for Rollwick, a fictional film-photo journal app, with a hold-to-delete button. Holdin"
+ },
+ {
+ "file": "mobile-89cf3092a6.jpg",
+ "width": 390,
+ "height": 844,
+ "viewport": "mobile",
+ "alt": "Phone screenshot of the page the Agent built for: Build hold.html: a film-roll card for Rollwick, a fictional film-photo journal app, with a hold-to-delete button. Holdin"
+ }
+ ]
+ },
{
"owner": "emilkowalski",
"repo": "skills",
@@ -86,6 +148,37 @@
"authorName": "Emil Kowalski",
"sourceUrl": "https://github.com/emilkowalski/skills/blob/main/skills/emil-design-eng/SKILL.md"
},
+ {
+ "owner": "gamedev-skills",
+ "repo": "awesome-gamedev-agent-skills",
+ "name": "game-feel",
+ "makes": "game",
+ "authorName": "gamedev-skills",
+ "sourceUrl": "https://github.com/gamedev-skills/awesome-gamedev-agent-skills/blob/main/skills/disciplines/game-feel/SKILL.md",
+ "prompt": "Make a tiny arcade game called Hailbroom: sweep a broom left and right with the arrow keys or mouse to bat falling hailstones back into the sky. Make every hit feel punchy. Save it as game.html with all CSS and JavaScript inline.",
+ "agent": "Claude Code",
+ "agentVersion": "2.1.291",
+ "model": "claude-opus-5-5",
+ "skillCommit": "d4b0e35550c55ae70bdfcab4ef5a0e94610438a9",
+ "recordedAt": "2026-10-06",
+ "outputFile": "game.html",
+ "shots": [
+ {
+ "file": "desktop-ebb9d5ee7c.jpg",
+ "width": 1440,
+ "height": 900,
+ "viewport": "desktop",
+ "alt": "Desktop screenshot of the page the Agent built for: Make a tiny arcade game called Hailbroom: sweep a broom left and right with the arrow keys or mouse to bat falling hails"
+ },
+ {
+ "file": "mobile-986a78ae76.jpg",
+ "width": 390,
+ "height": 844,
+ "viewport": "mobile",
+ "alt": "Phone screenshot of the page the Agent built for: Make a tiny arcade game called Hailbroom: sweep a broom left and right with the arrow keys or mouse to bat falling hails"
+ }
+ ]
+ },
{
"owner": "heygen-com",
"repo": "hyperframes",
@@ -234,6 +327,61 @@
}
],
"pin": 2
+ },
+ {
+ "owner": "ntcoding",
+ "repo": "claude-skillz",
+ "name": "data-visualization",
+ "makes": "chart",
+ "authorName": "Nick Tune",
+ "sourceUrl": "https://github.com/NTCoding/claude-skillz/blob/main/data-visualization/SKILL.md",
+ "prompt": "Build a one-page dashboard for Wrenfold Bikes, a town bike share. This week's rides by station: Harbour 412, Station Road 356, Market 241, College 198. Monday to Sunday: 180, 195, 170, 210, 262, 102, 88. Save it as dashboard.html with all CSS and JavaScript inline.",
+ "agent": "Claude Code",
+ "agentVersion": "2.1.291",
+ "model": "claude-opus-5-5",
+ "skillCommit": "21c61010e6081ced1eac8e45e3f788b2c4358bcf",
+ "recordedAt": "2026-10-06",
+ "outputFile": "dashboard.html",
+ "shots": [
+ {
+ "file": "desktop-b2aa8f1a8c.jpg",
+ "width": 1440,
+ "height": 905,
+ "viewport": "desktop",
+ "alt": "Desktop screenshot of the page the Agent built for: Build a one-page dashboard for Wrenfold Bikes, a town bike share. This week's rides by station: Harbour 412, Station Roa"
+ },
+ {
+ "file": "mobile-2c917bf37f.jpg",
+ "width": 390,
+ "height": 1751,
+ "viewport": "mobile",
+ "alt": "Phone screenshot of the page the Agent built for: Build a one-page dashboard for Wrenfold Bikes, a town bike share. This week's rides by station: Harbour 412, Station Roa"
+ }
+ ]
+ },
+ {
+ "owner": "plannotator",
+ "repo": "effective-html",
+ "name": "html",
+ "makes": "slides",
+ "authorName": null,
+ "sourceUrl": "https://github.com/plannotator/effective-html/blob/main/skills/html/SKILL.md",
+ "prompt": "Make a 7-slide pitch deck for Brothwheel, a neighborhood soup co-op that sells soup in returnable jars, where arrow keys or clicks advance the slides. Save it as deck.html, one file with all CSS and JavaScript inline.",
+ "agent": "Claude Code",
+ "agentVersion": "2.1.291",
+ "model": "claude-opus-5-5",
+ "skillCommit": "e1e71db7ab69f2fc674225805ab8e35814d98e53",
+ "recordedAt": "2026-10-06",
+ "outputFile": "deck.html",
+ "shots": [
+ {
+ "file": "desktop-2f941e684e.jpg",
+ "width": 1440,
+ "height": 900,
+ "viewport": "desktop",
+ "alt": "Desktop screenshot of the page the Agent built for: Make a 7-slide pitch deck for Brothwheel, a neighborhood soup co-op that sells soup in returnable jars, where arrow keys"
+ }
+ ]
}
]
}
diff --git a/layers/registry/server/demos/elayadesign/ai-design-skills/landing-page-design/index.html b/layers/registry/server/demos/elayadesign/ai-design-skills/landing-page-design/index.html
new file mode 100644
index 00000000..d489a8b9
--- /dev/null
+++ b/layers/registry/server/demos/elayadesign/ai-design-skills/landing-page-design/index.html
@@ -0,0 +1,1445 @@
+
+
+
Bill every word at the right rate, in every language pair
+
Drop in the analysis log from your CAT tool. Glossmere applies your rate for that pair, discounts fuzzy matches by your grid, adds the right VAT, and drafts the invoice in your client's currency.
+
+
+
+
+
IVKANHTB
+
Used by 2,814 freelance translators in 46 countries
+
+
+
+
+
+
+
+ Invoices / GM 0418
+ Draft
+ Send invoice
+
+
+
+
+
Imported log
+
+
+ Amendment_v3.csv memoQ analysis · 6,573 words
+
+
+
+
+
Match bands, EN→SV
+
+
+
No match3,128100%
+
75 to 94%1,04660%
+
95 to 99%41240%
+
100% and repeats1,98725%
+
+
+
Weighted words4,417.15
+
+
+
+
+
Billed to
+
Lindqvist Juridik AB
+
Birger Jarlsgatan 18, 114 34 Stockholm
+
+
+ Invoice
+ GM 0418
+ Due 21 Oct 2026
+
+
+
+
Description
Words
Rate
Amount
+
+
Share purchase agreement, amendment 3EN→SV · weighted from memoQ log
4,417.15
€0.14
€618.40
+
Board minutes, 12 SeptSV→EN · new words
1,204
€0.12
€144.48
+
+
+
+
Subtotal
€762.88
+
VAT 0%, reverse charge
€0.00
+
Total due
€762.88
+
+
VAT reverse charged under Article 196 of Directive 2006/112/EC.
+
+
+
+
+
+
Reads analysis logs from Trados Studio, memoQ, and Phrase
+
+
+
+
+
Why Glossmere
+
A spreadsheet cannot read a CAT log
+
Most translators we interviewed rebuild each invoice by hand. They copy the match bands, apply the grid, look up the rate, and convert the currency. That takes about 20 minutes per client, every month.
+
+
+
+
Invoicing in a spreadsheet
+
+
Copy up to 14 match bands from each log, cell by cell
+
Remember which client pays €0.13 and which pays €0.12
+
Resend invoices that an agency rejected for a missing PO number
+
Look up the exchange rate, then explain it when the client asks
+
+
+
+
Invoicing in Glossmere
+
+
Drop the log in, and weighted words appear for each band
+
Your rate card picks the rate for each pair and client
+
Each client can require a PO number before you send
+
The exchange rate locks on the issue date and prints on the PDF
+
+
+
+
+ 3 h 12 min → 41 min
+
Median time members spend on invoicing each month, before and after Glossmere. Survey of 612 members, March 2026.
+
+
+
+
+
+
Features
+
Built for the way translators bill
+
Per word, per pair, per client. Glossmere does the arithmetic, so each invoice matches the job you delivered.
+
+
+
+
+
+
+
A rate for every language pair
+
Set EN→DE at €0.13 and DE→EN at €0.11 once. Every line picks the right rate, and a client can keep its own rates when you agreed on different ones.
+
+
+
EN→DE€0.13 per word
+
DE→EN€0.11 per word
+
EN→SV€0.14 per word
+
FR→EN€0.12 per word
+
JA→EN¥14 per character
+
+
+
+
+
+
Your fuzzy match grid, applied
+
Glossmere reads Trados Studio, memoQ, and Phrase logs, then weights each match band by your own percentages.
+
+
No match100%
+
75 to 94%60%
+
95 to 99%40%
+
Repeats25%
+
+
+
+
+
Minimums and surcharges
+
Short jobs bill at your €35 minimum. Weekend or 24 hour delivery adds your surcharge, and the PDF shows the reason on the line.
+
+
+
+
VAT and currency, sorted
+
EU reverse charge with the right legal note, 31 currencies, and an exchange rate that locks on the issue date.
+
+
+
+
Paid 9.4 days sooner
+
Reminders go out 3 days before and 7 days after the due date, in your words and in your client's language.
+
Median across 1,906 members, April to June 2026.
+
+
+
+
+
+
+
You translate the words. Glossmere counts them, prices them by the pair, and gets every one paid.
+
+
+
+
+
+
How it works
+
From CAT log to sent invoice in three steps
+
Setup takes about 6 minutes. After that, a typical invoice takes under 2.
+
+
+
+
01
+
Set your rate card once
+
Add each language pair, your rate per word or character, and your fuzzy grid. Copy a grid to another client in one click.
+
+
+
02
+
Drop in the analysis log
+
Drag the export from Trados Studio, memoQ, or Phrase onto the client. Glossmere reads each match band and drafts the lines.
+
+
+
03
+
Check it and send
+
Add a PO number if the client needs one, then send. Clients pay by SEPA transfer or card, and you see the payment the same day.
+
+
+
+
+
Try the rate engine with your own numbers
+
Pick a language pair, enter the words from a recent job, and see what the line should bill.
+
+
+
+
+
+
+
+
Draft invoice
+
Lindqvist Juridik AB, demo
+
+
+
+
+
+
+
+
+
+
+
+
+
No lines yet
+
Add a language pair with the form, or load a sample memoQ log to see a full draft.
+
+
+
+
+ Total before VAT
+
+
+
Lines under €35.00 bill at the minimum fee. Weights: new 100%, fuzzy 60%, repeats 25%.
+
+
+
+
+
+
+
Minimum fee applied
+
+
+
+
+
+
+
+
+
From translators
+
Translators who stopped invoicing on Sunday nights
+
+
+
61,409
invoices sent by members last quarter
+
9.4 days
sooner paid, median across members
+
41 min
spent on invoicing each month
+
+
+
+
“I bill four agencies, and each one has its own fuzzy grid. Glossmere keeps all four, and my invoices stopped coming back with questions.”
“Japanese source bills by the character and English by the word. Glossmere puts both on one invoice, with the yen rate printed where my clients look for it.”
+ KAKenji Arai JA→EN, game localization, Osaka
+
+
+
“In my first month it found €412.60 in repetitions I had never billed across three agencies. That covers three years of the subscription.”
+ NHNoor Haddad AR→FR and EN→FR, medical, Lyon
+
+
+
+
+
+
+
Pricing
+
One plan with every feature, free for 30 days
+
+
+
+
Glossmere
30 days free
+
€13per month
+
Or €129 a year, which saves €27. Prices exclude VAT.
From settings, at any time. No email to support and no exit survey.
+
Refund on annual plans
Email us within 30 days of paying, and we refund the full €129.
+
Your data leaves with you
Export every client, rate card, and invoice as CSV and PDF.
+
+
+
+
+
+
+
+
+
FAQ
+
Questions translators ask us
+
Something else? Email hello@glossmere.app. A translator on our team replies within one working day.
+
+
+
+
+
Trados Studio 2019 and later (XML analysis reports), memoQ (CSV and HTML analysis exports), and Phrase (CSV analysis exports). For any other tool, type the words for each match band by hand, or email us a sample log and we will add support.
+
+
+
+
No. Glossmere reads only the analysis log, which holds file names and word counts for each match band. Your source and target texts stay on your computer.
+
+
+
+
Yes. Bill Chinese, Japanese, and Korean source text by the character, German clients by the standard line of 55 characters, and review or MT post editing by the hour. One invoice can mix all of them.
+
+
+
+
You set a percentage for each match band, for example 60% for 75 to 94% matches. Glossmere multiplies the words in each band by that percentage and bills the weighted total. Each client can have its own grid.
+
+
+
+
Glossmere picks the treatment from your country and your client's: domestic VAT, EU reverse charge with the required note, or no VAT for clients outside the EU. You can override it on any invoice. Check your first invoice with your accountant.
+
+
+
+
We email you 3 days before the trial ends. If you add a card, you continue at €13 a month or €129 a year. If you do not, your account becomes read only, and you can still export every invoice.
+
+
+
+
Yes. Import clients from a CSV file, and set your next invoice number during setup. Glossmere continues the sequence your accountant already knows.
+
+
+
+
You can invoice in 31 currencies. Clients pay by SEPA transfer, card, or PayPal. Card payments cost 1.4% plus €0.25 for European cards, and Glossmere adds no fee of its own.
+
+
+
+
+
+
+
+
Price your next invoice word by word
+
Start your 30 days free. Bring one CAT log and see the weighted total before you decide.
Your name, email address, and the business details you add to invoices. For each client, their name, address, and VAT number. From each analysis log, file names and word counts for each match band.
+
What we never collect
+
Source or target texts. Glossmere reads the analysis log only, and the log holds counts, not content.
+
Where your data lives
+
On servers in Frankfurt, Germany, encrypted at rest. Payment details go straight to our payment processor and never touch our servers.
+
Cookies and tracking
+
This page sets no cookies and runs no analytics. It loads the Geist typeface from jsDelivr, which sees your IP address. The app sets one session cookie after you sign in.
+
Your rights
+
Export or delete your account from settings at any time. For anything else, email privacy@glossmere.app and we reply within 5 working days.
Your first 30 days are free and need no card. We email you 3 days before the trial ends.
+
Billing
+
After the trial, Glossmere costs €13 a month or €129 a year, plus VAT where it applies. Your price stays fixed for 12 months from the day you subscribe.
+
Cancelling and refunds
+
Cancel from settings in two clicks. Monthly plans run to the end of the paid month. Annual plans get a full refund if you ask within 30 days of payment.
+
Your content
+
Your invoices, clients, and rate cards belong to you. We process them only to run the service, and you can export them as CSV and PDF at any time.
+
Responsibility for invoices
+
Glossmere calculates totals and suggests a VAT treatment. You approve every invoice before it goes out, and you remain responsible for its content.
+
Governing law
+
Belgian law governs these terms. The courts of Ghent handle any dispute.
+
+
+
+
+ 404
+
Lost in translation
+
We could not find a page at this address. The link may have a typo, or the page moved.
+ Back to Glossmere
+
+
+
+
+
+
+
+
diff --git a/layers/registry/server/demos/emilkowalski/skills/animate/hold.html b/layers/registry/server/demos/emilkowalski/skills/animate/hold.html
new file mode 100644
index 00000000..14d2f551
--- /dev/null
+++ b/layers/registry/server/demos/emilkowalski/skills/animate/hold.html
@@ -0,0 +1,392 @@
+
+
+
+
+
+Rollwick · Lisbon, late light
+
+
+
+
+