Skip to content

Support machine-level custom slash commands for cross-project workflow consistency #3343

@eldonferranpol

Description

@eldonferranpol

Feature Request

Summary

Add support for machine-level custom slash commands — personal commands available across all repos from any working directory, enabling consistent workflows across many projects.

The Use Case

Developers working across multiple projects want a single command like /push otera\ or /push persistence\ that:

  • Works from any directory (not just the target repo's directory)
  • Runs the same quality pipeline against the named project
  • Enforces organisational consistency — /push\ means the same thing on every project, for every developer

This mirrors a pattern common in PowerShell-based developer workflows where a central project registry (e.g. \Projects.ps1) maps project names to paths, and commands like \push otera\ execute a standardised pipeline regardless of your current directory.

Current State

Skills (~/.agents/skills/) exist but are higher-ceremony and not designed around this cross-project, project-name-as-argument pattern.

Proposed

A ~/.copilot/commands/\ directory where markdown files define machine-level slash commands. A command like \push.md\ becomes /push\ and receives any arguments (e.g. the project name) via $ARGUMENTS.

Why it matters

  • Cross-project consistency: one command, same behaviour everywhere
  • Organisational standardisation: teams can share a ~/.copilot/commands/\ baseline as part of machine setup
  • AI-native equivalent of a project registry: replaces PowerShell/shell profile dependencies with a portable, AI-native workflow layer
  • Facilitates agentic handoff: a named project command gives the agent enough context to act without being in the target directory

Prior art

Claude CLI supports repo-level commands via .claude/commands/. Machine-level commands would complement this, covering the cross-project orchestration case that repo-level commands cannot address.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variablesarea:pluginsPlugin system, marketplace, hooks, skills, extensions, and custom agents
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions