Skip to content

feat(skills): hyperframes-registry skill - #261

Merged
jrusso1020 merged 1 commit into
mainfrom
04-14-feat_skills_hyperframes-registry_skill
Apr 14, 2026
Merged

jrusso1020 merged 1 commit into
mainfrom
04-14-feat_skills_hyperframes-registry_skill

Conversation

@jrusso1020

@jrusso1020 jrusso1020 commented Apr 14, 2026 •

Copy link
Copy Markdown
Collaborator

What

New skill hyperframes-registry that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions.

Skill structure

skills/hyperframes-registry/
  SKILL.md                          — triggers, overview, quick reference
  references/
    install-locations.md            — default paths, hyperframes.json config
    wiring-blocks.md                — iframe inclusion, data attributes, positioning
    wiring-components.md            — snippet merging (HTML, CSS, JS, timeline)
    discovery.md                    — manifest reading, item fields, available items table
    demo-html-pattern.md            — why components ship demo.html, structure conventions
  examples/
    add-block.md                    — worked example: data-chart block install + wiring
    add-component.md                — worked example: shimmer-sweep component install + wiring

Why

Phase B of the catalog plan (PR 10). Without this skill, agents using hyperframes add have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt.

How

  • SKILL.md frontmatter triggers on: hyperframes add, "block", "component", hyperframes.json
  • References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention
  • Two worked examples walk through complete install-to-preview workflows
  • Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx

Test plan

  • scripts/lint-skills.ts passes (checked 4 skill files, no issues)
  • oxfmt --check passes on all markdown files
  • SKILL.md frontmatter has valid name and description
  • All reference links in SKILL.md resolve to existing files
  • CLAUDE.md, README.md, and docs CLI page updated with new skill

@mintlify

mintlify Bot commented Apr 14, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
hyperframes 🟢 Ready View Preview Apr 14, 2026, 4:42 AM

💡 Tip: Enable Workflows to automatically generate PRs for you.

@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from 87d4099 to ceaf889 Compare April 14, 2026 04:54
@jrusso1020
jrusso1020 changed the base branch from main to graphite-base/261 April 14, 2026 05:13
@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from ceaf889 to 24012ed Compare April 14, 2026 05:13
@jrusso1020
jrusso1020 changed the base branch from graphite-base/261 to 04-14-docs_codegen_per-item_mdx_pages_from_registry April 14, 2026 05:13
@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from 24012ed to 7b0bcdc Compare April 14, 2026 05:17
@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from 7b0bcdc to 462bff8 Compare April 14, 2026 05:42
@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from 462bff8 to 0f8e9d2 Compare April 14, 2026 06:01
@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from 0f8e9d2 to f711805 Compare April 14, 2026 06:08

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review: hyperframes-registry skill

Well-structured skill. The reference decomposition (install-locations, wiring-blocks, wiring-components, discovery, demo-html-pattern) covers the full workflow, and the worked examples walk through realistic end-to-end scenarios. Consistent with the existing hyperframes and hyperframes-cli skills in tone, depth, and SKILL.md frontmatter format. The catalog doc pages and preview generation improvements are a nice bonus.

Two issues to fix, one important suggestion, and some minor notes.


Must fix

1. Stale iframe references — the wiring mechanism is <div data-composition-src>, not <iframe>

This PR itself changes buildSnippet from <iframe src="..."> to <div data-composition-src="...">, and the wiring code examples throughout the skill are correct. But the prose still says iframe in three places:

  • SKILL.md frontmatter description: "...block iframe wiring, component snippet merging..."
  • SKILL.md body (line 2 of the bullet list): "Included via <iframe> in a host composition."
  • CLAUDE.md skills table: "...block iframe wiring, component snippet merging, discovery."
  • CLAUDE.md rules section: "...block iframes, component snippets..."

An agent reading the description and intro will think blocks use iframes, then see <div data-composition-src> in the examples and be confused about which is correct. The existing hyperframes skill already documents the <div data-composition-src> pattern — these references should say "sub-composition div" or "data-composition-src" instead of "iframe."

2. SKILL.md "snippet is a starting point" note is incomplete

The snippet is a starting point — you'll need to add data-start and data-track-index attributes when wiring blocks.

The CLI's buildSnippet also omits data-composition-id, which the hyperframes skill's Composition Clips table marks as Required. The note should mention all three missing attributes: data-composition-id, data-start, and data-track-index. Without data-composition-id the runtime can't match the sub-composition's timeline registration.


Important

3. Consider mentioning data-composition-id must match the block's internal ID in the quick-reference section

The "Wiring blocks" section later explains this, but the quick-reference section is what agents hit first. A one-liner after the snippet note would save agents from wiring a block without the ID and getting a silent failure — e.g.:

The snippet is a starting point — you'll need to add data-composition-id (must match the block's internal composition ID), data-start, and data-track-index attributes.


