From 21e52b7f0b30bef2a0113760f10cdc40b1436ec3 Mon Sep 17 00:00:00 2001 From: Tim Hanewich Date: Tue, 14 Apr 2026 14:06:23 -0400 Subject: [PATCH 1/6] Added power-platform-architect skill --- skills/power-platform-architect/readme.md | 156 +++++++++++++++++++++ skills/power-platform-architect/skill.md | 157 ++++++++++++++++++++++ 2 files changed, 313 insertions(+) create mode 100644 skills/power-platform-architect/readme.md create mode 100644 skills/power-platform-architect/skill.md diff --git a/skills/power-platform-architect/readme.md b/skills/power-platform-architect/readme.md new file mode 100644 index 000000000..25289b819 --- /dev/null +++ b/skills/power-platform-architect/readme.md @@ -0,0 +1,156 @@ +# Power Platform Architect Agent Skill +![banner](https://i.imgur.com/BovasUB.png) +An [**agent skill**](https://learn.microsoft.com/en-us/agent-framework/agents/skills?pivots=programming-language-csharp) for GitHub Copilot or Claude Code that acts as a **Senior Solution Architect for the Microsoft Power Platform**. Give it business requirements, use case descriptions, or even raw meeting transcripts, and it produces a tailored technical architecture, complete with component recommendations and an optional Mermaid.js diagram. + +*Click the image below for a quick demo of this agent skill!* + +[![link](https://i.imgur.com/UnImFhl.png)](https://youtu.be/tn4jEpZ6jiw) + +## What It Does +|Input you give|Output you get| +|-|-| +|Business requirements, use case descriptions, discovery-session transcripts|Component recommendations, a narrative architecture walkthrough, and an optional Mermaid.js architecture diagram| + +All you have to do: **give a problem statement**! You can even supply it with a meeting transcript in which a problem/need was described: + +![example](https://i.imgur.com/IH1JsPZ.jpeg) + +The skill covers the full Power Platform ecosystem: **Power Apps** (Canvas, Model-Driven, Code Apps), **Power Pages**, **Copilot Studio**, **Power Automate** (Cloud & Desktop Flows), **AI Builder**, **Dataverse**, **Power BI**, **Connectors**, and **Gateways**. + +## How It Works +The skill guides the agent through a structured, multi-phase process (though the output is presented seamlessly to the user): + +1. **Requirements Analysis** — Scans the provided material for stakeholders, data sources, security needs, and functional asks. Documents the current ("As-Is") process and identifies friction points. +2. **Follow-Up Questions** — The agent asks clarifying questions to fill gaps (e.g., "Is this for mobile field workers or desktop back-office users?", "What triggers this process?"). If the user can't answer, it makes reasonable assumptions. +3. **Component Recommendation** — Selects only the Power Platform components that serve a real purpose in the solution and explains the role each one plays. It follows a built-in decision framework (e.g., external access → Power Pages, data storage → Dataverse, conversational interface → Copilot Studio). +4. **Architecture Narrative** — Delivers a business-process-oriented architecture recommendation that tells the "story" of how data flows through the system, which components handle each step, and which user audiences interact at each point. +5. **Architecture Diagram (Optional)** — On request, generates a Mermaid.js diagram visualizing the architecture, saves it to a `.md` file, and directs the user to [mermaid.ai/live/edit](https://mermaid.ai/live/edit) to render it. + +## Example Prompts +- *"Review this transcript from our discovery session and tell me how to build it."* +- *"What Power Platform components should I use for this HR onboarding use case?"* +- *"Generate an architecture diagram for a Power Apps solution that connects to SQL and uses an approval flow."* + +## Example Output Architecture Diagram (rendered in [mermaid](https://mermaid.js.org/)) +![example](https://i.imgur.com/eR1Og3W.png) + +## Example Output Architecture Summary +``` +Solution Architecture — End-to-End Process + +1. Application Submission (Residents & Contractors → Power Pages) + +Residents and solar contractors visit the Evergreen County Solar Permit Portal (Power Pages). The portal presents a +guided application form with required fields, document upload slots (site plan, electrical diagrams, signed +checklist), and fee acknowledgment. Built-in form validation prevents submission if mandatory fields are blank or +required attachments are missing — this is the first line of defense against incomplete applications. + +For walk-in or mailed applications, Marcus's team enters the data directly into the Model-Driven App, which enforces +the same required-field rules. + +All submitted applications land in Dataverse with a status of Submitted. + +2. Automated Completeness Check (Power Automate + AI Builder) + +Upon submission, a Power Automate cloud flow (automated trigger: new record created) fires immediately. It performs +a programmatic completeness check — verifying all required attachments are present, fee acknowledgment is recorded, +and applicant details are complete. + +For uploaded documents, AI Builder's Document Processing model scans the site plan and signed forms to verify that +signature fields are not blank and key data areas are populated. This catches the subtle defects Marcus described — +"referenced but not included" attachments and illegible or unsigned documents. + + - If complete: The permit status advances to Under Review and the flow routes it to the assigned plan reviewer +(Jim's team). + - If incomplete: The status is set to Incomplete, and Power Automate sends an automated email notification to the +applicant via the Outlook connector detailing exactly what's missing. The applicant can log back into the Power +Pages portal to upload corrections. No staff time is consumed. + +3. Plan Review & Approval (Jim's Team → Model-Driven App) + +The assigned plan reviewer opens the permit in the Model-Driven App, which surfaces all applicant data, documents, +and the AI validation results in a single view. The reviewer evaluates the application and either: + + - Approves → Power Automate advances the status to Approved – Pending Inspection and notifies the applicant via +email that their permit is approved and an inspection will be scheduled. + - Requests Revisions → Status set to Revisions Requested, the applicant is emailed with specific feedback, and they + resubmit through the portal. + - Denies → Status set to Denied with documented reasoning; applicant is notified. + +4. Inspection Scheduling & Field Work (Sarah's Team → Canvas App Mobile) + +Once a permit reaches Approved – Pending Inspection, Marcus's team schedules an inspection date via the Model-Driven +App. The applicant is notified of the date through an automated email. + +Before leaving the office, Sarah opens the Canvas App on her phone/tablet and reviews her day's inspection queue. +Each permit shows its live status — if a fee issue surfaced or the applicant requested a reschedule, Sarah sees it +immediately and can reroute to a ready site. No more wasted 40-minute drives. + +On-site, Sarah uses the Canvas App to: + + - Complete a structured inspection checklist (roof mounts, junction boxes, conduit, serial plates) + - Capture photos directly through the app — each photo is automatically linked to the permit record in Dataverse at + the moment it's taken (no more manual matching from a memory card) + - Record pass/fail results and notes + +Results sync to Dataverse in real time. The moment Sarah submits, the office has the inspection outcome — not days +later. + +5. Permit Issuance or Corrective Action (Power Automate) + +When Sarah submits inspection results: + + - Pass → Power Automate sets status to Permit Issued, generates a confirmation, and notifies the applicant that +their solar installation is approved. + - Fail → Status set to Inspection Failed – Corrections Required, with Sarah's notes and photos attached. The +applicant is notified of required corrections and can schedule a re-inspection through the portal. + +6. Self-Service Status Tracking (Residents & Contractors → Power Pages) + +At any point in this process, residents and contractors can log into the Power Pages portal and see their permit's +current status, what stage it's in, whether payment has been recorded, and what the next step is. This directly +addresses the top three phone questions Marcus cited: + + 1. ✅ "Did you receive my check?" → Payment status visible on portal + 2. ✅ "What is the status of my permit?" → Live stage tracking + 3. ✅ "When is the inspector coming?" → Scheduled date displayed + +7. Live Analytics & Audit Readiness (Elena & Jim → Power BI) + +A Power BI dashboard connects directly to Dataverse and provides: + + - Time-to-Permit metrics (average, median, by stage) + - Backlog heatmap — how many permits are sitting in each stage right now + - Inspection throughput — inspections completed per day/week, pass/fail rates + - "Green Energy" permit counts by quarter — the exact metric the County Auditor requests + - Incomplete application rate trends — tracking whether the portal validation is reducing the 40% defect rate + +Elena can answer Board and Auditor questions on demand with live data — no staff time diverted to manual counting. + +------------------------------------------------------------------------------------------------------------------- + +Summary + +This architecture replaces the disconnected paper-based process with a single integrated data backbone (Dataverse) +that every stakeholder touches through the right interface for their role: + +┌──────────────────────────┬─────────────────────┬──────────────────────────┐ +│ Audience │ Interface │ Purpose │ +├──────────────────────────┼─────────────────────┼──────────────────────────┤ +│ Residents & Contractors │ Power Pages Portal │ Submit, track, resubmit │ +├──────────────────────────┼─────────────────────┼──────────────────────────┤ +│ Marcus (Intake) │ Model-Driven App │ Review, schedule, manage │ +├──────────────────────────┼─────────────────────┼──────────────────────────┤ +│ Jim (Planning/Review) │ Model-Driven App │ Approve/reject permits │ +├──────────────────────────┼─────────────────────┼──────────────────────────┤ +│ Sarah (Field Inspectors) │ Canvas App (Mobile) │ Inspect, capture, submit │ +├──────────────────────────┼─────────────────────┼──────────────────────────┤ +│ Elena & Jim (Leadership) │ Power BI Dashboards │ Monitor, report, audit │ +└──────────────────────────┴─────────────────────┴──────────────────────────┘ + +The expected impact directly addresses Elena's four strategic needs and Jim's prediction: cut the backlog in half +without hiring a single new person. +``` + +## Author +Created by [Tim Hanewich](https://timh.ai), Senior Solution Engineer at Microsoft. \ No newline at end of file diff --git a/skills/power-platform-architect/skill.md b/skills/power-platform-architect/skill.md new file mode 100644 index 000000000..1b73b2427 --- /dev/null +++ b/skills/power-platform-architect/skill.md @@ -0,0 +1,157 @@ +--- +name: power-platform-architect +description: Use this skill when the user needs to transform business requirements, use case descriptions, or meeting transcripts into a technical Power Platform solution architecture, including component selection and Mermaid.js diagrams. +license: MIT +metadata: + author: Tim Hanewich +--- + +# Power Platform Architect Skill + +## Context +This skill acts as a Senior Solution Architect specialized in the Microsoft Power Platform ecosystem (Power Apps, Power Automate, Power BI, Power Pages, Copilot Studio, and others). It excels at extracting technical requirements from unstructured data like meeting transcripts or high-level use case descriptions. + +## Example Trigger Phrases +- "Review this transcript from our discovery session and tell me how to build it." +- "What Power Platform components should I use for this HR onboarding use case?" +- "Generate an architecture diagram for a Power Apps solution that connects to SQL and uses an approval flow." + +### Power Platform Component Catalog +The Power Platform provides a vast suite of tools that can be used in any digital solution. Below is a list of the various components (at least the main ones) that may be involved in your output architecture. +- **Power Apps:**- Custom business apps (Canvas or Model-Driven) for task-specific or data-centric interfaces for *internal* users: + - **Canvas Apps:** Best for quickly standing up business apps using interactive drag-and-drop tools while retaining full control over the interface layout and behavior. Use this when you want rapid development with a visual designer, need to connect to multiple diverse data sources, or want a pixel-perfect mobile or tablet experience without writing code (e.g., a frontline worker mobile app or a field inspection form). + - **Model-Driven Apps:** Best for data-dense, process-heavy "back-office" applications. These are automatically generated from your Dataverse schema. Use this when you need a standardized responsive design and complex security/relationship management (e.g., a CRM or Asset Management system). + - **Code Apps:** Best for full control using code-first frameworks (React) in an IDE like VS Code, while still leveraging Power Platform's managed hosting, Entra ID authentication, 1,500+ connectors callable from JavaScript, and governance (DLP, Conditional Access, sharing limits). Use this when the app demands a custom front-end beyond what Canvas or Model-Driven can offer but still needs to run on the managed platform. +- **Power Pages:**- Secure, low-code websites for external partners, customers, or internal portals. +- **Copilot Studio:**- AI-powered conversational agents for natural language interaction with users and data. Build agents that can leverage knowledge sources to provide grounded answers, use tools to take action against systems, and work autonomously (background). +- **Power Automate:**- Automation platform spanning cloud and desktop: + - **Digital Process Automation (Cloud Flows):** Cloud-based workflows triggered in three ways — *Scheduled* (run on a recurring timer, e.g., nightly data sync), *Instant* (manually triggered by a user button press or app action), or *Automated* (fired by an event such as a new record created, an email received, or a form submitted). Use for cross-system integration, approval workflows, and business process orchestration. + - **Robotic Process Automation (Desktop Flows):** UI-based automation that mimics human interaction with desktop applications and legacy systems. Use when there is no API available and you need to automate clicks, keystrokes, and screen scraping on older or on-premises software (e.g., mainframe terminals, legacy ERP clients). +- **AI Builder:**- Pre-built AI models (OCR, sentiment analysis, prediction) to add intelligence to processes. AI Builder has the following AI models available: + - **Prompts:**- Custom generative AI instructions for standardized LLM-based interactions. + - **Document processing (Custom):** Extracts specific, user-defined information from complex or unstructured documents. + - **Invoice processing (Prebuilt):** Pulls key data points like vendor, date, and totals from standard invoices. + - **Text recognition (Prebuilt):** Standard OCR to extract all text from images and PDF documents. + - **Receipt processing (Prebuilt):** Extracts merchant data, dates, and line items from receipts for expense tracking. + - **Identity document reader (Prebuilt):** Scans and extracts data from government-issued passports and ID cards. + - **Business card reader (Prebuilt):** Parses contact information from business cards directly into data tables. + - **Sentiment analysis (Prebuilt):** Scores text as positive, negative, or neutral (ideal for customer feedback). + - **Category classification:** + - *Prebuilt:* Automatically buckets customer feedback into general categories. + - *Custom:* Sorts text into your organization's specific proprietary categories. + - **Entity extraction:** + - *Prebuilt:* Identifies standard data like names, dates, and locations in text. + - *Custom:* Trains the agent to find industry-specific terms or unique identifiers. + - **Key phrase extraction (Prebuilt):** Identifies the core topics or "talking points" within a large block of text. + - **Language detection (Prebuilt):** Automatically determines the language used in a document. + - **Text translation (Prebuilt):** Translates text across 90+ supported languages. + - **Object detection (Custom):** Identifies, locates, and counts specific items within an image (e.g., inventory tracking). + - **Image description (Prebuilt - Preview):** Provides a natural language summary describing the contents of an image. + - **Prediction (Custom):** Analyzes historical Dataverse records to predict binary (yes/no) or numerical outcomes (e.g., credit risk or project delays). +- **Dataverse:**- The primary data platform for the Power Platform ecosystem. Supports structured relational data (tables, columns, relationships), unstructured data (rich text, JSON), and file/image storage directly on records. Provides enterprise-grade role-based access control (RBAC) with security roles, business units, row-level security, column-level security, and team-based sharing. Built for performance at scale with indexing, elastic tables for high-volume workloads, and built-in auditing, versioning, and business rules enforcement. +- **Connectors & Custom Connectors:**- Pre-built integrations that allow Power Platform apps and flows to call external systems and services (e.g., SharePoint, SQL Server, Salesforce, SAP, ServiceNow). Over 1,500 standard connectors are available out of the box. Custom Connectors let you wrap any REST API as a reusable connector when a pre-built one doesn't exist. For a full list of connectors, see the [List of all Power Automate Connectors](https://learn.microsoft.com/en-us/connectors/connector-reference/connector-reference-powerautomate-connectors). If the system that needs to be called to via API is *not* on that list, a *Custom Connector* can be used to communicate with the API. +- **Power BI:**- The analytics and reporting engine of the Power Platform. Build interactive dashboards, paginated reports, and real-time data visualizations from virtually any data source. Key capabilities include: +- **Gateways:**- Secure tunnels for connecting cloud services to on-premises data sources. + +### "Cheat Sheet" Decision Logic for Architecting +For the "major needs" of a solution (e.g. user touch points), the following is a basic cheat sheet that guides you on what solution to recommend in various user scenarios. Note that this is simply of rule of thumb, not gospel. +1. **Public/External Access?**- -> Power Pages (portal website) +2. **Data Storage?**- -> Dataverse +3. **Internal Data Entry / Review / Process?**- -> Power Apps +4. **Legacy On-Prem Data?**- -> Data Gateways +5. **Multi-System Orchestration?**- -> Power Automate +6. **Conversational Interface? Agentic Automation?**- -> Copilot Studio +7. **Reporting / Dashboards / Analytics?**- -> Power BI + +## Instructions +You will go about drafting a custom Power Platform architecture for a given use case using the following instructions below + +### PHASE 1: Requirements Analysis +- Scan transcripts or descriptions for stakeholders, data sources, security requirements, and functional "asks". +- Identify pain points in the current process that can be solved via automation or low-code interfaces. +- The "As-Is" vs. "To-Be": Document the current manual or legacy process. Identify where the friction lies (e.g., "It takes 4 days to get an approval signature"). + +### PHASE 2: Requirements Follow Up +After reviewing the provided use case description thoroughly and getting a rough idea of what architecture may be needed here, you will likely have the opportunity to ask follow up questions about the use case and its needs. Examples of questions you may ask are: +- "What is the 'Exception Path' if an approver is on vacation or denies a request?" +- "Is this app meant for a 'Deskless Worker' (Mobile/Tablet) or a 'Back-office Power User' (Desktop/Many columns)?" +- "What starts this process?" (to determine how data is ingested or how a Power Automate flow should trigger, for example) +- "Is the data being 'captured' for the first time, or is it being 'pulled' from somewhere else?" + +Note, those questions above are only *examples*. You are free to ask whatever question you feel is necessary to prescribe a functional architecture that meets the needs of the use case. + +If the user is *not* available (or refuses to answer), give it your best guess based on the information you already know. + +### PHASE 3: Component Recommendation +Next, you will review what information you have about the use case, both what was originally provided and what information you now have after asking your follow up questions. + +In this phase you will then provide recommendations for which *Power Platform Components* will be involved in this architecture, as well as the role they will play. + +Note: the goal is *not* to just include as many as possible. The goal is to provide a functional architecture. Each component you select must play a true role with a unique purpose. + +For each component you select and feel has a role to play in this architecture, also describe what role it will have to the user. You do NOT need to explain what components you did *not* include and why, unless they are noted in the material you collected as being needed, but only for a future phase (not for immediate architecture). + +### PHASE 4: Architecture Recommendation +After making a decision on what Power Platform Components are going to be used in this architecture, you will make an **architecture recommendation**. *This* is what you are used for and are relied upon for, so this step is very important. + +Your architecture recommendation will be business process oriented. Meaning, you will provide it in the context of a "story" as data propagates through the process, is referenced or used by various components, or reviewed/modified/etc by a user (human). + +NOTE: In your architecture recommendation you *should* include *users*! Because the human users of this system is going to be a very important piece of how this works, be sure to include that in your recommendation. Try to be specific as to what group of users (i.e. audience) is involved at every step of the way: for example, label user audiences as "Jane Doe's Team" or "Dan's Audit Team" or "State of Texas Residents" or "Property Owners" or "Vendors". + +### PHASE 5: Architecture Visualization (OPTIONAL) +This next phase is optional. After providing your written architecture recommendation from the previous step, you will now ask the user if they also would like for you to create a visualization of this architecture via a mermaid.js diagram. It is a simple yes/no question. If they **DO** want one, this is how you will do it: + +You will produce the architectural recommendation by producing a **Mermaid.js diagram.** Your mermaid.js diagram will not be overly complicated. It will only depict the flow of information/business process as it goes through your architecture, also depicting what interfaces/components the human users of this system will interact with. + +The following is an example of the type of mermaid.js diagram you should create (not how simple it is!) + +``` +graph LR + %% Entities + Vendor((Vendor)) + ChrissyTeam[Chrissy's Team] + HiringManagers[Hiring Managers] + + %% Main Components + AzurePortal[Azure Container Apps
Portal] + Dataverse[(Dataverse
Database)] + PowerApp[Power App
Candidate Hub] + + %% Automation & AI + PA_Val[Power Automate
Validation] + PA_Eval[Power Automate
Candidate Evaluation] + Foundry[Foundry
AI Models] + + %% Communication + Outlook[Outlook
Follow Up Request] + + %% Connections + Vendor --> AzurePortal + AzurePortal <--> Dataverse + Dataverse <--> PowerApp + Dataverse <--> PA_Val + Dataverse <--> PA_Eval + + PA_Val --> Outlook + Outlook -.->|After quiet period| Vendor + + PA_Eval <--> Foundry + + PowerApp <--> ChrissyTeam + PowerApp <--> HiringManagers + + %% Styling + style Dataverse fill:#f9f9f9,stroke:#333,stroke-width:2px + style Outlook stroke-dasharray: 5 5 +``` + +After producing the mermaid diagram, you will save it to the user's computer (current directory is fine) as a `.md` file. In the `.md` file, *ONLY* include the raw mermaid diagram definition... no need to wrap it in a "```mermaid" block. Otherwise it won't parse correctly if the user copies + pastes it! + +After saving it to the `.md` file, instruct the user that you just saved it, and that they can find the content in it. + +Instruct them to visit `https://mermaid.ai/live/edit` and copy-and-paste the contents of that resulting `.md` file you made (open it in a text editor) and paste it in the "Code" pane on the left to get their architecture diagram. + +And then say if there are any issues with this process, let you know and you will try to fix them (i.e. modification to the `.md` file if there is a syntax issue). + +## Other Things to Note +- When you provide your work to the user, do NOT provide it in terms of "Phases". The user doesn't need to know which output you give corresponds to what phase of instructions it originated from; the phases are only something for you. \ No newline at end of file From c64c8b3d9b132392ff4a001beca1abdd9fc533ac Mon Sep 17 00:00:00 2001 From: Tim Hanewich Date: Tue, 14 Apr 2026 14:09:51 -0400 Subject: [PATCH 2/6] updated readme w/ build in npm script --- docs/README.skills.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/README.skills.md b/docs/README.skills.md index 400eb0554..36f7b9f4b 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -238,6 +238,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [power-bi-model-design-review](../skills/power-bi-model-design-review/SKILL.md) | Comprehensive Power BI data model design review prompt for evaluating model architecture, relationships, and optimization opportunities. | None | | [power-bi-performance-troubleshooting](../skills/power-bi-performance-troubleshooting/SKILL.md) | Systematic Power BI performance troubleshooting prompt for identifying, diagnosing, and resolving performance issues in Power BI models, reports, and queries. | None | | [power-bi-report-design-consultation](../skills/power-bi-report-design-consultation/SKILL.md) | Power BI report visualization design prompt for creating effective, user-friendly, and accessible reports with optimal chart selection and layout design. | None | +| [power-platform-architect](../skills/power-platform-architect/SKILL.md) | Use this skill when the user needs to transform business requirements, use case descriptions, or meeting transcripts into a technical Power Platform solution architecture, including component selection and Mermaid.js diagrams. | `readme.md`
`skill.md` | | [power-platform-mcp-connector-suite](../skills/power-platform-mcp-connector-suite/SKILL.md) | Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation | None | | [powerbi-modeling](../skills/powerbi-modeling/SKILL.md) | Power BI semantic modeling assistant for building optimized data models. Use when working with Power BI semantic models, creating measures, designing star schemas, configuring relationships, implementing RLS, or optimizing model performance. Triggers on queries about DAX calculations, table relationships, dimension/fact table design, naming conventions, model documentation, cardinality, cross-filter direction, calculation groups, and data model best practices. Always connects to the active model first using power-bi-modeling MCP tools to understand the data structure before providing guidance. | `references/MEASURES-DAX.md`
`references/PERFORMANCE.md`
`references/RELATIONSHIPS.md`
`references/RLS.md`
`references/STAR-SCHEMA.md` | | [prd](../skills/prd/SKILL.md) | Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis. | None | From 3d2c1085cfc9ca8598f38114ee415411aa5aefca Mon Sep 17 00:00:00 2001 From: Tim Hanewich <57418795+TimHanewich@users.noreply.github.com> Date: Wed, 15 Apr 2026 19:29:03 -0400 Subject: [PATCH 3/6] Removed power-platform-architect readme.md --- skills/power-platform-architect/readme.md | 156 ---------------------- 1 file changed, 156 deletions(-) delete mode 100644 skills/power-platform-architect/readme.md diff --git a/skills/power-platform-architect/readme.md b/skills/power-platform-architect/readme.md deleted file mode 100644 index 25289b819..000000000 --- a/skills/power-platform-architect/readme.md +++ /dev/null @@ -1,156 +0,0 @@ -# Power Platform Architect Agent Skill -![banner](https://i.imgur.com/BovasUB.png) -An [**agent skill**](https://learn.microsoft.com/en-us/agent-framework/agents/skills?pivots=programming-language-csharp) for GitHub Copilot or Claude Code that acts as a **Senior Solution Architect for the Microsoft Power Platform**. Give it business requirements, use case descriptions, or even raw meeting transcripts, and it produces a tailored technical architecture, complete with component recommendations and an optional Mermaid.js diagram. - -*Click the image below for a quick demo of this agent skill!* - -[![link](https://i.imgur.com/UnImFhl.png)](https://youtu.be/tn4jEpZ6jiw) - -## What It Does -|Input you give|Output you get| -|-|-| -|Business requirements, use case descriptions, discovery-session transcripts|Component recommendations, a narrative architecture walkthrough, and an optional Mermaid.js architecture diagram| - -All you have to do: **give a problem statement**! You can even supply it with a meeting transcript in which a problem/need was described: - -![example](https://i.imgur.com/IH1JsPZ.jpeg) - -The skill covers the full Power Platform ecosystem: **Power Apps** (Canvas, Model-Driven, Code Apps), **Power Pages**, **Copilot Studio**, **Power Automate** (Cloud & Desktop Flows), **AI Builder**, **Dataverse**, **Power BI**, **Connectors**, and **Gateways**. - -## How It Works -The skill guides the agent through a structured, multi-phase process (though the output is presented seamlessly to the user): - -1. **Requirements Analysis** — Scans the provided material for stakeholders, data sources, security needs, and functional asks. Documents the current ("As-Is") process and identifies friction points. -2. **Follow-Up Questions** — The agent asks clarifying questions to fill gaps (e.g., "Is this for mobile field workers or desktop back-office users?", "What triggers this process?"). If the user can't answer, it makes reasonable assumptions. -3. **Component Recommendation** — Selects only the Power Platform components that serve a real purpose in the solution and explains the role each one plays. It follows a built-in decision framework (e.g., external access → Power Pages, data storage → Dataverse, conversational interface → Copilot Studio). -4. **Architecture Narrative** — Delivers a business-process-oriented architecture recommendation that tells the "story" of how data flows through the system, which components handle each step, and which user audiences interact at each point. -5. **Architecture Diagram (Optional)** — On request, generates a Mermaid.js diagram visualizing the architecture, saves it to a `.md` file, and directs the user to [mermaid.ai/live/edit](https://mermaid.ai/live/edit) to render it. - -## Example Prompts -- *"Review this transcript from our discovery session and tell me how to build it."* -- *"What Power Platform components should I use for this HR onboarding use case?"* -- *"Generate an architecture diagram for a Power Apps solution that connects to SQL and uses an approval flow."* - -## Example Output Architecture Diagram (rendered in [mermaid](https://mermaid.js.org/)) -![example](https://i.imgur.com/eR1Og3W.png) - -## Example Output Architecture Summary -``` -Solution Architecture — End-to-End Process - -1. Application Submission (Residents & Contractors → Power Pages) - -Residents and solar contractors visit the Evergreen County Solar Permit Portal (Power Pages). The portal presents a -guided application form with required fields, document upload slots (site plan, electrical diagrams, signed -checklist), and fee acknowledgment. Built-in form validation prevents submission if mandatory fields are blank or -required attachments are missing — this is the first line of defense against incomplete applications. - -For walk-in or mailed applications, Marcus's team enters the data directly into the Model-Driven App, which enforces -the same required-field rules. - -All submitted applications land in Dataverse with a status of Submitted. - -2. Automated Completeness Check (Power Automate + AI Builder) - -Upon submission, a Power Automate cloud flow (automated trigger: new record created) fires immediately. It performs -a programmatic completeness check — verifying all required attachments are present, fee acknowledgment is recorded, -and applicant details are complete. - -For uploaded documents, AI Builder's Document Processing model scans the site plan and signed forms to verify that -signature fields are not blank and key data areas are populated. This catches the subtle defects Marcus described — -"referenced but not included" attachments and illegible or unsigned documents. - - - If complete: The permit status advances to Under Review and the flow routes it to the assigned plan reviewer -(Jim's team). - - If incomplete: The status is set to Incomplete, and Power Automate sends an automated email notification to the -applicant via the Outlook connector detailing exactly what's missing. The applicant can log back into the Power -Pages portal to upload corrections. No staff time is consumed. - -3. Plan Review & Approval (Jim's Team → Model-Driven App) - -The assigned plan reviewer opens the permit in the Model-Driven App, which surfaces all applicant data, documents, -and the AI validation results in a single view. The reviewer evaluates the application and either: - - - Approves → Power Automate advances the status to Approved – Pending Inspection and notifies the applicant via -email that their permit is approved and an inspection will be scheduled. - - Requests Revisions → Status set to Revisions Requested, the applicant is emailed with specific feedback, and they - resubmit through the portal. - - Denies → Status set to Denied with documented reasoning; applicant is notified. - -4. Inspection Scheduling & Field Work (Sarah's Team → Canvas App Mobile) - -Once a permit reaches Approved – Pending Inspection, Marcus's team schedules an inspection date via the Model-Driven -App. The applicant is notified of the date through an automated email. - -Before leaving the office, Sarah opens the Canvas App on her phone/tablet and reviews her day's inspection queue. -Each permit shows its live status — if a fee issue surfaced or the applicant requested a reschedule, Sarah sees it -immediately and can reroute to a ready site. No more wasted 40-minute drives. - -On-site, Sarah uses the Canvas App to: - - - Complete a structured inspection checklist (roof mounts, junction boxes, conduit, serial plates) - - Capture photos directly through the app — each photo is automatically linked to the permit record in Dataverse at - the moment it's taken (no more manual matching from a memory card) - - Record pass/fail results and notes - -Results sync to Dataverse in real time. The moment Sarah submits, the office has the inspection outcome — not days -later. - -5. Permit Issuance or Corrective Action (Power Automate) - -When Sarah submits inspection results: - - - Pass → Power Automate sets status to Permit Issued, generates a confirmation, and notifies the applicant that -their solar installation is approved. - - Fail → Status set to Inspection Failed – Corrections Required, with Sarah's notes and photos attached. The -applicant is notified of required corrections and can schedule a re-inspection through the portal. - -6. Self-Service Status Tracking (Residents & Contractors → Power Pages) - -At any point in this process, residents and contractors can log into the Power Pages portal and see their permit's -current status, what stage it's in, whether payment has been recorded, and what the next step is. This directly -addresses the top three phone questions Marcus cited: - - 1. ✅ "Did you receive my check?" → Payment status visible on portal - 2. ✅ "What is the status of my permit?" → Live stage tracking - 3. ✅ "When is the inspector coming?" → Scheduled date displayed - -7. Live Analytics & Audit Readiness (Elena & Jim → Power BI) - -A Power BI dashboard connects directly to Dataverse and provides: - - - Time-to-Permit metrics (average, median, by stage) - - Backlog heatmap — how many permits are sitting in each stage right now - - Inspection throughput — inspections completed per day/week, pass/fail rates - - "Green Energy" permit counts by quarter — the exact metric the County Auditor requests - - Incomplete application rate trends — tracking whether the portal validation is reducing the 40% defect rate - -Elena can answer Board and Auditor questions on demand with live data — no staff time diverted to manual counting. - -------------------------------------------------------------------------------------------------------------------- - -Summary - -This architecture replaces the disconnected paper-based process with a single integrated data backbone (Dataverse) -that every stakeholder touches through the right interface for their role: - -┌──────────────────────────┬─────────────────────┬──────────────────────────┐ -│ Audience │ Interface │ Purpose │ -├──────────────────────────┼─────────────────────┼──────────────────────────┤ -│ Residents & Contractors │ Power Pages Portal │ Submit, track, resubmit │ -├──────────────────────────┼─────────────────────┼──────────────────────────┤ -│ Marcus (Intake) │ Model-Driven App │ Review, schedule, manage │ -├──────────────────────────┼─────────────────────┼──────────────────────────┤ -│ Jim (Planning/Review) │ Model-Driven App │ Approve/reject permits │ -├──────────────────────────┼─────────────────────┼──────────────────────────┤ -│ Sarah (Field Inspectors) │ Canvas App (Mobile) │ Inspect, capture, submit │ -├──────────────────────────┼─────────────────────┼──────────────────────────┤ -│ Elena & Jim (Leadership) │ Power BI Dashboards │ Monitor, report, audit │ -└──────────────────────────┴─────────────────────┴──────────────────────────┘ - -The expected impact directly addresses Elena's four strategic needs and Jim's prediction: cut the backlog in half -without hiring a single new person. -``` - -## Author -Created by [Tim Hanewich](https://timh.ai), Senior Solution Engineer at Microsoft. \ No newline at end of file From cd5875cd76fe03ea4744a5e9962426814786e7c7 Mon Sep 17 00:00:00 2001 From: Tim Hanewich Date: Wed, 15 Apr 2026 20:47:22 -0400 Subject: [PATCH 4/6] Renamed skill.md --- skills/power-platform-architect/{skill.md => skill_.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename skills/power-platform-architect/{skill.md => skill_.md} (100%) diff --git a/skills/power-platform-architect/skill.md b/skills/power-platform-architect/skill_.md similarity index 100% rename from skills/power-platform-architect/skill.md rename to skills/power-platform-architect/skill_.md From 5249d11f1cb749737f1acb8e780aa3c29fae3278 Mon Sep 17 00:00:00 2001 From: Tim Hanewich Date: Wed, 15 Apr 2026 20:47:33 -0400 Subject: [PATCH 5/6] Renamed to SKILL.md --- skills/power-platform-architect/{skill_.md => SKILL.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename skills/power-platform-architect/{skill_.md => SKILL.md} (100%) diff --git a/skills/power-platform-architect/skill_.md b/skills/power-platform-architect/SKILL.md similarity index 100% rename from skills/power-platform-architect/skill_.md rename to skills/power-platform-architect/SKILL.md From 1a1f51b455c3e8b239b72a56ed07a23120326e4d Mon Sep 17 00:00:00 2001 From: Tim Hanewich Date: Wed, 15 Apr 2026 20:51:59 -0400 Subject: [PATCH 6/6] Rebuild --- docs/README.skills.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/README.skills.md b/docs/README.skills.md index 36f7b9f4b..e00857034 100644 --- a/docs/README.skills.md +++ b/docs/README.skills.md @@ -238,7 +238,7 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md#adding-skills) for guidelines on how to | [power-bi-model-design-review](../skills/power-bi-model-design-review/SKILL.md) | Comprehensive Power BI data model design review prompt for evaluating model architecture, relationships, and optimization opportunities. | None | | [power-bi-performance-troubleshooting](../skills/power-bi-performance-troubleshooting/SKILL.md) | Systematic Power BI performance troubleshooting prompt for identifying, diagnosing, and resolving performance issues in Power BI models, reports, and queries. | None | | [power-bi-report-design-consultation](../skills/power-bi-report-design-consultation/SKILL.md) | Power BI report visualization design prompt for creating effective, user-friendly, and accessible reports with optimal chart selection and layout design. | None | -| [power-platform-architect](../skills/power-platform-architect/SKILL.md) | Use this skill when the user needs to transform business requirements, use case descriptions, or meeting transcripts into a technical Power Platform solution architecture, including component selection and Mermaid.js diagrams. | `readme.md`
`skill.md` | +| [power-platform-architect](../skills/power-platform-architect/SKILL.md) | Use this skill when the user needs to transform business requirements, use case descriptions, or meeting transcripts into a technical Power Platform solution architecture, including component selection and Mermaid.js diagrams. | None | | [power-platform-mcp-connector-suite](../skills/power-platform-mcp-connector-suite/SKILL.md) | Generate complete Power Platform custom connector with MCP integration for Copilot Studio - includes schema generation, troubleshooting, and validation | None | | [powerbi-modeling](../skills/powerbi-modeling/SKILL.md) | Power BI semantic modeling assistant for building optimized data models. Use when working with Power BI semantic models, creating measures, designing star schemas, configuring relationships, implementing RLS, or optimizing model performance. Triggers on queries about DAX calculations, table relationships, dimension/fact table design, naming conventions, model documentation, cardinality, cross-filter direction, calculation groups, and data model best practices. Always connects to the active model first using power-bi-modeling MCP tools to understand the data structure before providing guidance. | `references/MEASURES-DAX.md`
`references/PERFORMANCE.md`
`references/RELATIONSHIPS.md`
`references/RLS.md`
`references/STAR-SCHEMA.md` | | [prd](../skills/prd/SKILL.md) | Generate high-quality Product Requirements Documents (PRDs) for software systems and AI-powered features. Includes executive summaries, user stories, technical specifications, and risk analysis. | None |