Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

feat(compatibility): write declared compatibility_json on publish, sync and backfill

オープン
#119 コメント 0 件 リアクション 0 件 担当者 1 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

@mrgoonie がすでに取り組んでいます。

2026年10月22日 から。

評価

この issue はまだ評価されていません。

説明

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:

  1. 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.
  2. Validate on write: use the same @skillx/contracts validator the reader uses. An invalid shape is stored as NULL ("unknown"), never as a partial value. Writes are idempotent.
  3. When to write: on release publish into package_releases.compatibility_json, and on skill create/update/sync into skills.compatibility_json. Invalidate the llms cache key, or bump its version, when a declaration changes.
  4. 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).
  5. 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*.txt and 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.md and the publisher guide describe how to declare compatibility.

Context: found during the review of #90 (rebuilt from #41). Related AgentKit epic: bestagentkits/agentkit#2274.

主要言語
TypeScript
スター
190
フォーク
42
平均マージ
5時間 50分
マージ済み PR(30日)
37

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

nextlevelbuilder/skillx のほかの issue

nextlevelbuilder/skillx の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。