feat(compatibility): write declared compatibility_json on publish, sync and backfill
Los mantenedores suelen responder en 1 día
@mrgoonie ya está trabajando en esto.
Desde el 22/10/2026.
Evaluación
Este issue todavía no se ha evaluado.
Descripción
Problem
The catalog's compatibility display, introduced in #90 ("agent-native discovery and compatibility"), reads skills.compatibility_json and package_releases.compatibility_json. Each declaration goes through the shared validator in @skillx/contracts. Nothing on main writes either column: origin/main has no non-test writer.
So every catalog row, the .md pages, llms.txt/llms-full.txt and the MCP discovery tools report compatibility as "unknown" for every skill. The feature is live but shows nothing.
Proposal
Add a write path that fills the declared compatible map from what the publisher actually declares:
- Source of the declaration:
- the SKILL.md frontmatter, or the release manifest, field
compatible/compatibility(for example{ "agentkit": { "status": "declared", "versions": ">=1.0.0" } }); - for skills synced from GitHub, the same field read during seed/sync.
- the SKILL.md frontmatter, or the release manifest, field
- Validate on write: use the same
@skillx/contractsvalidator the reader uses. An invalid shape is stored asNULL("unknown"), never as a partial value. Writes are idempotent. - When to write: on release publish into
package_releases.compatibility_json, and on skill create/update/sync intoskills.compatibility_json. Invalidate the llms cache key, or bump its version, when a declaration changes. - Backfill: a one-off backfill of existing rows from their stored SKILL.md content. Back up D1 first (Time Travel restore point plus per-table export, because the FTS5 tables block a full
wrangler d1 export). - Never infer: do not infer compatibility from content heuristics. Only a declaration counts.
Acceptance
- Publishing a release with a valid declaration stores it; publishing one with an invalid declaration stores
NULL. Covered by tests. - Creating or syncing a skill whose frontmatter declares compatibility stores it.
- Catalog,
.md,llms*.txtand MCP surfaces show the declared status for those skills. - The backfill has run on production after a D1 backup, with the counts of declared and unknown rows recorded.
- Docs updated:
docs/api-reference.mdand the publisher guide describe how to declare compatibility.
Context: found during the review of #90 (rebuilt from #41). Related AgentKit epic: bestagentkits/agentkit#2274.
- Lenguaje dominante
- TypeScript
- Estrellas
- 190
- Forks
- 42
- Merge medio
- 5 h 50 min
- PR fusionados (30 d)
- 37
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 nextlevelbuilder/skillx
-
ai-handle
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
nextlevelbuilder/skillx#105 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
nextlevelbuilder/skillx#28 ·
Los mantenedores suelen responder en 1 día
-
refactor
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
nextlevelbuilder/skillx#27 ·
Los mantenedores suelen responder en 1 día
-
ai-handle
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
nextlevelbuilder/skillx#113 ·
Los mantenedores suelen responder en 1 día
-
feat(quality-packs): QGP foundation packs, private overrides và three-way rebase giữ nguyên opt-outAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 18/100
nextlevelbuilder/skillx#108 ·
Los mantenedores suelen responder en 1 día
Todos los issues de nextlevelbuilder/skillx
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
cline/cline#15327 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
LogicLabs-OU/OpenArchiver#509 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
bigcapitalhq/bigcapital#1545 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día