Minor notes (non-blocking)

  • discovery.md available items table: This is a static snapshot of 3 blocks and 3 components. If the registry grows, this table goes stale. Not a blocker for this PR, but worth a <!-- keep in sync with registry.json --> comment or a note that agents should prefer reading registry.json directly for the authoritative list.

  • wiring-blocks.md "Timeline coordination" section: Clear and helpful. The sentence "You do NOT need to reference the block's timeline in your host's GSAP code" is exactly the kind of thing agents get wrong without explicit guidance.

  • Catalog doc pages: The <video> with poster fallback pattern is a good upgrade from the static <img>. The block usage snippets in the generated MDX now correctly show <div data-composition-src> with dimensions — consistent with the skill's wiring examples.

  • generate-catalog-previews.ts wrapper: The prepareProjectDir wrapper that generates an index.html for items that don't have one is a pragmatic solution. The fallback dimensions from registry-item.json are sensible.

  • Registry component cleanups (grain-overlay, grid-pixelate-wipe, shimmer-sweep demo.html): Moving inline styles to CSS classes and replacing the external texture URL with an inline SVG data URI are both good — eliminates a network dependency during preview generation.

Overall this is solid work. Fix the iframe text, clarify the missing data-composition-id in the snippet note, and this is ready to merge.

jrusso1020 added a commit that referenced this pull request Apr 14, 2026
PR #259: Scope all GSAP JS selectors in flowchart.html under
[data-composition-id="flowchart"] prefix. Remove unnecessary setTimeout
retry in data-chart.html.

PR #261: Replace 'iframe' text with 'sub-composition' / 'data-composition-src'
in SKILL.md description + body, CLAUDE.md skills table + rules. Add
data-composition-id to missing-attributes note in snippet guidance.

PR #262: Fix CI workflow — replace grep -P lookbehind with sed (PCRE
variable-length alternation fails on Ubuntu), use fetch-depth: 0 + base
SHA for diff, remove continue-on-error: true, add per-item timeout, reduce
artifact retention to 7 days. Fix doc comment to remove stale 'examples' reference.

PR #263: Add try/catch around JSON.parse in codegen discovery (prevents
partial wipe on malformed manifest). Guard docs.json tabs array existence.

PR #269: Fix Three.js CDN in ascii-dashboard (was broken relative path).
Fix composition ID mismatches in 6 blocks (instagram-follow, tiktok-follow,
x-post, reddit-post, spotify-card, app-showcase) — IDs now match block names.

@miguel-heygen miguel-heygen left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skill structure is solid. Note: SKILL.md description and body still reference iframe wiring — should be updated to match the data-composition-src pattern in CLAUDE.md.

jrusso1020 added a commit that referenced this pull request Apr 14, 2026
PR #259: Scope all GSAP JS selectors in flowchart.html under
[data-composition-id="flowchart"] prefix. Remove unnecessary setTimeout
retry in data-chart.html.

PR #261: Replace 'iframe' text with 'sub-composition' / 'data-composition-src'
in SKILL.md description + body, CLAUDE.md skills table + rules. Add
data-composition-id to missing-attributes note in snippet guidance.

PR #262: Fix CI workflow — replace grep -P lookbehind with sed (PCRE
variable-length alternation fails on Ubuntu), use fetch-depth: 0 + base
SHA for diff, remove continue-on-error: true, add per-item timeout, reduce
artifact retention to 7 days. Fix doc comment to remove stale 'examples' reference.

PR #263: Add try/catch around JSON.parse in codegen discovery (prevents
partial wipe on malformed manifest). Guard docs.json tabs array existence.

PR #269: Fix Three.js CDN in ascii-dashboard (was broken relative path).
Fix composition ID mismatches in 6 blocks (instagram-follow, tiktok-follow,
x-post, reddit-post, spotify-card, app-showcase) — IDs now match block names.
@jrusso1020
jrusso1020 force-pushed the 04-14-docs_codegen_per-item_mdx_pages_from_registry branch from 93ec271 to c0bdaf7 Compare April 14, 2026 23:14
@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from f711805 to 630b5ab Compare April 14, 2026 23:14

jrusso1020 commented Apr 14, 2026 •

Copy link
Copy Markdown
Collaborator Author

Merge activity

  • Apr 14, 11:16 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • Apr 14, 11:25 PM UTC: Graphite rebased this pull request as part of a merge.
  • Apr 14, 11:27 PM UTC: @jrusso1020 merged this pull request with Graphite.

@jrusso1020
jrusso1020 changed the base branch from 04-14-docs_codegen_per-item_mdx_pages_from_registry to graphite-base/261 April 14, 2026 23:22
@jrusso1020
jrusso1020 changed the base branch from graphite-base/261 to main April 14, 2026 23:24
Teaches AI coding agents how to use the registry end-to-end:
- Install blocks/components via `hyperframes add`
- Wire blocks as iframes with data-start/data-duration/data-track-index
- Merge component snippets (HTML, CSS, JS, timeline) into host compositions
- Discover available items via registry.json manifest
- Understand the demo.html convention for component previews

