Problem
The shipped @ctx VS Code chat participant is a thin wrapper over ctx CLI subcommands — its ~31 slash-commands each shell out to a CLI command. It surfaces none of the ctx skill/workflow layer (/brainstorm, /implement, /reflect, /remember, /next, /spec, /audit, /blog, /changelog, /consolidate, /map, /verify, /worktree, /wrapup) — arguably the highest-value AI workflows in ctx, and exactly what belongs in a chat participant.
A complete skill-backed implementation was developed but never landed; main still ships the wrapper.
Impact
@ctx users can run CLI-equivalent commands but cannot invoke the skill workflows from chat.
- The participant under-delivers relative to the ctx skill ecosystem / the
.claude/skills surface.
- Dedicated
/decisions and /learnings management is missing (only /add covers creation).
Proposal
Land the skill-backed chat participant: reconcile contributes.chatParticipants to exactly the commands the extension dispatches (45), add the skill/workflow commands + a reminder status bar + violation guardrails, and cover the new handlers with tests.
Command-surface changes vs. the current wrapper:
- +21 new commands (skill/workflow layer + dedicated
/decisions, /learnings)
- 4 renamed to plurals:
/change→/changes, /dep→/deps, /task→/tasks, /permission→/permissions
- Removed:
/loop, /diag; /site folded into /journal, /doctor handled inline
Acceptance
contributes commands == dispatched commands (exact parity)
- tsc (default +
tsconfig.ci.json), eslint, vitest, and vsce package all green
- CHANGELOG updated
A PR implementing this on top of current main is ready (rides on the existing ESLint 9 + tsconfig.ci + vitest/vsce CI).
Problem
The shipped
@ctxVS Code chat participant is a thin wrapper overctxCLI subcommands — its ~31 slash-commands each shell out to a CLI command. It surfaces none of the ctx skill/workflow layer (/brainstorm,/implement,/reflect,/remember,/next,/spec,/audit,/blog,/changelog,/consolidate,/map,/verify,/worktree,/wrapup) — arguably the highest-value AI workflows in ctx, and exactly what belongs in a chat participant.A complete skill-backed implementation was developed but never landed;
mainstill ships the wrapper.Impact
@ctxusers can run CLI-equivalent commands but cannot invoke the skill workflows from chat..claude/skillssurface./decisionsand/learningsmanagement is missing (only/addcovers creation).Proposal
Land the skill-backed chat participant: reconcile
contributes.chatParticipantsto exactly the commands the extension dispatches (45), add the skill/workflow commands + a reminder status bar + violation guardrails, and cover the new handlers with tests.Command-surface changes vs. the current wrapper:
/decisions,/learnings)/change→/changes,/dep→/deps,/task→/tasks,/permission→/permissions/loop,/diag;/sitefolded into/journal,/doctorhandled inlineAcceptance
contributescommands == dispatched commands (exact parity)tsconfig.ci.json), eslint, vitest, andvsce packageall greenA PR implementing this on top of current
mainis ready (rides on the existing ESLint 9 +tsconfig.ci+ vitest/vsce CI).