aidemo: Skill for Claude Code

.claude/skills/landing-page/SKILL.md

landing-page is a skill for Claude Code from tandryukha/aidemo. It costs 129 tokens per session (2,227 once invoked), scanned A, original, MIT.

A maintenance skill for the aidemo public landing page and the files that help search engines and AI systems find it. The page is a single HTML file, with related crawler, sitemap, media, and icon files.

In plain words
What is it for?
Use it to update the landing page, positioning, hero section, SEO files, crawler guidance, sitemap, icons, or other published page assets.
Why use it?
It keeps public messaging and machine-readable site information aligned when the page changes. It also documents the checks needed before publishing updates through GitHub Pages.

Skill for Claude Code

Written for Claude Code: allowed-tools in frontmatter. Also seen: mentions Claude Code; mentions Codex.

This is tandryukha/aidemo's own configuration. It tells Claude Code how to work on aidemo itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything aidemo configures →

Reuse

Borrowing it

Nothing to install: this file belongs to tandryukha/aidemo. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/tandryukha/aidemo/main/.claude/skills/landing-page/SKILL.md
Clone the repo
git clone --depth 1 https://github.com/tandryukha/aidemo

Made for: Claude Code.

Wrote 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.

agentmods badge for landing-page

README.md
[![agentmods](https://agentmods.dev/badge/skills/tandryukha/aidemo/landing-page/github.svg)](https://agentmods.dev/skills/tandryukha/aidemo/landing-page)
Your own site
<a href="https://agentmods.dev/skills/tandryukha/aidemo/landing-page"><img src="https://agentmods.dev/badge/skills/tandryukha/aidemo/landing-page/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for landing-page

Your own site · 80×15
<a href="https://agentmods.dev/skills/tandryukha/aidemo/landing-page"><img src="https://agentmods.dev/badge/skills/tandryukha/aidemo/landing-page.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 129 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,227 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 1 finding. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00129 $0.02227
Opus 5 $0.00064 $0.01113
Sonnet 5 $0.00026 $0.00445
Haiku 4.5 $0.00013 $0.00223

Measured 3d ago against content hash 0d710c577ae8, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-11, from the pricing page.

Security

Grade A, and why

landing-page scanned grade A with 1 finding 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 3d 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.

Makes network callslowCapability

Not a fault in itself. Listed so you know the mod talks to something, and to what.

until curl -sL https://aidemo.top/ | grep -q "<distinctive new string>"; do sleep 6; done
.claude/skills/landing-page/SKILL.md · 155 lines

How it starts

The opening of the file, as written. The whole thing — 155 lines — stays where its author put it; the contents beside it link to each section on GitHub.

landing-page

You maintain aidemo's public landing page. It is the project's pitch to humans AND its primary machine-readable source for LLM search (GEO). Every edit must serve both audiences.

Where things live

  • docs/index.html — the entire site: one self-contained file (inline CSS/JS).
  • docs/llms.txt — curated map for LLM crawlers; MUST stay in sync with any positioning/feature claims changed on the page.
  • docs/robots.txt — AI-crawler allowlist. docs/sitemap.xml — single URL.
  • docs/hero-demo.mp4 (1280×800 h264, copy of the release asset) + docs/hero-poster.jpg (poster frame, also the og:image).
  • docs/icons/*.webp — card icons (176px, shown at 44px) + real customer logo marks; docs/favicon.png (64px, from the clapper icon). See "Icon system" below before adding one.
  • docs/.nojekyll — keep; Pages serves docs/ verbatim from main.
  • docs/internal/ is gitignored and private — never link to it from the page, and read docs/internal/INDEXING_PLAN.md for strategy/decisions (domain-swap checklist lives there).

Deploy = push to main

Commit straight to main and push (no PRs in this repo). GitHub Pages rebuilds in ~30–60 s. Always verify after pushing:

until curl -sL https://aidemo.top/ | grep -q "<distinctive new string>"; do sleep 6; done

(-L matters: tandryukha.github.io/aidemo now 301s to aidemo.top, so a bare curl -s there greps a redirect stub and never matches.)

Run that check with Bash run_in_background: true, never a bare foreground sleep.

Hard rules (learned, do not relearn)

  1. Only claim what ships. No named future integrations or roadmap promises on the page. (History: ElevenLabs was removed while planned, then claimed once it shipped; the old "Codex/Gemini planned" exception is obsolete — since v0.6.0 they work today via the built-in MCP server, as do the ElevenLabs provider and the in-process local voice, and the page claims all of them as shipped.) Describe extensibility via what's true in code ("swappable VoiceProvider interface").
  2. Positioning (approved): built for coding agents to autonomously record product demos — landing-page hero videos, GitHub README walkthroughs, what-shipped videos for customer release notes. Open-source alternative to Screen Studio / Clueso / Demosmith. Keep this framing consistent across hero sub, meta description, og:description, JSON-LD, and llms.txt. Audience = developers (owner directive): write dev-to-dev — terminal-first examples with real, runnable commands and real paths, no marketing fluff. When showing an assistant/integration, show the actual command a developer would type (if a genuinely unshipped integration ever needs showing, a muted # planned comment is the approved mechanism — currently none are).
  3. Video, never GIF, for the hero. GIFs are 256-color mush (the old 560×350 GIF looked terrible upscaled). Use <video autoplay muted loop playsinline preload="metadata" poster=...> with a same-origin MP4. Set width/height attrs to the file's REAL dimensions (check with ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=p=0 <file>) and keep CSS width:100%; height:auto; aspect-ratio: W / H — a mismatched height attribute stretches the frame.
  4. Self-contained page. No CDN scripts, external fonts, or third-party requests. Inline everything. Both color schemes must work (prefers-color-scheme + the CSS variables at the top of the file).
  5. FAQ and JSON-LD move together. Every visible FAQ <details> has a matching entry in the FAQPage JSON-LD block, same wording. Question-shaped headings ("Can Claude Code record a demo video?") — LLM search lifts them verbatim. New claims also go into llms.txt.
  6. Respect the motion system. Load stagger = fade + d1..d5 classes; scroll fade-in/out = reveal class picked up by the IntersectionObserver at the bottom of the file; everything is disabled under prefers-reduced-motion. New sections: class="reveal" on the h2 and on each card/step/details. Don't add per-element transition-delay that would lag hover states (.reveal.in resets it to 0s for this reason).

Read the full file on GitHub · 155 lines

Changes

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.

  1. 3d ago Changed · +2 lines 0d710c577ae8
  2. 12d ago First seen · 153 lines · 129 tokens per session scan A af450aa3a376

Subscribe to this mod's changes

landing-page is a skill published in the GitHub repository tandryukha/aidemo (7 stars, last pushed 2d ago), licensed MIT. It adds 129 tokens to every session and 2,227 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 1 finding (makes network calls). No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other skills, from other repositories

demo-video

Produce a polished, ScreenStudio-style 60fps product demo video of a web app with a tiny, dependency-light pipeline — Playwright frame capture + a multiprocess Pillow compositor streaming into ffmpeg (no Node/Remotion). Drives the app one step per frame so playback is true 60fps regardless of capture speed, then…

surajshetty3416/demo-video-skill · 181 tokens

playwright-component-testing

Set up component testing with Playwright using a story gallery — scaffold stories and a gallery dev page driven by the built-in mount fixture, no dedicated component-testing runtime. Use when asked to test React or Vue components in isolation with Playwright, or to migrate off @playwright/experimental-ct-react / -vue.

microsoft/playwright · 69 tokens

hyperframes-registry

Search, install, and wire registry blocks and components into HyperFrames compositions. Use BEFORE hand-building any named visual — whenever a brief, a user, or a storyboard names a look, effect, treatment, or transition such as CRT scanlines, glitch, chromatic aberration, film grain, a shimmer sweep, a chart, a code…

heygen-com/hyperframes · 188 tokens

remotion-to-hyperframes

Port an existing Remotion (React) composition's source to HyperFrames HTML. Use ONLY on an explicit ask to port/convert/migrate/translate a Remotion source — one-way, Remotion-only. A passing Remotion mention, reference-only code, or "make something like my Remotion video" is a fresh build (/general-video). Unclear →…

heygen-com/hyperframes · 84 tokens

hyperframes-animation

All animation knowledge for HyperFrames — atomic motion rules, multi-phase scene blueprints, scene transitions, broader motion-design techniques, AND the seven runtime adapters (GSAP default, plus Lottie, Three.js, Anime.js, CSS keyframes, Web Animations API, TypeGPU). Use for any motion or animation task: pick 2-4…

heygen-com/hyperframes · 139 tokens

remotion

Toolkit-specific Remotion patterns — custom transitions, shared components, and project conventions. For core Remotion framework knowledge (hooks, animations, rendering, etc.), see the remotion-official skill.

digitalsamba/claude-code-video-toolkit · 44 tokens