fix(skills): stop embedded-captions shipping author-only paths; dedupe slideshow - #3225
Conversation
The skill is distributed via `hyperframes skills` (--copy, so the installed bundle matches the published tree), but three shipped files pointed at directories that only exist on the original author's machine. - references/test-set.md: deleted. Nothing in the skill referenced it (zero inbound links across all 140 files), and its corpus lives at ~/Downloads/heygen_relevant_videos/, so it was neither reachable nor runnable. - SKILL.md / dna/README.md: the retired 54-template archive was stated as living at a ~/Downloads path. Keeps the fact, drops the false location. - themes/PORTING.md: marked maintainer-only. It authors new theme DNAs rather than using the skill, nothing links it, and its inputs (the cap_fx3 demos, the frame corpora, CONTRACT.md) are not distributed. The paths stay as the author's original layout, now explicitly labelled as names for the inputs. The 10 references to ~/Downloads/hyperframes are untouched: those are the documented last resort in a real chain (HYPERFRAMES_ROOT -> in-repo -> that path), and every file carrying it also carries the env var. Regenerates skills-manifest.json, which hashes the whole skill directory. Closes #3219 — Rames Jusso (James's assistant)
Nothing in the skill referenced it, its inputs are not distributed, and git history keeps it recoverable. Marking a dead procedure still ships the dead procedure. — Rames Jusso (James's assistant)
The media-cleanup and global-nav-mute sections appeared twice in skills/slideshow/SKILL.md. The two copies were not identical: the later one was missing the paragraph requiring custom media controls to sync through media events. Deletes the incomplete copy, keeps the complete one. Originally authored in #3218. Carried here re-signed because the org requires signed commits and both changes regenerate skills-manifest.json, which would otherwise conflict between the two PRs. Co-authored-by: Lance Curtis <69400491+imprimisxo@users.noreply.github.com>
— Rames Jusso (James's assistant)
check-no-main-deletions.mjs deliberately has no blanket override, so each intentional deletion is named with its reason and shows up in review. — Rames Jusso (James's assistant)
miga-heygen
left a comment
There was a problem hiding this comment.
Two skill hygiene fixes combined to share one manifest regen.
Slideshow dedup — same change I reviewed in #3218, carried here re-signed. Surviving copy is the complete one (custom-controls paragraph intact, 559→529 lines, 28 fences balanced). Already verified.
embedded-captions cleanup (#3219):
test-set.mddeleted — zero inbound references across all 140 files, corpus at~/Downloads/heygen_relevant_videos/which doesn't exist on any install. Correct removal.PORTING.mddeleted — zero inbound references, every step requires author-only inputs (cap_fx3demos,CONTRACT.md), none of which are distributed. Correct removal.- Archive location claims in
SKILL.mdanddna/README.mdchanged from~/Downloads/...to "not distributed with the skill" — factual correction. - The 10 remaining
~/Downloads/hyperframesreferences in the skill are deliberately untouched — they're the documented last resort in a real env-var chain, not orphaned claims.
Allowed-deletions entries in check-no-main-deletions.mjs have clear explanations. Manifest regenerated for both skills.
All four commits are signed (G). James's authorship preserved on the slideshow commit.
LGTM.
Review by Miga
miguel-heygen
left a comment
There was a problem hiding this comment.
Audited: the complete 7-file diff at 1d0e18ca870b4966ff80b6b6eff1c06227a53afa, including both skill sources, the two intentional deletions, deletion-guard exceptions, and regenerated manifest. The slideshow carry is byte-identical to the reviewed #3218 source; its complete custom-controls guidance remains, line count drops 559→529, and all 28 fences stay balanced. The deleted embedded-captions files have zero inbound references, while the surviving text correctly stops promising author-local assets that are not distributed. Manifest hashes/counts match the resulting tree, and all five commits are GitHub-verified while preserving Lance’s authorship on the carried change.
Trusting: GitHub Actions runner execution; every required exact-head check is terminal green, including the full test suite and both Windows render/test lanes. No unresolved review threads or unaddressed blockers remain.
Verdict: APPROVE
Reasoning: The combined PR removes unreachable/duplicated skill material without weakening the surviving guidance, keeps generated state synchronized, preserves provenance, and passes the repository’s complete required gate set.
— Magi
What
Skill-content hygiene across two skills, plus the manifest regen both require.
Closes #3219. Supersedes #3218 (carried here re-signed, authorship preserved).
embedded-captions/references/test-set.mdembedded-captions/themes/PORTING.mdembedded-captions/SKILL.mdembedded-captions/dna/README.mdslideshow/SKILL.mdskills-manifest.jsonWhy
embedded-captions (#3219). The skill is distributed via
hyperframes skills, which installs with--copyso the installed bundle matches the published tree. There is no per-file filter, and the skill's.gitignoreonly keeps render artifacts out of commits. So these files land on every install, where the directories they name do not exist.references/test-set.mdwas unreachable and unrunnable: zero inbound references across all 140 files, corpus at~/Downloads/heygen_relevant_videos/. As a control, the same grep findstypographic-moves.mdlinked 4 times, so the method discriminates rather than just returning nothing.themes/PORTING.mdwas equally unreachable, also zero inbound references. It authored new theme DNAs rather than using the skill, five of its steps took author-only inputs, and its normativeCONTRACT.mdships nowhere in this repo (checked by content, not filename).Not touched, so it does not get re-flagged: the 10 references to
~/Downloads/hyperframesare the documented last resort in a real chain (HYPERFRAMES_ROOT-> in-repo -> that default). Every file carrying the path also carries the env var, and the chain ends in a clearset HYPERFRAMES_ROOTerror.slideshow (#3218). The media-cleanup and global-nav-mute sections appeared twice, and the copies were not identical: the later one dropped the paragraph requiring custom media controls to sync through media events. The incomplete copy is the one deleted.
How
Both orphaned files are deleted rather than annotated. Nothing referenced either, git history keeps them recoverable, and marking a dead procedure still ships the dead procedure.
The slideshow change is @imprimisxo's work from #3218, carried here byte-identical with
--authorpreserving their authorship. Two reasons it moved: the org requires signed commits and the original was unsigned, and both changes regenerateskills-manifest.json, so as separate PRs they would conflict on that file no matter which merged first.Test plan
bun packages/cli/scripts/gen-skills-manifest.ts --check->in sync (19 skills)slideshow hash resolves to
6a24a84b0c1a75f9, matching what CI computed on fix(skills): remove duplicated media-cleanup block in slideshow #3218Re-verified the dedup at this tree: 559 -> 529 lines, 28 code fences balanced, each repeated section 2 -> 1, and the custom-controls rule still present once at line 445
Confirmed both deleted files had zero inbound references before removal
Post-change audit grep: no author-only
~/Downloadspaths remainUnit tests added/updated (docs + manifest only, no code paths touched)
Manual testing performed
Documentation updated (if applicable)
#3219 reported by @imprimisxo, who also authored the slideshow fix in #3218.
Opened by Rames Jusso (James's assistant)