opción
HogarHogar Skill DevOps y CI/CD teams-app-developer

teams-app-developer

microsoft/skills microsoft/skills

Compila, prueba e implementa aplicaciones y agentes de Microsoft 365 para Teams y Copilot utilizando la CLI de ATK, con subhabilidades para la creación de proyectos, pruebas locales, implementación en la nube, resolución de problemas y migración de Slack a Teams.

...Expandir todo
0
Tiempo actualizado 16 de septiembre de 2026

Herramienta de habilidades del kit de herramientas de agentes de Microsoft 365

Cree agentes de Microsoft 365 y aplicaciones de Teams utilizando la CLI de ATK.

Directrices de comportamiento de IA

  1. Estrategia de pruebas: Recomiende primero el Entorno de prueba de agentes (más rápido, no se necesita M365). Utilice el flujo de trabajo de Teams solo si el usuario lo solicita explícitamente.

  2. Variables de entorno: NUNCA codifique secretos ni invente valores de marcador de posición. Pregunte siempre a los usuarios por los valores reales.

  3. Gestión de errores: Lea detenidamente los mensajes de error. Compruebe env/.env.local, .localConfigs y atk auth list. Errores comunes:

    • AADSTS7000229 → Falta generateServicePrincipal: true en aadApp/create en el archivo YAML: añádalo y vuelva a aprovisionar
    • Falta TENANT_ID en .localConfigs → SDK utiliza una autoridad de token incorrecta → 401 del Conector de bots
    • 401 persiste tras corregir la autenticación → es posible que la URL de devtunnel esté en lista negra: cree un túnel nuevo
    • Consulte troubleshoot/troubleshoot.md para obtener los pasos completos de diagnóstico
  4. Comandos de larga duración — ESPERE a que finalicen:

    • atk new, atk provision, atk deploy pueden tardar varios minutos
    • Espere siempre a que finalicen antes de ejecutar el siguiente paso (tiempo de espera superior a 120000 ms)
  5. Inicio del servicio local — Bloqueo de terminal (esperado):

    • npm run dev, npm start, python app.py, devtunnel host, etc. bloquearán la terminal: el proceso se ejecutará indefinidamente
    • EJECUTE siempre como un proceso en segundo plano (isBackground=true): NUNCA utilice isBackground=false para estos comandos
    • NO espere a que "termine": verifique el inicio comprobando si aparece "listening on port" o la URL del túnel en la salida
    • Si aparecen errores, lea los registros, diagnostique, corrija y reinicie
    • Utilice una TERMINAL NUEVA para iniciar el Entorno de prueba de agentes o abrir la URL de sideloading de Teams
  6. Monitorización de registros de la aplicación: Compruebe periódicamente la salida del terminal en segundo plano en busca de errores en tiempo de ejecución. Si la aplicación se bloquea, lea el error, corrija la causa raíz y reinicie.

  7. Etiquetado de telemetría: Antes de ejecutar cualquier comando de la CLI atk, establezca la variable de entorno de sesión para que todas las invocaciones de la CLI se etiqueten como iniciadas por la habilidad:

     export ATK_CLI_SKILL=true
    

    Ejecute esto una vez al inicio de la sesión. Todos los comandos atk posteriores en el mismo terminal lo heredarán.

Configuración de la CLI de ATK

atk --version  # Debe ser > 1.1.5-beta

Si no se encuentra ATK o la versión es demasiado antigua:

npm i -g @microsoft/m365agentstoolkit-cli@beta

Opciones globales de la CLI

OpciónSignificadoRecomendación
`-i`Modo interactivoUtilice siempre `-i false` en la automatización para evitar bloqueos
`-f`Carpeta del proyectoEl valor predeterminado es el directorio actual; se utiliza al especificar una carpeta personalizada. Al crear un proyecto nuevo desde una plantilla, esta es la carpeta principal donde se creará la carpeta del proyecto.
`-h`Ayuda del comandoUtilice `atk -h` para comprobaciones rápidas de sintaxis

Subhabilidades

SubhabilidadCuándo utilizarlaReferencia
**create-project**Crear un proyecto nuevo desde una plantilla, elegir plantilla, `atk new`create-project/create-project.md
**test-playground**Probar localmente con el Entorno de prueba de agentes, `agentsplayground`, pruebas rápidastest-playground/test-playground.md
**test-teams**Ejecutar en Teams, devtunnel, sideload, pruebas de Teams, probar en Copilottest-teams/test-teams.md
**provision-deploy**Aprovisionar recursos de Azure, implementar en la nube, `atk provision`, `atk deploy`provision-deploy/provision-deploy.md
**troubleshoot**Corregir errores, 401, conflictos de puerto, errores de YAML, bots obsoletostroubleshoot/troubleshoot.md
**slack-to-teams**Migrar un bot de Slack a Teams, puente entre plataformas, Block Kit a Tarjetas adaptativasslack-to-teams/SKILL.md

