Skip to content

fix(kilo-mcp): generate the skill area list without counts - #8639

Merged
iscekic merged 2 commits into
mainfrom
chore/kilo-mcp-skill-area-list
Oct 22, 2026
Merged

iscekic merged 2 commits into
mainfrom
chore/kilo-mcp-skill-area-list

Conversation

@iscekic

@iscekic iscekic commented Oct 22, 2026

Copy link
Copy Markdown
Collaborator

What

.kilo/skills/kilo-mcp/SKILL.md is generated from services/kilo-mcp/catalog.json, and every pull request that changes the catalog regenerates it. The census carried totals, per-area counts and a second-segment breakdown, so two pull requests that each added a procedure produced different bytes for the same file. Whichever merged second conflicted.

The census now derives one thing: the sorted list of first path segments, one bullet per area. No totals, no counts, no per-area breakdown.

Why this removes the conflict

  • Two pull requests that add or remove procedures inside existing areas generate byte-identical skill files, so the drift check stays clean and CI does not commit the file back to the branch at all.
  • A new or removed area produces a one-line diff in an alphabetically stable position.
  • Counts never informed a decision: the skill already tells the agent to run kilo_search and never to pick a path from this file. Area names still orient the reader.

Verification

  • pnpm exec jest src/scripts/mcp-catalog/skill.test.ts on a work VM with Postgres (17 tests, all pass). New tests pin "procedures added inside existing areas leave the skill byte-identical" and "a new area adds exactly one line".
  • Regenerated the committed skill from the real catalog and diffed it against the previous file.
  • Added two procedures under existing areas to the real catalog, regenerated, diffed: identical output. Then added a new area: exactly one line added.
  • pnpm --filter web typecheck, oxlint, and oxfmt --list-different clean on the changed files.

Deploy notes

None. The generator, its template, and its tests change together, and CI regenerates the file from the catalog as before.

Two pull requests that each add a procedure both regenerate
`.kilo/skills/kilo-mcp/SKILL.md` with different totals and row counts, so the
second one to merge always conflicts on the generated file.

The census now derives the sorted list of first path segments only: one bullet
per area. Two pull requests that add procedures inside existing areas render
byte-identical files, and a new area adds one line in a stable position. The
per-area breakdown by second path segment is dropped for the same reason; one
`kilo_search` answers that question with current data.
@kilo-code-bot

kilo-code-bot Bot commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Code Review Summary

Status: No Issues Found | Recommendation: Merge

Executive Summary

The generator, template, committed skill, and tests change coherently: the census is reduced to a deterministic sorted list of first path segments, the checked-in SKILL.md matches the committed catalog's 49 areas, and no other in-repo consumer used the removed censusCatalog/readCatalogRows/Census exports.

Assumptions: [INFERENCE] Validation commands were not run (read-only review); the drift guarantees were verified by reading the generator, template, committed skill, catalog keys, and the CI workflow rather than by executing tests.

Files Reviewed (4 files)
  • .kilo/skills/kilo-mcp/SKILL.md
  • apps/web/src/scripts/mcp-catalog/skill-template.md
  • apps/web/src/scripts/mcp-catalog/skill.test.ts
  • apps/web/src/scripts/mcp-catalog/skill.ts

Reviewed by deepseek-flash-latest · Input: 61.1K · Output: 9K · Cached: 847.7K

Review guidance: REVIEW.md from base branch main

@iscekic
iscekic enabled auto-merge October 22, 2026 17:04
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.

2 participants