Includes worked examples for adding a block (data-chart) and a component
(shimmer-sweep) with full wiring instructions.

Updates CLAUDE.md skills table, README.md skills table, and docs CLI page.
@jrusso1020
jrusso1020 force-pushed the 04-14-feat_skills_hyperframes-registry_skill branch from 630b5ab to 36a5a49 Compare April 14, 2026 23:25
@jrusso1020
jrusso1020 merged commit 4bde66f into main Apr 14, 2026
16 checks passed
jrusso1020 added a commit that referenced this pull request Apr 14, 2026
PR #259: Scope all GSAP JS selectors in flowchart.html under
[data-composition-id="flowchart"] prefix. Remove unnecessary setTimeout
retry in data-chart.html.

PR #261: Replace 'iframe' text with 'sub-composition' / 'data-composition-src'
in SKILL.md description + body, CLAUDE.md skills table + rules. Add
data-composition-id to missing-attributes note in snippet guidance.

PR #262: Fix CI workflow — replace grep -P lookbehind with sed (PCRE
variable-length alternation fails on Ubuntu), use fetch-depth: 0 + base
SHA for diff, remove continue-on-error: true, add per-item timeout, reduce
artifact retention to 7 days. Fix doc comment to remove stale 'examples' reference.

PR #263: Add try/catch around JSON.parse in codegen discovery (prevents
partial wipe on malformed manifest). Guard docs.json tabs array existence.

PR #269: Fix Three.js CDN in ascii-dashboard (was broken relative path).
Fix composition ID mismatches in 6 blocks (instagram-follow, tiktok-follow,
x-post, reddit-post, spotify-card, app-showcase) — IDs now match block names.
Zollicoff pushed a commit to Zollicoff/hyperframes that referenced this pull request Jul 1, 2026
PR heygen-com#259: Scope all GSAP JS selectors in flowchart.html under
[data-composition-id="flowchart"] prefix. Remove unnecessary setTimeout
retry in data-chart.html.

PR heygen-com#261: Replace 'iframe' text with 'sub-composition' / 'data-composition-src'
in SKILL.md description + body, CLAUDE.md skills table + rules. Add
data-composition-id to missing-attributes note in snippet guidance.

PR heygen-com#262: Fix CI workflow — replace grep -P lookbehind with sed (PCRE
variable-length alternation fails on Ubuntu), use fetch-depth: 0 + base
SHA for diff, remove continue-on-error: true, add per-item timeout, reduce
artifact retention to 7 days. Fix doc comment to remove stale 'examples' reference.

PR heygen-com#263: Add try/catch around JSON.parse in codegen discovery (prevents
partial wipe on malformed manifest). Guard docs.json tabs array existence.

PR heygen-com#269: Fix Three.js CDN in ascii-dashboard (was broken relative path).
Fix composition ID mismatches in 6 blocks (instagram-follow, tiktok-follow,
x-post, reddit-post, spotify-card, app-showcase) — IDs now match block names.
dahans-msft2 pushed a commit to dahans-msft2/hyperframes that referenced this pull request Aug 6, 2026
## What

New skill `hyperframes-registry` that teaches AI coding agents how to install and wire registry blocks and components into HyperFrames compositions.

### Skill structure
```
skills/hyperframes-registry/
  SKILL.md                          — triggers, overview, quick reference
  references/
    install-locations.md            — default paths, hyperframes.json config
    wiring-blocks.md                — iframe inclusion, data attributes, positioning
    wiring-components.md            — snippet merging (HTML, CSS, JS, timeline)
    discovery.md                    — manifest reading, item fields, available items table
    demo-html-pattern.md            — why components ship demo.html, structure conventions
  examples/
    add-block.md                    — worked example: data-chart block install + wiring
    add-component.md                — worked example: shimmer-sweep component install + wiring
```

## Why

Phase B of the catalog plan (PR 10). Without this skill, agents using `hyperframes add` have to guess how to wire installed items into compositions. The skill encodes the iframe/snippet patterns so agents get it right on the first attempt.

## How

- SKILL.md frontmatter triggers on: `hyperframes add`, "block", "component", `hyperframes.json`
- References cover every step: discovery, install, wiring blocks (iframe), wiring components (snippet merge), and the demo.html convention
- Two worked examples walk through complete install-to-preview workflows
- Updated CLAUDE.md skills table + trigger rules, README.md skills table, docs/packages/cli.mdx

## Test plan

- [x] `scripts/lint-skills.ts` passes (checked 4 skill files, no issues)
- [x] `oxfmt --check` passes on all markdown files
- [x] SKILL.md frontmatter has valid `name` and `description`
- [x] All reference links in SKILL.md resolve to existing files
- [x] CLAUDE.md, README.md, and docs CLI page updated with new skill

This branch was successfully deployed

1 active deployment
staging - docs — 36a5a499 Deployed Apr 14, 2026 by mintlify[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants