| name | create-system-prompt |
| description | This skill should be used when the user asks to "create an agent instruction", "add agent instructions", "scaffold an agent sample", "create a system prompt sample", "add a system prompt", "create a new agent", "build an agent", or needs to create a new agent instruction sample with proper folder structure, README, and sample.json metadata inside the agent-instructions folder. Do NOT use this skill for simple prompt samples that are not agent instructions. |
Create an Agent Instruction / System Prompt Sample
This skill guides creating new agent instruction samples for the pnp/copilot-prompts repository. These samples live inside samples/agent-instructions/ and represent agents whose system prompt / instructions are the contribution. Contributors build an agent in Microsoft Copilot Studio and share the instructions (system prompt) that power it.
Before Starting
Critical: Always ask the user for the following information before scaffolding:
- Agent name โ a short, descriptive name for the agent (e.g., "Communication Assistant", "Smart Crop Doctor", "Elevator Pitch Alchemist")
- Agent instructions / system prompt โ the full system prompt text that defines the agent's behavior, personality, skills, and operating principles
- Summary โ a short description of what the agent does and why it's useful
- Use case category โ one or more categories the agent falls into:
- ๐ฎ Gaming โ AI-powered game ideas, NPC interactions, procedural storytelling
- ๐ Storytelling & Creative Writing โ Fiction, poetry, and immersive storytelling prompts
- ๐ค AI Assistants โ Virtual assistants, chatbots, and productivity helpers
- ๐ ๏ธ Productivity & Tools โ Code generation, automation, and workflow improvements
- ๐ Education โ Learning aids, tutoring, and interactive teaching tools
- ๐ฅ Healthcare & Wellbeing โ AI for mental health, fitness, and well-being support
- ๐ Other โ If the idea doesn't fit the above
- Author name โ the contributor's full name
- Author GitHub username โ the contributor's GitHub handle
If the user doesn't provide all details upfront, ask for the missing ones before proceeding.
Sample Directory Structure
Create the sample in samples/agent-instructions/{agent-name}/:
samples/agent-instructions/{agent-name}/
โโโ assets/
โ โโโ sample.json # Metadata for the M365 Solution Gallery
โโโ readme.md # Documentation with agent instructions
Folder naming rules:
- Use lowercase and hyphens only (e.g.,
daily-chore-children, communication-assistant, peace-keeper-agent)
- Do NOT use periods/dots in the folder name
- Keep it concise but descriptive โ it should hint at what the agent does
- Do NOT include prefixes like
m365- or github- โ agent instruction folders use plain descriptive names
Step 1: Create readme.md
Create samples/agent-instructions/{agent-name}/readme.md using this structure:
# ๐ฏ {Agent Name}
## Summary
{Short summary of what this agent does, its purpose, and why it's useful.}
## Instruction
{The full agent instructions / system prompt goes here.
This is the core contribution โ the complete system prompt that defines:
- The agent's identity and purpose
- Execution steps or workflow
- Operating principles and guidelines
- Tone and personality
- Example interactions (optional)
- Limitations and constraints (optional)}
## ๐ Use Case Category
{Mark the applicable categories with [x]:}
- [ ] ๐ฎ **Gaming** โ AI-powered game ideas, NPC interactions, procedural storytelling
- [ ] ๐ **Storytelling & Creative Writing** โ Fiction, poetry, and immersive storytelling prompts
- [ ] ๐ค **AI Assistants** โ Virtual assistants, chatbots, and productivity helpers
- [ ] ๐ ๏ธ **Productivity & Tools** โ Code generation, automation, and workflow improvements
- [ ] ๐ **Education** โ Learning aids, tutoring, and interactive teaching tools
- [ ] ๐ฅ **Healthcare & Wellbeing** โ AI for mental health, fitness, and well-being support
- [ ] ๐ **Other** โ If your idea doesn't fit the above, tell us what it's about!
## Contributors ๐จโ๐ป
[{Author Name}](https://github.com/{github-username})
## Version history
Version|Date|Comments
-------|----|--------
1.0|{Month DD, YYYY}|Initial release
## Instructions ๐
- Make sure you have Microsoft 365 Copilot in your tenant.
- Access Copilot studio agent builder
- On the left-hand rail, select Create an agent - New agent
- Add description to refine agents behavior. Make sure to use short, precise and simple description.
- Paste the prompt in the Instructions field, and alter it according to your needs.
- Try out your agent in the same window.
## Prerequisites
Copilot License
## Help
We do not support samples, but this community is always willing to help, and we want to improve these samples. We use GitHub to track issues, which makes it easy for community members to volunteer their time and help resolve issues.
You can try looking at [issues related to this sample](https://github.com/pnp/copilot-prompts/issues?q=label%3A%22sample%3A%20{agent-name}%22) to see if anybody else is having the same issues.
If you encounter any issues using this sample, [create a new issue](https://github.com/pnp/copilot-prompts/issues/new).
Finally, if you have an idea for improvement, [make a suggestion](https://github.com/pnp/copilot-prompts/issues/new).
## Disclaimer
**THIS CODE IS PROVIDED *AS IS* WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING ANY IMPLIED WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR NON-INFRINGEMENT.**

README rules:
- NEVER rephrase, rewrite, or modify the user's system prompt / agent instructions. Copy the prompt exactly as provided by the user โ word for word, character for character. The user's original wording is the contribution; do not "improve", shorten, expand, or restructure it.
- The file should be named
readme.md (matching existing convention in agent-instructions)
- The Instruction section is the most important part โ it contains the full system prompt in a fenced code block
- The system prompt should be well-structured with clear sections (Purpose, Execution Steps, Operating Principles, Tone, etc.)
- The Instructions ๐ section (how to use) always describes the Copilot Studio agent builder workflow
- The tracking image at the bottom MUST follow the pattern:
https://m365-visitor-stats.azurewebsites.net/SamplesGallery/copilotprompts-{agent-name}
- Include the Help and Disclaimer sections exactly as shown
- Use the current date for the version history in
{Month DD, YYYY} format
- Mark the correct Use Case Category checkboxes based on what the user selected
Step 2: Create Metadata (assets/sample.json)
Create samples/agent-instructions/{agent-name}/assets/sample.json:
[
{
"name": "copilotprompts-{agent-name}",
"source": "pnp",
"title": "{Agent Title}",
"shortDescription": "{Short description of what the agent does}",
"url": "https://github.com/pnp/copilot-prompts/tree/main/samples/agent-instructions/{agent-name}",
"downloadUrl": "https://pnp.github.io/download-partial/?url=https://github.com/pnp/copilot-prompts/tree/main/samples/agent-instructions/{agent-name}",
"longDescription": [
"{A longer description of what the agent does and why it's useful.}"
],
"creationDateTime": "{YYYY-MM-DD}",
"updateDateTime": "{YYYY-MM-DD}",
"products": [
"Copilot"
],
"metadata": [],
"thumbnails": [
{
"type": "image",
"order": 100,
"url": "",
"alt": ""
}
],
"authors": [
{
"gitHubAccount": "{github-username}",
"pictureUrl": "https://avatars.githubusercontent.com/{github-username}",
"name": "{Author Name}"
}
],
"references": [
{
"name": "Microsoft Copilot",
"description": "Microsoft Copilot",
"url": "https://copilot.microsoft.com/"
}
]
}
]
Key metadata rules:
name: Always copilotprompts-{agent-name} where {agent-name} is the folder name
shortDescription and longDescription[0]: Should describe the agent's purpose; longDescription can be more detailed
creationDateTime and updateDateTime: Use YYYY-MM-DD format with the current date
products: Always ["Copilot"] for agent instruction samples
source: Always "pnp"
url: Points to samples/agent-instructions/{agent-name} on GitHub main branch
downloadUrl: Uses the pnp partial download service URL pointing to the same path
pictureUrl for authors: Use https://avatars.githubusercontent.com/{username}
thumbnails: Leave url and alt empty if no screenshot is available yet โ the contributor can add one later
Step 3: Remind About Screenshots
After creating the files, remind the user to:
- Optionally add a screenshot of the agent in action to the
assets/ folder
- If they add a screenshot, update the
thumbnails section in sample.json with the URL and alt text
- They can also add a screenshot reference in the readme after the Summary section
Writing Good Agent Instructions
When helping a user craft their system prompt, encourage them to include these sections:
- Purpose / Identity โ Who is the agent? What is its core mission?
- Execution Steps โ Step-by-step workflow the agent follows
- Operating Principles / Guidelines โ Rules and constraints for the agent's behavior
- Tone โ How the agent should communicate (warm, professional, playful, etc.)
- Example Interactions (optional) โ Sample conversations showing expected input/output
- Limitations (optional) โ What the agent cannot or should not do
- Privacy and Safety (optional) โ Any data handling or safety considerations
The system prompt should be detailed enough that anyone can paste it into Copilot Studio's Instructions field and get a working agent.
Validation Checklist
Before finalizing, verify:
Key Rules
- NEVER rephrase, rewrite, or modify the user's system prompt / agent instructions. Always copy them verbatim into the readme's Instruction section. The user's exact wording is the contribution.
- This skill is for agent instruction / system prompt samples ONLY โ not for simple prompt samples
- Samples MUST go in
samples/agent-instructions/{agent-name}/, never directly under samples/
- Every sample needs exactly:
readme.md + assets/sample.json
- The core contribution is the system prompt / agent instructions in the readme's Instruction section
- The
products field in sample.json is always ["Copilot"] (these are Copilot Studio agents)
- Prerequisites are always "Copilot License"
- The Instructions section always describes the Copilot Studio agent builder workflow
- The
sample.json feeds the M365 Solution Gallery โ accuracy matters
- Follow existing naming patterns in the
agent-instructions folder for consistency