### Before Starting Inputs Example Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md This section lists the required inputs for the skill, instructing Copilot on what information to ask the user for. ```markdown ## Before Starting **Critical**: Always ask the user for the following information before proceeding: 1. **Code to review** — the file, selection, or paste of C# code 2. **Review focus** — what aspects to prioritize (performance, security, readability, all) 3. **Target framework** — .NET version or framework (defaults to .NET 8 if not specified) If the user doesn't provide all details upfront, ask for the missing ones before proceeding. ``` -------------------------------- ### Repository-level Skill Installation Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md Illustrates how to install a skill at the repository level by placing it in the .github/skills/ directory. ```plaintext .github/ └── skills/ └── code-review-csharp/ └── SKILL.md ``` -------------------------------- ### Example Interaction: Async/Await in C# Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/socratic-tutor/readme.md Demonstrates how the Socratic Tutor agent initiates a dialogue about a programming concept by asking guiding questions instead of providing a direct answer. ```text Student: "How does async/await work in C#?" Tutor: "Excellent question! Let's explore this together: 1. First, when you write normal C# code without async/await, what happens when your program needs to wait for something (like reading a file or calling an API)? 2. What do you think happens to the rest of your program during that wait time? 3. Why might that be a problem in some applications?" ``` -------------------------------- ### Step-by-Step Instructions Example Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md Provides numbered steps for Copilot to follow to complete the task, with each step being a discrete action. ```markdown ## Step 1: Analyze Code Structure Examine the code for ... ## Step 2: Check Naming Conventions Verify that ... ## Step 3: Generate Report Create a report following the Output Structure above ... ``` -------------------------------- ### Workspace-level Skill Installation Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md Shows how to configure workspace-level skill installation in VS Code's settings.json. ```json { "github.copilot.chat.skills": [ { "name": "code-review-csharp", "description": "Review C# code for best practices", "file": "path/to/SKILL.md" } ] } ``` -------------------------------- ### Progress Review Example Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/learning-path-architect/readme.md An example of a weekly progress review, detailing completed, in-progress, and upcoming learning modules, along with observations and adjustments made to the learning plan. ```text Progress Review - Week 8 ✅ Completed: Python, Statistics, Pandas 🔄 In Progress: Data Visualization (60%) ⏭️ Upcoming: Machine Learning Fundamentals Observations: - You're excelling with hands-on projects (95% completion) - Video courses have lower completion (60%) - Prefer weekday evenings for learning - Struggling with probability concepts Adjustments Made: ✓ Switched upcoming courses to project-based format ✓ Added extra probability practice resources ✓ Scheduled learning for Tuesday/Thursday evenings ✓ Added peer study group for support Pace: Slightly ahead of schedule! 🎉 ``` -------------------------------- ### References Example Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md Provides examples of external documentation and resources that a skill might reference. ```markdown ## References - [C# Coding Conventions](https://learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/coding-conventions) - [.NET Design Guidelines](https://learn.microsoft.com/en-us/dotnet/standard/design-guidelines/) ``` -------------------------------- ### Initial Consultation User Interaction Example Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/learning-path-architect/readme.md An example of an initial consultation between a user and an agent, where the user expresses a career goal and the agent responds by gathering information to create a personalized learning path. ```text User: "I want to move into cloud architecture but feel overwhelmed about where to start." Agent: "That's an exciting goal, and I'm here to make it manageable! 🚀 Cloud architecture is absolutely achievable, and we'll break it down into clear, actionable steps. First, let's understand where you are: 1. What's your current role and technical background? 2. Which cloud platform interests you most? (Azure, AWS, GCP) 3. How much time can you dedicate weekly? (5, 10, 15+ hours) 4. What timeline feels realistic? (6 months, 1 year, 2 years) 5. Are certifications important for your target role? Based on your answers, I'll create a personalized learning path that: - Builds on your existing strengths - Focuses on high-impact skills first - Fits your schedule and learning style - Includes hands-on projects for your portfolio - Prepares you for relevant certifications You don't have to figure this out alone. Let's build your roadmap together!" ``` -------------------------------- ### Example Learning Path: Data Science Transition Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/learning-path-architect/readme.md An example of a 6-month learning path for transitioning to a Data Scientist role, detailing monthly and weekly objectives, resources, and milestones. ```text Goal: Transition from Business Analyst to Data Scientist (6 months) Month 1: Python Fundamentals & Statistics Week 1-2: Python Basics - Resource: Microsoft Learn Python Path (8 hours) - Practice: 30 Python exercises on HackerRank - Project: Data cleaning script for sample dataset - Milestone: Complete Python certification Week 3-4: Statistics & Probability - Resource: Khan Academy Statistics (10 hours) - Resource: "Think Stats" book (6 hours) - Practice: Statistical analysis of real dataset - Milestone: Quiz score 80%+ Month 2: Data Analysis & Visualization Week 5-6: Pandas & NumPy - Resource: Kaggle Pandas course (4 hours) - Resource: Real Python tutorials (6 hours) - Project: Analyze company sales data - Milestone: Create interactive dashboard Week 7-8: Data Visualization - Resource: Plotly & Matplotlib tutorials (6 hours) - Project: Visualization portfolio (5 charts) - Peer Review: Share in community - Milestone: Published blog post [Continue through 6 months...] Total Investment: 12-15 hours/week Completion: 26 weeks Certifications: 3 (Microsoft, Google, Coursera) Projects: 6 portfolio pieces ``` -------------------------------- ### Example Customization Request for Documentation Source: https://github.com/pnp/copilot-prompts/blob/main/samples/skills/copilot-studio-documenter/README.md Illustrates how to customize the documentation generation by specifying focus areas, output formats, and additional content like sequence diagrams for orchestration flows. ```bash "Document the agent in Agents/multiagentdemo/ with a focus on ServiceNow integration and include a sequence diagram for the orchestration flow" ``` -------------------------------- ### Example LinkedIn Spotlight Post Generation Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/women-in-tech-spotlight/README.md Demonstrates an example interaction where a user requests a LinkedIn spotlight post and the agent's expected output, emphasizing structured content and professional achievements. ```text User: "Create a LinkedIn spotlight post for Aisha Rahman, Senior Data Engineer at Contoso. She led a data migration project that reduced processing time by 40% and mentors junior engineers." Agent: 1. Ask for additional details if needed (years of experience, awards, target audience, preferred tone). 2. Generate a structured LinkedIn spotlight post emphasizing measurable impact and leadership. Example Output: We are pleased to spotlight Aisha Rahman, Senior Data Engineer at Contoso. Aisha recently led a large-scale data migration initiative that reduced processing time by 40%, significantly improving operational efficiency and system performance. Beyond her technical leadership, she actively mentors junior engineers, contributing to team growth and knowledge sharing. ``` -------------------------------- ### Example Interaction: Binary Search Algorithm Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/socratic-tutor/readme.md Shows how the Socratic Tutor agent uses an analogy and probing questions to help a student understand an algorithm like binary search. ```text Student: "Explain binary search to me." Tutor: "Perfect! Let's discover this together: 1. Imagine you're looking for a word in a dictionary. How do you typically find it? Do you start at the first page? 2. Why is that approach faster than checking every page? 3. Now, what conditions must be true about the dictionary for this approach to work?" ``` -------------------------------- ### C# Code Review Example Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md Demonstrates input C# code and the expected output table for a code review skill, highlighting warnings and informational issues. ```csharp public class userManager { public void deleteUser(int id) { // delete } } ``` ```markdown ## Examples ### Example: Reviewing a simple class **Input:** ```csharp public class userManager { public void deleteUser(int id) { // delete } } ``` **Output:** | Severity | Location | Issue | Suggestion | |----------|----------|-------|------------| | 🟡 Warning | Class name | `userManager` doesn't follow PascalCase | Rename to `UserManager` | | 🟡 Warning | Method name | `deleteUser` doesn't follow PascalCase | Rename to `DeleteUser` | | 🔵 Info | Method body | Empty implementation with comment | Add implementation or throw `NotImplementedException` | ``` -------------------------------- ### Skill File Structure Example Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md A skill is a markdown file with YAML frontmatter and a markdown body. The frontmatter defines metadata, and the body contains instructions for GitHub Copilot. ```markdown --- name: description: --- # ``` -------------------------------- ### Example cURL Request Source: https://github.com/pnp/copilot-prompts/blob/main/samples/skills/api-docs-generator/SKILL.md This is an example of how to make a GET request to an API endpoint using cURL, including the Authorization header. ```bash curl -X GET "{base-url}/{path}" \ -H "Authorization: Bearer eyJhbG..." ``` -------------------------------- ### Example Resource Set for Kubernetes Fundamentals Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/learning-path-architect/readme.md A curated list of resources for learning Kubernetes, categorized into Beginner, Intermediate, and Certification paths, including various resource types and quality indicators. ```text Topic: Kubernetes Fundamentals Beginner Path: 1. "Kubernetes in 100 Seconds" - Fireship (2 min) ⭐4.9 2. "Kubernetes Basics" - Microsoft Learn (4 hours) - Free ⭐4.7 3. "Kubernetes for Beginners" - YouTube Course (6 hours) - Free ⭐4.8 4. Interactive Lab: Play with Kubernetes (2 hours) - Free Intermediate Path: 5. "Kubernetes Patterns" Book (Reading, 12 hours) ⭐4.6 6. Linux Foundation CKA Course (40 hours) - $299 ⭐4.8 7. Build a 3-tier app on Kubernetes (Project, 10 hours) Certification: 8. CKA Exam Prep Course (20 hours) ⭐4.7 9. Practice Exams (8 hours) 10. Kubernetes CKA Certification - $395 ``` -------------------------------- ### Create Agent Instruction Sample with GitHub Copilot Source: https://github.com/pnp/copilot-prompts/blob/main/README.md Use this command in GitHub Copilot Chat to create a new agent instruction sample, also known as a system prompt sample. ```text Create an agent instruction ``` -------------------------------- ### Create System Prompt Sample with GitHub Copilot Source: https://github.com/pnp/copilot-prompts/blob/main/README.md An alternative command for creating a new agent instruction or system prompt sample using GitHub Copilot Chat. ```text Create a system prompt sample ``` -------------------------------- ### Validation Checklist Example Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md An example of a validation checklist used by a skill to self-verify its output before presenting it to the user. ```markdown ## Validation Checklist Before finalizing, verify: - [ ] All issues include severity, location, and actionable suggestion - [ ] No false positives — every issue is real and verifiable - [ ] Positive patterns are acknowledged - [ ] Recommendations are prioritized - [ ] Output follows the defined structure ``` -------------------------------- ### Scaffold New Prompt Sample (Alternative) with GitHub Copilot Source: https://github.com/pnp/copilot-prompts/blob/main/README.md An alternative command for scaffolding a new prompt sample using GitHub Copilot Chat. ```text Scaffold a new prompt sample ``` -------------------------------- ### Milestone Achievement Message Example Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/learning-path-architect/readme.md An example motivational message celebrating a user's milestone achievement, including progress details, mastered skills, and encouragement for the next steps. ```text 🎉 Milestone Achieved! You just completed your Python Fundamentals certification! Your Progress: - 24 hours of learning completed - 15-day learning streak 🔥 - 3 projects built - Ready for next phase! What You've Mastered: ✅ Python syntax and data structures ✅ Functions and modules ✅ File handling and exceptions ✅ Basic data analysis What Others Are Saying: "The portfolio project really helped me land my first interview!" - Sarah M. Next Up: Statistics for Data Science Starting Monday - You've got this! 💪 Reflection: What was your biggest "aha moment" this month? ``` -------------------------------- ### Scaffold New Prompt Sample with GitHub Copilot Source: https://github.com/pnp/copilot-prompts/blob/main/README.md Use this command in GitHub Copilot Chat to automatically create a new prompt sample, including folder structure and README. ```text Create a new prompt sample ``` -------------------------------- ### Skill Sample Folder Structure Source: https://github.com/pnp/copilot-prompts/blob/main/CONTRIBUTING.md This is the standard folder structure for a skill sample contribution. ```bash samples/skills/{skill-name}/ ├── SKILL.md # The skill definition (core contribution) ├── README.md # Documentation and usage instructions ├── assets/ │ └── sample.json # Metadata for the Solution Gallery ``` -------------------------------- ### Example Voice Interaction for Chores Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/daily-chore-children/readme.md Illustrates how the AI agent interacts with a child named Summer, transforming chores into quests with point rewards. This example shows the agent's persona and quest-generation capabilities. ```plaintext Parent Input: "These are today's chores for Summer: make the bed, tidy up toys and feed the cat." Agent Speaking to Summer: “Good morning, Summer! Are you ready for your next big adventure? Let’s go!” Toy Shephard Quest “Deep in the enchanted playroom, a trope of wild toys have escaped! Only you, adventurer, can capture them and restore order. Gather them quickly to earn **20 Magic Stars**!” Beast Tamer Mission “The feline beast needs to be fed so the pacifying spell effect remains! Head to the kitchen, feed the cat so he doesn't break the spell and earn **20 Magic Stars**!” ``` -------------------------------- ### Build Agent with GitHub Copilot Source: https://github.com/pnp/copilot-prompts/blob/main/README.md Use this command in GitHub Copilot Chat to initiate the process of building a new agent, which corresponds to creating an agent instruction sample. ```text Build an agent ``` -------------------------------- ### Skills Gap Analysis Output Example Source: https://github.com/pnp/copilot-prompts/blob/main/samples/agent-instructions/learning-path-architect/readme.md This is an example of the structured output for a skills gap analysis. It details the user's current skill profile, maps required skills for a target role, and prioritizes learning areas. ```text Your Current Profile: ✅ Strong: JavaScript, React, Git, Agile 🔸 Developing: TypeScript, Cloud Architecture 🎯 To Develop: Kubernetes, DevOps, System Design Target Role: Senior Full-Stack Engineer Required Skills Mapping: ✅ Have: 60% of required skills 🔸 Partially: 25% 🎯 Need to Learn: 15% Priority Learning Areas: 1. Cloud platforms (Azure/AWS) - Critical 2. System design principles - High 3. Advanced TypeScript - High 4. Container orchestration - Medium 5. Performance optimization - Medium ``` -------------------------------- ### Incorrect YAML Indentation Source: https://github.com/pnp/copilot-prompts/blob/main/samples/skills/powerapps-canvas-yaml-generator/SKILL.md Example of missing indentation, which will cause an immediate import failure (PA1001). ```yaml Screens: DlgAreYouSure: Fill: =RGBA(0, 0, 0, 0) Children: - conDialogBackdrop: Control: GroupContainer@1.5.0 ``` -------------------------------- ### Initialize Local Git Repository Source: https://github.com/pnp/copilot-prompts/blob/main/CONTRIBUTING.md Set up a new local Git repository for merging an existing project. This involves creating a directory and initializing Git within it. ```shell md copilot-prompts cd copilot-prompts git init ``` -------------------------------- ### Skill Title Example Source: https://github.com/pnp/copilot-prompts/blob/main/SKILL-SCHEMA.md The skill title is a required top-level heading that names the skill in plain language. ```markdown # Review C# Code for Best Practices ``` -------------------------------- ### Fetch GitHub Sample Data Source: https://github.com/pnp/copilot-prompts/blob/main/samples/skills/prompt-of-the-week/SKILL.md Fetches the README.md and sample.json files from a GitHub repository sample URL. It converts the tree URL to raw content URLs and saves the fetched files locally. Handles potential network errors by providing a default empty JSON. ```bash # Convert tree URL → raw URL pattern # https://github.com/{owner}/{repo}/tree/{branch}/{path} # → https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{path}/README.md # → https://raw.githubusercontent.com/{owner}/{repo}/{branch}/{path}/assets/sample.json SAMPLE_PATH="samples/agent-instructions/creator-agent" # extracted from URL README_URL="https://raw.githubusercontent.com/pnp/copilot-prompts/main/${SAMPLE_PATH}/README.md" META_URL="https://raw.githubusercontent.com/pnp/copilot-prompts/main/${SAMPLE_PATH}/assets/sample.json" curl -sSL "$README_URL" -o /home/claude/sample_readme.md curl -sSL "$META_URL" -o /home/claude/sample_meta.json 2>/dev/null || echo "{}" > /home/claude/sample_meta.json ``` -------------------------------- ### Prompt Architect Meta-Prompt Source: https://github.com/pnp/copilot-prompts/blob/main/samples/prompts/m365-prompt-architect/readme.md This is the core meta-prompt that guides the AI assistant. It defines a four-step workflow for prompt engineering. ```plaintext You are the "Prompt Architect," an AI assistant expert in prompt engineering. Your goal is to help users craft, test, and refine effective prompts for Copilot and AI assistants. Always follow this structured four-step workflow: --- **Step 1 — Understand the goal 🎯** If the user's goal is unclear from their initial input, ask exactly one clarifying question before proceeding. Do not proceed until you understand the objective. --- **Step 2 — Generate a first draft ✏️** Create a minimal, functional prompt draft structured in three sections: 🧑‍💼 **PERSONA** Define the AI role, expertise, and tone. Be specific. 📋 **INSTRUCTIONS** Numbered step-by-step instructions the AI must follow to produce the output. 📤 **OUTPUT EXAMPLE** Provide three clear and varied output examples so the AI understands expected style, format, and tone. After the three standard examples, always include exactly: - Example 4: input shown as a JSON object - Example 5: input shown as a plain-text user message - Example 6: input you generate autonomously (no user input given) 📌 Important rules for the draft: - The prompt must be written in English. - All outputs inside the prompt (examples, responses) must be in professional French. - Include emojis to improve readability and visual structure. - Keep it simple at first — add complexity only if the user asks. --- **Step 3 — Invite refinement 🔄** After presenting the draft, ask in French: "Souhaitez-vous affiner ce prompt ? Si oui, dites-moi ce que vous souhaitez modifier." Revise the prompt as many times as needed until the user is satisfied. --- **Step 4 — Deliver the final version 🏆** When the user confirms they are satisfied, present the complete result in two clearly separated parts: **PART 1 — Final Prompt** A clean, production-ready prompt with: - Defined PERSONA, INSTRUCTIONS, and OUTPUT EXAMPLE sections - 6 worked examples (3 standard + 1 JSON input + 1 text input + 1 autonomous) - Emojis for visual clarity - All output examples in professional French **PART 2 — Feedback & Tips** - ✅ Strengths of the prompt - 🔧 2–3 areas for potential improvement - 💡 Prompt engineering best practices demonstrated in this prompt --- Guidelines: - Respond step by step — never skip steps or combine them. - Never skip the three output examples in the draft. - All outputs and conversational responses to the user must be in professional French. - Format all output in plain-text copyable markdown. ```