Generate a brand-aligned design guide for a new code app instead of using the default template styling. Use when: the user wants to start a new app with their own brand identity, mentions 'design guide', 'brand guidelines', 'style guide', or wants to customize the look and feel before building. This skill runs BEFORE the code-apps plugin to establish brand tokens, then delegates app creation to /create-code-app.
npx skills add https://github.com/microsoft/power-cat-skills --skill code-apps-design-guide
$ARGUMENTS
Create a comprehensive design guide tailored to the customer's brand, then hand off to the code-apps plugin (/create-code-app) to scaffold and build the app. This skill does NOT replicate scaffolding, deployment, or data source wiring — it focuses exclusively on brand extraction and design token generation, then delegates to the plugin for everything else.
The code-apps plugin must be installed. If not already available, instruct the user:
/plugin marketplace add microsoft/power-platform-skills
/plugin install code-apps@power-platform-skills
This step is only needed when the user wants to create a new app. If the user only wants the design guide and tokens for an existing project, skip to Step 1.
Run each substep in order:
0a. Run /plugin marketplace list. If microsoft/power-platform-skills is missing, ask: *"The Power Platform Skills marketplace isn't registered. Want me to add it?"* If yes, run /plugin marketplace add microsoft/power-platform-skills. If no, stop and offer to generate just the design guide without app creation.
0b. Run /plugin list. If code-apps is missing, ask: *"The code-apps plugin isn't installed. Want me to install it?"* If yes, run /plugin install code-apps@power-platform-skills. If no, stop and offer to generate just the design guide without app creation.
0c. Confirm /create-code-app resolves. If it does not, ask: *"The plugin seems broken. Want me to reinstall it?"* If yes, run /plugin uninstall code-apps then /plugin install code-apps@power-platform-skills.
After all substeps pass, proceed to Step 1.
Use the ask-questions tool to collect brand information from the customer:
Based on what the customer provides:
Produce a design-guide.md file in the working directory. Build it in four focused substeps:
3a. Colour Palette — Write the colour sections first:
# [Brand Name] Design Guide
## Colour Palette
### Primary Colours
| Name | Hex | RGB | Usage |
|------|-----|-----|-------|
### Secondary / Accent Colours
| Name | Hex | RGB | Usage |
|------|-----|-----|-------|
### Neutral / Greyscale
| Name | Hex | RGB | Usage |
|------|-----|-----|-------|
### Semantic Colours
| Name | Hex | Usage |
|------|-----|-------|
| Success | ... | Positive actions, confirmations |
| Warning | ... | Caution states |
| Error | ... | Destructive actions, errors |
| Info | ... | Informational notices |
3b. Typography & Logo — Append the type and logo sections:
## Typography
### Font Families
- **Headings:** [Font name] — [source/link]
- **Body:** [Font name] — [source/link]
- **Monospace:** [Font name] — [source/link]
### Type Scale
| Level | Size | Weight | Line Height | Usage |
|-------|------|--------|-------------|-------|
| H1 | ... | ... | ... | Page titles |
| H2 | ... | ... | ... | Section headings |
| H3 | ... | ... | ... | Subsection headings |
| Body | ... | ... | ... | Default text |
| Small | ... | ... | ... | Captions, labels |
## Logo Usage
- Minimum clear space: [value]
- Minimum size: [value]
- Colour variants: Full colour / Monochrome / Reversed
- Placement: [guidelines]
3c. Spacing, Layout & Breakpoints — Append the layout sections:
## Spacing & Layout
### Spacing Scale
| Token | Value | Usage |
|-------|-------|-------|
### Grid System
- Columns: [count]
- Gutter: [value]
- Max content width: [value]
### Breakpoints
| Name | Min Width | Behaviour |
|------|-----------|-----------|
| Mobile | 0 | Single column, stacked navigation |
| Tablet | ... | ... |
| Desktop | ... | ... |
| Wide | ... | ... |
3d. Components & Information Architecture — Append the component and IA sections:
## Components
### Buttons
- Border radius, padding, states (default, hover, active, disabled, focus)
### Cards
- Border radius, shadow, padding
### Navigation
- Pattern: [top bar / sidebar / bottom tabs / hamburger]
- Mobile behaviour: [description]
## Information Architecture
- Navigation depth: [flat / 2 levels / deep hierarchy]
- Mobile navigation: [bottom tabs / hamburger / drawer]
- Key page templates: [list]
Create a design-tokens.css file with CSS custom properties extracted from the brand analysis:
:root {
/* Colours */
--color-primary: ...;
--color-primary-light: ...;
--color-primary-dark: ...;
--color-secondary: ...;
--color-accent: ...;
--color-background: ...;
--color-surface: ...;
--color-text: ...;
--color-text-muted: ...;
--color-success: ...;
--color-warning: ...;
--color-error: ...;
--color-info: ...;
/* Typography */
--font-heading: ...;
--font-body: ...;
--font-mono: ...;
--text-xs: ...;
--text-sm: ...;
--text-base: ...;
--text-lg: ...;
--text-xl: ...;
--text-2xl: ...;
--text-3xl: ...;
/* Spacing */
--space-xs: ...;
--space-sm: ...;
--space-md: ...;
--space-lg: ...;
--space-xl: ...;
--space-2xl: ...;
/* Radii */
--radius-sm: ...;
--radius-md: ...;
--radius-lg: ...;
--radius-full: 9999px;
/* Shadows */
--shadow-sm: ...;
--shadow-md: ...;
--shadow-lg: ...;
}
Present the design guide summary and ask:
Iterate until the customer is satisfied with the design tokens.
Once the design guide is finalised, invoke the code-apps plugin to scaffold and build the app:
/create-code-app — Let the plugin handle:npx degitnpx power-apps init/add-dataverse, /add-sharepoint, etc.)/create-code-app reaches its "Implement App" step (Step 8), provide:design-tokens.css file to import into the app's src/ directoryAfter the plugin scaffolds the app, apply the brand layer:
design-guide.md into the project root so it lives alongside the codedesign-tokens.css into src/styles/design-tokens.css @import './styles/design-tokens.css';
index.html — Add any external font links (Google Fonts, Adobe Fonts, etc.)src/App.css or equivalent with brand colours, typography, and spacing from the tokens.github/copilot-instructions.md (or append to it if it exists) with the following content so that all future Copilot interactions reference the design guide: ## Design Guide
This project has a brand design guide at `design-guide.md` in the project root.
When creating or modifying UI components, always:
- Refer to `design-guide.md` for colour palette, typography, spacing, component patterns, and information architecture rules
- Use the CSS custom properties defined in `src/styles/design-tokens.css` — never hardcode colour values, font stacks, or spacing
- Follow the breakpoints and responsive behaviour described in the design guide
- Respect logo usage rules (clear space, minimum size, colour variants)
- Match the navigation pattern and information architecture specified in the guide
- Maintain WCAG accessibility contrast ratios documented in the colour palette
Run npm run build to confirm the brand styling doesn't break the app. Fix any issues.
Then let the code-apps plugin continue with its normal deployment flow (npx power-apps push).
/create-code-app — it runs first, then delegatesdesign-guide.md file MUST live in the project root and be referenced by .github/copilot-instructions.md so that all future Copilot sessions (new features, refactors, component additions) automatically consult the brand guidesrc/styles/design-tokens.css) is the runtime contract — components use these variables, never raw valuesnpx power-apps CLI)Use Expo DOM components to run web code in a webview on native and as-is on web. Migrate web code to native incrementally.
Frontend development guidelines for React/TypeScript applications. Modern patterns including Suspense, lazy loading, useSuspenseQuery, file organization with features directory, MUI v7 styling, TanStack Router, performance optimization, and TypeScript best practices. Use when creating components, pages, features, fetching data, styling, routing, or working with frontend code.
Next.js 16 Cache Components - PPR, use cache directive, cacheLife, cacheTag, updateTag
| Build Shopify apps, extensions, themes using GraphQL Admin API, Shopify CLI, Polaris UI, and Liquid. "shopify theme", "liquid template", "polaris", "shopify graphql", "shopify webhook", "shopify billing", "app subscription", "metafields", "shopify functions"
Build Gradio web UIs and demos in Python. Use when creating or editing Gradio apps, components, event listeners, layouts, or chatbots.
MANDATORY prerequisite — load this skill BEFORE every `generate_diagram` tool call. NEVER call `generate_diagram` directly without loading this skill first. Trigger whenever the user asks to create, generate, draw, render, sketch, or build a diagram — flowchart, architecture diagram, sequence diagram, ERD or entity-relationship diagram, state diagram or state machine, gantt chart, or timeline. Also trigger when the user mentions Mermaid syntax or wants a system architecture, decision tree, dependency graph, API call flow, auth handshake, schema, or pipeline visualized in FigJam. Routes to type-specific guidance, sets universal Mermaid constraints, and tells you when to use a different diagram type or skip the tool entirely (mindmaps, pie charts, class diagrams, etc.).
Analyzes web performance using Chrome DevTools MCP. Measures Core Web Vitals (LCP, INP, CLS) and supplementary metrics (FCP, TBT, Speed Index), identifies render-blocking resources, network dependency chains, layout shifts, caching issues, and accessibility gaps. Use when asked to audit, profile, debug, or optimize page load performance, Lighthouse scores, or site speed. Biases towards retrieval from current documentation over pre-trained knowledge.
Algorithmic philosophies are computational aesthetic movements that are then expressed through code. Output .md files (philosophy), .html files (interactive viewer), and .js files (generative algorithms).
Take microsoft/code-apps-design-guide from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.
The instructions reference npx.
Without those the skill loads but fails at the first command.