🚨 Mission 06: Add a Skill
NOTE
This lab has been updated for the new Copilot Studio experience (2026-06-28). It replaces the previous Adaptive Cards mission. See evaluation.md for details.
🎯 Mission Brief
Your IT Helpdesk Agent can answer questions, but a reliable helpdesk also needs consistent behavior when it calls tools and handles edge cases. In the new Copilot Studio experience, you define that behavior through Skills.
In this mission, you will iteratively refine a device guidance skill so the agent can call SharePoint correctly, recover from query issues, map user-selected options to the correct item, and capture additional user requirements.
IMPORTANT
Make sure the New experience toggle in the upper-right corner is turned on.
🔎 Objectives
- Understand what skills are and why they're new
- See how skills replace work we used to do with Topics and child agents
- Review and refine an AI-generated skill to improve instruction quality
- Validate the updated skill behavior in Preview, including tool input handling and follow-up requirements
🧠 What is a skill?
Skills are the building blocks of intelligent agents in Copilot Studio, providing focused guidance for handling specific scenarios, business processes, or tasks. Each skill defines when it should be used, what information to collect, which tools to call, and how the agent should respond, outlining the process, decision logic, and execution steps required to achieve an outcome.
Skills are new in Copilot Studio and take over jobs we used to solve other ways:
- Instead of Topics (trigger phrases + nodes), you describe the process once and the model orchestrates it.
- Provide repeatable behavior for narrow specialties inside the same agent.
- Reusable and shareable, upload a
SKILL.mdfile into any agent.
A troubleshooting process defined in a skill is a perfect fit: it's multi-step, judgment-driven, and should behave identically every time.
📄 Authoring Skills
Skills are authored in a structured SKILL.md file containing the following sections:
| Section | Purpose | What it should contain |
|---|---|---|
| Name | The skill's identity | A short, descriptive title that helps the model recognize when the skill is relevant. Example: IT Troubleshooting Procedure. |
| Description | The skill's trigger and intent | A concise summary of what the skill does and when it should be used. This helps the model decide whether to invoke the skill. Example: Guides employees through diagnose-fix-escalate steps for IT issues such as login, Wi-Fi, and device problems. |
| Optional frontmatter | Skill metadata and configuration | Structured YAML metadata such as author, version, tags, examples, dependencies, or other settings used for organization and governance. Not typically used for procedural instructions. |
| Instructions | The skill's execution logic | Detailed guidance the model follows after selecting the skill. This can include procedure steps, decision logic, tool usage instructions, validation rules, response formats, escalation paths, and success criteria. |
When a user submits a request, the agent's underlying AI model evaluates the available skills, uses the name and description to determine which skill is most relevant, and then follows the instructions in the skill file to execute the appropriate procedure. By separating specialized capabilities into reusable skills, builders can create agents that are more accurate, reliable, maintainable, and aligned to business requirements while making complex behaviors easier to design and manage.
🧩 Principles for Effective Skill Instructions
1. Start with the Purpose
Begin by explaining what the skill does and when it should be used.
Example:
Troubleshooting Procedure
Use this procedure when an employee reports a technical issue and needs assistance diagnosing or resolving the problem.This provides context before the model starts executing steps.
2. Use Clear Step-by-Step Actions
Break the process into logical, ordered steps.
Example:
## Steps
- **Understand the Issue** - Ask the employee to describe the problem if sufficient information has not already been provided.
- What application or device is affected?
- What error message are you seeing?
- When did the issue start?
- Can the issue be reproduced?Avoid:
Help the employee resolve the problem.Specific instructions produce more consistent outcomes.
3. Define Decision Points
Tell the model what to do when different conditions occur.
Example:
- **Troubleshooting Decision Rules**
- If an error message is provided, use it to identify relevant troubleshooting steps.
- If no error message is available, ask follow-up questions to gather more information.
- If the issue is resolved, confirm the solution and end the procedure.
- If the issue cannot be resolved after available troubleshooting steps, recommend escalation.Good instructions define:
- If
Xhappens, doY - Otherwise, do
Z
4. Specify Required Inputs
If information is required, state exactly what needs to be collected.
Example:
- **Troubleshooting Information** - Before starting diagnostics, collect:
- Device type
- Operating system
- Application or service affected
- Error message (if available)
- Steps that reproduce the issueThis prevents the model from skipping important information gathering.
5. Define Tool Usage
When a skill uses actions or connectors, tell the model when and how to use them.
Example:
- **Use the `X` tool** - Only use information returned from the tool, do not invent troubleshooting steps
- Retrieve troubleshooting procedures
- Find known issues
- Identify recommended fixesBe explicit about parameters, field names, and expected inputs.
6. Describe the Expected Output
Specify how results should be presented to the user.
Example:
Present troubleshooting guidance using the following format.
| Step | Action |
| --- | --- |
| 1 | Verify network connectivity |
| 2 | Restart the affected application |
| 3 | Confirm whether the issue persists |Included:
- Clear actions
- Expected outcomes
- Next steps if the action fails
Without output instructions, responses may become inconsistent
7. Include Validation Rules
Define what constitutes valid information and successful completion.
Example:
- Only present troubleshooting steps returned from approved sources.
- Do not recommend fixes that are not documented.
- Verify whether each step resolved the issue before proceeding.
- Do not assume the issue is resolved unless the employee confirms it.Validation rules help prevent hallucinations and incorrect recommendations.
8. Define Scope and Boundaries
Tell the model what it can and cannot do.
Example:
This procedure only supports troubleshooting approved enterprise applications and devices.
Do not:
- Perform account administration tasks
- Reset passwords
- Approve software requests
- Answer unrelated HR or policy questionsScope boundaries help keep the agent focused and predictable.
9. Include Escalation Paths
Tell the model what to do when it cannot continue.
Example:
If the issue remains unresolved after all available troubleshooting steps:
- Recommend escalation to the IT Help Desk.
- Provide a concise summary including:
- Device or application affected
- Symptoms reported
- Troubleshooting steps attempted
- Results of each stepThis ensures a smooth handoff to support teams.
10. Define Success Criteria
Explain when the procedure is considered complete.
Example:
The troubleshooting procedure is complete when:
- The issue is resolved and confirmed by the employee, or
- The issue is escalated with a complete support summaryClear success criteria tell the model when to stop.
TIP
For Copilot Studio skills specifically, the strongest instructions are usually those that answer four questions clearly:
- When should this skill be used?
- What information must be collected?
- What actions or tools should be called?
- What should the final response look like?
If those four areas are well-defined, the skill tends to behave much more consistently.
🧪 Lab 07 - Update existing skill
In this lab, you will refine an existing skill from Mission 05 - Build a custom agent by applying the effective skill instruction principles above to improve clarity, consistency, and reliability.
✨ Use case
As an employee
I want to know what devices are available
so that I have a list of available devices
Prerequisites
- Contoso IT Concierge - the agent created in Mission 05 - Build a custom engine agent.
7.1 Review Skill
Let's take a closer look at one of the skills that was generated when the agent was created.
In the Build view, in the Skills section, select the skill related to requesting a device to review it.
Skills generated may differ across sessions
Each session can produce a different skill name in the AI authoring experience, so your skill may not match the screenshot exactly. Look for the skill associated with device requests.