OBLIGATORIO: Antes de ejecutar cualquier flujo de trabajo, lea el documento de la subhabilidad correspondiente.

Referencias compartidas

  • manifest-and-yaml.md — Archivos del proyecto, configuración YAML, variables de entorno, flujo de .localConfigs
  • commands.md — Comandos de la CLI de ATK: package, validate, share, collaborate
  • templates.md — Catálogo completo de plantillas con soporte de idiomas
  • experts/ — Más de 100 archivos de microexpertos: SDK de Teams, SDK de Slack, puente entre plataformas, implementación, modelos de IA, seguridad, conversión de idiomas
  • docs/ — Guías de comparación de plataformas: interfaz de usuario, mensajería, identidad, infraestructura, lagunas de funciones

Cadenas de flujo de trabajo

Relacione la intención del usuario con el flujo de trabajo válido más pequeño.

Intención del usuarioFlujo de trabajo (leer en orden)
Crear una aplicación nueva desde cerocreate-project → test-playground
Probar un proyecto existente localmentetest-playground (recomendado) o test-teams
Implementar en Azureprovision-deploy
Corregir un bot rototroubleshoot → volver a probar
Migrar un bot de Slack a Teamsslack-to-teams

OBLIGATORIO: Antes de ejecutar cualquier flujo de trabajo de slack-to-teams, lea primero slack-to-teams/SKILL.md. La subhabilidad contiene un sistema de expertos enrutados con más de 100 archivos de microexpertos para el desarrollo de bots entre plataformas.

Resolución del contexto del proyecto ATK

Resuelva los valores de configuración solo cuando falten. Si un valor ya es conocido en la sesión, reutilícelo.

Paso 1: Detectar el proyecto ATK

Si existe m365agentstoolkit*.yml en la carpeta actual, trátelo como un proyecto ATK y analice la configuración.

Paso 2: Resolver la configuración común

Resuelva las variables a las que se hace referencia en m365agentstoolkit*.yml. Variables comunes: AZURE_OPENAI_API_KEY AZURE_OPENAI_ENDPOINT AZURE_OPENAI_DEPLOYMENT_NAME

Paso 3: Recopilar valores faltantes

Si faltan los valores requeridos, pregunte al usuario solo por los que faltan.

Consulte manifest-and-yaml.md para obtener los detalles completos del archivo de configuración.

Ver en GitHub
---
name: teams-app-developer
description: Builds, tests, and deploys Microsoft 365 apps and agents for Teams and Copilot using the ATK CLI, with sub-skills for project creation, local testing, cloud deployment, troubleshooting, and Slack-to-Teams migration.
---

# Microsoft 365 Agents Toolkit Skill

Build Microsoft 365 agents and Teams apps using the ATK CLI.

## AI Behavior Guidelines

1. **Testing Strategy:** Recommend Agents Playground first (faster, no M365 needed). Use Teams workflow only if user explicitly requests it.

2. **Environment Variables:** NEVER hardcode secrets or make up placeholder values. Always ask users for real values.

3. **Error Handling:** Read error messages carefully. Check `env/.env.local`, `.localConfigs`, and `atk auth list`. Common pitfalls:
   - **`AADSTS7000229`** → `aadApp/create` missing `generateServicePrincipal: true` in YAML — add it and re-provision
   - **Missing `TENANT_ID`** in `.localConfigs` → SDK uses wrong token authority → 401 from Bot Connector
   - **401 persists after auth fix** → devtunnel URL may be blacklisted — create a fresh tunnel
   - See [troubleshoot/troubleshoot.md](troubleshoot/troubleshoot.md) for full diagnostic steps

4. **Long-Running Commands — WAIT for completion:**
   - `atk new`, `atk provision`, `atk deploy` can take several minutes
   - Always wait for completion before running the next step (timeout 120000ms+)

5. **Local Service Startup — Hangs terminal (expected):**
   - `npm run dev`, `npm start`, `python app.py`, `devtunnel host`, etc. will hang — the process keeps running indefinitely
   - ALWAYS run as a background process (`isBackground=true`) — NEVER use `isBackground=false` for these commands
   - Do NOT wait for it to "finish" — verify startup by checking output for "listening on port" or tunnel URL
   - If errors appear, read logs, diagnose, fix, restart
   - Use a **NEW terminal** to launch Agents Playground or open Teams sideloading URL

6. **Monitor App Logs:** Periodically check background terminal output for runtime errors. If the app crashes, read the error, fix the root cause, and restart.

7. **Telemetry Tagging:** Before running any `atk` CLI commands, set the session environment variable so all CLI invocations are tagged as skill-initiated:
   ```bash
   export ATK_CLI_SKILL=true
   ```
   Run this once at the start of the session. All subsequent `atk` commands in the same terminal will inherit it.

