Borrowing it
Nothing to install: this file belongs to guillermoscript/lms-front. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/guillermoscript/lms-front/master/.claude/skills/ai-landing-builder/SKILL.mdgit clone --depth 1 https://github.com/guillermoscript/lms-frontWrote 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.
[](https://agentmods.dev/skills/guillermoscript/lms-front/ai-landing-builder)<a href="https://agentmods.dev/skills/guillermoscript/lms-front/ai-landing-builder"><img src="https://agentmods.dev/badge/skills/guillermoscript/lms-front/ai-landing-builder.svg" alt="Measured on agentmods" height="20"></a>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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00184 | $0.03020 |
| Opus 5 | $0.00092 | $0.01510 |
| Sonnet 5 | $0.00037 | $0.00604 |
| Haiku 4.5 | $0.00018 | $0.00302 |
Grade A, and why
ai-landing-builder 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 6d 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.
How it starts
The opening of the file, as written. The whole thing — 176 lines — stays where its author put it; the contents beside it link to each section on GitHub.
AI Landing-Page Builder (json-render → Puck)
The one idea
A creator types a sentence → an LLM generates a json-render spec constrained to our block
vocabulary → we validate it → bridge it to Puck Data → it opens in the existing Puck
editor for human drag-and-drop refinement → saved to landing_pages.puck_data.
One vocabulary, two flows. The blocks the AI can emit are the same blocks a human edits in
Puck. That's the whole point: AI solves the blank-page problem, Puck handles "let me just tweak
this one thing." Every block you wrap for Puck automatically becomes generatable by the AI, and
vice-versa. Decision recorded in docs/adr/0001-json-render-puck-landing-builder.md.
creator sentence
│ POST /api/landing/generate
▼ landingCatalog.prompt() + LANDING_AUTHORING_GUIDE ── constrains the LLM to our blocks
LLM → array spec { root, elements:[{id,type,propsJson,children}] }
│ arraySpecToSpec() → normalizeSpec() ── fold to map, fill required fields
│ landingCatalog.validate() ── REJECT unknown components/props
▼ specToPuckData(spec, DEFAULT_PROPS_BY_TYPE) ── the bridge (backfills defaults)
Puck Data ──▶ dispatch({type:'setData'}) ──▶ opens live in the Puck editor
▼ saved to landing_pages.puck_data
A third flow (July 2026): MCP tools. The MCP server exposes the same pipeline to external AI
agents via 8 admin-only tools (lms_get_landing_blocks, lms_list/get/create/update_landing_page,
lms_publish/unpublish/delete_landing_page in mcp-server/src/tools/landing-pages.ts). Because
mcp-server is built/deployed standalone (Docker context = ./mcp-server), it cannot import
lib/json-render/*; instead npm run gen:puck-fields ALSO emits generated mirrors into
mcp-server/src/landing/ (puck-fields.generated.ts + catalog-meta.generated.ts from
catalog-meta.ts/LANDING_PAGE_CRAFT_GUIDE), and mcp-server/src/landing/{from-puck-fields,to-puck}.ts
are kept-in-sync copies of the same-named lib files. After changing any Puck block or the
descriptions, re-run npm run gen:puck-fields — it updates both surfaces. If you edit
lib/json-render/from-puck-fields.ts or to-puck.ts, apply the same change to the mcp-server copy.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 6d ago First seen · 176 lines · 184 tokens per session scan A 230a5d189f1c
ai-landing-builder is a skill published in the GitHub repository guillermoscript/lms-front (25 stars, last pushed 2d ago), licensed MIT. It adds 184 tokens to every session and 3,020 once invoked, about $0.0009 per session on Opus 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-30.
Other skills, from other repositories
prototype
Build multiple genuinely different versions of a UI piece you describe, rendered behind a visual picker so you can flip through them live and promote the one that feels right. Only runs when explicitly invoked; it does not trigger on its own.
write-prd
Write a product PRD for ClassroomIO the house way — clarify all features with the user first, research the codebase, write the PRD under prd/ /, then build clickable HTML prototypes under prototypes/ / that become the UX source of truth. Use when the user asks to "write a PRD", "spec a feature", "plan a new…
moodle-theme-development
Use when developing Moodle themes — Boost child themes, theme/yourtheme/config.php, SCSS pre/post hooks, layouts, Mustache template overrides, theme settings, $OUTPUT renderer overrides, and theme designer mode.
shadcn
Manages shadcn components and projects — adding, searching, fixing, debugging, styling, and composing UI, including chat interfaces. Provides project context, component docs, and usage examples. Applies when working with shadcn/ui, component registries, presets, --preset codes, or any project with a components.json…
html-artifacts
Author the HTML for a plan artifact, dashboard iframe, or Slack attachment — structure, design plan, available runtime, theming, and craft. Read this before writing HTML for saveplan, outputiframe, or slackattachhtml.
magic-ui
Use this skill when users want to add, customize, or troubleshoot Magic UI components in React/Next.js projects. It covers component selection, shadcn registry installation (@magicui/), integration patterns, and practical quality checks for accessibility and maintainability.