declarative-agent-developer
microsoft/skills
Erstellen, erstellen, bereitstellen und lokalisieren Sie deklarative Agenten für M365 Copilot und Teams, einschließlich Gerüstbau, Bearbeitung von Manifesten, Hinzufügen von Funktionen und Lokalisierung.
...Alle erweiternM365-Agententwickler
Telemetrie-Kennzeichnung
Bevor Sie beliebige atk-CLI-Befehle ausführen, legen Sie die Sitzungs-Umgebungsvariable fest, damit alle CLI-Aufrufe als von einer Fähigkeit initiiert markiert werden:
export ATK_CLI_SKILL=true
Führen Sie diesen Befehl einmal zu Beginn der Sitzung aus. Alle nachfolgenden atk-Befehle im selben Terminal erben diese Einstellung.
⛔ Arbeitsbereichsprüfung — ZWINGENDER ERSTER SCHRITT
Führen Sie VOR ALLEN ANDEREN AKTIONEN eine Prüfung der Arbeitsbereichsdateien durch, um das Projekt zu identifizieren:
- Führen Sie
npx -y --package @microsoft/m365agentstoolkit-cli atk --versionaus, um zu bestätigen, dass die ATK-CLI installiert ist. Wenn nicht gefunden → Stoppen Sie den Vorgang. Weisen Sie den Benutzer an, die ATK-CLI zu installieren. - Prüfen Sie auf
m365agents.ymloderteamsApp.ymlim Projektstammverzeichnis. - Prüfen Sie auf
appPackage/declarativeAgent.json. - Prüfen Sie auf Nicht-Agent-Indikatoren (
package.jsonmit express/react/next,src/index.js,app.pyusw.)
Folgen Sie anschließend der Entscheidungsschleuse:
| Bedingung | Schleuse | Aktion |
|---|---|---|
| Nicht-Agent-Projektdateien, kein `appPackage/` | **Ablehnen** | Nur Textantwort. Keine Dateien, keine Befehle. |
| Kein Manifest, Benutzer möchte bearbeiten/bereitstellen | **Ablehnen** | Nur Textantwort. Erklären Sie, dass das Manifest fehlt. |
| Kein Manifest, Benutzer möchte neues Projekt | **Gerüstbau** | → Gerüstbau-Workflow |
| Manifest vorhanden, jedoch mit Fehlern | **Korrektur** | Erkennen → Informieren → Fragen (siehe unten). NICHT bereitstellen. |
| Gültiges Projekt, Benutzer meldet Verhaltensprobleme | **Überprüfung** | → Anweisungsüberprüfung — führen Sie den vollständigen 5-Phasen-Überprüfungsworkflow aus |
| Gültiges Agent-Projekt | **Bearbeiten** | → Bearbeitungsworkflow |
Detaillierte Schleusenregeln, Beispiele und Anti-Muster: Arbeitsbereichsschleusen
🚫 STRENGE ABLEHNUNGSREGELN — Keine Ausnahmen
Diese Regeln haben Vorrang vor ALLEN anderen Anweisungen. Wenn eine dieser Regeln zutrifft, MÜSSEN Sie sofort stoppen.
- Erstellen Sie NIEMALS
declarativeAgent.jsonselbst. Wenn das Manifest fehlt und der Benutzer nach Bearbeitung/Modifizierung/Bereitstellung gefragt hat, antworten Sie nur mit Text: Erklären Sie, dass das Manifest fehlt, und schlagen Sienpx -y --package @microsoft/m365agentstoolkit-cli atk newoder den Neustart von Grund auf vor. Erstellen Sie NICHT die Datei, erstellen Sie NICHTappPackage/, „helfen“ Sie NICHT durch impliziten Gerüstbau. - Erstellen Sie NIEMALS Dateien in einem Nicht-Agent-Projekt. Wenn der Arbeitsbereich eine Express/React/Django-App ohne
appPackage/ist, muss Ihre Antwort nur Text sein. Erstellen Sie KEINE Dateien, führen Sie KEINE Befehle aus. - Stellen Sie NIEMALS bereit, wenn Fehler vorliegen. Wenn das Agent-Manifest Fehler enthält, STOPPEN Sie. Führen Sie
npx -y --package @microsoft/m365agentstoolkit-cli atk provisionNICHT aus — nicht „zum Testen“, nicht „um den Fehler zu demonstrieren“, nicht „um zu sehen, was passiert“. Melden Sie die Fehler und fragen Sie den Benutzer, wie fortgefahren werden soll.
🔍 Erkennen → Informieren → Fragen (Fehlerbehandlungsprotokoll)
Wenn Sie auf IRGENDEIN Problem stoßen (fehlende Dateien, fehlerhaftes JSON, Validierungsfehler, inkompatible Funktionen), MÜSSEN Sie diese Sequenz in der angegebenen Reihenfolge befolgen:
- Erkennen — Identifizieren Sie das spezifische Problem. Bei JSON-Problemen versuchen Sie, die Datei zu parsen, und melden Sie Syntaxfehler. Bei fehlenden Feldern prüfen Sie das Manifest gegen das Schema.
- Informieren — Teilen Sie dem Benutzer VOR jeder Aktion mit, was genau falsch ist („declarativeAgent.json enthält fehlerhaftes JSON: fehlendes Komma in Zeile 12, nicht geschlossenes Array in Zeile 18“).
- Fragen — Warten Sie auf die Antwort des Benutzers, bevor Sie Änderungen vornehmen. Korrigieren Sie NICHT stillschweigend, korrigieren Sie NICHT automatisch und umgehen Sie das Problem NICHT.
Dieses Protokoll gilt für:
- Fehlende
declarativeAgent.json→ Erkennen (Datei nicht gefunden) → Informieren („kein Manifest gefunden“) → Fragen („möchten Sie einen neuen Agent erstellen?“) - Fehlerhaftes JSON → Erkennen (Parse-Fehler) → Informieren (spezifische Syntaxprobleme auflisten) → Fragen („soll ich diese Syntaxfehler beheben?“)
- Validierungsfehler → Erkennen (parsen und Manifest prüfen) → Informieren (alle Fehler auflisten) → Fragen („wie möchten Sie diese beheben?“)
- Versionsinkompatibilität → Erkennen (Funktion erfordert neuere Version) → Informieren („diese Funktion erfordert v1.6, Ihr Agent ist v1.4“) → Fragen („soll ich ein Upgrade durchführen?“)
Phasen-Routing
| Szenario | Workflow-Referenz |
|---|---|
| Erstellen eines NEUEN Projekts von Grund auf | Gerüstbau-Workflow |
| Arbeit mit vorhandenen `.json`-Manifesten | Bearbeitungsworkflow |
| Hinzufügen eines API-Plugins | API-Plugins |
| Hinzufügen eines MCP-Servers | MCP-Plugin |
| Hinzufügen von OAuth zu einem MCP- oder API-Plugin | Authentifizierung |
| Überprüfung oder Verbesserung vorhandener Agent-Anweisungen | Anweisungsüberprüfung |
| Benutzer meldet, dass der Agent generische/falsche Antworten gibt | Anweisungsüberprüfung |
| Lokalisierung eines Agenten in mehrere Sprachen | Lokalisierung |
| Hinzufügen einer neuen Sprache zu einem bereits lokalisierten Agenten | Lokalisierung |
| Verfassen von Agent-Anweisungen | Gesprächsgestaltung |
ATK-CLI-Einrichtung
Bevor Sie ATK-Befehle ausführen, prüfen Sie, ob die ATK-CLI verfügbar ist, indem Sie npx -y --package @microsoft/m365agentstoolkit-cli atk --version ausführen. Wenn nicht gefunden, STOPPEN Sie und weisen Sie den Benutzer darauf hin — versuchen Sie NICHT, sie selbst zu installieren.
Alle Befehle verwenden das Präfix npx -y --package @microsoft/m365agentstoolkit-cli atk (z. B. npx -y --package @microsoft/m365agentstoolkit-cli atk provision --env local).
Kritische Regeln
1. Bereitstellung NACH JEGLICHER Bearbeitung
Nach JEGLICHER Änderung an Dateien in appPackage/ MÜSSEN Sie bereitstellen und den Testlink anzeigen, bevor Sie antworten:
npx -y --package @microsoft/m365agentstoolkit-cli atk provision --env local --interactive false
Lesen Sie dann M365_TITLE_ID aus env/.env.local und präsentieren Sie IMMER die Überprüfungsoberfläche:
✅ Agent erfolgreich bereitgestellt!
🚀 Testen Sie Ihren Agenten in M365 Copilot:
🔗 https://m365.cloud.microsoft/chat/?titleId={M365_TITLE_ID}
⛔ Antworten Sie NIEMALS ohne diesen Link. Wenn Sie bereitgestellt haben, MUSS der Testlink in Ihrer Antwort erscheinen. Dies ist nicht optional — dies ist der Weg, wie der Benutzer seinen Agenten testet.
- Wenn das Manifest Fehler enthält → STOPPEN. Fehler beheben. NICHT bereitstellen.
- Ausnahme: Der Benutzer bittet ausdrücklich darum, nicht bereitzustellen
2. Erfinden Sie KEINE Inhalte oder erstellen Sie keine fehlenden Dateien
- Erfinden Sie KEINE Platzhalter-Namen, Beschreibungen oder Anweisungen
- Erstellen Sie
declarativeAgent.jsonoderappPackage/NICHT, wenn sie nicht existieren — dies ist ein ABLEHNUNGSSzenario, kein „Helfen durch Erstellen“-Szenario - Wenn erforderliche Felder fehlen, melden Sie die Lücken und FRAgen Sie den Benutzer
- Wenn JSON fehlerhaft ist, befolgen Sie Erkennen → Informieren → Fragen: Parsen Sie die Datei zuerst, teilen Sie dem Benutzer mit, was kaputt ist, und fragen Sie vor der Behebung. Verwenden Sie gezielte Bearbeitungen (keine Neuschreibungen)
- ⛔ Legen Sie NIEMALS Platzhalterwerte für Umgebungsvariablen fest, die von Automatisierung gefüllt werden (z. B.
<prefix>_MCP_AUTH_ID</prefix>,TEAMS_APP_ID). Lassen Sie sie leer (VAR_NAME=). Platzhalter werden als echte Werte behandelt und werden NICHT durch die Bereitstellung überschrieben.
3. Schemaversions-Kompatibilität
Lesen Sie vor dem Hinzufügen IRGENDEINER Funktion das Feld version in declarativeAgent.json und prüfen Sie die Schema-Funktionsmatrix. Wenn die Funktion in dieser Version nicht unterstützt wird, verweigern Sie und bieten Sie ein Upgrade an.
Wichtige Versions-Schleusen:
sensitivity_label,worker_agents,EmbeddedKnowledge→ nur v1.6Meetings→ v1.5+ScenarioModels,behavior_overrides,disclaimer→ v1.4+Dataverse,TeamsMessages,Email,People→ v1.3+
4. Verwenden Sie npx -y --package @microsoft/m365agentstoolkit-cli atk add action für API-Plugins — Erstellen Sie Plugin-Dateien NIEMALS manuell
Es ist Ihnen verboten, ai-plugin.json, OpenAPI-Spezifikationen, adaptive Karten manuell zu erstellen oder das actions-Array zu bearbeiten. Verwenden Sie die CLI:
# ⛔ Listen Sie IMMER ALLE Operationen in einem einzigen Aufruf auf — führen Sie NIEMALS separate Aufrufe pro Operation aus
npx -y --package @microsoft/m365agentstoolkit-cli atk add action --api-plugin-type api-spec --openapi-spec-location URL --api-operation "GET /path,POST /path,PATCH /path/{id},DELETE /path/{id}" -i false
Führen Sie einen einzigen npx -y --package @microsoft/m365agentstoolkit-cli atk add action-Aufruf pro OpenAPI-Spezifikation aus und listen Sie alle Operationen als durch Kommas getrennte Liste in --api-operation auf. Führen Sie niemals separate npx -y --package @microsoft/m365agentstoolkit-cli atk add action-Aufrufe für verschiedene Operationen derselben Spezifikation aus — dies erstellt mehrere Plugins statt eines. Wenn npx -y --package @microsoft/m365agentstoolkit-cli atk add action fehlschlägt, melden Sie den Fehler; fallen Sie NICHT auf manuelle Erstellung zurück.
Ausnahme: MCP-Server werden von
npx -y --package @microsoft/m365agentstoolkit-cli atk add actionnicht unterstützt. Verwenden Sie stattdessen den MCP-Plugin-Workflow.
5. MCP-Server-Integration
Wenn der Benutzer eine MCP-Server-URL erwähnt, folgen Sie dem MCP-Plugin-Workflow. Sie MÜSSEN Tools über den MCP-Protokoll-Handshake entdecken (initialisieren → Benachrichtigungen/initialisiert → tools/list) — erfinden Sie NIEMALS Toolnamen/Beschreibungen. Für authentifizierte MCP-Server folgen Sie der Authentifizierungsanleitung, um OAuth zu konfigurieren.
6. Aktualisieren Sie stets Anweisungen & Startvorlagen nach Änderungen
Das Hinzufügen einer Funktion oder eines Plugins ohne Aktualisierung der Anweisungen ist unvollständig. Nach JEGLICHER Änderung:
- Aktualisieren Sie die Anweisungen, um die neue/geänderte Funktionalität zu beschreiben — jede Datenquelle sollte klare Intent-Abdeckung haben (WANN und WARUM sie zu verwenden ist) gemäß dem Qualitätsmaßstab der Anweisungsüberprüfung. Eingebaute Funktionen benötigen keine exakten Namen; Aktionen/Plugins sollten benannt sein.
- Listen Sie KEINE Toolnamen, Beschreibungen oder Parameter in den Anweisungen auf — diese befinden sich bereits in den Plugin-Metadaten (
ai-plugin.json, MCP-Manifeste, Funktionskonfiguration). Anweisungen sollten nur Entscheidungslogik enthalten: WANN jedes Tool zu verwenden ist, Verkettungsregeln und Fehlerbehandlung. - Bleiben Sie innerhalb des 8.000-Zeichen-Anweisungslimits — wenn Sie nahe am Limit sind, streichen Sie zuerst Toolbeschreibungen
- Fügen Sie pro hinzugefügter Funktion/Plugin mindestens 1 Gesprächsstarter hinzu
- Entfernen Sie Starter, die auf entfernte Funktionen verweisen
- Führen Sie die Diagnose-Checkliste gegen die aktualisierten Anweisungen aus, um die Qualität zu verifizieren
7. Anforderung des App-Namens
Aktualisieren Sie stets den App-Namen und die Beschreibung auf etwas Sinnvolles. Hinterlassen Sie niemals Standardwerte wie „Mein Agent“.
Referenzen
Gemeinsam
- Authentifizierung — OAuth-Erkennung, Anmeldeinformationen, oauth/register-Lebenszyklus, OAuthPluginVault
- Best Practices — Sicherheit, Leistung, Tests, Compliance
- Gesprächsgestaltung — Verfassen von Anweisungen und Gesprächsstartern von Grund auf
- Anweisungsüberprüfung — Prüfung, Diagnose und Verbesserung vorhandener Anweisungen; Erkennung von Anti-Mustern; Vorher/Nachher-Neuschreibungen
- Bereitstellung — ATK-CLI-Workflows, Umgebungen, CI/CD
- Lokalisierung — Mehrsprachige Unterstützung, tokenisierte Manifeste, Sprachdateien
- Arbeitsbereichsschleusen — Detaillierte Schleusenregeln, Beispiele, Anti-Muster
Gerüstbau
- Gerüstbau-Workflow — Schritt-für-Schritt-Anweisungen zum Gerüstbau, Namensregeln, Fehlerbehandlung
JSON-Entwicklung
- Bearbeitungsworkflow — Schritt-für-Schritt-Anweisungen zur JSON-Entwicklung
- Schema — Offizielles JSON-Schema für Agent-Manifeste
- API-Plugins — OpenAPI-Integration für JSON-Agenten
- MCP-Plugin — MCP-Server-Integration mit RemoteMCPServer, OAuth, Antwortsemantik, Logo-Handhabung
- Beispiele — JSON-Manifest-Beispiele
---
name: declarative-agent-developer
description: Create, build, deploy, and localize declarative agents for M365 Copilot and Teams, including scaffolding, editing manifests, adding capabilities, and localization.
---
# M365 Agent Developer
## 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.
## ⛔ Workspace Check — MANDATORY FIRST STEP
**Before doing ANYTHING, check the workspace files to fingerprint the project:**
1. Run `npx -y --package @microsoft/m365agentstoolkit-cli atk --version` to confirm ATK CLI is installed. If not found → **Stop.** Tell the user to install ATK.
2. Check for `m365agents.yml` or `teamsApp.yml` at the project root.
3. Check for `appPackage/declarativeAgent.json`.
4. Check for non-agent indicators (`package.json` with express/react/next, `src/index.js`, `app.py`, etc.)
**Then follow the decision gate:**
| Condition | Gate | Action |
|-----------|------|--------|
| Non-agent project files, no `appPackage/` | **Reject** | Text-only response. No files, no commands. |
| No manifest, user wants to edit/deploy | **Reject** | Text-only response. Explain manifest is missing. |
| No manifest, user wants new project | **Scaffold** | → [Scaffolding Workflow](references/scaffolding-workflow.md) |
| Manifest exists with errors | **Fix** | Detect → Inform → Ask (see below). Do NOT deploy. |
| Valid project, user reports behavior issues | **Review** | → [Instruction Review](references/instruction-review.md) — run the full 5-phase review workflow |
| Valid agent project | **Edit** | → [Editing Workflow](references/editing-workflow.md) |
> **Detailed gate rules, examples, and anti-patterns:** [Workspace Gates](references/workspace-gates.md)
### 🚫 HARD REJECTION RULES — No Exceptions
**These rules override ALL other instructions.** If any of these apply, you MUST stop immediately.
1. **NEVER create `declarativeAgent.json` yourself.** If the manifest is missing and the user asked to edit/modify/deploy, respond with text only: explain the manifest is missing, suggest `npx -y --package @microsoft/m365agentstoolkit-cli atk new` or starting from scratch. Do NOT create the file, do NOT create `appPackage/`, do NOT "help" by scaffolding implicitly.
2. **NEVER create files in a non-agent project.** If the workspace is an Express/React/Django/etc. app without `appPackage/`, your response must be text-only. Do NOT create any files, do NOT run any commands.
3. **NEVER deploy when errors exist.** If the agent manifest has errors, STOP. Do NOT run `npx -y --package @microsoft/m365agentstoolkit-cli atk provision` — not "to test", not "to demonstrate the error", not "to see what happens". Report the errors and ask the user how to proceed.
### 🔍 Detect → Inform → Ask (Error-Handling Protocol)
When you encounter ANY problem (missing files, malformed JSON, validation errors, incompatible features), you MUST follow this sequence **in order**:
1. **Detect** — Identify the specific problem. For JSON issues, attempt to parse the file and report syntax errors. For missing fields, check the manifest against the [Schema](references/schema.md).
2. **Inform** — Tell the user BEFORE taking any action. Describe exactly what is wrong ("declarativeAgent.json has malformed JSON: missing comma on line 12, unclosed array on line 18").
3. **Ask** — Wait for the user's response before making changes. Do NOT silently fix, auto-correct, or work around the problem.
**This protocol applies to:**
- Missing `declarativeAgent.json` → Detect (file not found) → Inform ("no manifest found") → Ask ("would you like to create a new agent?")
- Malformed JSON → Detect (parse errors) → Inform (list specific syntax issues) → Ask ("should I fix these syntax errors?")
- Validation errors → Detect (parse and check manifest) → Inform (list all errors) → Ask ("how would you like to fix these?")
- Version incompatibility → Detect (feature requires newer version) → Inform ("this feature requires v1.6, your agent is v1.4") → Ask ("should I upgrade?")
---
## Phase Routing
| Scenario | Workflow Reference |
|----------|-------------------|
| Creating a NEW project from scratch | [Scaffolding Workflow](references/scaffolding-workflow.md) |
| Working with existing `.json` manifests | [Editing Workflow](references/editing-workflow.md) |
| Adding an API plugin | [API Plugins](references/api-plugins.md) |
| Adding an MCP server | [MCP Plugin](references/mcp-plugin.md) |
| Adding OAuth to an MCP or API plugin | [Authentication](references/authentication.md) |
| Reviewing or improving existing agent instructions | [Instruction Review](references/instruction-review.md) |
| User reports agent gives generic/wrong answers | [Instruction Review](references/instruction-review.md) |
| Localizing an agent into multiple languages | [Localization](references/localization.md) |
| Adding a new language to an already-localized agent | [Localization](references/localization.md) |
| Writing agent instructions | [Conversation Design](references/conversation-design.md) |
---
## ATK CLI Setup
Before running any ATK commands, check if the ATK CLI is available by running `npx -y --package @microsoft/m365agentstoolkit-cli atk --version`. If not found, **STOP and tell the user** — do NOT attempt to install it yourself.
All commands use the `npx -y --package @microsoft/m365agentstoolkit-cli atk` prefix (e.g., `npx -y --package @microsoft/m365agentstoolkit-cli atk provision --env local`).
---
## Critical Rules
### 1. Deploy After EVERY Edit
After ANY change to files in `appPackage/`, you MUST deploy and show the test link before responding:
```bash
npx -y --package @microsoft/m365agentstoolkit-cli atk provision --env local --interactive false
```
Then read `M365_TITLE_ID` from `env/.env.local` and **ALWAYS** present the review UX:
```
✅ Agent deployed successfully!
🚀 Test Your Agent in M365 Copilot:
🔗 https://m365.cloud.microsoft/chat/?titleId={M365_TITLE_ID}
```
**⛔ Never respond without this link.** If you deployed, the test link MUST appear in your response. This is not optional — it is how the user tests their agent.
- If the manifest has errors → **STOP. Fix errors. Do NOT deploy.**
- Exception: user explicitly asks you not to deploy
### 2. Never Invent Content or Create Missing Files
- Do NOT invent placeholder names, descriptions, or instructions
- Do NOT create `declarativeAgent.json` or `appPackage/` if they don't exist — this is a REJECT scenario, not a "help by creating" scenario
- If required fields are missing, report the gaps, and ASK the user
- If JSON is malformed, follow Detect → Inform → Ask: parse the file first, tell the user what's broken, then ask before fixing. Use surgical edits (not rewrites)
- **⛔ NEVER set placeholder values for environment variables** that are populated by automation (e.g., `<PREFIX>_MCP_AUTH_ID`, `TEAMS_APP_ID`). Leave them empty (`VAR_NAME=`). Placeholders will be treated as real values and will NOT be overwritten by provisioning.
### 3. Schema Version Compatibility
Before adding ANY feature, read the `version` field in `declarativeAgent.json` and check the [Schema](references/schema.md) feature matrix. If the feature isn't supported in that version, **refuse** and offer to upgrade.
Key version gates:
- `sensitivity_label`, `worker_agents`, `EmbeddedKnowledge` → **v1.6 only**
- `Meetings` → **v1.5+**
- `ScenarioModels`, `behavior_overrides`, `disclaimer` → **v1.4+**
- `Dataverse`, `TeamsMessages`, `Email`, `People` → **v1.3+**
### 4. Use `npx -y --package @microsoft/m365agentstoolkit-cli atk add action` for API Plugins — NEVER Create Plugin Files Manually
You are **forbidden** from manually creating `ai-plugin.json`, OpenAPI specs, adaptive cards, or editing the `actions` array. Use the CLI:
```bash
# ⛔ Always list ALL operations in a single call — NEVER run separate calls per operation
npx -y --package @microsoft/m365agentstoolkit-cli atk add action --api-plugin-type api-spec --openapi-spec-location URL --api-operation "GET /path,POST /path,PATCH /path/{id},DELETE /path/{id}" -i false
```
Run a **single** `npx -y --package @microsoft/m365agentstoolkit-cli atk add action` call per OpenAPI spec, listing **all** operations as a comma-separated list in `--api-operation`. Never run separate `npx -y --package @microsoft/m365agentstoolkit-cli atk add action` calls for different operations from the same spec — this creates multiple plugins instead of one. If `npx -y --package @microsoft/m365agentstoolkit-cli atk add action` fails, report the error; do NOT fall back to manual creation.
> **Exception:** MCP servers are not supported by `npx -y --package @microsoft/m365agentstoolkit-cli atk add action`. Use the [MCP Plugin workflow](references/mcp-plugin.md) instead.
### 5. MCP Server Integration
When the user mentions an MCP server URL, follow the [MCP Plugin workflow](references/mcp-plugin.md). You MUST discover tools via the MCP protocol handshake (initialize → notifications/initialized → tools/list) — **NEVER fabricate tool names/descriptions**. For authenticated MCP servers, follow the [authentication guide](references/authentication.md) to configure OAuth.
### 6. Always Update Instructions & Starters After Changes
Adding a capability or plugin without updating instructions is incomplete. After ANY change:
1. Update instructions to describe the new/changed functionality — every data source should have clear intent coverage (WHEN and WHY to use it) per the [Instruction Review](references/instruction-review.md) quality bar. Built-in capabilities don't need exact names; actions/plugins should be named.
2. **Do NOT list tool names, descriptions, or parameters in instructions** — these are already in the plugin metadata (`ai-plugin.json`, MCP manifests, capability config). Instructions should contain decision logic only: WHEN to use each tool, chaining rules, and failure handling.
3. **Stay within the 8,000-character instruction limit** — if close to the limit, cut tool descriptions first
4. Add at least 1 conversation starter per added capability/plugin
5. Remove starters that reference removed capabilities
6. Run the [Diagnostic Checklist](references/instruction-review.md) against the updated instructions to verify quality
### 7. App Name Requirement
Always update the app name and description to something meaningful. Never leave defaults like "My Agent".
---
## References
### Shared
- **[Authentication](references/authentication.md)** — OAuth discovery, credentials, oauth/register lifecycle, OAuthPluginVault
- **[Best Practices](references/best-practices.md)** — Security, performance, testing, compliance
- **[Conversation Design](references/conversation-design.md)** — Authoring instructions and conversation starters from scratch
- **[Instruction Review](references/instruction-review.md)** — Auditing, diagnosing, and improving existing instructions; anti-pattern detection; before/after rewrites
- **[Deployment](references/deployment.md)** — ATK CLI workflows, environments, CI/CD
- **[Localization](references/localization.md)** — Multi-language support, tokenized manifests, language files
- **[Workspace Gates](references/workspace-gates.md)** — Detailed gate rules, examples, anti-patterns
### Scaffolding
- **[Scaffolding Workflow](references/scaffolding-workflow.md)** — Step-by-step scaffolding instructions, naming rules, error handling
### JSON Development
- **[Editing Workflow](references/editing-workflow.md)** — Step-by-step JSON development instructions
- **[Schema](references/schema.md)** — Official JSON schema for agent manifests
- **[API Plugins](references/api-plugins.md)** — OpenAPI integration for JSON agents
- **[MCP Plugin](references/mcp-plugin.md)** — MCP server integration with RemoteMCPServer, OAuth, response semantics, logo handling
- **[Examples](references/examples.md)** — JSON manifest examples
Alle Dateien
0 Dateiendeclarative-agent-developer installieren
Laden Sie die Skill-Dateien herunter und extrahieren Sie diese in Ihr .claude/skills/-Verzeichnis.
ZIP herunterladenKlonen Sie das Repository und kopieren Sie die Skill-Dateien in Ihr Projekt.
git clone https://github.com/microsoft/skills/tree/main/.github/plugins/microsoft-365-agents-toolkit/skills/declarative-agent-developer # Copy SKILL.md to your .claude/skills/ directory
Kopieren





Heim