## ATK CLI Setup

```bash
atk --version  # Must be > 1.1.5-beta
```

If ATK is not found or version is too old:

```bash
npm i -g @microsoft/m365agentstoolkit-cli@beta
```

## CLI Global Options

| Option | Meaning          | Recommendation                                                                                                                                                                   |
| ------ | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `-i`   | Interactive mode | Always use `-i false` in automation to avoid hanging                                                                                                                             |
| `-f`   | Project folder   | Default to be current directory, used when specifying a custom folder. When scaffolding a new project, this is the parent folder where the project folder will be created under. |
| `-h`   | Command help     | Use `atk <command> -h` for quick syntax checks                                                                                                                                   |

## Sub-Skills

| Sub-Skill            | When to Use                                                                      | Reference                                                                    |
| -------------------- | -------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| **create-project**   | Scaffold new project from template, choose template, `atk new`                   | [create-project/create-project.md](create-project/create-project.md)         |
| **test-playground**  | Test locally with Agents Playground, `agentsplayground`, quick testing           | [test-playground/test-playground.md](test-playground/test-playground.md)     |
| **test-teams**       | Run on Teams, devtunnel, sideload, Teams testing, test in Copilot                | [test-teams/test-teams.md](test-teams/test-teams.md)                         |
| **provision-deploy** | Provision Azure resources, deploy to cloud, `atk provision`, `atk deploy`        | [provision-deploy/provision-deploy.md](provision-deploy/provision-deploy.md) |
| **troubleshoot**     | Fix errors, 401, port conflicts, YAML errors, stale bots                         | [troubleshoot/troubleshoot.md](troubleshoot/troubleshoot.md)                 |
| **slack-to-teams**   | Migrate Slack bot to Teams, cross-platform bridging, Block Kit to Adaptive Cards | [slack-to-teams/SKILL.md](slack-to-teams/SKILL.md)                           |

> **MANDATORY:** Before executing any workflow, read the corresponding sub-skill document.

## Shared References

- [manifest-and-yaml.md](toolkit/manifest-and-yaml.md) — Project files, YAML config, env vars, .localConfigs flow
- [commands.md](toolkit/commands.md) — ATK CLI commands: package, validate, share, collaborate
- [templates.md](toolkit/templates.md) — Complete template catalog with language support
- [experts/](experts/index.md) — 100+ micro-expert files: Teams SDK, Slack SDK, cross-platform bridging, deploy, AI models, security, language conversion
- [docs/](docs/README.md) — Platform comparison guides: UI, messaging, identity, infrastructure, feature gaps

## Workflow Chains

Match user intent to the smallest valid workflow.

| User Intent                   | Workflow (read in order)                    |
| ----------------------------- | ------------------------------------------- |
| Build new app from scratch    | create-project → test-playground            |
| Test existing project locally | test-playground (recommended) or test-teams |
| Deploy to Azure               | provision-deploy                            |
| Fix broken bot                | troubleshoot → re-test                      |
| Migrate Slack bot to Teams    | slack-to-teams                              |

> **MANDATORY:** Before executing any slack-to-teams workflow, read [slack-to-teams/SKILL.md](slack-to-teams/SKILL.md) first. The sub-skill contains a routed expert system with 100+ micro-expert files for cross-platform bot development.

## ATK Project Context Resolution

Resolve config values only when missing. If a value is already known in the session, reuse it.

### Step 1: Detect ATK Project

If `m365agentstoolkit*.yml` exists in the current folder, treat it as an ATK project and parse configuration.

### Step 2: Resolve Common Configuration

Resolve variables referenced in `m365agentstoolkit*.yml`. Common variables:
AZURE_OPENAI_API_KEY
AZURE_OPENAI_ENDPOINT
AZURE_OPENAI_DEPLOYMENT_NAME

### Step 3: Collect Missing Values

If required values are missing, ask the user for only the missing ones.

Refer to [manifest-and-yaml.md](toolkit/manifest-and-yaml.md) for full config-file details.

Todos los archivos

147 archivos
SKILL.md 7.6k
Ver

Instalar teams-app-developer

Descarga y extrae los archivos de habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

git clone https://github.com/microsoft/skills/tree/main/.github/plugins/microsoft-365-agents-toolkit/skills/teams-app-developer # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuración rápida: Copie la carpeta de habilidades a .claude/skills/ Claude detectará y utilizará automáticamente la habilidad
Repositorio microsoft/skills

Habilidades relacionadas

base44-cli
Tiempo actualizado 29 de junio de 2026
klingai-upgrade-migration
Tiempo actualizado 3 de julio de 2026
Railway CLI Management
Tiempo actualizado 2 de julio de 2026
Verification &amp; Quality Assurance
Tiempo actualizado 29 de junio de 2026
OR