skills add --skill <name> bypasses the metadata.internal gate (--all honors it)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 68/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
- Área
- cli, documentation, tooling
Línea de trabajo
Start by tracing the npx skills add explicit --skill path and compare its metadata handling with the --all path described in the reproduction. Verify the behavior with the listed commands and ensure an internal skill is refused unless INSTALL_INTERNAL_SKILLS=1 is set. Also update CLAUDE.md:12 so its installation guidance matches the documented behavior in .claude/skills/README.md and the other catalog surfaces.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
#3856 marked the six repo-native skills metadata.internal: true so they stay out of public installs. The gate works on --all. It does not work when a skill is named explicitly with --skill, so all six are still publicly installable today with no flag and no env var.
Reproduction
Run each in an empty directory. Observed today on main at 14b9e2039, installer npx skills add.
| Command | INSTALL_INTERNAL_SKILLS |
Internal six | Total installed |
|---|---|---|---|
npx skills add heygen-com/hyperframes --all |
unset | excluded ✅ | 20 |
npx skills add heygen-com/hyperframes --all |
=1 |
pulled ✅ | 26 |
npx skills add heygen-com/hyperframes --skill changelog-video |
unset | pulled ❌ | 1 |
$ mkdir /tmp/t && cd /tmp/t
$ npx skills add heygen-com/hyperframes --skill changelog-video
● Selected 1 skill: changelog-video
◇ Installed 1 skill
✓ ./.agents/skills/changelog-video
universal: Antigravity, Codex, Cursor, Droid, Gemini CLI +15 more
symlinked: Claude Code
The installed SKILL.md is byte-identical to .claude/skills/changelog-video/SKILL.md on current main, marker included:
metadata:
internal: true
So the registry is serving current content and the flag is present in the payload. The explicit-install path just never checks it.
Expected
.claude/skills/README.md, added in #3856, states the contract:
Each repo-native skill declares
metadata.internal: true, sonpx skills addskips it during normal installs (including--all). This does not change local agent discovery. To explicitly install these skills elsewhere, setINSTALL_INTERNAL_SKILLS=1when running the installer.
An explicit --skill <internal-name> without INSTALL_INTERNAL_SKILLS=1 should refuse, the way --all does. Right now the env var is the documented escape hatch for a door that has no lock.
Why it matters
The explicit path ships the full skill directory, 712K, not just the prompt:
assets/fonts/TT_Norms_Pro_{Medium,Bold,Normal}.woff2
assets/fonts/tt_norms_pro_mono_regular-webfont.woff2
assets/fonts/ABCSolarDisplay-Bold.woff2
assets/bgm.mp3
assets/bg-pattern.mp4
references/{build-spec,script-voice,visualization-registry}.md
references/lexicon.json
examples/master-skeleton.html
scripts/align-captions.mjs
Those are commercial foundry webfonts and house brand assets going out through a public install command. That is the exposure #3856 was closing, and it is still open on this path. Worth a licensing check independent of the fix.
Second, smaller finding
CLAUDE.md:12 still documents the pre-#3856 behavior:
npx skills add heygen-com/hyperframes # interactive picker (terminal only; --all also pulls the 6 repo-internal skills under .claude/skills)
The --all run above disproves that, 20 skills and none of the six. #3856 updated AGENTS.md, README.md, and docs/guides/skills.mdx but not CLAUDE.md. The repo's own "Skill catalog maintenance" section requires these surfaces move in lockstep.
Environment
macOS 15.6, Node via npx, repo at 14b9e2039.
- Lenguaje dominante
- TypeScript
- Estrellas
- 54.1k
- Forks
- 4.9k
- Merge medio
- 9 h 46 min
- PR fusionados (30 d)
- 652
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de heygen-com/hyperframes
-
Player: speed button's accessible name doesn't include its visible textPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
heygen-com/hyperframes#6021 ·
Los mantenedores suelen responder en 1 día
-
inspector: build.mjs resolves paths with URL#pathname, fails ENOENT (F:\\F:\\...) and aborts bun run build on WindowsPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
heygen-com/hyperframes#5863 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
product-launch-video: assemble-index.mjs is not idempotent — a second run drops every approved frame videoPosiblemente ocupada @Dante-dan la tomó hace 5 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
heygen-com/hyperframes#5733 ·
Los mantenedores suelen responder en 1 día
-
gsap_tween_tail counts GSAP's force3D and autoRound flags as propertiesPosiblemente ocupada @rudycelekli la tomó hace 5 días. Abiertobug triage/needs-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
heygen-com/hyperframes#5683 ·
Los mantenedores suelen responder en 1 día
-
Timeline: show a clip's full name when its label is cut offPosiblemente ocupada @DanielMcSheehy la tomó hace 3 días. Abiertodesktop-candidate difficulty/easy enhancement good first issue help wanted triage/ready
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
heygen-com/hyperframes#5582 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de heygen-com/hyperframes
Issues similares
-
bug P3 UI/UX
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
StellarState/SS-backend#712 ·
Los mantenedores suelen responder en 1 día
-
area: backend bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
snapotter-hq/SnapOtter#3473 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
gitroomhq/postiz-app#2304 ·
Los mantenedores suelen responder en 1 día
-
Resolve CI maintenance findingsAbiertoharlan-agent-ready-to-implement routine:ci-review
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
harlan-zw/unlighthouse#454 · 2 comentarios ·
Los mantenedores suelen responder en 1 día