In the skill, you'll see the structure of the skill learned earlier.
Reminder of the skill structure
A skill consists of four main components.
- The
Nameidentifies the skill. - The
Descriptiontells the model when the skill is applicable. - The
Optional Frontmatterstores metadata and configuration information. - The
Instructionscontain the operational workflow the model follows to complete the task.
Together, these components help the model determine when to use the skill and how to execute it correctly.

- The
Review the skill instructions.
They are a good starting point, but they do not yet follow the principles above, so let's refine them. The skill will be updated to reference the tool added in Mission 07 - Add Tools to retrieve available devices from the SharePoint list when a user requests a laptop.

7.2 Update skill and test
The skill is read-only in Copilot Studio once saved. However, the SKILL.md file can be downloaded for editing. You can then replace the skill by selecting the edited SKILL.md file.
Select the ellipsis icon and select Replace.

Download the skill package using the button below.
Download
device-guidance-v1-0-1.zip, extract it, then upload theSKILL.mdfile into the agent.
The skill has now been updated. Select the updated skill to review the instructions.
- The description references the name of the tool
- The instructions outline steps including
- the purpose and trigger
- clear step-by-step actions, including aligning the selected device option to the corresponding SharePoint Item ID
- tool usage where the
Get Employee Assetstool is referenced - expected output that outlines the format of the response
- validation rules
- exception and escalation paths
- success criteria



Select Preview at the top center of the agent to test the updated skill.
Copy and paste the following text and submit it to the agent.
textI need a laptop
You'll see an error appear. The SharePoint tool failed because the model guessed a column name for the OData filter query that does not exist.

However, what happens next is that the model uses reasoning and dynamic planning to determine the next appropriate action when it encounters an issue.
In this step, the model applies reasoning and uses the correct SharePoint internal column name, field_4 (the Asset Type column), to filter for the device type Laptop.

The agent then displays the available laptops from the SharePoint list.

Next, you'll update the skill to define the tool inputs. Remember, this applies the skill instruction principle of being explicit about parameters, field names, and expected inputs.
Download the skill package using the button below.
Download
device-guidance-v1-0-2.zipand extract it.Repeat the same steps to replace the skill: in Build, select the
device-guidanceskill, select the ellipsis, select Replace, and upload the extractedSKILL.mdfile into the agent.You'll then see an additional instruction on how to manage tool inputs for OData filter queries, including explicit column names and examples.

Test the updated skill by navigating to Preview.
Copy and paste the following text and submit it to the agent.
textI need a laptopThe error should no longer appear because the updated instructions guide the model to use the tool inputs correctly.


In this test, respond to the agent by providing the device option you want to proceed with.
Copy and paste the following text and submit it to the agent.
textA
Following the skill instructions, the agent summarizes the device selection in its response.

We're not done refining the skill yet. If a user wants to provide an additional comment as part of the request, that behavior also needs to be captured in the skill instructions. Let's update the skill again.
Download the skill package using the button below.
Download
device-guidance-v1-0-3.zipand extract it.Repeat the same steps to replace the skill: in Build, select the
device-guidanceskill, select the ellipsis, select Replace, and upload the extractedSKILL.mdfile into the agent.You'll then see an additional instruction that tells the agent to ask for additional requirements. In the next mission, you'll pass this information into a workflow for the
Contoso IT Conciergeagent.
Test the updated skill by navigating to Preview.
Copy and paste the following text and submit it to the agent.
textB
The agent responds by next asking the user for any additional requirements they may have for their device.
Copy and paste the following text and submit it to the agent.
text16GB of RAM
The agent responds by summarizing the selected device and the additional requirement.

✅ Mission Complete
You iteratively refined a reusable Skill so the agent can handle tool-input mapping more reliably, recover from OData filter errors, map user-selected options to SharePoint Item IDs, and capture additional user requirements. 🙌🏻
📚 Tactical Resources
🔗 Write effective instructions
