옵션
집 Skill DevOps 및 CI/CD declarative-agent-developer

declarative-agent-developer

microsoft/skills microsoft/skills

M365 Copilot 및 Teams용 선언적 에이전트를 생성, 빌드, 배포 및 현지화하며, 여기에는 기본 구조 생성, 매니페스트 편집, 기능 추가 및 현지화가 포함됩니다.

...모든 것을 확장하십시오
0
업데이트 된 시간 2026년 9월 19일

M365 에이전트 개발자

텔레메트리 태그 지정

모든 atk CLI 명령을 실행하기 전에 세션 환경 변수를 설정하여 모든 CLI 호출이 기술(Skill)에서 시작되었음을 태그하도록 하십시오:

export ATK_CLI_SKILL=true

세션 시작 시 한 번만 실행하십시오. 동일한 터미널의 모든 후속 atk 명령은 이를 상속받습니다.

⛔ 워크스페이스 확인 — 필수 첫 단계

아무것도 하기 전에, 프로젝트의 지문을 찍기 위해 워크스페이스 파일을 확인하십시오:

  1. npx -y --package @microsoft/m365agentstoolkit-cli atk --version을 실행하여 ATK CLI가 설치되었는지 확인하십시오. 설치되지 않은 경우 → 중단합니다. 사용자에게 ATK 설치를 안내하십시오.
  2. 프로젝트 루트에 m365agents.yml 또는 teamsApp.yml이 있는지 확인하십시오.
  3. appPackage/declarativeAgent.json이 있는지 확인하십시오.
  4. 비에이전트 지표(express/react/next가 포함된 package.json, src/index.js, app.py 등)가 있는지 확인하십시오.

그런 다음 결정 게이트를 따르십시오:

조건게이트조치
비에이전트 프로젝트 파일, `appPackage/` 없음**거부**텍스트 전용 응답. 파일 없음, 명령 없음.
매니페스트 없음, 사용자가 편집/배포를 원하는 경우**거부**텍스트 전용 응답. 매니페스트가 누락되었음을 설명하십시오.
매니페스트 없음, 사용자가 새 프로젝트를 원하는 경우**스캐폴딩**→ 스캐폴딩 워크플로우
오류가 있는 매니페스트 존재**수정**감지 → 알리기 → 문의 (아래 참조). 배포하지 마십시오.
유효한 프로젝트, 사용자가 동작 문제를 보고하는 경우**검토**→ 지침 검토 — 전체 5단계 검토 워크플로우 실행
유효한 에이전트 프로젝트**편집**→ 편집 워크플로우

상세한 게이트 규칙, 예시 및 안티패턴: 워크스페이스 게이트

🚫 하드 거부 규칙 — 예외 없음

이 규칙은 모든 기타 지침을 우선시합니다. 이 규칙 중 하나라도 적용되는 경우 즉시 중단해야 합니다.

  1. declarativeAgent.json을 직접 생성하지 마십시오. 매니페스트가 누락되어 있고 사용자가 편집/수정/배포를 요청한 경우, 텍스트 전용 응답으로 매니페스트가 누락되었음을 설명하고 npx -y --package @microsoft/m365agentstoolkit-cli atk new 또는 처음부터 시작할 것을 제안하십시오. 파일을 생성하지 마십시오, appPackage/를 생성하지 마십시오, 암묵적으로 스캐폴딩하여 "도움"을 제공하지 마십시오.
  2. 비에이전트 프로젝트에 파일을 생성하지 마십시오. 워크스페이스가 appPackage/ 없이 Express/React/Django 등의 앱인 경우, 응답은 텍스트 전용이어야 합니다. 파일을 생성하지 마십시오, 명령을 실행하지 마십시오.
  3. 오류가 존재할 때 배포하지 마십시오. 에이전트 매니페스트에 오류가 있는 경우, 중단하십시오. npx -y --package @microsoft/m365agentstoolkit-cli atk provision을 실행하지 마십시오 — "테스트하기 위해", "오류를 시연하기 위해", "어떻게 되는지 보기 위해"도 아닙니다. 오류를 보고하고 사용자에게 진행 방법을 문의하십시오.

