Skip to content

Run every nxs.* pipeline stage as a Skill instead of a slash command #245

Description

@sameera

Move all eight nxs.* pipeline stages out of .claude/commands/ and into .claude/skills/, so a stage loads its instructions progressively rather than injecting its entire body into context at invocation. The estimate is recorded as M because a stub must be M or smaller, but the scope reads larger than one epic: re-size it and split it when it is promoted.

Meta

  • feature: docs/features/pipeline-command-surface
  • estimate: M
  • candidate stories: A pipeline stage invoked as a Skill behaves as it did as a command; Stage Skills receive their argument the way the commands received theirs; The per-command tool and model restrictions survive the move; nexus deploy installs and prunes the stage Skills; Every reference to a /nxs.* command names the surviving invocation surface
  • source: direct backlog request: "convert all nxs.* slash commands to Skills" (2026-08-11)

Why this is worth planning

The eight stage commands run from 250 to 1092 lines. Invoking one injects the whole file into context before the model has read a single input, and the largest stages cost more context than the work they gate. A Skill states its purpose in a short SKILL.md and can hold the rest in reference files that load only when a phase needs them.

The stage Skills also become available to the model directly, not only to a user who types the slash name. That matters most for the stages another stage already hands off to, such as /nxs.close handing off to /nxs.distill.

Known unknowns to resolve at promotion

Slash commands and Skills are not the same shape, and three differences decide the design:

  • Command frontmatter carries tools: and model:. A SKILL.md does not, so the restriction that currently withholds Edit from /nxs.analyze has no direct equivalent.
  • A command interpolates its argument into the prompt body. A Skill receives args, and every stage that string-matches its input for --pr, --from, --discovery, or a bare issue number depends on how that argument arrives.
  • The twelve existing nxs-* Skills are helpers the stages call. Making the stages Skills too means one namespace holds both the stages and the helpers they invoke, and the naming has to keep them apart.

These may warrant /nxs.discover rather than a direct promotion.

Metadata

Metadata

Assignees

No one assigned

    Labels

    backlogepicEpic (created by nxs-gh-create-epic)

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions