Initial commit
This commit is contained in:
486
skills/design-brief-generator/scripts/generate_brief.sh
Executable file
486
skills/design-brief-generator/scripts/generate_brief.sh
Executable 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}"
|
||||
Reference in New Issue
Block a user