🔍 감지 → 알리기 → 문의 (오류 처리 프로토콜)

누락된 파일, 잘못된 JSON, 유효성 검사 오류, 호환되지 않는 기능 등 어떤 문제가 발생하든 다음 순서를 순서대로 따라야 합니다:

  1. 감지 — 구체적인 문제를 식별하십시오. JSON 문제의 경우 파일을 구문 분석하고 구문 오류를 보고하십시오. 누락된 필드의 경우 매니페스트를 스키마와 대조하여 확인하십시오.
  2. 알리기 — 어떤 조치를 취하기 전에 사용자에게 알려주십시오. 정확히 무엇이 잘못되었는지 설명하십시오 ("declarativeAgent.json에 잘못된 JSON이 있습니다: 12행의 쉼표 누락, 18행의 닫히지 않은 배열").
  3. 문의 — 변경을 만들기 전에 사용자의 응답을 기다리십시오. 문제를 조용히 수정하거나, 자동 수정하거나, 우회하지 마십시오.

이 프로토콜은 다음에 적용됩니다:

  • 누락된 declarativeAgent.json → 감지(파일 없음) → 알리기("매니페스트를 찾지 못했습니다") → 문의("새 에이전트를 생성하시겠습니까?")
  • 잘못된 JSON → 감지(구문 분석 오류) → 알리기(구체적인 구문 문제 나열) → 문의("이 구문 오류를 수정하시겠습니까?")
  • 유효성 검사 오류 → 감지(매니페스트 구문 분석 및 확인) → 알리기(모든 오류 나열) → 문의("이 오류를 어떻게 수정하시겠습니까?")
  • 버전 호환성 문제 → 감지(기능에 새 버전 필요) → 알리기("이 기능에는 v1.6이 필요하지만, 귀하의 에이전트는 v1.4입니다") → 문의("업그레이드하시겠습니까?")

페이즈 라우팅

시나리오워크플로우 참조
처음부터 새 프로젝트 생성스캐폴딩 워크플로우
기존 `.json` 매니페스트 작업편집 워크플로우
API 플러그인 추가API 플러그인
MCP 서버 추가MCP 플러그인
MCP 또는 API 플러그인에 OAuth 추가인증
기존 에이전트 지침 검토 또는 개선지침 검토
사용자가 에이전트가 일반적이거나 잘못된 답변을 제공한다고 보고지침 검토
에이전트를 여러 언어로 현지화현지화
이미 현지화된 에이전트에 새 언어 추가현지화
에이전트 지침 작성대화 설계

ATK CLI 설정

ATK 명령을 실행하기 전에 npx -y --package @microsoft/m365agentstoolkit-cli atk --version을 실행하여 ATK CLI가 사용 가능한지 확인하십시오. 설치되지 않은 경우, 중단하고 사용자에게 알려주십시오 — 직접 설치하려고 시도하지 마십시오.

모든 명령은 npx -y --package @microsoft/m365agentstoolkit-cli atk 접두사를 사용합니다(예: npx -y --package @microsoft/m365agentstoolkit-cli atk provision --env local).

중요 규칙

1. 모든 편집 후 배포

appPackage/의 파일에 대한 모든 변경 후, 응답하기 전에 반드시 배포하고 테스트 링크를 표시해야 합니다:

npx -y --package @microsoft/m365agentstoolkit-cli atk provision --env local --interactive false

그런 다음 env/.env.local에서 M365_TITLE_ID를 읽은 후 항상 검토 UX를 제시하십시오:

✅ 에이전트가 성공적으로 배포되었습니다!

🚀 M365 Copilot에서 에이전트 테스트:
🔗 https://m365.cloud.microsoft/chat/?titleId={M365_TITLE_ID}

