docs(skills): route /slideshow as a workflow, not a domain capability#1701
Conversation
Move /slideshow out of the domain-skill capability map and into the intent router as a top-level workflow. It is an intent-gated orchestration that produces a navigable deck, not an atomic capability loaded on demand. Also clarify that workflows need not output a video: /slideshow builds a deck and /remotion-to-hyperframes ports a composition. Adds the cheat-sheet row, a disambiguation bullet, and the per-workflow detail block. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ent gate
Reword the slideshow disambiguation bullet to match the skill's actual
intent-confirmation behavior: an explicit "slideshow" request proceeds
directly; an adjacent trigger ("deck / slides / presentation / convert this
page") makes /slideshow confirm before authoring and switch to the
appropriate non-slideshow workflow if not. Drops the inaccurate "may
actually want a video" narrowing.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
miga-heygen
left a comment
There was a problem hiding this comment.
Clean, well-motivated reclassification. The reasoning is solid — /slideshow produces a deliverable (a navigable deck), which is workflow behavior, not an atomic capability ingredient. Moving it to the router alongside the other workflows is the correct home.
A few things I like:
-
Honest framing — the router intro now explicitly acknowledges that not all workflows produce a video (
/slideshow→ deck,/remotion-to-hyperframes→ migration). That makes the mental model more accurate. -
Consistent structure — the
/slideshowentry in the cheat-sheet, disambiguation, and detail block all follow the exact pattern of the existing entries. No format drift. -
Smart disambiguation — the bullet distinguishes explicit "slideshow" requests (proceed directly) from adjacent triggers like "deck / slides / presentation" (confirm first, then switch if it's not actually a slideshow). That prevents false positives without adding friction to the happy path.
-
Alphabetical ordering preserved —
/slideshowslots in between/music-to-videoand/general-videoin both the cheat-sheet and the detail blocks, keeping/general-videoas the catch-all anchor at the bottom (before/remotion-to-hyperframes).
No issues found. LGTM.
Review by Miga
jrusso1020
left a comment
There was a problem hiding this comment.
LGTM pending James's stamp call — clean docs-only recategorization, framing is correct per source.
Verified the move against the actual /slideshow skill at skills/slideshow/SKILL.md:
- Intent-gated: the skill's "Intent confirmation" section explicitly defines the pause-and-confirm pattern ("Do you want this as a HyperFrames slideshow?") for adjacent triggers — exactly the router-shaped behavior the body cites.
- Produces a deck, not a video: skill describes the output as "a normal HyperFrames composition … with one extra ingredient: a JSON island … the player's
SlideshowControllerreads the island and turns the continuous GSAP timeline into a discrete, navigable deck." - Not an atomic ingredient: every other entry in the capability map (
/hyperframes-core,/hyperframes-animation,/hyperframes-creative,/hyperframes-media,/hyperframes-cli,/hyperframes-registry) is a domain-namespaced building block loaded on demand inside a workflow./slideshowwas the only bare-name entry, and it's an orchestration that produces a deliverable. Moving it to the workflow router is the right shape.
Diff itself:
- Capability-map row removed cleanly (the table is now homogeneous: pure on-demand ingredients).
- Workflow cheat-sheet row added with consistent shape (path → one-line role).
- Disambiguation bullet added, mirroring the skill's intent-confirmation behavior.
- Per-workflow detail block follows the same Input/Output/Triggers structure as
/general-video,/music-to-video, etc. - Router intro updated honestly: "most workflows produce a video;
/slideshowbuilds a navigable deck and/remotion-to-hyperframesports a Remotion composition" — exposes the existing truth that not every workflow outputs an MP4.
8 LOC, single file, CI green. No issues.
Stamp posture: COMMENT only — WaterrrForever is an external contributor (not in trusted-stampers list); routing through James per the customer-partner-PR discipline. James's call on stamp.
— Jerrai
jrusso1020
left a comment
There was a problem hiding this comment.
LGTM — greenlit by James.
What
Moves
/slideshowout of the/hyperframescapability map (the on-demanddomain skills) and into the intent router as a top-level workflow. Adds its
cheat-sheet row, a disambiguation bullet, and the per-workflow detail block, so
/slideshowis described consistently in all three places the router lists aworkflow. Skill-content only — one section set in
skills/hyperframes/SKILL.md,no code.
Why
/slideshowsat in the capability map beside the atomic/hyperframes-*ingredients (core, animation, creative, media, cli, registry), but it isn't an
ingredient: it's an intent-gated orchestration that produces a deliverable —
a navigable deck. It even confirms intent ("do you want this as a HyperFrames
slideshow?") before authoring, which is router behavior, not capability
behavior. The bare
slideshowname also read like a workflow next to thenamespaced domain skills.
Surfacing it in the router forced the framing to be honest: a workflow need
not output a video. The router was worded around "make me a video", yet
/remotion-to-hyperframesalready produces a composition (migration, notcreation) and
/slideshowproduces a deck. The intro now says so explicitly.How
/slideshowrow; the map is back to pureon-demand ingredients.
/slideshowbuilds a navigable deck and
/remotion-to-hyperframesports a composition./slideshowrow (output is a deck, not arendered video).
skill confirms before authoring.
### /slideshowblock (Input / Output /Triggers), matching every other workflow entry.
Scope
Skill-content only —
skills/hyperframes/SKILL.md, no package code.oxfmt+commitlint clean. Branches off current
main./slideshow's own skill file isuntouched.
🤖 Generated with Claude Code