m365-agent-scaffolder
Quickly scaffolds new Microsoft 365 Copilot declarative agent (M365 agent, copilot agent, agent, declarative copilot, copilot) projects using ATK CLI. Collects project information and creates the initial project structure. Use only when creating a new empty M365 Copilot agent project from scratch.
What this skill does
# M365 Agent Scaffolder ## ⛔ STOP - READ THIS FIRST ⛔ ### THE ONLY VALID COMMAND Copy this command EXACTLY. Replace `<project-name>` with the user's project name: ```bash npx -p @microsoft/m365agentstoolkit-cli@latest atk new -n <project-name> -c declarative-agent -with-plugin type-spec -i false ``` ### FORBIDDEN COMMANDS - THESE DO NOT EXIST | ❌ INVALID COMMAND | WHY IT FAILS | |-------------------|--------------| | `atk init` | DOES NOT EXIST - there is no init command | | `atk init --template` | DOES NOT EXIST - there is no init command or --template flag | | `atk create` | DOES NOT EXIST - there is no create command | | `atk scaffold` | DOES NOT EXIST - there is no scaffold command | | `--template anything` | DOES NOT EXIST - there is no --template flag | | `--template declarative-copilot` | DOES NOT EXIST - this is completely made up | | `--template m365-agent` | DOES NOT EXIST - this is completely made up | | Any command without `npx -p @microsoft/m365agentstoolkit-cli@latest` prefix | WILL FAIL - atk might not be installed globally | ### CORRECT vs WRONG ✅ **CORRECT:** ```bash npx -p @microsoft/m365agentstoolkit-cli@latest atk new -n my-agent -c declarative-agent -with-plugin type-spec -i false ``` ❌ **WRONG (DO NOT USE):** ```bash atk init my-agent --template declarative-copilot ``` ❌ **WRONG (DO NOT USE):** ```bash atk init my-agent --template m365-agent ``` ❌ **WRONG (DO NOT USE):** ```bash atk create my-agent ``` --- ## Quick Summary This skill does ONE thing: creates new M365 Copilot agent project structures. It: 1. Collects minimal required information 2. Scaffolds the project using ATK CLI 3. Automatically continues to m365-agent-developer skill for implementation All architecture, planning, implementation, and deployment is handled by the m365-agent-developer skill. --- ## When to Use This Skill Use this skill ONLY when: - Creating a brand new empty M365 Copilot agent project from scratch - The user explicitly asks to create a new M365 Copilot project, agent or workspace - Starting a new M365 Copilot agent development initiative that needs initial project structure Do NOT use this skill when: - Working with existing projects (use m365-agent-developer) - Implementing features or capabilities (use m365-agent-developer) - Deploying or managing agents (use m365-agent-developer) - Troubleshooting issues (use m365-agent-developer) - Designing architecture or planning (use m365-agent-developer) ## Instructions Follow these exact steps when creating a new M365 Copilot agent project: ### Step 1: Understand the Request **Action:** Verify the user wants to create a NEW M365 Copilot agent project. **Check for:** - Keywords: "new project", "create agent", "scaffold", "start from scratch", "M365 Copilot", "M365 agent", "declarative agent" - Confirmation this is NOT an existing project **If existing project:** Stop and recommend using m365-agent-developer skill. ### Step 2: Verify Empty Directory and Collect Project Name **Action:** First, check if the current directory is empty. Then ask for the project name. **Directory Check (CRITICAL):** - Use `ls -A` to check if current directory is empty - **Ignore hidden folders** (folders starting with `.`) when evaluating if directory is empty: - Hidden folders like `.claude`, `.copilot`, `.github` are configuration/metadata folders - These folders are used to steer coding agents and should not prevent scaffolding - If ONLY hidden folders exist, treat the directory as empty - If directory is NOT empty (has non-hidden files/folders), ERROR OUT with message: ``` ❌ Error: Current directory is not empty! This skill requires an empty directory to scaffold a new M365 Copilot agent project. Please navigate to an empty directory or create a new one first. ``` - Do NOT proceed if directory has non-hidden content **If directory is empty, collect:** 1. **Project name** (required) - What should the M365 Copilot agent project be named? - Must be valid for directory names (no spaces, special characters) - Example: "customer-support-agent", "sales-assistant" **Example question:** ``` What would you like to name your M365 Copilot agent project? ``` ### Step 3: Run ATK CLI Command and Move Files to Current Directory **Action:** Execute the scaffolding command, then move files from the ATK-created subfolder to the current directory. ## ⛔ COMMAND REMINDER - COPY EXACTLY ⛔ **Commands to execute sequentially:** 1. **Create the project (COPY THIS EXACT COMMAND):** ```bash npx -p @microsoft/m365agentstoolkit-cli@latest atk new -n <project-name> -c declarative-agent -with-plugin type-spec -i false ``` **BEFORE YOU RUN ANY COMMAND, VERIFY:** - ✅ Command starts with `npx -p @microsoft/m365agentstoolkit-cli@latest` - ✅ Command uses `atk new` (NOT `atk init`, NOT `atk create`) - ✅ Command has `-c declarative-agent` (NOT `--template`) - ✅ Command has `-with-plugin type-spec` - ✅ Command has `-i false` **IF YOUR COMMAND LOOKS LIKE ANY OF THESE, STOP - IT IS WRONG:** - ❌ `atk init ...` → WRONG, use `atk new` - ❌ `--template ...` → WRONG, use `-c declarative-agent` - ❌ Missing `npx -p @microsoft/m365agentstoolkit-cli@latest` → WRONG **Parameters:** - `-n <project-name>`: The project name provided by the user (ONLY parameter to customize) - `-c declarative-agent`: Create a declarative agent (REQUIRED - do not change) - `-with-plugin type-spec`: Include TypeSpec plugin scaffolding (REQUIRED - do not change) - `-i false`: Non-interactive mode (REQUIRED - do not change) **Note:** ATK will create a subfolder named `<project-name>` with all project files. 2. **Move all files from the subfolder to current directory:** ```bash mv <project-name>/* <project-name>/.* . 2>/dev/null || true ``` 3. **Delete the now-empty subfolder:** ```bash rmdir <project-name> ``` **Why this is important:** - ATK always creates a subfolder, but we want files in the current directory - Moving files ensures the developer's intended directory structure - Deleting the empty subfolder keeps the workspace clean ### Step 4: Confirm Creation and Continue to m365-agent-developer Skill **Action:** Provide a simple confirmation message and automatically continue to m365-agent-developer skill. **Message template:** ``` ✅ Project created in current directory: <absolute-current-directory-path> Your empty M365 Copilot agent project structure is ready. 🎯 Continuing with the m365-agent-developer skill to help you design and implement your agent... ``` **Then immediately invoke m365-agent-developer skill:** - Use the Skill tool to invoke "m365-agent-developer" - Do NOT stop or wait for user confirmation - The flow should be seamless and automatic --- ## Examples For detailed examples of how to use this skill, see the [Examples Reference](references/examples.md). ## Best Practices For detailed best practices when scaffolding M365 Copilot agent projects, see the [Best Practices Reference](references/best-practices.md).
Related in AI Agents
skill-development
IncludedComprehensive meta-skill for creating, managing, validating, auditing, and distributing Claude Code skills and slash commands (unified in v2.1.3+). Provides skill templates, creation workflows, validation patterns, audit checklists, naming conventions, YAML frontmatter guidance, progressive disclosure examples, and best practices lookup. Use when creating new skills, validating existing skills, auditing skill quality, understanding skill architecture, needing skill templates, learning about YAML frontmatter requirements, progressive disclosure patterns, tool restrictions (allowed-tools), skill composition, skill naming conventions, troubleshooting skill activation issues, creating custom slash commands, configuring command frontmatter, using command arguments ($ARGUMENTS, $1, $2), bash execution in commands, file references in commands, command namespacing, plugin commands, MCP slash commands, Skill tool configuration, or deciding between skills vs slash commands. Delegates to docs-management skill for official documentation.
reprompter
IncludedTransform messy prompts into well-structured, effective prompts — single or multi-agent. Use when: "reprompt", "reprompt this", "clean up this prompt", "structure my prompt", rough text needing XML tags and best practices, "reprompter teams", "repromptception", "run with quality", "smart run", "smart agents", multi-agent tasks, audits, parallel work, anything going to agent teams. Don't use when: simple Q&A, pure chat, immediate execution-only tasks. See "Don't Use When" section for details. Outputs: Structured XML/Markdown prompt, quality score (before/after), optional team brief + per-agent sub-prompts, agent team output files. Success criteria: Single mode quality score ≥ 7/10; Repromptception per-agent prompt quality score 8+/10; all required sections present, actionable and specific.
adaptive-compaction
IncludedAdaptive add-on policy and recovery layer that decides WHEN to compact, prune, snapshot, or fork -- replacing fixed-percent auto-compaction across Claude Code, Codex, and MCP-capable hosts. Trigger on auto-compact timing or damage: "when should I compact", "is it safe to compact now or start a fresh session", "auto-compact fires too early/mid-task", "switching to an unrelated task but the window still has space", "context rot", "answers get worse the longer the session runs", "the agent forgot the plan or my decisions after it summarized", "add a layer on top that manages context without changing the agent", raising autoCompactWindow to give the policy room, or installing/tuning a cross-tool compaction policy or PreCompact hook -- even when "compaction" is never said but the problem is context-window pressure or post-summarization memory loss. Do NOT use to summarize a conversation, build RAG, write a summarization prompt (decides WHEN not HOW), or answer max-context-length trivia.
agent-skill-creator
IncludedCreate cross-platform agent skills from workflow descriptions. Activates when users ask to create an agent, automate a repetitive workflow, create a custom skill, or need advanced agent creation. Triggers on phrases like create agent for, automate workflow, create skill for, every day I have to, daily I need to, turn process into agent, need to automate, create a cross-platform skill, validate this skill, export this skill, migrate this skill. Supports single skills, multi-agent suites, transcript processing, template-based creation, interactive configuration, cross-platform export, and spec validation.
llm-wiki
IncludedUse when building or maintaining a persistent personal knowledge base (second brain) in Obsidian where an LLM incrementally ingests sources, updates entity/concept pages, maintains cross-references, and keeps a synthesis current. Triggers include "second brain", "Obsidian wiki", "personal knowledge management", "ingest this paper/article/book", "build a research wiki", "compound knowledge", "Memex", or whenever the user wants knowledge to accumulate across sessions instead of being re-derived by RAG on every query.
skill-master
IncludedAgent Skills authoring, evaluation, and optimization. Create, edit, validate, benchmark, and improve skills following the agentskills.io specification. Use when designing SKILL.md files, structuring skill folders (references, scripts, assets), ingesting external documentation into skills, running trigger evals, benchmarking skill quality, optimizing descriptions, or performing blind A/B comparisons. Keywords: agentskills.io, SKILL.md, skill authoring, eval, benchmark, trigger optimization.