Awesome CopilotAdventures

Documentación del producto verificada

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

Una regla, una tarjeta de tarea, un estuche de herramientas y una pequeña estación comparten una mesa de trabajo.

Ilustración conceptual original (SVG)

Relaciona cada necesidad con el primitivo de personalización más pequeño.

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

  1. Crea .github/copilot-instructions.md con una descripción breve del proyecto: cantidades enteras, valores devueltos inmutables, solo biblioteca estándar y pruebas específicas.

  2. 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.
    
  3. Inspecciona la interfaz y las referencias actuales de descubrimiento de personalizaciones del host elegido.

  4. Adjunta un archivo de pruebas y pregunta qué orientación se aplica.

  5. 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

  1. En Local, crea un prompt usando agent: ask y 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.
    
  2. Invócalo y registra en qué se diferencia de las instrucciones automáticas.

  3. Crea un check-evidence/SKILL.md con frontmatter name y description, seguido de pasos para seleccionar y ejecutar comprobaciones existentes e informar de evidencia real.

  4. Inspecciona el descubrimiento de skills en el harness Copilot cuando esté disponible.

  5. 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

  1. Pide al planificador que especifique findBySku(sku) con casos de encontrado, ausente, no válido y aislamiento de copias.
  2. Revisa el plan y el prompt precompletado de transferencia antes de enviarlo.
  3. Deja que Agent implemente únicamente esa función y sus pruebas.
  4. Revisa en una sesión limpia con solo lectura y búsqueda.
  5. Ejecuta tú mismo el archivo completo de pruebas del pequeño fixture.
  6. 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.

Referencias oficiales

Buscar

Búsqueda en español. Las rutas y los ejemplos ejecutables conservan el texto original.