Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 18:49:14 +08:00
commit 1930d868f5
10 changed files with 4081 additions and 0 deletions

View File

@@ -0,0 +1,12 @@
{
"name": "design-brief-generator",
"description": "Generate comprehensive design briefs for design projects. Use this skill when designers ask to 'create a design brief', 'structure a design project', 'define design requirements', or need help planning design work.",
"version": "0.0.0-2025.11.28",
"author": {
"name": "James Rochabrun",
"email": "jamesrochabrun@gmail.com"
},
"skills": [
"./skills/design-brief-generator"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# design-brief-generator
Generate comprehensive design briefs for design projects. Use this skill when designers ask to 'create a design brief', 'structure a design project', 'define design requirements', or need help planning design work.

68
plugin.lock.json Normal file
View File

@@ -0,0 +1,68 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:jamesrochabrun/skills:design-brief-generator",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "a224b33fc1775ce70956788fc6c59dd050b31d04",
"treeHash": "43cd6ae805dca8f27fa8344545de456325d8d99ed3302af78fde0b85ae812818",
"generatedAt": "2025-11-28T10:17:46.610475Z",
"toolVersion": "publish_plugins.py@0.2.0"
},
"origin": {
"remote": "git@github.com:zhongweili/42plugin-data.git",
"branch": "master",
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
},
"manifest": {
"name": "design-brief-generator",
"description": "Generate comprehensive design briefs for design projects. Use this skill when designers ask to 'create a design brief', 'structure a design project', 'define design requirements', or need help planning design work."
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "964733951db1717bcb74d698ef7c763816e4b96ed06708cb67a5da64e14f1bc9"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "8699b91ae72df0338d42de964cf953bf23a3dd647102aff33704206ea7eda8fe"
},
{
"path": "skills/design-brief-generator/SKILL.md",
"sha256": "419cf77b8118e72b41ce73049ec674880c094c03019197f1217be74b4f0076ca"
},
{
"path": "skills/design-brief-generator/references/design_principles.md",
"sha256": "8fbc90552af392d49b4d1afe31a11aaeb5a60d8f38f2a6d6f0c3da0085a70ec8"
},
{
"path": "skills/design-brief-generator/references/design_brief_template.md",
"sha256": "2c6b9382c71bb6cad7087c180aaa9da828a796ed9562b9ae3f70aa7201a844e0"
},
{
"path": "skills/design-brief-generator/references/user_research_methods.md",
"sha256": "bb3665fc2fd9572c00049c1630933154882a49e2ff62211f625a81e39b074711"
},
{
"path": "skills/design-brief-generator/references/accessibility_guidelines.md",
"sha256": "cad4d6539a46163e7bc794378b2463284e9ad37841894b796b16096f5ecd8569"
},
{
"path": "skills/design-brief-generator/scripts/generate_brief.sh",
"sha256": "8b3225488d4b161e1597466c015a2732eba3a33cbccdf759aa7ff303219657a6"
},
{
"path": "skills/design-brief-generator/scripts/validate_brief.sh",
"sha256": "b80b9c5fe1dd363dd01861d0c9bab1ce20fa82a754b88ff368b5e03c7f0de6d6"
}
],
"dirSha256": "43cd6ae805dca8f27fa8344545de456325d8d99ed3302af78fde0b85ae812818"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}

View File

@@ -0,0 +1,631 @@
---
name: design-brief-generator
description: Generate comprehensive design briefs for design projects. Use this skill when designers ask to "create a design brief", "structure a design project", "define design requirements", or need help planning design work.
---
# Design Brief Generator
## Overview
Generate comprehensive, well-structured design briefs that align stakeholders and guide design projects. This skill helps designers create clear project briefs that define scope, goals, constraints, and success criteria.
**Built for:**
- UX/UI designers
- Product designers
- Design leads
- Design systems teams
- Brand designers
---
## Quick Start
### 1. Generate Design Brief
Run the interactive script:
```bash
scripts/generate_brief.sh
```
This will guide you through creating a comprehensive design brief covering:
- Project goals and objectives
- Target users and personas
- Design constraints
- Success criteria
- Timeline and deliverables
### 2. Validate Brief
Check brief completeness:
```bash
scripts/validate_brief.sh <brief_file.md>
```
Ensures all critical sections are included.
---
## Core Workflow
### When to Create a Design Brief
**Use a design brief for:**
- New product/feature design projects
- Design system initiatives
- Redesign projects
- Brand identity projects
- UX research initiatives
**Skip for:**
- Minor UI tweaks
- Bug fixes
- Small iterations on existing designs
---
## Design Brief Components
### 1. Project Overview
**What it includes:**
- Project name and description
- Background and context
- Why this project matters now
- Business objectives
- User problems being solved
**Example:**
```markdown
## Project Overview
**Project:** Mobile app redesign
**Background:** Current app has 2.8 star rating with users citing confusing navigation
**Business Goal:** Increase app retention from 15% to 40% (Day 30)
**User Problem:** Users can't find key features, leading to frustration and abandonment
```
---
### 2. Design Goals & Objectives
**Define what success looks like:**
- Primary design goal
- Secondary goals
- Success metrics
- Must-haves vs. nice-to-haves
**Example:**
```markdown
## Design Goals
**Primary Goal:** Create intuitive navigation that helps users complete core tasks in < 3 taps
**Secondary Goals:**
- Reduce visual clutter by 40%
- Improve accessibility (WCAG AA compliance)
- Establish reusable component library
**Success Metrics:**
- Task success rate: 90%+
- Time on task: -50%
- SUS score: 75+
```
---
### 3. Target Users & Personas
**Who are we designing for:**
- Primary user personas
- User needs and pain points
- User goals and motivations
- Technical proficiency
- Context of use
**Example:**
```markdown
## Target Users
**Primary Persona:** Sarah, Marketing Manager
- **Age:** 32-45
- **Tech Savvy:** Medium
- **Goals:** Create campaigns quickly, track performance
- **Pain Points:** Current tool too complex, takes too long
- **Context:** Uses on desktop during work hours, sometimes mobile
```
---
### 4. Design Principles & Direction
**Guiding principles for the project:**
- Core design principles
- Visual direction
- Interaction patterns
- Content strategy
- Accessibility requirements
**Example:**
```markdown
## Design Principles
1. **Clarity over cleverness** - Users should never wonder what to do next
2. **Progressive disclosure** - Show what's needed, hide complexity
3. **Consistent patterns** - Use established design system components
4. **Accessible by default** - WCAG AA minimum, aim for AAA
```
---
### 5. Scope & Constraints
**What's in and out of scope:**
**In Scope:**
- Screens/flows included
- Platforms (web, mobile, tablet)
- Devices and browsers
- Accessibility requirements
**Out of Scope:**
- What we're NOT designing
- Future considerations
**Constraints:**
- Technical limitations
- Timeline constraints
- Resource constraints
- Brand guidelines to follow
**Example:**
```markdown
## Scope
**In Scope:**
- Dashboard redesign (5 screens)
- Mobile responsive (iOS, Android)
- Dark mode support
- WCAG AA compliance
**Out of Scope:**
- Admin panel (separate project)
- Native mobile apps (web only)
- Marketing website
**Constraints:**
- Must use existing design system
- Launch deadline: 8 weeks
- Development team: 2 engineers
- No custom illustrations budget
```
---
### 6. User Flows & Journeys
**Key user paths to design:**
- Primary user flows
- Entry points
- Decision points
- Success states
- Error states
**Example:**
```markdown
## Key User Flows
**Flow 1: Create Campaign**
1. Land on dashboard
2. Click "New Campaign"
3. Choose template
4. Customize content
5. Preview
6. Publish
7. Success confirmation
**Flow 2: View Analytics**
[Define the flow]
```
---
### 7. Deliverables & Timeline
**What will be delivered:**
**Design Deliverables:**
- User research (if needed)
- Wireframes
- High-fidelity mockups
- Interactive prototype
- Design specifications
- Component documentation
- Accessibility annotations
**Timeline:**
- Week 1-2: Research & wireframes
- Week 3-4: High-fidelity designs
- Week 5-6: Prototype & testing
- Week 7-8: Refinement & handoff
---
### 8. Success Criteria
**How we'll measure success:**
**Qualitative:**
- User testing feedback
- Stakeholder approval
- Designer review
- Accessibility audit pass
**Quantitative:**
- Task success rate
- Time on task
- Error rate
- SUS score
- NPS
**Example:**
```markdown
## Success Criteria
**Usability Testing:**
- 8/10 users complete primary task without help
- Average SUS score: 75+
- Zero critical accessibility issues
**Business Metrics (post-launch):**
- 40% Day 30 retention (up from 15%)
- 90% task completion rate
- < 5% error rate
```
---
## Design Project Types
### 1. New Feature Design
**Focus areas:**
- User needs validation
- Integration with existing product
- Interaction patterns
- Edge cases
**Brief template:** Standard brief with emphasis on user flows
---
### 2. Redesign Project
**Focus areas:**
- Current state analysis
- What's working/not working
- Migration considerations
- Before/after comparisons
**Additional sections:**
- Current pain points
- Competitive analysis
- Design audit findings
---
### 3. Design System
**Focus areas:**
- Component inventory
- Design principles
- Usage guidelines
- Governance
**Additional sections:**
- Adoption strategy
- Documentation plan
- Maintenance plan
---
### 4. Brand/Visual Design
**Focus areas:**
- Brand attributes
- Visual language
- Mood boards
- Design explorations
**Additional sections:**
- Brand guidelines
- Application examples
- Asset deliverables
---
## Stakeholder Alignment
### Discovery Questions
**Ask before starting:**
1. What problem are we solving?
2. Who are the users?
3. What are the business goals?
4. What's the timeline?
5. What are the constraints?
6. How will we measure success?
7. Who needs to approve?
### Stakeholder Review Process
**Brief review checklist:**
- [ ] Product Manager reviewed
- [ ] Engineering lead reviewed (feasibility)
- [ ] Design lead approved
- [ ] Key stakeholders aligned
- [ ] Success metrics agreed upon
- [ ] Timeline confirmed
- [ ] Resources allocated
---
## Design Brief Best Practices
### DO:
-**Start with "why"** - Clearly state the problem
-**Define success** - Specific, measurable criteria
-**Include constraints** - Technical, time, resource
-**Show examples** - Inspiration, references
-**Get buy-in early** - Review draft with stakeholders
-**Keep it concise** - 2-3 pages maximum
-**Make it visual** - Include diagrams, mockups, references
### DON'T:
-**Jump to solutions** - Focus on problem first
-**Be vague** - "Make it better" isn't helpful
-**Ignore constraints** - They shape the solution
-**Work in isolation** - Involve PM, Engineering early
-**Skip research** - Base decisions on data
-**Forget accessibility** - Consider from the start
---
## Accessibility in Design Briefs
### Minimum Requirements
**Every design brief should include:**
**WCAG Compliance:**
- [ ] Target level (A, AA, AAA)
- [ ] Color contrast requirements (4.5:1 for text)
- [ ] Keyboard navigation support
- [ ] Screen reader compatibility
- [ ] Touch target sizes (44x44px minimum)
**Testing Plan:**
- [ ] Screen reader testing (NVDA, JAWS, VoiceOver)
- [ ] Keyboard-only navigation
- [ ] Color contrast validation
- [ ] Automated testing (axe, Lighthouse)
See `references/accessibility_guidelines.md` for complete checklist.
---
## Cross-Functional Collaboration
### Working with Product
**PM provides:**
- Business requirements
- User research
- Success metrics
- Timeline constraints
**Designer provides:**
- Design expertise
- User experience recommendations
- Feasibility feedback
- Design timeline
### Working with Engineering
**Engineering needs from brief:**
- Technical constraints acknowledged
- Interaction patterns defined
- Edge cases documented
- Component reuse identified
**Design provides to Engineering:**
- Design specifications
- Component documentation
- Interaction details
- Responsive breakpoints
---
## Design Tools & Templates
### Recommended Tools
**Design Briefs:**
- Notion (collaborative docs)
- Confluence
- Google Docs
- Figma FigJam (visual briefs)
**User Flows:**
- Figma
- Miro
- Whimsical
- FigJam
**Prototyping:**
- Figma
- Framer
- ProtoPie
- Principle
---
## Example Design Briefs
### Example 1: Mobile App Feature
```markdown
# Design Brief: In-App Messaging
## Project Overview
Add direct messaging between users within our fitness app.
**Business Goal:** Increase engagement, reduce churn
**User Problem:** Users want to connect with workout partners
## Design Goals
- Enable 1:1 messaging
- Keep it simple and focused
- Integrate with existing notifications
## Target Users
Primary: Sarah, fitness enthusiast, 28-45, uses app 4x/week
## Scope
**In:** 1:1 text messaging, read receipts, notifications
**Out:** Group chat, media sharing (future phase)
## Success Criteria
- 40% of users try messaging in first 30 days
- 20% become weekly active messagers
- No increase in support tickets
## Timeline
6 weeks: Research (1w), Design (3w), Prototype & Test (2w)
```
---
### Example 2: Dashboard Redesign
```markdown
# Design Brief: Analytics Dashboard Redesign
## Project Overview
Redesign analytics dashboard to improve data comprehension.
**Current Issues:**
- Users overwhelmed by data
- Key metrics buried
- Poor mobile experience
## Design Goals
1. Surface most important metrics first
2. Enable drill-down for details
3. Make it mobile-friendly
## Target Users
- Marketing managers (primary)
- Executives (secondary)
- Data analysts (tertiary)
## Success Criteria
- Users find key metric in < 10 seconds
- Mobile traffic increases 30%+
- SUS score: 75+
## Timeline
8 weeks (Research: 2w, Design: 4w, Testing: 2w)
```
---
## Resources
### Scripts
- **generate_brief.sh** - Interactive brief generation
- **validate_brief.sh** - Check brief completeness
### References
- **design_brief_template.md** - Comprehensive template
- **accessibility_guidelines.md** - WCAG checklist
- **design_principles.md** - Common design principles
- **user_research_methods.md** - Research guidance
---
## Tips for Designers
### Before Creating the Brief
1. **Talk to stakeholders** - Understand the real problem
2. **Review existing research** - Don't start from scratch
3. **Check technical constraints** - Talk to engineering
4. **Understand the timeline** - Be realistic
### During Brief Creation
1. **Start with template** - Don't reinvent the wheel
2. **Be specific** - Vague briefs lead to vague designs
3. **Include visuals** - Mood boards, references, examples
4. **Define success** - How will you know it worked?
### After Brief Creation
1. **Review with PM** - Align on goals and scope
2. **Review with Engineering** - Validate feasibility
3. **Get stakeholder sign-off** - Explicit approval
4. **Treat it as living doc** - Update as you learn
---
## Common Pitfalls
### Pitfall 1: Too Broad
**Problem:** "Redesign the entire app"
**Solution:** Break into phases, prioritize
### Pitfall 2: Solution-First
**Problem:** "Make it look like Apple"
**Solution:** Start with user problems, not aesthetics
### Pitfall 3: No Constraints
**Problem:** Ignoring technical/time limits
**Solution:** Document and respect constraints
### Pitfall 4: Skipping Research
**Problem:** Designing based on assumptions
**Solution:** At minimum, review existing data
### Pitfall 5: Vague Success Criteria
**Problem:** "Make it better" isn't measurable
**Solution:** Define specific, testable criteria
---
## Summary
A great design brief:
1. **Defines the problem** clearly
2. **Sets goals** and success criteria
3. **Identifies users** and their needs
4. **Documents constraints** (time, tech, budget)
5. **Aligns stakeholders** early
6. **Guides the work** without being prescriptive
7. **Evolves** as you learn
**Get started:**
```bash
scripts/generate_brief.sh
```
This creates a solid foundation for successful design projects.

