Option
HeimHeim Skill DevOps und CI/CD declarative-agent-developer

declarative-agent-developer

microsoft/skills 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 erweitern
0
Zeit aktualisiert 19. September 2026

M365-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:

  1. Führen Sie npx -y --package @microsoft/m365agentstoolkit-cli atk --version aus, 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.
  2. Prüfen Sie auf m365agents.yml oder teamsApp.yml im Projektstammverzeichnis.
  3. Prüfen Sie auf appPackage/declarativeAgent.json.
  4. Prüfen Sie auf Nicht-Agent-Indikatoren (package.json mit express/react/next, src/index.js, app.py usw.)

Folgen Sie anschließend der Entscheidungsschleuse:

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

  1. Erstellen Sie NIEMALS declarativeAgent.json selbst. 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 Sie npx -y --package @microsoft/m365agentstoolkit-cli atk new oder den Neustart von Grund auf vor. Erstellen Sie NICHT die Datei, erstellen Sie NICHT appPackage/, „helfen“ Sie NICHT durch impliziten Gerüstbau.
  2. 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.
  3. 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 provision NICHT 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:

  1. 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.
  2. 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“).
  3. 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

SzenarioWorkflow-Referenz
Erstellen eines NEUEN Projekts von Grund aufGerüstbau-Workflow
Arbeit mit vorhandenen `.json`-ManifestenBearbeitungsworkflow
Hinzufügen eines API-PluginsAPI-Plugins
Hinzufügen eines MCP-ServersMCP-Plugin
Hinzufügen von OAuth zu einem MCP- oder API-PluginAuthentifizierung
Überprüfung oder Verbesserung vorhandener Agent-AnweisungenAnweisungsüberprüfung
Benutzer meldet, dass der Agent generische/falsche Antworten gibtAnweisungsüberprüfung
Lokalisierung eines Agenten in mehrere SprachenLokalisierung
Hinzufügen einer neuen Sprache zu einem bereits lokalisierten AgentenLokalisierung
Verfassen von Agent-AnweisungenGesprä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.json oder appPackage/ 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, EmbeddedKnowledgenur v1.6
  • Meetingsv1.5+
  • ScenarioModels, behavior_overrides, disclaimerv1.4+
  • Dataverse, TeamsMessages, Email, Peoplev1.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 action nicht 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:

  1. 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.
  2. 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.
  3. Bleiben Sie innerhalb des 8.000-Zeichen-Anweisungslimits — wenn Sie nahe am Limit sind, streichen Sie zuerst Toolbeschreibungen
  4. Fügen Sie pro hinzugefügter Funktion/Plugin mindestens 1 Gesprächsstarter hinzu
  5. Entfernen Sie Starter, die auf entfernte Funktionen verweisen
  6. 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
Auf GitHub ansehen
---
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 Dateien

declarative-agent-developer installieren

Laden Sie die Skill-Dateien herunter und extrahieren Sie diese in Ihr .claude/skills/-Verzeichnis.

ZIP herunterladen

Klonen 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 Kopieren
Schnelle Einrichtung: Kopieren Sie den Ordner „Skill“ nach .claude/skills/. Claude erkennt und verwendet den Skill automatisch.
Repository microsoft/skills

Ähnliche Skills

Verification &amp; Quality Assurance
Zeit aktualisiert 29. Juni 2026
base44-cli
Zeit aktualisiert 29. Juni 2026
klingai-upgrade-migration
Zeit aktualisiert 3. Juli 2026
Railway CLI Management
Zeit aktualisiert 2. Juli 2026
OR