fix(skills): show every engine in the /skill list matrix - #85
Merged
ralyodio merged 1 commit intoJul 30, 2026
Merged
Conversation
printSkillTargets listed the engines with no skills primitive from a hardcoded ["codex", "opencode", "aider"]. ENGINES gained privacycode, so `/skill list` printed 5 of the 6 supported engines and privacycode had no row at all — the user could not tell whether skills were unsupported or whether they had typed the name wrong. Derive the unsupported rows from ENGINES minus SKILL_ENGINES instead, so the matrix cannot drift from the engine list again. The MCP matrix is already complete (MCP_ENGINES covers everything except the hardcoded aider row); the two /mcp list tests are controls that pass both before and after this change.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/skill listprints the support matrix for every engine moshcode wraps. It is currently missing one.The bug
printSkillTargets(src/integrations.mjs:109) prints the supported engines fromSKILL_ENGINES, then the unsupported ones from a hardcoded["codex", "opencode", "aider"].ENGINEShas six keys. Since privacycode was added (#74) it is in neither list, so it gets no row at all.On main (df9d1e0),
/skill listprints:Five rows for six engines. privacycode is installable, has an alias (
pc), and appears in/mcp list— but a user checking whether/skill installreaches it sees nothing, and cannot tell an unsupported engine from a name they typed wrong.The fix
Derive the unsupported rows from
Object.keys(ENGINES)minusSKILL_ENGINES. Four insertions, three of them the comment. privacycode is an opencode derivative so it genuinely has no skills primitive — the point is that it now says so instead of vanishing.This also means the matrix cannot drift from the engine list again: the next engine added to
ENGINESshows up automatically.Tests
New
test/support-matrix.test.mjs, 5 tests:/skill listexactly once; privacycode is markedno skills primitive; each row's label matches itsSKILL_ENGINESmembership./mcp list, which pass both before and after this change.MCP_ENGINESalready covers everything except the hardcoded aider row, so the MCP matrix is complete today. I leftprintMcpTargetsalone and used it as proof that the change is scoped to the skills path.Fail-before / pass-after (verified by restoring pristine
integrations.mjs, notgit stash): 3 fail / 2 pass unpatched, 5/5 patched.Full suite: root
npm test204 → 209, 0 fail.apps/pwa30/30, unchanged.