View File

@@ -0,0 +1,611 @@
# Accessibility Guidelines for Design Briefs
Comprehensive accessibility requirements and best practices for design projects.
---
## Why Accessibility Matters
**Legal:** ADA, Section 508, AODA compliance
**Business:** 15% of the world has a disability - that's your potential users
**Ethical:** Everyone deserves equal access to digital experiences
**Technical:** Accessible design is better design for everyone
---
## WCAG 2.1 Overview
### Compliance Levels
**Level A (Minimum):**
- Basic web accessibility features
- Legal requirement in many jurisdictions
- Addresses most critical barriers
**Level AA (Recommended):**
- Addresses most common barriers
- Gold standard for most organizations
- Required by many laws (EU, Canada, US Section 508)
**Level AAA (Enhanced):**
- Highest level of accessibility
- Not required for general compliance
- Often not feasible for all content
**Recommendation:** Target WCAG 2.1 Level AA for most projects.
---
## Four Principles (POUR)
### 1. Perceivable
Information and UI components must be presentable to users in ways they can perceive.
### 2. Operable
UI components and navigation must be operable by all users.
### 3. Understandable
Information and UI operation must be understandable.
### 4. Robust
Content must be robust enough to work with current and future technologies.
---
## Key Requirements by Category
### Visual Design
#### Color & Contrast
**Requirement:** Minimum contrast ratios
- **Normal text:** 4.5:1 (Level AA) or 7:1 (Level AAA)
- **Large text (18pt+):** 3:1 (Level AA) or 4.5:1 (Level AAA)
- **UI components:** 3:1 for active elements
**Best Practices:**
- Don't rely on color alone to convey information
- Use patterns, icons, or labels in addition to color
- Test in grayscale to verify information hierarchy
- Consider color blindness (8% of males, 0.5% of females)
**Tools:**
- [WebAIM Contrast Checker](https://webaim.org/resources/contrastchecker/)
- [Contrast Ratio](https://contrast-ratio.com/)
- Figma plugins: Stark, A11y - Color Contrast Checker
#### Typography
**Requirements:**
- Text must be resizable up to 200% without loss of content
- Line height at least 1.5x font size
- Paragraph spacing at least 2x font size
- Letter spacing at least 0.12x font size
- Word spacing at least 0.16x font size
**Best Practices:**
- Minimum body text size: 16px
- Use relative units (rem, em) not absolute (px)
- Avoid ALL CAPS for long text
- Left-align text (not justified)
- Break long content into shorter paragraphs
- Use clear, simple language
#### Focus Indicators
**Requirement:** Keyboard focus must be visible
**Best Practices:**
- Focus indicator contrast ratio: 3:1 minimum
- Don't remove default focus styles without replacement
- Use outline or border (not just background color change)
- Maintain focus order that follows visual layout
- Show focus on all interactive elements
---
### Interaction Design
#### Keyboard Navigation
**Requirements:**
- All functionality available via keyboard
- No keyboard traps
- Logical tab order
- Skip links for repetitive content
**Tab Order:**
1. Header navigation
2. Main content
3. Sidebar (if present)
4. Footer
**Keyboard Shortcuts:**
- `Tab` - Move forward through interactive elements
- `Shift + Tab` - Move backward
- `Enter` - Activate buttons/links
- `Space` - Activate buttons, toggle checkboxes
- `Arrow keys` - Navigate within components (menus, radio groups)
- `Esc` - Close modals/menus
**Best Practices:**
- Add "Skip to main content" link
- Ensure modals trap focus appropriately
- Return focus when closing overlays
- Document custom keyboard shortcuts
#### Touch Targets
**Requirements:**
- Minimum touch target size: 44×44px (Level AA)
- Adequate spacing between targets
**Best Practices:**
- 48×48px or larger for important actions
- At least 8px spacing between touch targets
- Enlarge hit areas beyond visible element
- Consider thumb reach zones on mobile
#### Time Limits
**Requirements:**
- Users can extend, adjust, or turn off time limits
- 20-hour minimum for inactive sessions
- Warning before timeout
**Best Practices:**
- Avoid auto-advancing carousels
- Pause auto-playing media
- Save user progress
- Warn 60+ seconds before timeout
#### Motion & Animation
**Requirements:**
- Respect `prefers-reduced-motion` setting
- No flashing content (> 3 flashes/second)
- Provide pause controls for moving content
**Best Practices:**
```css
@media (prefers-reduced-motion: reduce) {
* {
animation-duration: 0.01ms !important;
transition-duration: 0.01ms !important;
}
}
```
---
### Content & Information
#### Alternative Text
**Requirements:**
- All images have alt text
- Decorative images have empty alt (`alt=""`)
- Complex images have detailed descriptions
**Alt Text Guidelines:**
- Describe content and function, not appearance
- Keep under 150 characters
- Don't start with "Image of" or "Picture of"
- For decorative images: `alt=""`
- For complex diagrams: Use `aria-describedby` or long description
**Examples:**
- ❌ "Image of a dog"
- ✅ "Golden retriever playing fetch in a park"
- ❌ "Click here button"
- ✅ "Submit registration form"
#### Headings
**Requirements:**
- Logical heading structure (H1 → H2 → H3)
- Don't skip heading levels
- H1 used once per page
**Best Practices:**
```html
<h1>Page Title</h1>
<h2>Section 1</h2>
<h3>Subsection</h3>
<h2>Section 2</h2>
<h3>Subsection</h3>
```
#### Links
**Requirements:**
- Link text describes destination
- Links distinguishable from surrounding text
**Best Practices:**
- ❌ "Click here" or "Read more"
- ✅ "Read the design brief guidelines"
- ❌ URL as link text (https://example.com)
- ✅ Descriptive text with URL in title
- Indicate when links open in new windows
- Underline links in body text
#### Forms
**Requirements:**
- Labels for all inputs
- Error messages clearly identify problems
- Instructions provided where needed
- Group related form elements
**Best Practices:**
```html
<label for="email">Email Address</label>
<input id="email" type="email" required
aria-describedby="email-hint">
<span id="email-hint">We'll never share your email</span>
```
- Place labels above or beside inputs (not inside)
- Use `<fieldset>` and `<legend>` for groups
- Provide inline validation
- Clear error messages with solutions
- Disable submit until required fields complete
#### Tables
**Requirements:**
- Use table headers (`<th>`)
- Associate headers with data cells
- Provide table caption or summary
**Best Practices:**
```html
<table>
<caption>Project Timeline</caption>
<thead>
<tr>
<th scope="col">Phase</th>
<th scope="col">Duration</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">Discovery</th>
<td>2 weeks</td>
</tr>
</tbody>
</table>
```
---
### Component-Specific Guidelines
#### Modals & Dialogs
- Focus first element when opened
- Trap focus within modal
- Close with Esc key
- Return focus when closed
- Use `role="dialog"` and `aria-modal="true"`
- Provide accessible close button
#### Carousels
- Pause on hover/focus
- Keyboard controls to navigate
- Don't auto-advance (or make stoppable)
- Indicate current slide
- All controls keyboard accessible
#### Navigation
- Skip to main content link
- Keyboard accessible dropdowns
- Clear current page indicator
- Breadcrumb trail when appropriate
- Mobile menu keyboard accessible
#### Forms with Multiple Steps
- Indicate current step and total steps
- Allow navigation between steps
- Save progress
- Review before submit
- Accessible progress indicator
#### Search
- Label search input clearly
- Announce results to screen readers
- Show result count
- Support keyboard navigation of results
---
## Screen Reader Considerations
### ARIA (Accessible Rich Internet Applications)
**Core Principles:**
1. **Use semantic HTML first** - ARIA should enhance, not replace
2. **Don't override native semantics**
3. **All interactive elements must be keyboard accessible**
4. **Don't use ARIA to make elements focusable**
**Common ARIA Attributes:**
```html
<!-- Landmarks -->
<nav aria-label="Main navigation">
<main aria-label="Main content">
<aside aria-label="Related articles">
<!-- Live regions -->
<div aria-live="polite">Status updated</div>
<div aria-live="assertive">Error: Invalid input</div>
<!-- Labels & descriptions -->
<button aria-label="Close dialog">×</button>
<input aria-describedby="password-requirements">
<!-- States -->
<button aria-pressed="true">Bold</button>
<div aria-expanded="false">Menu collapsed</div>
<input aria-invalid="true">
```
**Common Roles:**
- `role="button"` - For clickable non-button elements
- `role="navigation"` - Navigation landmarks
- `role="search"` - Search landmarks
- `role="alert"` - Important messages
- `role="dialog"` - Modal dialogs
- `role="tablist"`, `role="tab"`, `role="tabpanel"` - Tab components
### Screen Reader Testing
**Test with:**
- **NVDA** (Windows, free)
- **JAWS** (Windows, paid)
- **VoiceOver** (macOS/iOS, built-in)
- **TalkBack** (Android, built-in)
**Testing Checklist:**
- [ ] Can navigate entire page with keyboard alone
- [ ] All interactive elements announced correctly
- [ ] Heading structure makes sense
- [ ] Form labels associated properly
- [ ] Error messages announced
- [ ] Dynamic content updates announced
- [ ] Images have appropriate alt text
---
## Design Handoff Checklist
### For Designers to Specify
- [ ] **Color contrast ratios** for all text and UI elements
- [ ] **Focus indicator styles** for interactive elements
- [ ] **Touch target sizes** (minimum 44×44px)
- [ ] **Alt text** for all meaningful images
- [ ] **Heading hierarchy** clearly marked
- [ ] **Form labels** positioned and associated
- [ ] **Error states** designed and documented
- [ ] **Keyboard navigation** flow specified
- [ ] **Motion** alternatives for animations
- [ ] **Responsive text** sizing behavior
### Documentation to Provide
```markdown
## Accessibility Specifications
### Color Contrast
- Primary text on background: 8.2:1 (AAA)
- Button text on primary color: 5.1:1 (AA)
- All tested with [tool name]
### Interactive States
- Default: [specs]
- Hover: [specs]
- Focus: 2px solid blue outline, 3:1 contrast
- Active: [specs]
- Disabled: [specs]
### Keyboard Navigation
1. Tab order: Header → CTA → Form → Footer
2. Skip link to main content
3. Escape closes modal
### Screen Reader Content
- "Menu" button: aria-label="Open navigation menu"
- Close button: aria-label="Close dialog"
- Loading state: aria-live="polite" announcement
```
---
## Testing & Validation
### Automated Testing Tools
**Browser Extensions:**
- [axe DevTools](https://www.deque.com/axe/devtools/) - Free, comprehensive
- [WAVE](https://wave.webaim.org/) - Visual feedback
- [Lighthouse](https://developers.google.com/web/tools/lighthouse) - Built into Chrome
**Design Tools:**
- Figma: Stark, A11y - Focus Orderer
- Sketch: Stark
- Adobe XD: Accessibility features built-in
**Limitations:**
- Automated tools catch ~30-40% of issues
- Manual testing required for full compliance
### Manual Testing Checklist
- [ ] **Keyboard only** - Can you complete all tasks?
- [ ] **Screen reader** - Does it make sense?
- [ ] **Zoom to 200%** - Is content still readable?
- [ ] **Color blindness** - Information still conveyed?
- [ ] **Resize text** - Layout still works?
- [ ] **Disable CSS** - Content still logical?
- [ ] **Motion reduced** - Animations simplified?
### User Testing with People with Disabilities
**Include diverse participants:**
- Screen reader users (blind/low vision)
- Keyboard-only users (motor disabilities)
- Voice control users
- Cognitive disabilities
- Older adults
- Low bandwidth/assistive tech users
---
## Common Accessibility Mistakes
### ❌ Don't Do This
1. **Using placeholders as labels**
```html
<!-- Bad -->
<input placeholder="Email address">
<!-- Good -->
<label for="email">Email address</label>
<input id="email" type="email">
```
2. **Icon-only buttons without labels**
```html
<!-- Bad -->
<button><svg>...</svg></button>
<!-- Good -->
<button aria-label="Close menu">
<svg aria-hidden="true">...</svg>
</button>
```
3. **Disabled buttons without explanation**
```html
<!-- Bad -->
<button disabled>Submit</button>
<!-- Good -->
<button disabled aria-describedby="submit-hint">Submit</button>
<span id="submit-hint">Complete all required fields to submit</span>
```
4. **Auto-playing media**
```html
<!-- Bad -->
<video autoplay>
<!-- Good -->
<video controls>
<track kind="captions" src="captions.vtt">
</video>
```
5. **Removing focus indicators**
```css
/* Bad */
:focus { outline: none; }
/* Good */
:focus {
outline: 2px solid blue;
outline-offset: 2px;
}
```
---
## Accessibility Statement Template
Include on your website:
```markdown
## Accessibility Statement
[Organization] is committed to ensuring digital accessibility for people with disabilities. We are continually improving the user experience for everyone and applying the relevant accessibility standards.
### Conformance Status
The Web Content Accessibility Guidelines (WCAG) defines requirements to improve accessibility. We aim for WCAG 2.1 Level AA conformance.
### Feedback
We welcome your feedback on the accessibility of [product name]. Please contact us:
- Email: [accessibility@example.com]
- Phone: [phone number]
### Technical Specifications
[Product] accessibility relies on the following technologies:
- HTML
- CSS
- JavaScript
- ARIA
### Assessment Approach
[Organization] assessed the accessibility of [product] by:
- Self-evaluation
- External evaluation by [company]
- User testing with people with disabilities
### Date
This statement was created on [date] and last reviewed on [date].
```
---
## Resources
### Guidelines & Standards
- [WCAG 2.1](https://www.w3.org/WAI/WCAG21/quickref/)
- [ARIA Authoring Practices](https://www.w3.org/WAI/ARIA/apg/)
- [Section 508](https://www.section508.gov/)
- [A11Y Project Checklist](https://www.a11yproject.com/checklist/)
### Testing Tools
- [axe DevTools](https://www.deque.com/axe/)
- [WAVE](https://wave.webaim.org/)
- [Color Contrast Analyzer](https://www.tpgi.com/color-contrast-checker/)
- [NVDA Screen Reader](https://www.nvaccess.org/)
### Learning
- [WebAIM](https://webaim.org/)
- [Deque University](https://dequeuniversity.com/)
- [Inclusive Components](https://inclusive-components.design/)
- [A11ycasts (YouTube)](https://www.youtube.com/playlist?list=PLNYkxOF6rcICWx0C9LVWWVqvHlYJyqw7g)
### Component Patterns
- [Inclusive Components](https://inclusive-components.design/)
- [A11Y Style Guide](https://a11y-style-guide.com/)
- [GOV.UK Design System](https://design-system.service.gov.uk/)
---
## Quick Reference
### Minimum Requirements (WCAG 2.1 AA)
| Category | Requirement |
|----------|-------------|
| **Color Contrast** | 4.5:1 (text), 3:1 (UI) |
| **Touch Targets** | 44×44px minimum |
| **Text Resize** | 200% without loss |
| **Keyboard** | Full functionality |
| **Focus Visible** | Clear indicators |
| **Alt Text** | All images |
| **Labels** | All form inputs |
| **Headings** | Logical structure |
| **Link Text** | Descriptive |
| **Time Limits** | User controllable |
| **Motion** | Reduced option |
| **Error Messages** | Clear & helpful |
### Priority Checklist for Design Briefs
- [ ] Target WCAG 2.1 Level AA
- [ ] Specify color contrast ratios
- [ ] Design clear focus indicators
- [ ] Ensure 44×44px touch targets
- [ ] Plan keyboard navigation flow
- [ ] Include motion alternatives
- [ ] Document ARIA requirements
- [ ] Design error states
- [ ] Consider screen reader experience
- [ ] Plan accessibility testing
---
Remember: **Accessibility is not a feature, it's a fundamental requirement.** Build it in from the start, not as an afterthought.

View File

@@ -0,0 +1,459 @@
# Design Brief Template
A comprehensive template for creating design project briefs.
---
## Project Overview
### Project Name
[Project name]
### Problem Statement
[What user problem or business need are we addressing?]
### Background & Context
[Why now? What led to this project?]
### Project Type
- [ ] New Feature
- [ ] Redesign
- [ ] Design System
- [ ] Brand/Visual Design
- [ ] UX Research
- [ ] Other: ___________
---
## Design Goals & Objectives
### Primary Goal
[The main design objective - what success looks like]
### Secondary Goals
1. [Goal 2]
2. [Goal 3]
3. [Goal 4]
### Business Objectives
- [How does this support business goals?]
- [What business metrics will this impact?]
### User Objectives
- [What user needs does this address?]
- [How will this improve the user experience?]
---
## Target Users
### Primary Audience
**Who:** [User segment or persona name]
**Characteristics:**
- Demographics: [Age, location, role, etc.]
- Technical proficiency: [Beginner, intermediate, expert]
- Current behavior: [How they currently solve this problem]
- Pain points: [Specific frustrations]
### Secondary Audience
**Who:** [Additional user segment]
**Characteristics:**
- [Key characteristics]
- [Specific needs]
### User Personas
**Persona 1: [Name]**
- Role: [Job title/role]
- Goals: [What they want to achieve]
- Frustrations: [Current pain points]
- Quote: "[A representative quote]"
**Persona 2: [Name]**
- Role: [Job title/role]
- Goals: [What they want to achieve]
- Frustrations: [Current pain points]
- Quote: "[A representative quote]"
---
## User Research
### Research Completed
- [ ] User interviews (n = [number])
- [ ] Surveys (n = [number])
- [ ] Analytics review
- [ ] Competitor analysis
- [ ] Usability testing
- [ ] Other: ___________
### Key Findings
1. **Finding 1:** [Insight from research]
- Evidence: [Data/quotes supporting this]
2. **Finding 2:** [Insight from research]
- Evidence: [Data/quotes supporting this]
3. **Finding 3:** [Insight from research]
- Evidence: [Data/quotes supporting this]
### Research Gaps
[What don't we know yet? What assumptions need validation?]
---
## Scope
### In Scope
**Features/Experiences:**
- [Feature/flow 1]
- [Feature/flow 2]
- [Feature/flow 3]
**Platforms:**
- [ ] Web (Desktop)
- [ ] Web (Mobile)
- [ ] iOS Native
- [ ] Android Native
- [ ] Other: ___________
**Deliverables:**
- [Wireframes]
- [High-fidelity mockups]
- [Prototypes]
- [Design system components]
### Out of Scope
[What we are explicitly NOT doing in this phase]
- [Excluded feature 1]
- [Excluded feature 2]
- [Future consideration 1]
### Constraints
**Technical:**
- [Technical limitations or requirements]
**Business:**
- [Budget, timeline, resource constraints]
**Design:**
- [Brand guidelines, existing patterns to maintain]
---
## User Flows & Journeys
### Primary User Flow
**Goal:** [What the user wants to accomplish]
**Steps:**
1. [Entry point]
2. [Step 2]
3. [Step 3]
4. [Success state]
**Alternative paths:**
- [Edge case or alternative flow]
### Secondary Flows
**Flow 2:** [Brief description]
1. [Key steps]
**Flow 3:** [Brief description]
1. [Key steps]
### Critical Interactions
- **Interaction 1:** [Description of key interaction]
- Current experience: [How it works now]
- Desired experience: [How it should work]
- **Interaction 2:** [Description]
- Current experience: [How it works now]
- Desired experience: [How it should work]
---
## Design Principles
### Project-Specific Principles
1. **[Principle 1]:** [Description]
- Example: [How this applies]
2. **[Principle 2]:** [Description]
- Example: [How this applies]
3. **[Principle 3]:** [Description]
- Example: [How this applies]
### Brand Principles (if applicable)
- [Existing brand principle that applies]
- [Existing brand principle that applies]
---
## Visual Direction
### Design Style
- [ ] Follow existing design system
- [ ] Extend design system
- [ ] New visual direction
### Visual References
- [Link to inspiration/reference 1]
- [Link to inspiration/reference 2]
- [Link to competitor examples]
### Key Visual Elements
- **Color palette:** [Specific colors or guidance]
- **Typography:** [Typefaces and hierarchy]
- **Imagery style:** [Photography, illustration, icons]
- **Motion:** [Animation principles if applicable]
---
## Accessibility Requirements
### WCAG Level Target
- [ ] WCAG 2.1 Level A
- [ ] WCAG 2.1 Level AA (recommended)
- [ ] WCAG 2.1 Level AAA
### Specific Requirements
- [ ] Keyboard navigation
- [ ] Screen reader support
- [ ] Color contrast (4.5:1 minimum)
- [ ] Focus indicators
- [ ] Alternative text for images
- [ ] Captions for video/audio
- [ ] Responsive text sizing
- [ ] Reduced motion support
### Accessibility Considerations
[Any specific accessibility challenges or requirements for this project]
---
## Success Criteria
### Qualitative Metrics
- [ ] Users can complete [primary task] without assistance
- [ ] Users express positive sentiment about [feature]
- [ ] Design passes usability testing with < 3 critical issues
- [ ] Stakeholders approve design direction
- [ ] Design is consistent with brand guidelines
### Quantitative Metrics
**Primary Metrics:**
- [Metric 1]: [Target] (e.g., Task completion rate > 90%)
- [Metric 2]: [Target] (e.g., Time on task < 2 minutes)
**Secondary Metrics:**
- [Metric 3]: [Target] (e.g., Error rate < 5%)
- [Metric 4]: [Target] (e.g., User satisfaction score > 4/5)
**Business Metrics:**
- [Metric 5]: [Target] (e.g., Conversion rate increase by 15%)
### Measurement Plan
- **How:** [How will we measure success?]
- **When:** [Timeline for measuring]
- **Baseline:** [Current metrics if available]
---
## Deliverables
### Design Artifacts
- [ ] User flow diagrams
- [ ] Wireframes (low-fidelity)
- [ ] Wireframes (high-fidelity)
- [ ] Visual design mockups
- [ ] Interactive prototype
- [ ] Design specifications
- [ ] Component documentation
- [ ] Design system updates
- [ ] Accessibility documentation
- [ ] Animation specifications
### Documentation
- [ ] Design rationale
- [ ] User research summary
- [ ] Usability test report
- [ ] Developer handoff notes
- [ ] Content guidelines
### Review Artifacts
- [ ] Presentation deck
- [ ] Design review recordings
- [ ] Feedback synthesis
---
## Timeline & Milestones
### Phase 1: Discovery & Research
**Duration:** [Timeframe]
- [ ] User research
- [ ] Competitive analysis
- [ ] Design audit (if applicable)
- **Milestone:** Research insights presented
### Phase 2: Concept & Exploration
**Duration:** [Timeframe]
- [ ] Initial concepts (3+ directions)
- [ ] Stakeholder review
- [ ] Concept refinement
- **Milestone:** Design direction approved
### Phase 3: Detailed Design
**Duration:** [Timeframe]
- [ ] Wireframes
- [ ] High-fidelity mockups
- [ ] Design system components
- **Milestone:** Design specs complete
### Phase 4: Prototype & Validation
**Duration:** [Timeframe]
- [ ] Interactive prototype
- [ ] Usability testing
- [ ] Iterate based on feedback
- **Milestone:** Design validated
### Phase 5: Handoff & Support
**Duration:** [Timeframe]
- [ ] Developer handoff
- [ ] Design QA
- [ ] Launch support
- **Milestone:** Design shipped
### Key Dates
- **Project kickoff:** [Date]
- **Design review 1:** [Date]
- **Design review 2:** [Date]
- **Final handoff:** [Date]
- **Launch:** [Date]
---
## Stakeholders & Collaboration
### Core Team
- **Design lead:** [Name] - [Role/responsibility]
- **Product manager:** [Name]
- **Engineering lead:** [Name]
- **Researcher:** [Name]
- **Content designer:** [Name]
### Reviewers & Approvers
- [Name, Title] - [What they approve]
- [Name, Title] - [What they approve]
### Communication Plan
**Design reviews:**
- Weekly sync: [Day/time]
- Major milestones: [When]
**Feedback channels:**
- [Slack channel]
- [Figma comments]
- [Email for formal approvals]
**Decision-making:**
- Design decisions: [Who decides]
- Scope changes: [Who approves]
---
## Design Tools & Resources
### Tools
- **Design:** [Figma, Sketch, Adobe XD]
- **Prototyping:** [Figma, Framer, ProtoPie]
- **User testing:** [Lookback, UserTesting, Maze]
- **Documentation:** [Notion, Confluence]
### Resources
- **Design system:** [Link]
- **Brand guidelines:** [Link]
- **Component library:** [Link]
- **Research repository:** [Link]
---
## Risks & Mitigation
### Potential Risks
1. **Risk:** [Description of risk]
- **Impact:** [High/Medium/Low]
- **Mitigation:** [How to address]
2. **Risk:** [Description of risk]
- **Impact:** [High/Medium/Low]
- **Mitigation:** [How to address]
3. **Risk:** [Description of risk]
- **Impact:** [High/Medium/Low]
- **Mitigation:** [How to address]
### Dependencies
- [Dependency on other team/project]
- [Technical dependency]
- [Resource dependency]
---
## Post-Launch
### Success Review
- **When:** [Timeline for measuring success]
- **Metrics to review:** [List metrics from success criteria]
- **Learning goals:** [What do we want to learn?]
### Iteration Plan
- [Planned improvements for v2]
- [Features deferred to future phases]
### Documentation
- [ ] Case study
- [ ] Design learnings
- [ ] Pattern documentation
- [ ] Retrospective notes
---
## Appendix
### Research Links
- [Link to research findings]
- [Link to user interviews]
- [Link to analytics dashboard]
### Design Files
- [Link to Figma file]
- [Link to prototype]
- [Link to design specs]
### References
- [Competitor analysis]
- [Industry best practices]
- [Related projects]
---
## Version History
| Version | Date | Author | Changes |
|---------|------|--------|---------|
| 0.1 | [Date] | [Name] | Initial draft |
| 0.2 | [Date] | [Name] | [Changes] |
| 1.0 | [Date] | [Name] | Final approved version |
---
## Approval
- [ ] Design lead approved
- [ ] Product manager approved
- [ ] Engineering lead approved
- [ ] Stakeholder(s) approved
**Date approved:** ___________

View File

@@ -0,0 +1,649 @@
# Design Principles
A comprehensive guide to establishing and applying design principles for your projects.
---
## What Are Design Principles?
Design principles are foundational guidelines that inform design decisions and help teams create consistent, purposeful user experiences. They serve as:
- **Decision-making tools** - When faced with trade-offs
- **Alignment mechanisms** - Keep teams on the same page
- **Communication shortcuts** - Express complex ideas quickly
- **Quality filters** - Evaluate if designs meet standards
**Key characteristic:** Good principles are opinionated and help you say "no" to things that don't align.
---
## Characteristics of Effective Design Principles
### 1. Specific, Not Generic
**Bad:** "Keep it simple"
**Good:** "Show one primary action per screen"
### 2. Opinionated
**Bad:** "Design should be accessible"
**Good:** "Accessibility is non-negotiable - WCAG AA minimum"
### 3. Memorable
- Short and punchy
- Easy to remember
- Ideally 3-7 principles total
### 4. Actionable
- Clear enough to guide decisions
- Can be applied in practice
- Include examples of application
### 5. Authentic to Your Product
- Reflect your unique approach
- Not copied from others
- Based on your users and context
---
## Types of Design Principles
### 1. Product-Level Principles
**Scope:** Entire product or company
**Duration:** Years
**Examples:**
- Google Material Design: "Motion provides meaning"
- Apple HIG: "Depth creates hierarchy and focus"
- Shopify Polaris: "Merchants first"
### 2. Project-Level Principles
**Scope:** Specific feature or initiative
**Duration:** Weeks to months
**Examples:**
- "Mobile-first for this redesign"
- "Progressive disclosure over feature parity"
- "Speed trumps beauty for this dashboard"
### 3. Brand Principles
**Scope:** Visual and tonal identity
**Duration:** Years
**Examples:**
- "Bold but not overwhelming"
- "Playful but professional"
- "Technical but approachable"
---
## Framework: Creating Design Principles
### Step 1: Understand Your Context
**Research questions:**
- Who are our users?
- What are their core needs?
- What makes our product unique?
- What do we want to be known for?
- What trade-offs do we commonly face?
**Gather input from:**
- User research findings
- Stakeholder interviews
- Competitive analysis
- Brand strategy
- Product vision
### Step 2: Identify Themes
**Look for patterns:**
- Repeated design challenges
- Common user feedback
- Successful design decisions
- Team values and culture
- Competitive advantages
**Common themes:**
- Simplicity vs. power
- Speed vs. features
- Guidance vs. flexibility
- Innovation vs. familiarity
- Delight vs. efficiency
### Step 3: Draft Principles
**Format options:**
**1. Statement + Explanation**
```
Principle: Progressive disclosure
We show complexity only when needed, starting with
the simplest path and revealing advanced features
as users need them.
```
**2. Principle + Sub-points**
```
Principle: Speed is a feature
- Optimize for p95 latency < 200ms
- Perceived performance > actual performance
- Never block user interactions
```
**3. Opposites**
```
Clarity over cleverness
We prefer obvious solutions over creative ones
that require explanation.
```
### Step 4: Test & Refine
**Validation questions:**
- Can we apply this to real design decisions?
- Does it help us choose between options?
- Is it specific to our product?
- Can we explain it in 30 seconds?
- Does the team agree?
**Test with scenarios:**
- Take recent design decisions
- Apply principles retroactively
- Do they guide toward the right choice?
- Refine based on results
### Step 5: Document & Evangelize
**Documentation should include:**
- Principle statement
- Explanation (1-2 paragraphs)
- Real examples (with images)
- Anti-examples (what to avoid)
- When to apply/not apply
---
## Example Design Principles
### Product: Slack
**1. Work hard at being easy**
Surface the rich capabilities of Slack with progressive disclosure—make the basics easy to understand and the advanced features easy to find.
**2. Empowering, not clever**
Clarity and usefulness, rather than cleverness, should be our guiding light. We should delight people with ease of use, not tricks.
**3. Courtesy and respect**
We're mindful of the language and tone in both the product and our communication. We strive for a friendly, supportive voice.
---
### Product: Airbnb
**1. Unified**
Every part of Airbnb is part of a greater whole. Design cohesively across platforms, features, and touch-points.
**2. Universal**
Airbnb is used by millions around the world. Make sure your designs scale across cultures and contexts.
**3. Iconic**
Our interfaces should be instantly recognizable. Leverage consistency and focus to create memorable moments.
**4. Conversational**
Our voice is friendly and straightforward. Guide users with clarity and warmth.
---
### Product: GOV.UK
**1. Start with user needs**
Service design starts with identifying user needs. If you don't know what the user needs are, you won't build the right thing.
**2. Do less**
Government should only do what only government can do. If someone else is doing it, we should point to them.
**3. Design with data**
In most cases, we can learn from real-world behavior by looking at how existing services are used. Let data drive decision-making.
**4. Do the hard work to make it simple**
Making something look simple is easy. Making something simple to use is much harder.
**5. Iterate. Then iterate again**
The best way to build good services is to start small and iterate wildly.
---
## Common Design Principle Patterns
### Simplicity & Clarity
**Patterns:**
- "Simple over clever"
- "Clarity is paramount"
- "Progressive disclosure"
- "One primary action per screen"
- "Remove, then simplify"
**When to use:**
- Complex enterprise software
- Products with steep learning curves
- Designing for novice users
**Example application:**
- Dashboard shows 3 key metrics, not 20
- Single CTA per page
- Hide advanced settings in preferences
---
### Speed & Performance
**Patterns:**
- "Speed is a feature"
- "Instant feedback"
- "Optimistic UI updates"
- "Perceived performance matters"
**When to use:**
- Real-time applications
- Mobile-first products
- High-frequency user actions
**Example application:**
- Show loading states immediately
- Update UI before server confirms
- Preload likely next steps
---
### User Empowerment
**Patterns:**
- "Users in control"
- "Provide escape hatches"
- "No dead ends"
- "Make destructive actions reversible"
**When to use:**
- Professional tools
- Content creation apps
- Complex workflows
**Example application:**
- Undo for all actions
- Multiple ways to accomplish tasks
- Clear exit paths from flows
---
### Consistency & Predictability
**Patterns:**
- "Familiar over novel"
- "Consistency creates trust"
- "Follow platform conventions"
- "Don't reinvent the wheel"
**When to use:**
- Enterprise software
- Products spanning platforms
- Established design systems
**Example application:**
- Use platform-native components
- Maintain interaction patterns
- Consistent terminology
---
### Delight & Personality
**Patterns:**
- "Personality without distraction"
- "Delight in details"
- "Human, not robotic"
- "Make it fun"
**When to use:**
- Consumer products
- Creative tools
- Brand-driven experiences
**Example application:**
- Microinteractions
- Playful empty states
- Friendly error messages
- Celebratory animations
---
## Applying Principles to Decisions
### Decision Framework
When facing a design choice:
1. **Identify the trade-off**
- What are the options?
- What does each optimize for?
2. **Consult principles**
- Which principles apply?
- What do they suggest?
3. **Make the call**
- Principle-aligned decision
- Document reasoning
4. **Validate**
- Does it feel right?
- Can you defend it?
### Example Decision Process
**Scenario:** Should we add a feature request form in-app or direct users to a forum?
**Options:**
- A: In-app form (more convenient)
- B: Public forum (builds community)
**Principles:**
- "Community-driven development"
- "Transparent by default"
**Decision:** Option B (forum) aligns better with principles of community and transparency.
---
## Principle Templates
### Template 1: Statement + Rationale
```markdown
## [Principle Name]
[One sentence principle statement]
**Why this matters:**
[1-2 paragraphs explaining the reasoning]
**In practice:**
- [Example 1]
- [Example 2]
- [Example 3]
**Not this:**
[Anti-example with explanation]
```
### Template 2: Principle Pairs
```markdown
## [This] over [That]
We prioritize [this] over [that] because [reasoning].
**Example:**
When [scenario], we choose to [action] rather than
[alternative action] because it better serves [user need].
```
### Template 3: Question Format
```markdown
## [Question as principle]
[Answer and explanation]
**How to apply:**
Ask yourself: [guiding question]
If yes: [recommendation]
If no: [alternative recommendation]
```
---
## Project-Specific Principles: Examples
### E-commerce Redesign
1. **Speed drives conversion**
- p95 load time < 2 seconds
- Optimize images aggressively
- Progressive enhancement
2. **Trust before transaction**
- Show reviews prominently
- Clear pricing (no surprises)
- Visible security signals
3. **Mobile-first, always**
- Design for small screens
- Touch targets 44px+
- One-handed navigation
---
### Enterprise Dashboard
1. **Data density with clarity**
- Show relevant data, hide noise
- Progressive disclosure for details
- Scannable at a glance
2. **Customization without complexity**
- Smart defaults for 80% of users
- Power features for the 20%
- Save personal preferences
3. **Actionable insights**
- Every chart suggests an action
- Highlight anomalies
- Clear next steps
---
### Developer Tool
1. **Documentation first**
- Inline code examples
- Self-documenting APIs
- Error messages that teach
2. **Powerful defaults, maximum flexibility**
- Work out-of-box
- Expose all config options
- Follow principle of least surprise
3. **Speed matters**
- Fast by default
- Show performance metrics
- Optimize for developer velocity
---
## Anti-Patterns to Avoid
### ❌ Too Generic
"Make it user-friendly"
- Applies to everything
- Doesn't guide decisions
- Basically useless
### ❌ Too Prescriptive
"Always use blue buttons"
- Too specific
- Becomes a rule, not a principle
- Limits creativity
### ❌ Too Many Principles
Having 15+ principles
- Can't remember them
- Dilutes focus
- Slows decisions
### ❌ Contradictory Principles
"Move fast" + "Pixel-perfect polish"
- Confuses priorities
- Can't both be true
- Leads to inconsistency
### ❌ Aspirational but Not Authentic
Copying Apple's principles for your B2B SaaS
- Doesn't fit your context
- Team won't believe it
- Won't guide real decisions
---
## Maintaining Design Principles
### Regular Review
**Quarterly check:**
- Are we following them?
- Do they still apply?
- Should we refine them?
**Annual revision:**
- Major product changes
- New company direction
- Market shifts
### Evangelization
**Onboarding:**
- Introduce principles to new team members
- Explain with real examples
- Show how they're applied
**Design reviews:**
- Reference principles explicitly
- Call out misalignments
- Celebrate when followed well
**Documentation:**
- Include in design system
- Show in component examples
- Link from design files
---
## Principle Checklist for Design Briefs
When creating project-specific principles:
- [ ] **Based on research** - Grounded in user needs
- [ ] **Specific to project** - Not generic platitudes
- [ ] **Actionable** - Can guide real decisions
- [ ] **Memorable** - Team can recall without looking
- [ ] **3-5 principles** - Not too many
- [ ] **Not contradictory** - Work together
- [ ] **Include examples** - Show how to apply
- [ ] **Team alignment** - Everyone agrees
- [ ] **Documented** - Written in brief
- [ ] **Referenced** - Used in reviews
---
## Resources
### Books
- "Designing with Principles" - Ben Brignell
- "The Design of Everyday Things" - Don Norman
- "Don't Make Me Think" - Steve Krug
### Articles
- [Design Principles FTW](https://www.designprinciplesftw.com/) - Collection of principles
- [Creating Design Principles](https://alistapart.com/article/design-principles/) - A List Apart
- [Bad Design Principles](https://www.smashingmagazine.com/2010/04/bad-design-principles/) - Smashing Magazine
### Examples
- [Material Design Principles](https://material.io/design/introduction)
- [Human Interface Guidelines](https://developer.apple.com/design/human-interface-guidelines/)
- [Salesforce Lightning Principles](https://www.lightningdesignsystem.com/)
- [Atlassian Design Principles](https://atlassian.design/foundations/design-principles)
---
## Template: Document Your Principles
```markdown
# [Project Name] Design Principles
## Overview
These principles guide design decisions for [project].
When faced with trade-offs, these help us choose the right path.
---
## 1. [Principle Name]
**Statement:**
[One clear sentence]
**Why this matters:**
[Explanation of rationale - 2-3 sentences]
**In practice:**
**Do this:**
- [Specific example]
- [Specific example]
**Not this:**
- [Anti-example]
- [Anti-example]
**Example:**
[Real example from the project, ideally with image]
---
## 2. [Principle Name]
[Repeat structure]
---
## When to Apply These Principles
These principles apply to:
- [Context 1]
- [Context 2]
These principles may not apply when:
- [Exception 1]
- [Exception 2]
---
## Decision Framework
When facing a design choice:
1. Identify the trade-off
2. Consult relevant principles
3. Make principle-aligned decision
4. Document reasoning
---
## Examples of Principles in Action
### Decision 1: [Description]
**Options:** A or B
**Principle:** [Which principle applies]
**Decision:** [What we chose and why]
### Decision 2: [Description]
[Repeat structure]
```
---
## Quick Tips
1. **Start broad, refine narrow** - Draft many, pick few
2. **Test with real scenarios** - Do they actually help?
3. **Get team buy-in** - Collaborative > dictated
4. **Show, don't just tell** - Use examples
5. **Evolve over time** - Principles aren't permanent
6. **Make them visible** - Post in design files, Slack, etc.
7. **Use in reviews** - "Does this align with principle X?"
---
**Remember:** Design principles should make decisions easier, not harder. If a principle doesn't help you choose, refine or remove it.

View File

@@ -0,0 +1,919 @@
# User Research Methods
Comprehensive guide to user research methods for design projects.
---
## Why User Research Matters
**Reduces risk:** Validate assumptions before building
**Saves time:** Fix issues before development
**Builds empathy:** Understand users deeply
**Drives decisions:** Data-informed design choices
**Increases success:** Solutions that actually work
**Rule:** The cost of fixing a problem increases 10x at each stage (design → development → post-launch)
---
## When to Use Which Method
### Discovery Phase (Understanding)
**Goal:** Learn about users, their context, and needs
**Methods:**
- User interviews
- Contextual inquiry
- Diary studies
- Surveys
- Analytics review
**Questions answered:**
- Who are our users?
- What are their goals?
- What problems do they face?
- How do they currently solve this?
---
### Exploration Phase (Ideation)
**Goal:** Generate and evaluate design directions
**Methods:**
- Co-design workshops
- Card sorting
- Concept testing
- Competitive analysis
- Design critiques
**Questions answered:**
- What solutions might work?
- How should we organize information?
- What do users expect?
- What works elsewhere?
---
### Validation Phase (Testing)
**Goal:** Evaluate specific designs before development
**Methods:**
- Usability testing
- Prototype testing
- A/B testing
- First-click tests
- Tree testing
**Questions answered:**
- Can users complete tasks?
- Where do they struggle?
- What works well?
- Which version performs better?
---
### Measurement Phase (Optimization)
**Goal:** Understand performance and iterate
**Methods:**
- Analytics analysis
- Heatmaps
- Session recordings
- Surveys (post-use)
- A/B testing
**Questions answered:**
- How are users actually using it?
- Where do they drop off?
- What's working vs. not?
- How can we improve?
---
## Research Methods Guide
### 1. User Interviews
**What:** One-on-one conversations with users
**When to use:**
- Discovery phase
- Understanding motivations
- Complex topics needing depth
- Building empathy
**Duration:** 30-60 minutes per interview
**Participants:** 5-8 users per user segment
**Format:**
- Semi-structured (planned questions with flexibility)
- Open-ended questions
- Follow-up probes
**Sample questions:**
- "Tell me about a time when..."
- "What were you trying to accomplish?"
- "How did that make you feel?"
- "What would make this better?"
**Best practices:**
- Start broad, get specific
- Ask "why" 5 times
- Listen more than talk
- Avoid leading questions
- Record (with permission)
**Deliverables:**
- Interview transcripts
- Key findings summary
- Quotes and themes
- User journey maps
---
### 2. Contextual Inquiry
**What:** Observing users in their environment
**When to use:**
- Understanding workflows
- Physical context matters
- Complex processes
- B2B/enterprise products
**Duration:** 1-3 hours per session
**Participants:** 3-6 users
**Format:**
- Observe users in natural environment
- Ask questions as they work
- Minimal interruption
- Take photos/notes
**Four principles:**
1. **Context:** Go to the user's environment
2. **Partnership:** User and researcher collaborate
3. **Interpretation:** Develop shared understanding
4. **Focus:** Guide based on research questions
**Best practices:**
- Master-apprentice model
- Think-aloud protocol
- Photograph artifacts
- Note workarounds
- Ask about exceptions
**Deliverables:**
- Observation notes
- Photos of workspace/tools
- Workflow diagrams
- Pain points and opportunities
---
### 3. Surveys
**What:** Quantitative data from many users
**When to use:**
- Large sample sizes needed
- Measuring satisfaction
- Prioritizing features
- Demographic data
**Duration:** 5-10 minutes (completion time)
**Participants:** 100+ for statistical significance
**Types of questions:**
- Multiple choice
- Likert scales (1-5 rating)
- Ranking
- Open-ended (limit to 1-2)
**Best practices:**
- Keep it short (< 10 questions)
- One question per page
- Avoid bias in wording
- Test before sending
- Incentivize completion
**Common formats:**
- NPS (Net Promoter Score)
- CSAT (Customer Satisfaction)
- SUS (System Usability Scale)
- Custom satisfaction surveys
**Deliverables:**
- Response data
- Statistical analysis
- Charts and visualizations
- Key findings report
---
### 4. Usability Testing
**What:** Users attempt tasks with your design
**When to use:**
- Validating designs
- Finding usability issues
- Comparing design options
- Pre-launch validation
**Duration:** 45-60 minutes per session
**Participants:** 5 users per user type
- Nielsen Norman: 5 users find 85% of issues
**Format:**
1. Introduction
2. Background questions
3. Task scenarios (3-5 tasks)
4. Post-task questions
5. Debrief
**Task example:**
"You need to update your credit card information. Show me how you would do that."
**Best practices:**
- Test with prototype or real product
- Think-aloud protocol
- Don't help or lead
- Note time to completion
- Record screen + audio
- Use realistic scenarios
**Metrics to track:**
- Task success rate
- Time on task
- Errors made
- Satisfaction rating
**Deliverables:**
- Usability issues (with severity)
- Task success rates
- Video highlights
- Recommendations
---
### 5. A/B Testing
**What:** Compare two versions with real users
**When to use:**
- Optimizing designs
- Data-driven decisions
- High-traffic pages
- Incremental improvements
**Duration:** 1-4 weeks (until statistical significance)
**Participants:** Varies (need large enough sample)
**Format:**
- Version A (control)
- Version B (variant)
- Randomly assign users
- Measure conversion
**Statistical requirements:**
- Sample size calculator
- 95% confidence level
- 80% statistical power
- Account for baseline conversion
**Best practices:**
- Test one variable at a time
- Run until statistically significant
- Consider external factors (holidays, etc.)
- Don't stop test early
- Account for novelty effect
**Tools:**
- Optimizely
- Google Optimize
- VWO
- Custom implementation
**Deliverables:**
- Winning variant
- Conversion lift
- Statistical confidence
- Implementation recommendation
---
### 6. Card Sorting
**What:** Users organize content into categories
**When to use:**
- Information architecture
- Navigation design
- Taxonomy creation
- Menu structure
**Duration:** 20-30 minutes per session
**Participants:** 15-30 for reliable patterns
**Types:**
**Open card sort:**
- Users create their own categories
- Discovers mental models
- Use early in design
**Closed card sort:**
- Users sort into predefined categories
- Validates existing structure
- Use later in design
**Format:**
1. Give users cards with content items
2. Ask them to group related items
3. Ask them to name groups
4. Analyze patterns
**Tools:**
- Optimal Workshop
- UserZoom
- Miro (remote)
- Physical cards (in-person)
**Deliverables:**
- Dendrogram (similarity matrix)
- Common groupings
- Category names
- IA recommendations
---
### 7. Tree Testing
**What:** Users find content in text-only hierarchy
**When to use:**
- Testing information architecture
- Before visual design
- Validating navigation
- After card sorting
**Duration:** 10-15 minutes
**Participants:** 50+ for statistical significance
**Format:**
1. Present text-only site structure
2. Give user a task
3. User clicks through structure
4. Measure success and path
**Metrics:**
- Success rate
- Directness (optimal path?)
- Time taken
- First click
**Best practices:**
- Test before visual design
- 5-10 tasks
- Realistic task scenarios
- Don't test too deep (3-4 levels)
**Tools:**
- Optimal Workshop
- Treejack
- UserZoom
**Deliverables:**
- Success rates per task
- Problem areas
- Recommended structure changes
- Piecharts showing paths taken
---
### 8. Diary Studies
**What:** Users log experiences over time
**When to use:**
- Long-term behavior
- Infrequent events
- Context switching
- Habitual use
**Duration:** 3-14 days
**Participants:** 10-20 users
**Format:**
- Users log entries daily
- Photo + text entries
- Structured prompts
- Follow-up interview
**Prompts example:**
- "When did you use [product] today?"
- "What were you trying to do?"
- "Photo of where you were"
- "What worked/didn't work?"
**Best practices:**
- Keep it lightweight
- Daily reminders
- Incentivize completion
- Follow up with interview
**Tools:**
- dscout
- Indeemo
- Custom forms
- Mobile apps
**Deliverables:**
- Usage patterns over time
- Context of use
- Pain points
- Opportunity areas
---
### 9. Competitive Analysis
**What:** Evaluate competitor products
**When to use:**
- Understanding landscape
- Identifying opportunities
- Benchmarking
- Inspiration
**Duration:** 1-2 weeks
**Competitors to analyze:** 3-5 direct + 2-3 indirect
**Framework:**
1. Identify competitors
2. Define criteria
3. Evaluate each
4. Synthesize findings
**Criteria examples:**
- Features offered
- User experience quality
- Pricing/model
- Visual design
- Performance
- User reviews
**Best practices:**
- Sign up and use products
- Complete key tasks
- Read user reviews
- Screenshot key flows
- Note strengths/weaknesses
**Deliverables:**
- Competitive matrix
- Feature comparison
- UX evaluation
- Screenshots
- Opportunities
---
### 10. Analytics Review
**What:** Analyze quantitative usage data
**When to use:**
- Understanding current behavior
- Identifying issues
- Measuring impact
- Continuous improvement
**Data sources:**
- Google Analytics
- Product analytics (Mixpanel, Amplitude)
- Heatmaps (Hotjar, Crazy Egg)
- Session recordings
- Error logs
**Key metrics:**
- Page views
- Bounce rate
- Time on page
- Conversion rate
- Drop-off points
- Feature adoption
**Best practices:**
- Define questions first
- Look for anomalies
- Segment users
- Combine with qualitative
- Track over time
**Deliverables:**
- Usage dashboard
- Key metrics report
- Problem areas identified
- Hypotheses for testing
---
## Research Planning
### Research Questions
**Bad questions:**
- "Do users like this design?"
- "Is this easy to use?"
**Good questions:**
- "Can users find the checkout button within 10 seconds?"
- "What prevents users from completing signup?"
- "How do users currently manage their projects?"
### Research Plan Template
```markdown
## Research Plan: [Project Name]
### Background
[Why we're doing this research]
### Goals
- [Goal 1]
- [Goal 2]
### Research Questions
1. [Question 1]
2. [Question 2]
3. [Question 3]
### Method
[Which research method(s)]
### Participants
- **Who:** [User segment]
- **Number:** [How many]
- **Recruiting:** [Where/how]
- **Compensation:** [Incentive]
### Timeline
- Planning: [Dates]
- Recruiting: [Dates]
- Sessions: [Dates]
- Analysis: [Dates]
- Reporting: [Dates]
### Deliverables
- [Deliverable 1]
- [Deliverable 2]
### Team
- Researcher: [Name]
- Designer: [Name]
- Note-taker: [Name]
```
---
## Recruiting Participants
### Screening Criteria
**Example screener questions:**
```markdown
1. How often do you [relevant behavior]?
- Daily (CONTINUE)
- Weekly (CONTINUE)
- Monthly (TERMINATE)
- Never (TERMINATE)
2. What tools do you currently use for [task]?
- [Competitor A] (CONTINUE)
- [Competitor B] (CONTINUE)
- Other: _____ (CONTINUE)
- None (TERMINATE)
3. What is your role?
- [Target role] (CONTINUE)
- Other (TERMINATE)
```
### Recruiting Sources
**Internal:**
- Customer database
- Email campaigns
- In-app recruitment
- Support ticket users
**External:**
- User Interviews (platform)
- Respondent.io
- Ethnio
- Craigslist (with screening)
- Social media
### Incentives
**Typical rates:**
- 30 min interview: $50-75
- 60 min interview: $75-125
- 90 min session: $100-200
- B2B participants: $150-300
- Executives: $300-500
---
## Conducting Research
### Interview Guide Template
```markdown
## [Project] Interview Guide
**Duration:** 60 minutes
### Introduction (5 min)
- Thank you for joining
- Recording with permission
- No right/wrong answers
- Can stop anytime
- Questions before we start?
### Warm-up (5 min)
- Tell me about your role
- Typical day at work
- [Relevant context questions]
### Main Questions (40 min)
**Section 1: Current Behavior**
- Walk me through how you [task]
- What tools do you use?
- What works well?
- What's frustrating?
**Section 2: [Topic]**
- [Questions]
**Section 3: [Topic]**
- [Questions]
### Concept Test (if applicable) (10 min)
- Show prototype/mockup
- What do you see here?
- What would you do first?
- What questions do you have?
### Wrap-up (5 min)
- Anything we didn't cover?
- Final thoughts?
- Thank you + compensation
```
### Facilitation Best Practices
**DO:**
- ✅ Build rapport first
- ✅ Ask open-ended questions
- ✅ Probe deeper ("Tell me more...")
- ✅ Embrace silence
- ✅ Stay neutral
- ✅ Take notes (or have note-taker)
**DON'T:**
- ❌ Lead the witness
- ❌ Explain your design
- ❌ Defend your choices
- ❌ Ask yes/no questions
- ❌ Put words in their mouth
- ❌ Multi-part questions
---
## Analyzing Research
### Affinity Mapping
**Process:**
1. Write observations on sticky notes
2. Group related notes
3. Name themes
4. Identify patterns
5. Prioritize insights
**Tools:**
- Miro
- Mural
- FigJam
- Physical wall + stickies
### Finding Themes
**Look for:**
- Repeated phrases
- Common pain points
- Similar behaviors
- Workarounds
- Strong emotions
**Quotes to capture:**
- Memorable phrases
- Representative of theme
- Emotionally resonant
- Actionable insights
### Prioritizing Insights
**Framework:**
- **Frequency:** How many users mentioned it?
- **Severity:** How big a problem is it?
- **Impact:** How much would solving it help?
**Priority Matrix:**
```
High Impact, High Frequency → P0 (Must fix)
High Impact, Low Frequency → P1 (Should fix)
Low Impact, High Frequency → P2 (Nice to fix)
Low Impact, Low Frequency → P3 (Maybe later)
```
---
## Research Deliverables
### 1. Research Report
**Structure:**
```markdown
# [Project] Research Report
## Executive Summary
- Key findings (3-5 bullets)
- Recommendations (3-5 bullets)
## Background
- Research questions
- Methods
- Participants
## Findings
### Theme 1: [Name]
- Finding
- Evidence (quotes, data)
- Implications
### Theme 2: [Name]
[Repeat]
## Recommendations
1. [Action item with priority]
2. [Action item with priority]
## Next Steps
- [What comes next]
## Appendix
- Full transcripts
- Detailed data
```
### 2. User Personas
**Components:**
- Name and photo
- Demographics
- Goals
- Frustrations
- Behaviors
- Quote
- Scenario
**Keep it:**
- Based on research
- Focused on behaviors
- Referenced in decisions
- Updated regularly
### 3. Journey Maps
**Components:**
- Stages of experience
- User actions
- Thoughts and feelings
- Pain points
- Opportunities
**Format:**
- Timeline across top
- Emotional curve
- Touchpoints
- Behind-the-scenes actions
---
## Research Ethics
### Informed Consent
**Must include:**
- Purpose of research
- What you'll do with data
- Recording disclosure
- Right to stop anytime
- How data will be stored
- Contact information
### Privacy & Data
**Best practices:**
- De-identify data
- Secure storage
- Limited access
- Retention policy
- GDPR/privacy compliance
- Don't share recordings externally
### Participant Wellbeing
**Considerations:**
- Don't cause distress
- Allow breaks
- Respect "I don't know"
- Compensate fairly
- Follow through on promises
---
## Research Checklist for Design Briefs
- [ ] **Research questions** defined
- [ ] **Methods** selected and justified
- [ ] **Participants** criteria specified
- [ ] **Sample size** determined
- [ ] **Timeline** planned
- [ ] **Recruiting** strategy defined
- [ ] **Incentives** budgeted
- [ ] **Interview guide** created
- [ ] **Consent form** prepared
- [ ] **Analysis plan** defined
- [ ] **Deliverables** specified
- [ ] **Stakeholder** review scheduled
---
## Resources
### Books
- "Just Enough Research" - Erika Hall
- "The User Experience Team of One" - Leah Buley
- "Interviewing Users" - Steve Portigal
- "Observing the User Experience" - Goodman, Kuniavsky, Moed
### Tools
- **Recruiting:** User Interviews, Respondent
- **Remote testing:** UserTesting, Lookback, Maze
- **Surveys:** Typeform, Google Forms, Qualtrics
- **Analysis:** Dovetail, Airtable, Notion
- **Card sorting:** Optimal Workshop, UserZoom
### Templates
- [Research Plan Template](https://www.nngroup.com/articles/ux-research-cheat-sheet/)
- [Interview Guide Template](https://userinterviews.com/blog/interview-guide-template)
- [Usability Test Plan](https://www.usability.gov/how-to-and-tools/resources/templates.html)
---
## Quick Reference
### Research Method Selection
| Need | Method | Participants | Duration |
|------|--------|--------------|----------|
| Understand users | Interviews | 5-8 | 30-60 min |
| Observe context | Contextual inquiry | 3-6 | 1-3 hours |
| Large sample | Survey | 100+ | 5-10 min |
| Test usability | Usability test | 5 | 45-60 min |
| Compare options | A/B test | 1000+ | 1-4 weeks |
| Organize content | Card sorting | 15-30 | 20-30 min |
| Test IA | Tree testing | 50+ | 10-15 min |
| Long-term use | Diary study | 10-20 | 3-14 days |
| Competitor insight | Competitive analysis | N/A | 1-2 weeks |
| Usage patterns | Analytics | N/A | Ongoing |
---
**Remember:** Research is not a phase, it's a practice. Build it into every project.

View File

@@ -0,0 +1,486 @@
#!/bin/bash
# Design Brief Generator
# Interactive workflow for creating design project briefs
set -e
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
echo -e "${BLUE}╔════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║ Design Brief Generator ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════╝${NC}"
echo ""
# Function to prompt for input
prompt_input() {
local prompt="$1"
local var_name="$2"
local required="$3"
while true; do
echo -e "${YELLOW}${prompt}${NC}"
read -r input
if [ -n "$input" ]; then
eval "$var_name='$input'"
break
elif [ "$required" != "true" ]; then
eval "$var_name=''"
break
else
echo -e "${RED}This field is required. Please provide a value.${NC}"
fi
done
}
# Gather basic information
echo -e "${GREEN}Step 1: Project Basics${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
prompt_input "Project Name:" PROJECT_NAME true
prompt_input "One-line Description:" DESCRIPTION true
prompt_input "Output Filename (default: ${PROJECT_NAME// /_}_brief.md):" OUTPUT_FILE false
# Set default output file if not provided
if [ -z "$OUTPUT_FILE" ]; then
OUTPUT_FILE="${PROJECT_NAME// /_}_brief.md"
OUTPUT_FILE=$(echo "$OUTPUT_FILE" | tr '[:upper:]' '[:lower:]')
fi
echo ""
echo -e "${GREEN}Step 2: Project Context${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
prompt_input "What problem are you solving?" PROBLEM true
prompt_input "Who are the primary users?" PRIMARY_USERS true
prompt_input "What are the business goals?" BUSINESS_GOALS true
echo ""
echo -e "${GREEN}Step 3: Design Goals${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
prompt_input "Primary design goal:" DESIGN_GOAL true
prompt_input "How will you measure success?" SUCCESS_METRICS true
echo ""
echo -e "${GREEN}Step 4: Scope & Constraints${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
prompt_input "What's in scope (platforms, screens, features)?" IN_SCOPE true
prompt_input "What's explicitly out of scope?" OUT_OF_SCOPE false
prompt_input "Key constraints (timeline, tech, budget)?" CONSTRAINTS false
echo ""
echo -e "${GREEN}Step 5: Project Type${NC}"
echo "━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"
echo ""
echo "Select project type:"
echo " 1) New feature design"
echo " 2) Redesign"
echo " 3) Design system"
echo " 4) Brand/Visual design"
echo ""
while true; do
read -p "Enter choice (1-4): " project_type
case $project_type in
1) PROJECT_TYPE="New Feature Design"; break;;
2) PROJECT_TYPE="Redesign"; break;;
3) PROJECT_TYPE="Design System"; break;;
4) PROJECT_TYPE="Brand/Visual Design"; break;;
*) echo -e "${RED}Invalid choice. Please enter 1, 2, 3, or 4.${NC}";;
esac
done
# Generate brief
echo ""
echo -e "${BLUE}Generating design brief...${NC}"
echo ""
# Create brief from template
cat > "$OUTPUT_FILE" << EOF
# Design Brief: $PROJECT_NAME
**Project Type:** $PROJECT_TYPE
**Designer:** $(whoami)
**Date:** $(date +%Y-%m-%d)
**Last Updated:** $(date +%Y-%m-%d)
**Status:** Draft
---
## Executive Summary
$DESCRIPTION
This design brief outlines the approach for $PROJECT_NAME, addressing the need to $PROBLEM for $PRIMARY_USERS.
---
## Project Overview
### Background
$PROBLEM
### Business Objectives
$BUSINESS_GOALS
### Why Now?
[Add context about timing and strategic importance]
---
## Design Goals & Objectives
### Primary Goal
$DESIGN_GOAL
### Secondary Goals
- [Goal 2]
- [Goal 3]
### Success Criteria
$SUCCESS_METRICS
**Specific Metrics:**
- [Metric 1]: [Target]
- [Metric 2]: [Target]
- [Metric 3]: [Target]
---
## Target Users
### Primary User: $PRIMARY_USERS
**Demographics:**
- Age range: [Range]
- Role/Context: [Description]
- Tech proficiency: [Low/Medium/High]
**User Needs:**
- [Need 1]
- [Need 2]
- [Need 3]
**Pain Points:**
- [Current frustration 1]
- [Current frustration 2]
- [Current frustration 3]
**User Quote:**
_"[Include actual user feedback if available]"_
### Secondary Users
[Add if applicable]
---
## Design Principles
Core principles guiding this project:
1. **[Principle 1]** - [Description]
2. **[Principle 2]** - [Description]
3. **[Principle 3]** - [Description]
4. **[Principle 4]** - [Description]
---
## Scope
### In Scope
$IN_SCOPE
- [Additional scope item]
- [Additional scope item]
### Out of Scope
$OUT_OF_SCOPE
- [Additional exclusion]
- [Future consideration]
### Constraints
$CONSTRAINTS
**Technical Constraints:**
- [Technical limitation]
**Timeline Constraints:**
- [Deadline or milestone]
**Resource Constraints:**
- [Budget, team size, etc.]
---
## Key User Flows
### Flow 1: [Primary User Flow]
1. [Entry point]
2. [Step 1]
3. [Step 2]
4. [Decision point]
5. [Success state]
**Alternative Paths:**
- [Error state]
- [Alternative completion]
### Flow 2: [Secondary Flow]
[Define flow]
---
## Design Requirements
### Visual Design
- Style: [Minimalist/Bold/Playful/etc.]
- Mood: [Professional/Friendly/Energetic/etc.]
- Visual references: [Links to inspiration]
### Interaction Design
- Primary interaction patterns: [Tap/Swipe/Hover/etc.]
- Animations: [Yes/No, what kind]
- Feedback mechanisms: [How system responds]
### Accessibility
- **WCAG Level:** [A/AA/AAA]
- **Required:**
- [ ] Keyboard navigation
- [ ] Screen reader support
- [ ] Color contrast (4.5:1 minimum)
- [ ] Touch targets (44x44px)
- [ ] Focus indicators
- [ ] Alternative text for images
### Responsive Design
- **Platforms:** [Web/iOS/Android]
- **Breakpoints:**
- Mobile: 320px - 767px
- Tablet: 768px - 1023px
- Desktop: 1024px+
---
## Deliverables & Timeline
### Design Deliverables
**Research Phase:**
- [ ] Competitive analysis
- [ ] User research findings (if applicable)
- [ ] Current state analysis (if redesign)
**Design Phase:**
- [ ] User flows
- [ ] Wireframes (low-fi)
- [ ] High-fidelity mockups
- [ ] Interactive prototype
- [ ] Design specifications
- [ ] Component documentation
- [ ] Accessibility annotations
**Handoff Phase:**
- [ ] Developer handoff session
- [ ] Asset export
- [ ] Design QA checklist
### Timeline
| Phase | Duration | Deliverables | Due Date |
|-------|----------|-------------|----------|
| Discovery & Research | [X weeks] | Research, flows | [Date] |
| Wireframes | [X weeks] | Low-fi designs | [Date] |
| High-Fidelity | [X weeks] | Mockups, prototype | [Date] |
| Testing & Iteration | [X weeks] | Refined designs | [Date] |
| Handoff | [X weeks] | Specs, assets | [Date] |
**Key Milestones:**
- [Date]: Design review #1 (wireframes)
- [Date]: Design review #2 (high-fi)
- [Date]: Usability testing
- [Date]: Final design sign-off
- [Date]: Developer handoff
---
## Design Direction
### Visual References
**Inspiration:**
- [Link to mood board]
- [Link to similar products]
- [Link to design explorations]
**What We Like:**
- [Specific element from reference 1]
- [Specific element from reference 2]
**What to Avoid:**
- [Anti-pattern 1]
- [Anti-pattern 2]
---
## Technical Considerations
### Design System
- **Using existing:** [Yes/No, which system]
- **New components needed:** [List]
- **Design tokens:** [Colors, typography, spacing]
### Implementation Notes
- [Technical constraint to consider]
- [Platform-specific considerations]
- [Performance considerations]
---
## Success Metrics
### Usability Testing
**Pre-Launch:**
- [ ] Task success rate: 90%+
- [ ] Time on task: [Target time]
- [ ] SUS score: 75+
- [ ] Accessibility: Zero critical issues
**Test Scenarios:**
1. [Scenario 1]
2. [Scenario 2]
3. [Scenario 3]
### Post-Launch Metrics
**Within 30 days:**
- [Metric 1]: [Target]
- [Metric 2]: [Target]
- [Metric 3]: [Target]
**Within 90 days:**
- [Longer-term metric 1]
- [Longer-term metric 2]
---
## Stakeholders & Roles
| Role | Name | Responsibility | Status |
|------|------|---------------|--------|
| Designer | [Name] | Design execution | Active |
| Design Lead | [Name] | Design approval | Review |
| Product Manager | [Name] | Requirements, priorities | Review |
| Engineering Lead | [Name] | Feasibility, timeline | Review |
| User Researcher | [Name] | Research insights | Support |
**Sign-Off Required:**
- [ ] Design Lead
- [ ] Product Manager
- [ ] Engineering Lead
---
## Risks & Dependencies
### Risks
| Risk | Impact | Mitigation |
|------|--------|-----------|
| [Risk 1] | High/Med/Low | [How to address] |
| [Risk 2] | High/Med/Low | [How to address] |
### Dependencies
- [ ] [Dependency 1: e.g., API availability]
- [ ] [Dependency 2: e.g., Design system update]
- [ ] [Dependency 3]
---
## Open Questions
- [ ] [Question 1]
- [ ] [Question 2]
- [ ] [Question 3]
**Decisions Needed:**
- [ ] [Decision 1] - Owner: [Name], By: [Date]
- [ ] [Decision 2] - Owner: [Name], By: [Date]
---
## References
**Research:**
- [Link to user research]
- [Link to analytics data]
**Design:**
- [Link to Figma file]
- [Link to design system]
**Context:**
- [Link to PRD]
- [Link to technical spec]
---
## Appendix
### Change Log
| Date | Change | Author |
|------|--------|--------|
| $(date +%Y-%m-%d) | Initial draft | $(whoami) |
### Notes
[Additional context, decisions, or important information]
EOF
echo -e "${GREEN}✓ Design brief generated successfully!${NC}"
echo ""
echo -e "Output file: ${BLUE}$OUTPUT_FILE${NC}"
echo ""
echo -e "${YELLOW}Next steps:${NC}"
echo " 1. Review and fill in placeholder sections"
echo " 2. Add user flows and design requirements"
echo " 3. Attach visual references or mood boards"
echo " 4. Share with stakeholders for review"
echo " 5. Run validation: scripts/validate_brief.sh $OUTPUT_FILE"
echo ""
echo -e "${GREEN}✓ Done!${NC}"

View File

@@ -0,0 +1,243 @@
#!/bin/bash
# Design Brief Validation Script
# Checks design brief completeness and quality
set -e
# Colors
GREEN='\033[0;32m'
BLUE='\033[0;34m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m'
# Check if file provided
if [ $# -lt 1 ]; then
echo "Usage: $0 <brief_file.md>"
exit 1
fi
BRIEF_FILE="$1"
# Check if file exists
if [ ! -f "$BRIEF_FILE" ]; then
echo -e "${RED}✗ Error: File not found: $BRIEF_FILE${NC}"
exit 1
fi
echo -e "${BLUE}╔════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║ Design Brief Validation Report ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "File: ${BLUE}$BRIEF_FILE${NC}"
echo ""
# Counters
ISSUES_FOUND=0
WARNINGS=0
CHECKS_PASSED=0
# Function to check section exists
check_section() {
local section_name="$1"
local section_pattern="$2"
local required="$3"
if grep -q "$section_pattern" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} $section_name section found"
((CHECKS_PASSED++))
return 0
else
if [ "$required" = "true" ]; then
echo -e "${RED}${NC} $section_name section missing (REQUIRED)"
((ISSUES_FOUND++))
else
echo -e "${YELLOW}${NC} $section_name section missing (recommended)"
((WARNINGS++))
fi
return 1
fi
}
echo -e "${BLUE}━━━ Required Sections ━━━${NC}"
echo ""
# Check required sections
check_section "Project Overview" "##.*Project Overview\|##.*Overview" true
check_section "Design Goals" "##.*Design Goals\|##.*Goals.*Objectives" true
check_section "Target Users" "##.*Target Users\|##.*Users" true
check_section "Scope" "##.*Scope" true
check_section "Success Criteria/Metrics" "##.*Success\|##.*Metrics" true
echo ""
echo -e "${BLUE}━━━ Recommended Sections ━━━${NC}"
echo ""
# Check recommended sections
check_section "Design Principles" "##.*Design Principles\|##.*Principles" false
check_section "User Flows" "##.*User Flows\|##.*Flows" false
check_section "Deliverables" "##.*Deliverables" false
check_section "Timeline" "##.*Timeline" false
check_section "Accessibility" "##.*Accessibility\|##.*a11y\|##.*WCAG" false
echo ""
echo -e "${BLUE}━━━ Content Quality Checks ━━━${NC}"
echo ""
# Check for placeholder text
if grep -q "\[.*\]" "$BRIEF_FILE"; then
echo -e "${YELLOW}${NC} Contains placeholder brackets - fill in all placeholders"
((WARNINGS++))
else
echo -e "${GREEN}${NC} No placeholders remaining"
((CHECKS_PASSED++))
fi
# Check for TBD/TODO
if grep -qi "TBD\|TODO\|FIXME" "$BRIEF_FILE"; then
echo -e "${YELLOW}${NC} Contains TBD/TODO markers - resolve open items"
((WARNINGS++))
else
echo -e "${GREEN}${NC} No TBD markers"
((CHECKS_PASSED++))
fi
# Check for empty sections
if grep -q "^##.*\n\n##" "$BRIEF_FILE"; then
echo -e "${YELLOW}${NC} Empty sections detected"
((WARNINGS++))
else
echo -e "${GREEN}${NC} No empty sections"
((CHECKS_PASSED++))
fi
# Check for specific design content
echo ""
echo -e "${BLUE}━━━ Design-Specific Checks ━━━${NC}"
echo ""
# Check for user mentions
if grep -qi "user\|persona" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} Users/personas mentioned"
((CHECKS_PASSED++))
else
echo -e "${RED}${NC} No users or personas defined"
((ISSUES_FOUND++))
fi
# Check for success metrics
if grep -qi "metric\|measure\|KPI\|success" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} Success metrics mentioned"
((CHECKS_PASSED++))
else
echo -e "${RED}${NC} Success metrics not clearly defined"
((ISSUES_FOUND++))
fi
# Check for accessibility
if grep -qi "accessibility\|a11y\|WCAG" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} Accessibility considerations included"
((CHECKS_PASSED++))
else
echo -e "${YELLOW}${NC} No accessibility requirements mentioned"
((WARNINGS++))
fi
# Check for scope definition
IN_SCOPE=false
OUT_SCOPE=false
if grep -qi "in scope\|in-scope" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} In-scope defined"
IN_SCOPE=true
((CHECKS_PASSED++))
else
echo -e "${YELLOW}${NC} In-scope not clearly defined"
((WARNINGS++))
fi
if grep -qi "out of scope\|out-of-scope" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} Out-of-scope defined"
OUT_SCOPE=true
((CHECKS_PASSED++))
else
echo -e "${YELLOW}${NC} Out-of-scope not defined (prevents scope creep)"
((WARNINGS++))
fi
# Check for design principles
if grep -qi "principle\|guideline" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} Design principles mentioned"
((CHECKS_PASSED++))
else
echo -e "${YELLOW}${NC} Consider adding guiding design principles"
((WARNINGS++))
fi
# Document quality
echo ""
echo -e "${BLUE}━━━ Document Quality ━━━${NC}"
echo ""
# Check word count
WORD_COUNT=$(wc -w < "$BRIEF_FILE")
echo -e "Word count: $WORD_COUNT"
if [ "$WORD_COUNT" -lt 400 ]; then
echo -e "${YELLOW}${NC} Brief seems short (< 400 words)"
((WARNINGS++))
elif [ "$WORD_COUNT" -gt 3000 ]; then
echo -e "${YELLOW}${NC} Brief is very long (> 3000 words) - consider condensing"
((WARNINGS++))
else
echo -e "${GREEN}${NC} Brief length appropriate"
((CHECKS_PASSED++))
fi
# Check for proper heading structure
if grep -q "^#\s" "$BRIEF_FILE"; then
echo -e "${GREEN}${NC} Proper heading structure"
((CHECKS_PASSED++))
else
echo -e "${YELLOW}${NC} Check heading hierarchy (should start with # not ##)"
((WARNINGS++))
fi
# Final Summary
echo ""
echo -e "${BLUE}╔════════════════════════════════════════════════╗${NC}"
echo -e "${BLUE}║ Validation Summary ║${NC}"
echo -e "${BLUE}╚════════════════════════════════════════════════╝${NC}"
echo ""
echo -e "Checks passed: ${GREEN}$CHECKS_PASSED${NC}"
echo -e "Warnings: ${YELLOW}$WARNINGS${NC}"
echo -e "Issues found: ${RED}$ISSUES_FOUND${NC}"
echo ""
# Recommendations
echo -e "${BLUE}━━━ Recommendations ━━━${NC}"
echo ""
echo "1. Ensure all required sections are complete"
echo "2. Fill in all placeholder text marked with [brackets]"
echo "3. Define clear, measurable success criteria"
echo "4. Include accessibility requirements (WCAG level)"
echo "5. Clearly define what's in and out of scope"
echo "6. Add user flows for key interactions"
echo "7. Review with stakeholders before starting design work"
echo ""
# Exit code
if [ "$ISSUES_FOUND" -gt 0 ]; then
echo -e "${RED}❌ Design brief validation failed${NC}"
echo -e " Address $ISSUES_FOUND critical issue(s) before proceeding"
exit 1
elif [ "$WARNINGS" -gt 0 ]; then
echo -e "${YELLOW}⚠ Design brief validation passed with warnings${NC}"
echo -e " Consider addressing $WARNINGS warning(s) to improve quality"
exit 0
else
echo -e "${GREEN}✅ Design brief validation passed!${NC}"
echo -e " Brief looks ready for stakeholder review"
exit 0
fi