github / github/copilot-cli

Dynamic context injection in Skills (`!command` placeholder)

Abierto
#4,088 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area:context-memory
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

### Feature request for product/service

GitHub Copilot CLI

### Describe the request

Add **dynamic context injection** to Agent Skills (`SKILL.md`) in GitHub Copilot CLI.

I’m proposing the !`<command>` command placeholder inside the skill body. When the skill is invoked, Copilot CLI would run the shell command locally **before** sending the skill content to the model, then replace the placeholder with the command’s stdout.

That would let skills combine live data + instructions in a single turn, instead of asking the agent to make a separate shell call at runtime.

### Example

```md
---
name: summarize-changes
description: Summarize uncommitted changes and flag risks
---

## Current changes

!`git diff HEAD`

## Instructions

Summarize the changes above in 2–3 bullets and list risks.
If the diff is empty, say there are no uncommitted changes.
```

### Why this matters

Today, skills that depend on live state usually have to tell the agent to run shell commands itself during the interaction. That is slower, uses extra tokens, and is less reliable — the agent may skip the command, choose the wrong one, or reason from stale file context instead of actual output.

With injection, repeatable workflows like PR review, commit summaries, and pre-merge checks become self-bootstrapping: the skill gathers facts first, then the model reasons over them.

### Use cases

- Branch / PR review: `!`git diff master...HEAD``, `!`gh pr diff``
- Commit helper: `!`git diff --staged``
- Pre-ship checks: test output, lint output, or other command results

### Suggested safeguards

- Respect existing shell-execution policies / hooks
- Make command injection opt-in per skill and/or configurable globally
- Cap or truncate large stdout
- Surface command failures clearly when the injected command fails

### Prior art

Claude Code already ships this pattern as part of the Agent Skills standard extension: https://code.claude.com/docs/en/skills#inject-dynamic-context

Guía de contribución

Abrir la guía de contribución

Línea de trabajo

Empieza rastreando la invocación de Agent Skills (SKILL.md) y las políticas o hooks existentes para la ejecución de shell en GitHub Copilot CLI. Revisa la documentación enlazada de Claude Code sobre el contexto dinámico para conocer el comportamiento propuesto de los marcadores de posición y determina cómo deben funcionar las salvaguardas, los límites de salida y los fallos de los comandos. Se considera terminado cuando un skill puede expandir !`command` a partir de la salida estándar local antes de que su contenido se envíe al modelo, con las protecciones de políticas indicadas.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
shell
Área
cli
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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.