add-data-source
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and…
Adds SEO essentials to a Power Pages SPA site, including robots.txt, sitemap.xml, meta tags, Open Graph tags, and favicon configuration. Use when the user wants to improve search engine optimization or make their site more searchable.
Claude Code
$ npx -y skills add microsoft/power-platform-skills --skill add-seo --agent claude-code
Codex
$ npx skills add microsoft/power-platform-skills --skill add-seo -a codex -y
Cursor
$ npx skills add microsoft/power-platform-skills --skill add-seo -a cursor -y
Gemini CLI
$ npx skills add microsoft/power-platform-skills --skill add-seo -a gemini-cli -y
GitHub Copilot
$ npx skills add microsoft/power-platform-skills --skill add-seo -a github-copilot -y
OpenCode
$ npx skills add microsoft/power-platform-skills --skill add-seo -a opencode -y
Windsurf
$ npx skills add microsoft/power-platform-skills --skill add-seo -a windsurf -y
name: add-seo description: >- Adds SEO essentials to a Power Pages SPA site, including robots.txt, sitemap.xml, meta tags, Open Graph tags, and favicon configuration. Use when the user wants to improve search engine optimization or make their site more searchable. user-invocable: true allowed-tools: Read, Write, Edit, Grep, Glob, Bash, AskUserQuestion, Task, TaskCreate, TaskUpdate, TaskList, mcp__plugin_power-pages_playwright__browser_navigate, mcp__plugin_power-pages_playwright__browser_snapshot, mcp__plugin_power-pages_playwright__browser_click, mcp__plugin_power-pages_playwright__browser_close model: sonnet
> **Plugin check**: Run `node "${PLUGIN_ROOT}/scripts/check-version.js"` — if it outputs a message, show it to the user before proceeding.
Add essential SEO assets to a Power Pages SPA site: `robots.txt`, `sitemap.xml`, and meta tags.
> **Prerequisite:** This skill expects an existing Power Pages SPA site created via `/create-site`. Run that skill first if the site does not exist yet.
**Initial request:** $ARGUMENTS
1. **Phase 1: Verify Site Exists** → Locate the Power Pages project 2. **Phase 2: Gather SEO Configuration** → Site URL, pages, preferences 3. **Phase 3: Plan & Approve** → Present SEO additions inline, get user approval 4. **Phase 4: Add robots.txt** → Create robots.txt in public directory 5. **Phase 5: Add sitemap.xml** → Generate sitemap.xml from site routes 6. **Phase 6: Add Meta Tags** → Add title, description, viewport, Open Graph, and favicon to index.html 7. **Phase 7: Verify & Commit** → Verify via Playwright, commit changes
---
**Goal:** Confirm a Power Pages SPA site exists and understand its structure.
Look for `powerpages.config.json` in the current directory or immediate subdirectories to find the project root. Use your file-search tool (e.g., `Glob` with patterns `powerpages.config.json` and `*/powerpages.config.json`) rather than a shell-specific command.
**If not found**: Tell the user to create a site first with `/create-site`.
Read `powerpages.config.json` to get the site name and config.
Read `package.json` to determine the framework and locate key files. See `${PLUGIN_ROOT}/references/framework-conventions.md` for the full framework → public directory → index HTML mapping and route discovery patterns.
Build a list of all routes (e.g., `/`, `/about`, `/contact`, `/blog`).
---
**Goal:** Collect all SEO preferences from the user before making any changes.
<!-- not-a-gate: data-gathering — production URL + exclusion list shape the upcoming Phase 3 plan but don't write anything on their own -->
Use `AskUserQuestion` to collect SEO preferences:
| Question | Header | Options | |----------|--------|---------| | What is the production URL for your site? (e.g., <https://contoso.powerappsportals.com>) | Site URL | *(free text — use single generic option so user types via "Other")* | | Which pages should be excluded from search engine indexing? | Exclusions | None — index all pages (Recommended), Admin/auth pages only, Let me specify |
<!-- not-a-gate: data-gathering — meta description + OG tag choice shape the upcoming Phase 3 plan but don't write anything on their own -->
| Question | Header | Options | |----------|--------|---------| | What meta description should appear in search results? | Description | *(free text — use single generic option so user types via "Other")* | | Add Open Graph tags for social media sharing? | OG Tags | Yes — add Open Graph and Twitter Card tags (Recommended), No — skip social tags |
---
**Goal:** Present the full SEO plan to the user and get explicit approval before making changes.
Present the SEO additions that will be made as a clear, inline summary:
1. **robots.txt content** — which paths will be allowed/disallowed 2. **sitemap.xml content** — all discovered routes with the production URL and priority assignments 3. **Meta tags to add to index.html** — title, description, viewport, charset, Open Graph, Twitter Card 4. **Favicon** — link tag and placeholder SVG
<!-- gate: add-seo:3.plan-approval | category=plan | cancel-leaves=nothing -->
> 🚦 **Gate (plan · add-seo:3.plan-approval):** Final sign-off on the SEO additions before any `robots.txt` / `sitemap.xml` / `index.html` write. > > **Trigger:** Phase 3 has presented the full plan inline (robots.txt, sitemap.xml, meta tags, favicon). > **Why we ask:** SEO assets land on disk with the wrong production URL, wrong exclusions, or unwanted OG tags — fixable but noisy in git history. > **Cancel leaves:** Nothing — no file writes yet.
After presenting the plan, use `AskUserQuestion` to get approval:
| Question | Header | Options | |----------|--------|
Plugins from Microsoft that teach AI assistants, such as GitHub Copilot and Claude Code, to build on Power Platform.
Guide the user to add a data source, connection, or API connector to a Canvas App via Power Apps Studio, then verify and…
Creates or edits a Power Apps Canvas App through the Canvas Authoring MCP coauthoring session. Handles staged experience design,…
Configure the Canvas Authoring MCP server for the current coauthoring session. Use before starting to edit a canvas app with the…
Use this skill when the user wants to "report a bug", "file an issue", "report an issue", "submit a bug report", or report any…
Adds Azure DevOps connector to a Power Apps code app. Use when querying work items, creating bugs, managing pipelines, or making…
Adds any Power Platform connector to a Power Apps code app. Generic fallback for connectors not covered by a specific skill.
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.