Skip to content

docs(cli): pin npx in unattended runs and verify the render - #7467

Open
IceCoooola wants to merge 3 commits into
heygen-com:mainfrom
IceCoooola:docs/unattended-npx-skill
Open

IceCoooola wants to merge 3 commits into
heygen-com:mainfrom
IceCoooola:docs/unattended-npx-skill

Conversation

@IceCoooola

Copy link
Copy Markdown

What

Teaches the hyperframes-cli skill (and the matching CLI reference page) how to invoke the CLI in jobs with no TTY: run the scaffolded npm run scripts or a pinned npx --yes hyperframes@X.Y.Z, never bare npx hyperframes, and verify the render's dimensions and duration before publishing.

Why

SKILL.md says "run npx hyperframes <command>" but says nothing about scripts, CI or scheduled jobs. In a job with no TTY nothing prompts — npm skips its Ok to proceed? whenever stdin is not a terminal or CI is detected — but an unversioned npx hyperframes still fetches the latest release on every cold cache: two jobs that start together can collide in npm's cache (_cacache for the fetch, _npx for the install: EEXIST / ENOTEMPTY, a retry succeeds), and a new release silently changes what the same command renders.

Related work

Fixes #7451. Related: #6617 (the CLI never prompts when nobody is at the terminal — that covers the CLI's own prompts; this covers what npx does before the CLI starts).

How

  • skills/hyperframes-cli/SKILL.md: one sentence on the existing wrapper line routes no-TTY jobs to the wrapper or a pinned npx --yes; the loop's render step now also checks data-width/data-height, so verification lives once.
  • skills/hyperframes-cli/references/unattended.md (new): why bare npx installs on every cold cache and what collides, the three recipes (scaffolded npm run scripts, pinned npx --yes, installed binary), and why interactive flows float to @latest while unattended jobs pin.
  • docs/packages/cli.mdx: the matching account for users, next to "Unattended runs never prompt".
  • scripts/check-core-skills.mjs: hyperframes-cli SKILL.md budget 7616 → 7872 B (+256 for the pointer, the file's +N-comment pattern).
  • skills-manifest.json: regenerated (deterministic per-skill content hash; only hyperframes-cli changed, 13 → 14 files).

Test plan

  • node scripts/check-core-skills.mjs — within budget; commands and paths resolve (SKILL.md 7806 of 7872 B).

  • node --test scripts/check-core-skills.test.mjs — 12/12 pass.

  • node scripts/check-skill-mirror.mjs — .claude/skills / .agents/skills still byte-identical.

  • Manifest reproduced byte-for-byte with a standalone script (bun not installed in this checkout); CI's gen-skills-manifest --check is the authoritative gate.

  • Unit tests added/updated

  • Manual testing performed

  • Documentation updated (if applicable)

  • Comments follow CONTRIBUTING.md "Comments": they say why, not what, and a bug fix says what the code must do and how to reproduce the bug

@mintlify

mintlify Bot commented Nov 9, 2026 •

Copy link
Copy Markdown

Preview approval required

This pull request comes from a fork, so Mintlify won't build a preview until someone with write access approves commit b7c4425.

Approve preview

In a job with no TTY nothing prompts: the CLI exits 2 and names `--yes`,
and `npx` skips its own "Ok to proceed?" whenever stdin is not a
terminal or CI is detected. What an unversioned `npx hyperframes` still
does is fetch the latest release on every cold cache, so two jobs that
start together can collide in npm's cache (`_cacache` for the fetch,
`_npx` for the install: EEXIST / ENOTEMPTY, a retry succeeds), and a
new release silently changes what the same command renders.

The hyperframes-cli skill now routes no-TTY jobs to the project's
scaffolded `npm run` scripts (each already `npx --yes hyperframes@X.Y.Z`)
or a pinned `npx --yes`, never bare `npx hyperframes`, and the loop's
render step checks `data-width`/`data-height` as well as `data-duration`.
The new references/unattended.md holds the detail and says why
interactive flows (`update`, reverse-any-video) float to `@latest` while
unattended jobs pin. The CLI reference page gets the matching paragraph.
The SKILL.md budget goes up 256 B per the file's +N-comment pattern, and
skills-manifest.json is regenerated.
@IceCoooola
IceCoooola force-pushed the docs/unattended-npx-skill branch from 337aa38 to e6e0f47 Compare November 13, 2026 19:34

This branch has not been deployed

No deployments
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.

[skill] hyperframes-cli: unattended npx hyperframes stops at npm's "Ok to proceed?" prompt, and a pinned call can still fail in npx's cache step

2 participants