⛔ 이 링크 없이 응답하지 마십시오. 배포한 경우 테스트 링크가 응답에 반드시 나타나야 합니다. 이는 선택 사항이 아닙니다 — 이것이 사용자가 자신의 에이전트를 테스트하는 방법입니다.

  • 매니페스트에 오류가 있는 경우 → 중단. 오류 수정. 배포하지 마십시오.
  • 예외: 사용자가 명시적으로 배포하지 말라고 요청한 경우

2. 콘텐츠 발명 또는 누락된 파일 생성 금지

  • 자리 표시자 이름, 설명 또는 지침을 발명하지 마십시오
  • declarativeAgent.json 또는 appPackage/가 존재하지 않으면 생성하지 마십시오 — 이는 "생성하여 도움" 시나리오가 아닌 거부 시나리오입니다
  • 필수 필드가 누락된 경우, 결함을 보고하고 사용자에게 문의하십시오
  • JSON이 잘못된 경우, 감지 → 알리기 → 문의를 따르십시오: 먼저 파일을 구문 분석하고, 사용자에게 무엇이 깨졌는지 말한 후, 수정하기 전에 문의하십시오. 정밀 편집(전체 다시 작성 아님)을 사용하십시오
  • ⛔ 자동화에서 채워지는 환경 변수에 대한 자리 표시자 값을 설정하지 마십시오(예: <prefix>_MCP_AUTH_ID</prefix>, TEAMS_APP_ID). 비워두십시오(VAR_NAME=). 자리 표시자는 실제 값으로 처리되며 프로비저닝에 의해 덮어쓰이지 않습니다.

3. 스키마 버전 호환성

모든 기능을 추가하기 전에 declarativeAgent.jsonversion 필드를 읽고 스키마 기능 행렬을 확인하십시오. 해당 버전에서 기능이 지원되지 않는 경우, 거부하고 업그레이드를 제안하십시오.

주요 버전 게이트:

  • sensitivity_label, worker_agents, EmbeddedKnowledgev1.6 전용
  • Meetingsv1.5+
  • ScenarioModels, behavior_overrides, disclaimerv1.4+
  • Dataverse, TeamsMessages, Email, Peoplev1.3+

4. API 플러그인에는 npx -y --package @microsoft/m365agentstoolkit-cli atk add action 사용 — 플러그인 파일을 수동으로 생성하지 마십시오

ai-plugin.json, OpenAPI 사양, 적응형 카드 또는 actions 배열 편집을 수동으로 생성하는 것이 금지됩니다. CLI를 사용하십시오:

# ⛔ 단일 호출에서 모든 작업을 나열하십시오 — 작업별로 별도 호출을 실행하지 마십시오
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

OpenAPI 사양당 단일 npx -y --package @microsoft/m365agentstoolkit-cli atk add action 호출을 실행하고, --api-operation에서 모든 작업을 쉼표로 구분된 목록으로 나열하십시오. 동일한 사양의 다른 작업에 대해 별도의 npx -y --package @microsoft/m365agentstoolkit-cli atk add action 호출을 실행하지 마십시오 — 이렇게 하면 하나의 플러그인이 아닌 여러 플러그인이 생성됩니다. npx -y --package @microsoft/m365agentstoolkit-cli atk add action이 실패하는 경우, 오류를 보고하십시오 — 수동 생성으로 폴백하지 마십시오.

예외: MCP 서버는 npx -y --package @microsoft/m365agentstoolkit-cli atk add action으로 지원되지 않습니다. 대신 MCP 플러그인 워크플로우를 사용하십시오.

5. MCP 서버 통합

사용자가 MCP 서버 URL을 언급하는 경우, MCP 플러그인 워크플로우를 따르십시오. MCP 프로토콜 핸드셰이크(초기화 → 알림/초기화됨 → tools/list)를 통해 도구를 반드시 발견해야 합니다 — 도구 이름/설명을 발명하지 마십시오. 인증된 MCP 서버의 경우, 인증 가이드를 따라 OAuth를 구성하십시오.

