Support machine-level custom slash commands for cross-project workflow consistency
- Lenguaje dominante
- Shell
- Estrellas
- 11.2k
- Forks
- 1.9k
- Merge medio
- 14 h 16 min
- PR fusionados (30 d)
- 6
Descripción
## 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.
Guía de contribución
Línea de trabajo
Empieza rastreando cómo se descubren los ~/.agents/skills/ existentes y los .claude/commands/ a nivel del repositorio; el issue no menciona archivos del repositorio ni pruebas. Compara ese comportamiento con el flujo propuesto de ~/.copilot/commands/push.md y $ARGUMENTS, incluido su uso desde otro directorio de trabajo. Se considera terminado cuando un comando a nivel de máquina funciona entre proyectos y recibe el argumento del nombre del proyecto de forma consistente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- shell
- Área
- cli, developer-experience, tooling
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100