Personalizar Copilot para una tarea de inventario acotada
Las instrucciones influyen en las respuestas; no hacen cumplir los permisos. Un agente personalizado
define un perfil de rol y herramientas; sus metadatos target no significan «ejecutar en la nube».
Selecciona la ejecución mediante el control real de destino de sesión.
Resumen del laboratorio

Ilustración conceptual original (SVG)
| De un vistazo | Tu ruta |
|---|---|
| Nivel y tiempo | 300; 80 minutos (estimación de facilitación) |
| Acción inicial | Verifica el descubrimiento y prueba el cambio de inventario por separado. |
| Materiales del aprendiz | Descarga 15-customization.zip |
| Espacio de trabajo | Abre la raíz del kit extraído; ejecuta la baseline desde . relativa a esa raíz |
| Comprobación inicial esperada | Las pruebas base suministradas pasan. |
| Ayuda de configuración | Descarga, extrae, Git local y GitHub opcional |
[!NOTE] Un archivo que existe en disco no prueba que el host lo haya cargado.
Conceptos · Primera tarea · Lista de evidencias · Restablecer
Objetivos de aprendizaje
- Usa la primitiva de personalización más pequeña para cada necesidad.
- Verifica el descubrimiento desde la raíz de un espacio de trabajo desechable.
- Distingue instrucciones, prompts de tareas, skills y transferencias.
- Implementa un cambio de inventario sin asumir que la personalización garantice la corrección.
Antes de empezar
Prepara 15-customization usando la configuración común.
El fixture de inventario de Node incluido no necesita instalar paquetes y sustituye un proyecto externo
obligatorio de Blazor y base de datos. Una adaptación de servicio y controlador en C# es opcional.
Lee la referencia de conceptos.
Conceptos y casos de uso
| Necesidad | Archivo | Verificación |
|---|---|---|
| Convenciones duraderas | .github/copilot-instructions.md |
Contexto descubierto y aplicado y diff conforme |
| Reglas específicas de pruebas | .github/instructions/tests.instructions.md |
applyTo coincide con las rutas de pruebas |
| Tarea manual de revisión | .github/prompts/review-change.prompt.md |
Invocación en una sesión Local compatible |
| Conocimientos reutilizables de verificación | .github/skills/check-evidence/SKILL.md |
Descubrimiento y uso pertinente |
| Planificador de solo lectura | .github/agents/planner.agent.md |
La lista de herramientas carece de autoridad de edición y ejecución |
| Flujo de implementación y revisión | Transferencias entre perfiles | Una persona revisa el prompt precompletado |
Escenario del ejercicio
El fixture lista categorías de inventario. Añade una búsqueda de artículos por SKU exacto, conservando el contrato de categorías y devolviendo copias. No añadas persistencia, autenticación, despliegue en la nube ni una aplicación CRUD completa.
Tarea 1 - Establecer la línea base y el límite del espacio de trabajo
node --test --test-concurrency=1 inventory.test.mjs
Abre únicamente el fixture copiado como raíz del espacio de trabajo. Captura el rol, el harness, el modelo y el estado de permisos seleccionados. Que un archivo de personalización esté oculto en otro espacio de trabajo no demuestra que se haya cargado.
Tarea 2 - Crear instrucciones específicas
-
Crea
.github/copilot-instructions.mdcon una descripción breve del proyecto: cantidades enteras, valores devueltos inmutables, solo biblioteca estándar y pruebas específicas. -
Crea un archivo específico de rutas:
--- applyTo: "**/*.test.mjs" --- Use node:test and node:assert/strict. Test invalid and missing IDs. A passing test must call production code and assert observable behavior. -
Inspecciona la interfaz y las referencias actuales de descubrimiento de personalizaciones del host elegido.
-
Adjunta un archivo de pruebas y pregunta qué orientación se aplica.
-
No crees instrucciones contradictorias para «probar la precedencia»: VS Code no promete un orden de combinación. Resuelve las contradicciones explícitamente.
Tarea 3 - Comparar un prompt y una skill
-
En Local, crea un prompt usando
agent: asky herramientas de lectura y búsqueda:--- description: Review an inventory change against its acceptance criteria. agent: ask tools: [read, search] --- Inspect the selected change and tests. Report missing cases with source paths. Do not edit files or claim tests ran unless their output is available. -
Invócalo y registra en qué se diferencia de las instrucciones automáticas.
-
Crea un
check-evidence/SKILL.mdcon frontmatternameydescription, seguido de pasos para seleccionar y ejecutar comprobaciones existentes e informar de evidencia real. -
Inspecciona el descubrimiento de skills en el harness Copilot cuando esté disponible.
-
No esperes que el archivo de prompt se ejecute en Agent Host; no copies todo su texto en instrucciones siempre activas como solución alternativa.
Tarea 4 - Definir un planificador y una transferencia acotada
Crea .github/agents/planner.agent.md:
---
name: inventory-planner
description: Plan a small inventory change without editing source.
tools: [read, search]
handoffs:
- label: Implement reviewed plan
agent: agent
prompt: Implement only the reviewed inventory slice and run its focused tests.
send: false
---
Inspect current source and tests. State acceptance criteria, files, checks and
non-goals. Do not edit, execute commands, or invent validation results.
Inspecciona el perfil y las herramientas en el host. Los nombres y alias de herramientas y las transferencias difieren
entre superficies; usa el selector documentado en lugar de añadir nombres de herramientas supuestos.
No establezcas target: cloud: ese no es el mecanismo de ejecución documentado.
Tarea 5 - Completar un cambio revisado
- Pide al planificador que especifique
findBySku(sku)con casos de encontrado, ausente, no válido y aislamiento de copias. - Revisa el plan y el prompt precompletado de transferencia antes de enviarlo.
- Deja que Agent implemente únicamente esa función y sus pruebas.
- Revisa en una sesión limpia con solo lectura y búsqueda.
- Ejecuta tú mismo el archivo completo de pruebas del pequeño fixture.
- Compara el cumplimiento real del comportamiento con la mera existencia de archivos de instrucciones.
Verifica tu trabajo
- Las personalizaciones se descubren desde la raíz copiada.
- No se confunden instrucciones y prompts.
- El planificador no tiene herramientas de edición ni ejecución.
- Una persona revisa la transferencia; se registran las funciones no disponibles.
- Se prueban tanto la nueva búsqueda de artículos como el comportamiento antiguo de categorías.
- Ninguna personalización se describe como un entorno aislado o una política determinista.
Solución de problemas
Si no aparece el perfil, inspecciona la raíz del espacio de trabajo, el nombre de archivo y el frontmatter. Si una herramienta no está disponible, elige un alias compatible en lugar de conceder todas las herramientas. Si la implementación ignora una convención, inspecciona el contexto y las pruebas; no afirmes que las instrucciones la hacen cumplir automáticamente.
Práctica independiente
Adapta las mismas convenciones a un servicio de inventario y un proyecto de pruebas de C#. Explica qué
reglas son comunes a las pilas y qué patrones applyTo o nombres de herramientas deben cambiar.
Restablecimiento
Guarda la evidencia de descubrimiento con los datos sensibles ocultos. Cierra el espacio de trabajo copiado y sus sesiones de agente.
Restaura únicamente las personalizaciones y el código del ejercicio en esa copia, nunca el directorio
compartido .github del contenido formativo.