6. 변경 후 지침 및 시작 항목 항상 업데이트

지침을 업데이트하지 않고 기능을 추가하거나 플러그인을 추가하는 것은 불완전합니다. 모든 변경 후:

  1. 새/변경된 기능을 설명하도록 지침을 업데이트하십시오 — 모든 데이터 소스는 지침 검토 품질 기준에 따라 명확한 의도 커버리지(WHEN 및 WHY 사용 방법)를 가져야 합니다. 내장 기능에는 정확한 이름이 필요하지 않습니다 — 동작/플러그인에는 이름이 지정되어야 합니다.
  2. 지침에 도구 이름, 설명 또는 매개변수를 나열하지 마십시오 — 이러한 내용은 이미 플러그인 메타데이터(ai-plugin.json, MCP 매니페스트, 기능 구성)에 있습니다. 지침에는 의사결정 논리만 포함되어야 합니다: 각 도구를 WHEN 사용해야 하는지, 체이닝 규칙 및 오류 처리 방법.
  3. 8,000자 지침 제한 내에 머무르십시오 — 제한에 근접한 경우, 먼저 도구 설명을 삭제하십시오
  4. 추가된 각 기능/플러그인당 최소 1개의 대화 시작 항목을 추가하십시오
  5. 제거된 기능을 참조하는 시작 항목을 삭제하십시오
  6. 품질을 확인하기 위해 업데이트된 지침에 대해 진단 체크리스트를 실행하십시오

7. 앱 이름 요구 사항

항상 의미 있는 이름과 설명으로 앱 이름을 업데이트하십시오. "My Agent"와 같은 기본값을 그대로 두지 마십시오.

참조

공유

  • 인증 — OAuth 발견, 자격 증명, oauth/register 수명 주기, OAuthPluginVault
  • 모범 사례 — 보안, 성능, 테스트, 규정 준수
  • 대화 설계 — 처음부터 지침 및 대화 시작 항목 작성
  • 지침 검토 — 기존 지침 감사, 진단 및 개선; 안티패턴 감지; before/after 다시 작성
  • 배포 — ATK CLI 워크플로우, 환경, CI/CD
  • 현지화 — 다국어 지원, 토큰화된 매니페스트, 언어 파일
  • 워크스페이스 게이트 — 상세한 게이트 규칙, 예시, 안티패턴

스캐폴딩

  • 스캐폴딩 워크플로우 — 단계별 스캐폴딩 지침, 명명 규칙, 오류 처리

JSON 개발

  • 편집 워크플로우 — 단계별 JSON 개발 지침
  • 스키마 — 에이전트 매니페스트용 공식 JSON 스키마
  • API 플러그인 — JSON 에이전트를 위한 OpenAPI 통합
  • MCP 플러그인 — RemoteMCPServer, OAuth, 응답 의미론, 로고 처리와 함께 MCP 서버 통합
  • 예시 — JSON 매니페스트 예시
GitHub에서 보기
---
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

모든 파일

0개 파일

declarative-agent-developer 설치

스킬 파일을 다운로드하여 .claude/skills/ 디렉토리에 추출하세요.

ZIP 다운로드

저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.

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

복사 복사
빠른 설정: 스킬 폴더를 .claude/skills/에 복사하세요. Claude는 자동으로 해당 스킬을 감지하고 사용합니다.
저장소 microsoft/skills

관련 스킬

Verification &amp; Quality Assurance
업데이트 된 시간 2026년 6월 29일
base44-cli
업데이트 된 시간 2026년 6월 29일
klingai-upgrade-migration
업데이트 된 시간 2026년 7월 3일
Railway CLI Management
업데이트 된 시간 2026년 7월 2일
OR