Skip to content

VS Code chat participant exposes only CLI commands, not the ctx skill/workflow layer #127

Description

@bilersan

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions