chore(skills): package Codex plugin upload (#2668)

* chore(skills): package Codex plugin upload

* chore(skills): harden Codex plugin content

* fix(skills): satisfy plugin quality gates

* fix(skills): address plugin packaging review

* fix(plugin): simplify asset validation

* fix(skills): correct embedded-captions catalog count to 35 after nightcity removal

The nightcity theme removal left SKILL.md claiming 36 identities in
four places, including the frontmatter description the router reads.
The catalog now has 35 entries (10 classic + 25 themed).

---------

Co-authored-by: Miao Yang <miao.yang@heygen.com>
This commit is contained in:
James Russo
2026-07-22 00:41:40 +08:00
committed by GitHub
co-authored by Miao Yang
parent 84841b8dae
commit 696cbdbbd0
51 changed files with 246 additions and 560 deletions
@@ -166,13 +166,13 @@ test("validated bare frames survive assembly and transition injection", () => {
);
});
test("Claude preset stages renderer-parity fonts for an empty PR token set", () => {
const project = mkdtempSync(join(tmpdir(), "p2v-claude-fonts-"));
test("Code editorial preset stages renderer-parity fonts for an empty PR token set", () => {
const project = mkdtempSync(join(tmpdir(), "p2v-code-editorial-fonts-"));
write(join(project, "capture", "extracted", "tokens.json"), '{"colors":[],"fonts":[]}');
execFileSync(
process.execPath,
[buildFrameScript, "--preset", "claude", "--hyperframes", project],
[buildFrameScript, "--preset", "code-editorial", "--hyperframes", project],
{ encoding: "utf8" },
);
@@ -198,8 +198,11 @@ test("Claude preset stages renderer-parity fonts for an empty PR token set", ()
assert.doesNotMatch(frameMd, /fonts\.googleapis\.com/);
});
test("bundled Claude font licenses are shipped beside the assets", () => {
const fontDir = resolve(scriptDir, "../../hyperframes-creative/frame-presets/claude/fonts");
test("bundled Code editorial font licenses are shipped beside the assets", () => {
const fontDir = resolve(
scriptDir,
"../../hyperframes-creative/frame-presets/code-editorial/fonts",
);
for (const family of ["eb-garamond", "inter", "jetbrains-mono"]) {
assert.equal(existsSync(join(fontDir, `OFL-${family}.txt`)), true);
}