@pareto4/pp-core 1.7.1 → 1.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/bin/install.js +197 -81
  3. package/commands/pp-build-handoff.md +8 -2
  4. package/commands/pp-discovery-to-build.md +40 -0
  5. package/commands/pp-ns-project.md +3 -1
  6. package/gemini-extension.json +1 -1
  7. package/package.json +2 -1
  8. package/pareto-skills/_shared/create-project-board.sh +195 -0
  9. package/pareto-skills/_shared/pp-claude-md-protocol.md +306 -0
  10. package/pareto-skills/_shared/sync-phase-status.sh +139 -0
  11. package/pareto-skills/pp-brand/SKILL.md +644 -0
  12. package/pareto-skills/pp-brand/assets/crew/ParetoAgent.inline.html +120 -0
  13. package/pareto-skills/pp-brand/assets/crew/ParetoAgent.tsx +239 -0
  14. package/pareto-skills/pp-brand/assets/crew/build.svg +11 -0
  15. package/pareto-skills/pp-brand/assets/crew/deploy.svg +11 -0
  16. package/pareto-skills/pp-brand/assets/crew/discovery.svg +11 -0
  17. package/pareto-skills/pp-brand/assets/crew/plan.svg +11 -0
  18. package/pareto-skills/pp-brand/assets/crew/run.svg +11 -0
  19. package/pareto-skills/pp-brand/assets/crew/validate.svg +11 -0
  20. package/pareto-skills/pp-brand/assets/pareto-brand-preview.html +547 -0
  21. package/pareto-skills/pp-obsidian-notes/SKILL.md +127 -0
  22. package/pareto-skills/pp-obsidian-notes/templates/CLAUDE.md +29 -0
  23. package/pareto-skills/pp-obsidian-notes/templates/client-context.md +116 -0
  24. package/pareto-skills/pp-obsidian-notes/templates/meeting-note.md +66 -0
  25. package/pareto-skills/pp-obsidian-notes/templates/pareto-context.md +102 -0
  26. package/pareto-skills/pp-obsidian-notes/templates/proposal.md +117 -0
  27. package/pareto-skills/pp-project-setup/SKILL.md +1364 -0
  28. package/pp-core/bin/lib/clusters.cjs +4 -0
  29. package/pp-core/bin/lib/intel.cjs +1 -1
  30. package/pp-core/bin/lib/io.cjs +120 -0
  31. package/pp-core/bin/lib/profile-pipeline-command-router.cjs +1 -1
  32. package/pp-core/bin/lib/roadmap-parser.cjs +1 -1
  33. package/pp-core/bin/lib/runtime-artifact-conversion.cjs +2 -2
  34. package/pp-core/bin/lib/surface.cjs +1 -1
  35. package/pp-core/bin/lib/worktree-safety.cjs +2 -2
  36. package/pp-core/bin/pp-tools.cjs +23 -0
  37. package/pp-core/references/ui-brand.md +73 -11
  38. package/pp-core/templates/codebase/structure.md +5 -5
  39. package/pp-core/templates/spec.md +7 -7
  40. package/pp-core/workflows/add-backlog.md +1 -1
  41. package/pp-core/workflows/autonomous.md +4 -4
  42. package/pp-core/workflows/debug.md +1 -1
  43. package/pp-core/workflows/{build-handoff.md → discovery-to-build.md} +6 -3
  44. package/pp-core/workflows/execute-phase.md +9 -1
  45. package/pp-core/workflows/plan-phase.md +14 -12
  46. package/pp-core/workflows/pr-branch.md +5 -4
  47. package/pp-core/workflows/reapply-patches.md +1 -1
  48. package/pp-core/workflows/ship.md +1 -1
  49. package/pp-core/workflows/thread.md +1 -1
  50. package/pp-core/workflows/verify-work.md +6 -5
  51. package/scripts/lint-allow-test-rule-refs.allowlist.json +1 -0
@@ -0,0 +1,1364 @@
1
+ ---
2
+ name: pp-project-setup
3
+ description: >
4
+ Use this skill whenever a user wants to start a new project, set up a new client engagement,
5
+ or create a new repo with discovery framework. Trigger on phrases like
6
+ "new project", "start a project", "create a repo", "set up a client project",
7
+ "new engagement", or "initialise a project". This skill runs a wizard
8
+ that collects project and client context, then automates: GitHub repo creation (via gh CLI),
9
+ Discovery Sprint framework (13 interactive session templates + methodology guide),
10
+ Obsidian vault configuration, requirements templates, GitHub project board setup,
11
+ and an initial commit pushed to GitHub — leaving the team ready to start Discovery immediately.
12
+ Trigger even for vague requests like "let's start a new project" or "new client, new repo".
13
+ ---
14
+
15
+ # Pareto Project Setup Skill
16
+ ## From Zero to Discovery — Fully Automated
17
+
18
+ This skill bootstraps a new Pareto project with a complete Discovery Sprint framework.
19
+
20
+ **What it delivers:**
21
+ - GitHub repository created and configured
22
+ - Discovery Sprint framework (13 interactive session templates + methodology guide)
23
+ - Prototype folder structure (interactive HTML prototype, created during Discovery after Session 4)
24
+ - Obsidian vault configured for project documentation
25
+ - Requirements templates (functional requirements, user stories, test cases)
26
+ - Project Definition template
27
+ - GitHub project board with labels, milestone, and custom fields
28
+ - Initial commit pushed to GitHub
29
+ - Team ready to start Discovery Sprint immediately
30
+
31
+ **What it does NOT do:**
32
+ - Application scaffolding (backend/frontend code) — do this after Discovery, when the stack is confirmed
33
+ - CI/CD pipeline setup — use `pareto-cicd-setup` after the application is scaffolded
34
+ - Deployment setup — use `pareto-deploy-setup` when ready for staging/production
35
+
36
+ **Mantra: Discover first, then build.**
37
+
38
+ ---
39
+
40
+ ## Prerequisites
41
+
42
+ Verify these are available before starting. If any are missing, tell the user
43
+ and provide the install command before proceeding:
44
+
45
+ ```bash
46
+ # Check all prerequisites
47
+ gh --version # GitHub CLI — brew install gh / winget install GitHub.cli
48
+ git --version # Git
49
+ ```
50
+
51
+ Also verify GitHub CLI is authenticated:
52
+ ```bash
53
+ gh auth status
54
+ ```
55
+
56
+ If not authenticated: `gh auth login` — walk the user through this before continuing.
57
+
58
+ ---
59
+
60
+ ## Wizard Flow
61
+
62
+ Run **one step at a time**. Acknowledge each answer before moving on.
63
+ Generate and execute all commands together at the end of the wizard.
64
+
65
+ ---
66
+
67
+ ### STEP 1 — Project Identity
68
+
69
+ Ask:
70
+ > "Let's set up your new Pareto project. A few quick questions first.
71
+ >
72
+ > What's the **project name**? This will become the GitHub repo name and folder name.
73
+ > Use lowercase with hyphens (e.g. `jumbo-asset-portal`, `nxp-supplier-hub`)"
74
+
75
+ Then ask:
76
+ > "Who is the **client**?"
77
+
78
+ Then ask:
79
+ > "One sentence describing what this application does — for the README and repo description."
80
+
81
+ Store as:
82
+ - `PROJECT_NAME` — slugified, lowercase, hyphens (e.g. `jumbo-asset-portal`)
83
+ - `CLIENT_NAME` — display name (e.g. `Jumbo`)
84
+ - `PROJECT_DESCRIPTION` — one sentence
85
+
86
+ ---
87
+
88
+ ### STEP 2 — GitHub Organisation
89
+
90
+ Ask:
91
+ > "Where should the repo live on GitHub?"
92
+
93
+ Options:
94
+ - **Pareto organisation** (`github.com/pareto000/[project-name]`) ← default
95
+ - **Client organisation** → ask for org name
96
+ - **Personal account** → confirm username
97
+
98
+ Store as `GITHUB_ORG`. Default is `pareto000`.
99
+
100
+ Ask:
101
+ > "Should the repo be **private**?"
102
+
103
+ Default: **Yes — always private for client work.**
104
+ Only allow public if user explicitly confirms client has agreed.
105
+
106
+ Store as `REPO_VISIBILITY`. Default is `private`.
107
+
108
+ ---
109
+
110
+ ### STEP 3 — Confirmation Before Execution
111
+
112
+ Summarise everything before running any commands:
113
+
114
+ > "Here's what I'm about to create:
115
+ >
116
+ > 📁 **Project**: `[PROJECT_NAME]`
117
+ > 👤 **Client**: `[CLIENT_NAME]`
118
+ > 📝 **Description**: `[PROJECT_DESCRIPTION]`
119
+ > 🐙 **GitHub**: `github.com/[GITHUB_ORG]/[PROJECT_NAME]` (private)
120
+ >
121
+ > I'll:
122
+ > 1. Create the GitHub repo
123
+ > 2. Scaffold the project structure (Discovery + requirements + docs)
124
+ > 3. Set up Discovery Sprint framework (13 session templates + methodology guide)
125
+ > 4. Configure Obsidian vault for project documentation
126
+ > 5. Set up requirements templates
127
+ > 6. Configure GitHub project board, labels, and milestone
128
+ > 7. Push the initial commit to GitHub
129
+ >
130
+ > Ready to go?"
131
+
132
+ Only proceed after explicit confirmation.
133
+
134
+ ---
135
+
136
+ ### STEP 4 — Execute
137
+
138
+ Run all commands in sequence. Show each command before running it.
139
+ If any step fails, stop and report the error clearly with a fix suggestion.
140
+
141
+ #### 4a. Create GitHub Repository
142
+
143
+ ```bash
144
+ gh repo create [GITHUB_ORG]/[PROJECT_NAME] \
145
+ --description "[PROJECT_DESCRIPTION]" \
146
+ --private \
147
+ --clone
148
+ cd [PROJECT_NAME]
149
+ ```
150
+
151
+ #### 4b. Scaffold Folder Structure
152
+
153
+ ```bash
154
+ mkdir -p \
155
+ Discovery \
156
+ prototype/src/components \
157
+ prototype/src/pages \
158
+ prototype/src/styles \
159
+ prototype/src/assets \
160
+ requirements \
161
+ Inputs/docs \
162
+ docs/architecture \
163
+ docs/decisions \
164
+ .obsidian
165
+ ```
166
+
167
+ #### 4c. Scaffold Discovery Framework
168
+
169
+ Generate all discovery, requirements, and project definition files. These are **interactive facilitation templates** — by working through all 13 sessions via guided Q&A, the team produces a comprehensive project definition, prioritized backlog, architecture decisions, and go/no-go assessment.
170
+
171
+ **Generation order:** Guide first → tracking files → session files → Project Definition → requirements.
172
+
173
+ ##### 4c.1 Discovery Sessions Guide
174
+
175
+ Generate `[PROJECT_NAME]-Discovery-Sessions-Guide.md` in the project root.
176
+
177
+ This is the **complete Discovery Sprint methodology guide** containing all 13 session definitions. Generate the full guide with this structure:
178
+
179
+ - **Title:** `# [PROJECT_NAME] Discovery Sprint Sessions Guide`
180
+ - **Version:** 1.0, **Date:** current month and year
181
+ - **Overview:** What is the Discovery Sprint, what it focuses on, expected outcome
182
+ - **Session Schedule:** Overview table (all 13 sessions) + example 2-week schedule
183
+ - **4 Parts with full session definitions:**
184
+
185
+ | Part | Sessions | Category |
186
+ |------|----------|----------|
187
+ | Part 1: Introduction & Closure | 1, 13 | Kick-off and Wrap-up |
188
+ | Part 2: Business Functional | 2, 3, 4 | As-Is, To-Be, UX |
189
+ | Part 3: Technical | 5, 6, 7, 8, 9, 10 | Architecture, Security, Identity, Integration, QA, Infrastructure |
190
+ | Part 4: Governance & Costs | 11, 12 | Roadmap, Team & Delivery |
191
+
192
+ Each session section **must** include:
193
+ 1. **Goal** — what this session achieves
194
+ 2. **What We Cover** — numbered topic list with guiding questions (these drive the Q&A dialog)
195
+ 3. **Pre-requisites** — checklist of what's needed before starting
196
+ 4. **Outcomes / Deliverables** — checklist of what the session produces
197
+ 5. **Agenda Template** — time-boxed topic table
198
+ 6. **Notes Template** — structured tables for capturing session outputs (these are the key interactive elements — each table becomes a worksheet to fill in)
199
+
200
+ End with:
201
+ - **Deliverables Checklist** (Project Definition Document + Supporting Artifacts + Prioritized Product Backlog)
202
+ - **How to Use This Guide** section
203
+
204
+ **Reference the complete session definitions from the Pareto Discovery Sprint methodology (see 21Assets Discovery Sessions Guide for the canonical structure).**
205
+
206
+ ##### 4c.2 Cross-Session Context File
207
+
208
+ Generate `Discovery/_context.md`:
209
+
210
+ ```markdown
211
+ # Cross-Session Context — [PROJECT_NAME]
212
+
213
+ This file accumulates key outputs from each completed session to provide context for subsequent sessions. It is automatically maintained as sessions are completed.
214
+
215
+ ---
216
+
217
+ ## Session 1: Kick-off Outputs
218
+ _Populated after Session 1 completion_
219
+
220
+ ### Project Context
221
+ <!-- Notes about the rationale and context -->
222
+
223
+ ### Business Vision
224
+ <!-- Business vision summary, KPIs -->
225
+
226
+ ### Stakeholders
227
+ <!-- Key stakeholder list with roles -->
228
+
229
+ ### Discovery Sprint Scope
230
+ **In Scope:**
231
+ -
232
+
233
+ **Out of Scope:**
234
+ -
235
+
236
+ ---
237
+
238
+ ## Session 2: As-Is Outputs
239
+ _Populated after Session 2 completion_
240
+
241
+ ### Core Processes
242
+ <!-- Current business processes -->
243
+
244
+ ### Pain Points
245
+ <!-- Prioritized pain points -->
246
+
247
+ ### User Personas
248
+ <!-- Key personas and their journeys -->
249
+
250
+ ### Current Systems
251
+ <!-- Systems landscape -->
252
+
253
+ ### Data Flows
254
+ <!-- How information moves today -->
255
+
256
+ ---
257
+
258
+ ## Session 3: To-Be Outputs
259
+ _Populated after Session 3 completion_
260
+
261
+ ### Business Objectives
262
+ <!-- Measurable outcomes and KPIs -->
263
+
264
+ ### MVP Scope
265
+ <!-- What's in/out for MVP -->
266
+
267
+ ### EPICs Summary
268
+ <!-- EPIC registry table -->
269
+
270
+ ### User Stories Summary
271
+ <!-- Story count and distribution -->
272
+
273
+ ### Requirements Summary
274
+ <!-- FR, NFR, BR counts -->
275
+
276
+ ---
277
+
278
+ ## Session 4: UX Design Outputs
279
+ _Populated after Session 4 completion_
280
+
281
+ ### Design Principles
282
+ <!-- Numbered design principles -->
283
+
284
+ ### UX Standards
285
+ <!-- Platform, navigation, language, accessibility -->
286
+
287
+ ### Key Personas (Refined)
288
+ <!-- Persona categories and interaction patterns -->
289
+
290
+ ### Key Screen Decisions
291
+ <!-- Screen layout decisions -->
292
+
293
+ ---
294
+
295
+ ## Session 5: Architecture Outputs
296
+ _Populated after Session 5 completion_
297
+
298
+ ### Target Architecture
299
+ <!-- Platform, architecture style, ownership -->
300
+
301
+ ### Technology Stack
302
+ <!-- Full stack listing -->
303
+
304
+ ### Key Components
305
+ <!-- Module/component list -->
306
+
307
+ ### Integration Points
308
+ <!-- External system integrations -->
309
+
310
+ ### ADRs
311
+ <!-- Architecture Decision Records -->
312
+
313
+ ---
314
+
315
+ ## Session 6: Security Outputs
316
+ _Populated after Session 6 completion_
317
+
318
+ ### Data Classification
319
+ <!-- Data sensitivity levels -->
320
+
321
+ ### Compliance Framework
322
+ <!-- Standards and regulations -->
323
+
324
+ ### Encryption
325
+ <!-- In-transit, at-rest, key management -->
326
+
327
+ ### Network & Access
328
+ <!-- Network security approach -->
329
+
330
+ ### Audit Logging
331
+ <!-- Logging strategy and retention -->
332
+
333
+ ### Availability
334
+ <!-- SLA targets -->
335
+
336
+ ---
337
+
338
+ ## Session 7: Identity Management Outputs
339
+ _Populated after Session 7 completion_
340
+
341
+ ### RBAC Model
342
+ <!-- Roles and permissions summary -->
343
+
344
+ ### IdP Integration
345
+ <!-- Identity provider details -->
346
+
347
+ ### User Lifecycle
348
+ <!-- Provisioning approach -->
349
+
350
+ ---
351
+
352
+ ## Session 8: Integration Outputs
353
+ _Populated after Session 8 completion_
354
+
355
+ ### External Systems
356
+ <!-- Systems and their interfaces -->
357
+
358
+ ### Interface Patterns
359
+ <!-- Chosen patterns and protocols -->
360
+
361
+ ### Data Exchange
362
+ <!-- Key data flows and formats -->
363
+
364
+ ---
365
+
366
+ ## Session 9: QA Outputs
367
+ _Populated after Session 9 completion_
368
+
369
+ ### Test Strategy
370
+ <!-- Testing approach -->
371
+
372
+ ### Tooling
373
+ <!-- Test management and automation tools -->
374
+
375
+ ### Test Environments
376
+ <!-- Environment list and purposes -->
377
+
378
+ ### Quality Gates
379
+ <!-- Gate definitions -->
380
+
381
+ ### UAT
382
+ <!-- UAT participants, period, criteria -->
383
+
384
+ ---
385
+
386
+ ## Session 10: Infrastructure Outputs
387
+ _Populated after Session 10 completion_
388
+
389
+ ### Infrastructure
390
+ <!-- Cloud/hosting setup -->
391
+
392
+ ### Deployment
393
+ <!-- Deployment strategy -->
394
+
395
+ ### Monitoring
396
+ <!-- Monitoring and alerting approach -->
397
+
398
+ ### Backup & DR
399
+ <!-- Backup and disaster recovery -->
400
+
401
+ ### Go-Live Readiness
402
+ <!-- Readiness checklist status -->
403
+
404
+ ---
405
+
406
+ ## Session 11: Roadmap Outputs
407
+ _Populated after Session 11 completion_
408
+
409
+ ### Project Phases
410
+ <!-- Phase breakdown -->
411
+
412
+ ### Timeline
413
+ <!-- Sprint cadence and key dates -->
414
+
415
+ ### MVP Scope (Confirmed)
416
+ <!-- Must-have vs nice-to-have -->
417
+
418
+ ### Build Order
419
+ <!-- Sprint-by-sprint plan -->
420
+
421
+ ### Key Milestones
422
+ <!-- Milestone dates -->
423
+
424
+ ### Risks
425
+ <!-- Top risks and mitigations -->
426
+
427
+ ---
428
+
429
+ ## Session 12: Delivery Model Outputs
430
+ _Populated after Session 12 completion_
431
+
432
+ ### Team Structure
433
+ <!-- Key roles and people -->
434
+
435
+ ### Governance
436
+ <!-- Governance framework summary -->
437
+
438
+ ### Ceremonies
439
+ <!-- Sprint cadence and meetings -->
440
+
441
+ ### Support Model
442
+ <!-- Post-go-live support approach -->
443
+
444
+ ---
445
+
446
+ ## Session 13: Wrap-up Outputs
447
+ _Populated after Session 13 completion_
448
+
449
+ ### Decision Readiness
450
+ <!-- Go / Conditional Go / No-Go assessment -->
451
+
452
+ ### Open Items
453
+ <!-- Items carried forward -->
454
+
455
+ ### Next Steps
456
+ <!-- Transition plan to execution -->
457
+ ```
458
+
459
+ ##### 4c.3 Progress Tracker
460
+
461
+ Generate `Discovery/_progress.md`:
462
+
463
+ ```markdown
464
+ # Discovery Sprint Progress — [PROJECT_NAME]
465
+
466
+ **Project:** [PROJECT_NAME]
467
+ **Client:** [CLIENT_NAME]
468
+ **Created:** [today's date]
469
+ **Last Updated:** [today's date]
470
+ **Overall Status:** Not Started
471
+
472
+ ---
473
+
474
+ ## Session Progress
475
+
476
+ | # | Session | Category | Status | Started | Completed | Score | Notes |
477
+ |---|---------|----------|--------|---------|-----------|-------|-------|
478
+ | 1 | Discovery Sprint Kick-off | Introduction & Closure | Not Started | | | | |
479
+ | 2 | Business Process Mapping (As-Is) | Business Functional | Not Started | | | | |
480
+ | 3 | Business Requirements (To-Be) | Business Functional | Not Started | | | | |
481
+ | 4 | UX Design Principles | Business Functional | Not Started | | | | |
482
+ | 5 | Application & Integration Architecture | Technical | Not Started | | | | |
483
+ | 6 | Security & Compliance | Technical | Not Started | | | | |
484
+ | 7 | User & Identity Management | Technical | Not Started | | | | |
485
+ | 8 | Integration & Interface Design | Technical | Not Started | | | | |
486
+ | 9 | QA & Testing Strategy | Technical | Not Started | | | | |
487
+ | 10 | Infrastructure & Deployment | Technical | Not Started | | | | |
488
+ | 11 | Roadmap & Release Planning | Governance & Costs | Not Started | | | | |
489
+ | 12 | Team & Delivery Model | Governance & Costs | Not Started | | | | |
490
+ | 13 | Discovery Sprint Wrap-up | Introduction & Closure | Not Started | | | | |
491
+
492
+ ---
493
+
494
+ ## Summary
495
+
496
+ - **Completed:** 0/13
497
+ - **In Progress:** 0/13
498
+ - **Not Started:** 13/13
499
+
500
+ ---
501
+
502
+ ## Open Action Items
503
+
504
+ | Action | From Session | Owner | Due Date | Status |
505
+ |--------|-------------|-------|----------|--------|
506
+ | | | | | |
507
+ ```
508
+
509
+ ##### 4c.4 Session Files (13 files)
510
+
511
+ Generate one file per session in the `Discovery/` folder. Use this **session registry** for metadata:
512
+
513
+ | # | Filename | Session Name | Category | Duration | Dependencies |
514
+ |---|----------|-------------|----------|----------|-------------|
515
+ | 1 | `01-discovery-sprint-kickoff.md` | Discovery Sprint Kick-off | Introduction & Closure | 2 hours | — |
516
+ | 2 | `02-business-process-mapping-as-is.md` | Business Process Mapping (As-Is) | Business Functional | 2-3 hours | 1 |
517
+ | 3 | `03-business-requirements-to-be.md` | Business Requirements & Future State (To-Be) | Business Functional | 2-3 hours | 1, 2 |
518
+ | 4 | `04-ux-design-principles.md` | UX Design & User Experience Principles | Business Functional | 2-3 hours | 2, 3 |
519
+ | 5 | `05-application-integration-architecture.md` | Application & Integration Architecture | Technical | 1.5-2 hours | 1, 2, 3, 4 |
520
+ | 6 | `06-security-compliance-setup.md` | Security & Compliance Setup | Technical | 1.5-2 hours | 5 |
521
+ | 7 | `07-user-identity-management.md` | User & Identity Management | Technical | 1.5-2 hours | 5, 6 |
522
+ | 8 | `08-integration-interface-design.md` | Integration & Interface Design | Technical | 1.5-2 hours | 5 |
523
+ | 9 | `09-quality-assurance-testing.md` | Quality Assurance & Testing Strategy | Technical | 1.5-2 hours | 3, 5 |
524
+ | 10 | `10-infrastructure-deployment-readiness.md` | Infrastructure & Deployment Readiness | Technical | 1.5-2 hours | 5 |
525
+ | 11 | `11-project-roadmap-release-planning.md` | Project Roadmap & Release Planning | Governance & Costs | 1-2 hours | 3, 5, 9 |
526
+ | 12 | `12-team-delivery-model.md` | Team & Delivery Model Definition | Governance & Costs | 1-2 hours | 11 |
527
+ | 13 | `13-discovery-sprint-wrapup.md` | Discovery Sprint Wrap-up & Next Steps | Introduction & Closure | 2 hours | 1-12 |
528
+
529
+ **Each session file must contain:**
530
+
531
+ 1. **YAML frontmatter:**
532
+ ```yaml
533
+ ---
534
+ session_number: [N]
535
+ session_name: "[Session Name]"
536
+ category: "[Category]"
537
+ duration: "[Duration]"
538
+ dependencies: [list]
539
+ status: "Not Started"
540
+ project_name: "[PROJECT_NAME]"
541
+ started_date: ""
542
+ completed_date: ""
543
+ completeness_score: 0
544
+ ---
545
+ ```
546
+
547
+ 2. **Title:** `# Session [N] — [Session Name] — [PROJECT_NAME]`
548
+
549
+ 3. **Goal section:** The session's purpose — what it achieves and why it matters. This should describe the business value of completing this session.
550
+
551
+ 4. **What We Cover section:** Numbered topic list with **guiding questions** under each topic. These are the facilitation prompts that drive the Q&A dialog. For example, Session 1 covers: Project Context (What is happening? What problems?), Business Vision (Desired future state, KPIs), Stakeholders (Who decides? Who provides input?), Discovery Sprint Approach.
552
+
553
+ 5. **Pre-requisites:** Checklist of what must be ready before the session starts.
554
+
555
+ 6. **Outcomes / Deliverables:** Checklist of concrete outputs this session produces.
556
+
557
+ 7. **Notes Template:** The **structured tables** matching the Notes Template from the Discovery Sessions Guide for this specific session. These tables are the key interactive element — they get populated through the Q&A process. Include all relevant tables for the session (e.g., Session 2 has: Core Processes table, User Personas table, Pain Points table, Data Flow table, Current Systems table).
558
+
559
+ 8. **Key Decisions table:**
560
+ ```markdown
561
+ | Decision | Rationale | Owner |
562
+ |----------|-----------|-------|
563
+ | | | |
564
+ ```
565
+
566
+ 9. **Action Items table:**
567
+ ```markdown
568
+ | Action | Owner | Deadline | Status |
569
+ |--------|-------|----------|--------|
570
+ | | | | |
571
+ ```
572
+
573
+ 10. **Footer:** Session date, Duration, Facilitator placeholders.
574
+
575
+ **Reference the Discovery Sessions Guide for the exact content of each session's Goal, What We Cover, and Notes Template sections.**
576
+
577
+ ##### 4c.5 Project Definition Template
578
+
579
+ Generate `[PROJECT_NAME]-Project-Definition.md`:
580
+
581
+ ```markdown
582
+ # [PROJECT_NAME] — Project Definition
583
+
584
+ > [PROJECT_DESCRIPTION]
585
+
586
+ **Client:** [CLIENT_NAME]
587
+ **Version:** 1.0
588
+ **Date:** [today's date]
589
+ **Status:** Draft — populated through Discovery Sprint sessions
590
+
591
+ ---
592
+
593
+ ## Table of Contents
594
+
595
+ 1. Executive Summary
596
+ 2. Project Context
597
+ 3. Solution Architecture
598
+ 4. Functional Requirements
599
+ 5. User Roles & Access Control
600
+ 6. Integration & Interfaces
601
+ 7. Security & Compliance
602
+ 8. Team & Governance
603
+ 9. Project Roadmap
604
+ 10. Licensing & Costs
605
+ 11. Risks & Mitigations
606
+ 12. Appendices
607
+
608
+ ---
609
+
610
+ ## 1. Executive Summary
611
+
612
+ ### Business Rationale
613
+ <!-- Why this project? What problem does it solve? -->
614
+
615
+ ### Key Objectives
616
+
617
+ | Objective | Description | Expected Improvement |
618
+ |-----------|-------------|---------------------|
619
+ | | | |
620
+
621
+ ### Success Criteria / KPIs
622
+
623
+ | KPI | Target | Measurement |
624
+ |-----|--------|-------------|
625
+ | | | |
626
+
627
+ ---
628
+
629
+ ## 2. Project Context
630
+
631
+ ### Current State (As-Is)
632
+ <!-- From Session 2 -->
633
+
634
+ ### Future State (To-Be)
635
+ <!-- From Session 3 -->
636
+
637
+ ### Scope Definition
638
+
639
+ **In Scope (MVP):**
640
+ -
641
+
642
+ **Out of Scope:**
643
+ -
644
+
645
+ ---
646
+
647
+ ## 3. Solution Architecture
648
+
649
+ ### System Overview
650
+ <!-- From Session 5 -->
651
+
652
+ ### Technology Stack
653
+
654
+ | Layer | Technology | Notes |
655
+ |-------|-----------|-------|
656
+ | Backend | | |
657
+ | Frontend | | |
658
+ | Database | | |
659
+ | Infrastructure | | |
660
+
661
+ ### Architecture Decision Records
662
+
663
+ | ADR | Decision | Context | Consequences |
664
+ |-----|----------|---------|--------------|
665
+ | | | | |
666
+
667
+ ---
668
+
669
+ ## 4. Functional Requirements
670
+
671
+ See [requirements/functional-requirements.md](requirements/functional-requirements.md) for the full requirements matrix.
672
+
673
+ ### EPICs Overview
674
+
675
+ | EPIC | Title | Phase | Priority |
676
+ |------|-------|-------|----------|
677
+ | | | | |
678
+
679
+ ### Requirements Summary
680
+
681
+ | Category | Count |
682
+ |----------|-------|
683
+ | Functional Requirements | |
684
+ | Non-Functional Requirements | |
685
+ | Business Rules | |
686
+
687
+ ---
688
+
689
+ ## 5. User Roles & Access Control
690
+
691
+ <!-- From Sessions 3, 7 -->
692
+
693
+ | Role | Description | Permissions | Device |
694
+ |------|-------------|-------------|--------|
695
+ | | | | |
696
+
697
+ ---
698
+
699
+ ## 6. Integration & Interfaces
700
+
701
+ <!-- From Sessions 5, 8 -->
702
+
703
+ | Interface | System | Direction | Protocol | Phase |
704
+ |-----------|--------|-----------|----------|-------|
705
+ | | | | | |
706
+
707
+ ---
708
+
709
+ ## 7. Security & Compliance
710
+
711
+ <!-- From Session 6 -->
712
+
713
+ | Aspect | Approach | Standard |
714
+ |--------|----------|----------|
715
+ | Data Classification | | |
716
+ | Compliance | | |
717
+ | Encryption (transit) | | |
718
+ | Encryption (at rest) | | |
719
+ | Authentication | | |
720
+ | Audit Logging | | |
721
+ | Availability SLA | | |
722
+
723
+ ---
724
+
725
+ ## 8. Team & Governance
726
+
727
+ <!-- From Session 12 -->
728
+
729
+ ### Team Structure
730
+
731
+ | Role | Who | Organization |
732
+ |------|-----|--------------|
733
+ | | | |
734
+
735
+ ### Governance Framework
736
+
737
+ | Level | Forum | Frequency | Purpose |
738
+ |-------|-------|-----------|---------|
739
+ | | | | |
740
+
741
+ ---
742
+
743
+ ## 9. Project Roadmap
744
+
745
+ <!-- From Session 11 -->
746
+
747
+ ### Phases
748
+
749
+ | Phase | Scope | Timeline | Budget |
750
+ |-------|-------|----------|--------|
751
+ | | | | |
752
+
753
+ ### Key Milestones
754
+
755
+ | Milestone | Target Date | Owner |
756
+ |-----------|-------------|-------|
757
+ | | | |
758
+
759
+ ---
760
+
761
+ ## 10. Licensing & Costs
762
+
763
+ | Item | Cost | Frequency | Notes |
764
+ |------|------|-----------|-------|
765
+ | | | | |
766
+
767
+ ---
768
+
769
+ ## 11. Risks & Mitigations
770
+
771
+ | Risk | Probability | Impact | Mitigation | Owner |
772
+ |------|-------------|--------|------------|-------|
773
+ | | | | | |
774
+
775
+ ---
776
+
777
+ ## 12. Appendices
778
+
779
+ - [Discovery Sessions Guide]([PROJECT_NAME]-Discovery-Sessions-Guide.md)
780
+ - [Functional Requirements](requirements/functional-requirements.md)
781
+ - [User Story Definition Guide](requirements/user-story-definition.md)
782
+ - [Test Cases](requirements/test-cases.md)
783
+
784
+ ---
785
+
786
+ **Document Status:** Draft
787
+ **Generated by:** pareto-project-setup skill
788
+ ```
789
+
790
+ ##### 4c.6 Requirements Files
791
+
792
+ Generate `requirements/functional-requirements.md`:
793
+
794
+ ```markdown
795
+ # Functional Requirements — [PROJECT_NAME]
796
+
797
+ Based on: [PROJECT_NAME] Discovery Sprint (Sessions 3, 5, 8)
798
+
799
+ ## How to Use This Document
800
+
801
+ Requirements are captured during the Discovery Sprint, primarily in Session 3 (Business Requirements & To-Be).
802
+ Each requirement has a unique ID, description, phase assignment, and priority.
803
+
804
+ ---
805
+
806
+ ## 1. [Module Name]
807
+
808
+ ### 1.1 [Sub-module]
809
+
810
+ | ID | Requirement | Phase | Priority | Notes |
811
+ |----|-------------|-------|----------|-------|
812
+ | REQ-001 | | | | |
813
+
814
+ ---
815
+
816
+ ## Non-Functional Requirements
817
+
818
+ | ID | Category | Requirement | Target |
819
+ |----|----------|-------------|--------|
820
+ | NFR-001 | Performance | | |
821
+ | NFR-002 | Security | | |
822
+ | NFR-003 | Usability | | |
823
+ | NFR-004 | Availability | | |
824
+
825
+ ---
826
+
827
+ ## Business Rules
828
+
829
+ | ID | Rule Description | Applies To | Source |
830
+ |----|-----------------|------------|--------|
831
+ | BR-001 | | | |
832
+
833
+ ---
834
+
835
+ ## Out of Scope
836
+
837
+ The following items are explicitly out of scope:
838
+ -
839
+ ```
840
+
841
+ Generate `requirements/user-story-definition.md` — this is the **full methodology guide** (reusable as-is across all projects). Include the complete User Story Definition Guide with:
842
+ - Hierarchy: Epic → User Story → Acceptance Criteria → Test Case
843
+ - Epic Definition (template, quality criteria, example)
844
+ - User Story Definition (format, template, INVEST criteria, checklist, forbidden words)
845
+ - Acceptance Criteria Definition (Given/When/Then + Concrete Condition formats)
846
+ - Test Case Definition (template, test types, quality criteria)
847
+ - Traceability Matrix
848
+ - Status Definitions
849
+ - Numbering Conventions
850
+ - Review Checklists
851
+
852
+ Generate `requirements/test-cases.md`:
853
+
854
+ ```markdown
855
+ # Test Cases — [PROJECT_NAME]
856
+
857
+ ## Structure
858
+
859
+ ```
860
+ TC-[US-ID]-[NR]: [Title]
861
+ ├── Test Type: Unit | Integration | E2E | Performance | Security
862
+ ├── User Story: US-XXX
863
+ ├── Acceptance Criterion: AC-XXX-XX
864
+ ├── Priority: Critical | High | Medium | Low
865
+ ├── Preconditions
866
+ ├── Test Steps
867
+ ├── Expected Result
868
+ └── Test Data
869
+ ```
870
+
871
+ ## Test Phases
872
+
873
+ | Phase | Focus | Responsibility |
874
+ |-------|-------|----------------|
875
+ | Unit Testing | Individual functions/components | Development team |
876
+ | Integration Testing | Component collaboration | Development team |
877
+ | System Testing | Complete system flows | QA team |
878
+ | UAT | Business acceptance | Key users + PO |
879
+ | Performance Testing | Speed and load | QA team |
880
+ | Security Testing | Vulnerability assessment | Security team |
881
+
882
+ ## Test Cases
883
+
884
+ _Test cases are added here as user stories are defined during the Discovery Sprint._
885
+
886
+ | TC ID | User Story | AC | Type | Priority | Status |
887
+ |-------|------------|-----|------|----------|--------|
888
+ | | | | | | |
889
+ ```
890
+
891
+ ##### 4c.7 Prototype README
892
+
893
+ Generate `prototype/README.md`:
894
+
895
+ ```markdown
896
+ # Interactive Prototype — [PROJECT_NAME]
897
+
898
+ This folder contains the interactive HTML prototype for [PROJECT_NAME].
899
+ The prototype is a core Discovery Sprint deliverable — it makes abstract requirements tangible
900
+ and gives stakeholders something concrete to react to.
901
+
902
+ ## When It Gets Built
903
+
904
+ The prototype is **created after Discovery Session 4** (UX Design Principles) and
905
+ **iteratively updated** after Sessions 5, 7, and 8. By Session 13, it reflects the full MVP scope.
906
+
907
+ | Trigger Session | What Happens |
908
+ |----------------|--------------|
909
+ | Session 4 (UX Design) | **Create** — key screens, navigation, user flows based on personas, EPICs, and UX principles |
910
+ | Session 5 (Architecture) | **Update** — reflect architecture decisions (component structure, data flow) |
911
+ | Session 7 (Identity) | **Update** — add role-based views, login flow, permission-gated UI |
912
+ | Session 8 (Integration) | **Update** — add integration touchpoints (document uploads, external system indicators) |
913
+
914
+ ## Structure
915
+
916
+ ```
917
+ prototype/
918
+ ├── index.html # Entry point — links to all screens
919
+ ├── src/
920
+ │ ├── components/ # Reusable UI components (header, sidebar, cards, etc.)
921
+ │ ├── pages/ # Individual screen HTML files
922
+ │ ├── styles/
923
+ │ │ ├── tokens.css # Design tokens (colors, fonts, spacing) from brand
924
+ │ │ ├── global.css # Base styles, resets, typography
925
+ │ │ └── components.css # Component-specific styles
926
+ │ └── assets/ # Images, icons, logos
927
+ └── README.md # This file
928
+ ```
929
+
930
+ ## How to View
931
+
932
+ Open `index.html` in any browser. No build tools or dependencies required.
933
+
934
+ ## Principles
935
+
936
+ 1. **Interactive, not static** — working navigation, hover states, clickable elements
937
+ 2. **Realistic content** — domain-specific placeholder data, not Lorem ipsum
938
+ 3. **Progressive fidelity** — starts with layout/navigation, gains detail with each session
939
+ 4. **Annotated** — subtle references to requirement IDs (FR-xxx, US-xxx) for traceability
940
+ 5. **Branded** — uses the customer's brand tokens (colors, typography, logo)
941
+ ```
942
+
943
+ ##### 4c.8 Input Documents
944
+
945
+ Create `Inputs/docs/.gitkeep` (empty file — placeholder for input documents, architecture notes, and reference materials gathered during discovery).
946
+
947
+ ---
948
+
949
+ #### 4d. Set Up Obsidian Vault
950
+
951
+ Configure the project as an Obsidian vault with the README as landing page.
952
+
953
+ **`.obsidian/app.json`**
954
+ ```json
955
+ {
956
+ "pdfExportSettings": {
957
+ "includeName": true,
958
+ "pageSize": "Letter",
959
+ "landscape": false,
960
+ "margin": "0",
961
+ "downscalePercent": 100
962
+ },
963
+ "alwaysUpdateLinks": true
964
+ }
965
+ ```
966
+
967
+ **`.obsidian/appearance.json`**
968
+ ```json
969
+ {}
970
+ ```
971
+
972
+ **`.obsidian/core-plugins.json`**
973
+ ```json
974
+ {
975
+ "file-explorer": true,
976
+ "global-search": true,
977
+ "switcher": true,
978
+ "graph": true,
979
+ "backlink": true,
980
+ "canvas": true,
981
+ "outgoing-link": true,
982
+ "tag-pane": true,
983
+ "footnotes": false,
984
+ "properties": true,
985
+ "page-preview": true,
986
+ "daily-notes": true,
987
+ "templates": true,
988
+ "note-composer": true,
989
+ "command-palette": true,
990
+ "slash-command": false,
991
+ "editor-status": true,
992
+ "bookmarks": true,
993
+ "markdown-importer": false,
994
+ "zk-prefixer": false,
995
+ "random-note": false,
996
+ "outline": true,
997
+ "word-count": true,
998
+ "slides": false,
999
+ "audio-recorder": false,
1000
+ "workspaces": false,
1001
+ "file-recovery": true,
1002
+ "publish": false,
1003
+ "sync": true,
1004
+ "bases": true,
1005
+ "webviewer": false
1006
+ }
1007
+ ```
1008
+
1009
+ **`.obsidian/workspace.json`**
1010
+ ```json
1011
+ {
1012
+ "main": {
1013
+ "id": "main-tabs",
1014
+ "type": "split",
1015
+ "children": [
1016
+ {
1017
+ "id": "tab-group",
1018
+ "type": "tabs",
1019
+ "children": [
1020
+ {
1021
+ "id": "readme-tab",
1022
+ "type": "leaf",
1023
+ "state": {
1024
+ "type": "markdown",
1025
+ "state": {
1026
+ "file": "README.md",
1027
+ "mode": "source",
1028
+ "source": false
1029
+ },
1030
+ "icon": "lucide-file",
1031
+ "title": "README"
1032
+ }
1033
+ }
1034
+ ]
1035
+ }
1036
+ ],
1037
+ "direction": "vertical"
1038
+ },
1039
+ "left": {
1040
+ "id": "left-sidebar",
1041
+ "type": "split",
1042
+ "children": [
1043
+ {
1044
+ "id": "left-tabs",
1045
+ "type": "tabs",
1046
+ "children": [
1047
+ {
1048
+ "id": "file-explorer-tab",
1049
+ "type": "leaf",
1050
+ "state": {
1051
+ "type": "file-explorer",
1052
+ "state": { "sortOrder": "alphabetical" },
1053
+ "icon": "lucide-folder-closed",
1054
+ "title": "Files"
1055
+ }
1056
+ },
1057
+ {
1058
+ "id": "search-tab",
1059
+ "type": "leaf",
1060
+ "state": {
1061
+ "type": "search",
1062
+ "state": { "query": "" },
1063
+ "icon": "lucide-search",
1064
+ "title": "Search"
1065
+ }
1066
+ }
1067
+ ]
1068
+ }
1069
+ ],
1070
+ "direction": "horizontal",
1071
+ "width": 300
1072
+ },
1073
+ "right": {
1074
+ "id": "right-sidebar",
1075
+ "type": "split",
1076
+ "children": [
1077
+ {
1078
+ "id": "right-tabs",
1079
+ "type": "tabs",
1080
+ "children": [
1081
+ {
1082
+ "id": "outline-tab",
1083
+ "type": "leaf",
1084
+ "state": {
1085
+ "type": "outline",
1086
+ "state": { "file": "README.md" },
1087
+ "icon": "lucide-list",
1088
+ "title": "Outline"
1089
+ }
1090
+ }
1091
+ ]
1092
+ }
1093
+ ],
1094
+ "direction": "horizontal",
1095
+ "width": 300,
1096
+ "collapsed": true
1097
+ },
1098
+ "active": "readme-tab",
1099
+ "lastOpenFiles": ["README.md"]
1100
+ }
1101
+ ```
1102
+
1103
+ ---
1104
+
1105
+ #### 4e. Generate Root Files
1106
+
1107
+ Create the following files in the project root:
1108
+
1109
+ **`README.md`**
1110
+ ```markdown
1111
+ # [PROJECT_NAME]
1112
+
1113
+ > [PROJECT_DESCRIPTION]
1114
+
1115
+ **Client**: [CLIENT_NAME]
1116
+ **Delivery**: Pareto AI-First — Discovery → Requirements → Delivery → Validation
1117
+
1118
+ ## Discovery Sprint
1119
+
1120
+ This project includes a complete Discovery Sprint framework. Open this folder in **Obsidian** to start.
1121
+
1122
+ **How it works:**
1123
+ 1. Open the project folder as an Obsidian vault
1124
+ 2. Navigate to `Discovery/` and begin with Session 1 (Kick-off)
1125
+ 3. Work through all 13 sessions via guided Q&A
1126
+ 4. Use `[PROJECT_NAME]-Discovery-Sessions-Guide.md` for facilitation guidance
1127
+ 5. Track progress in `Discovery/_progress.md`
1128
+
1129
+ **Outcome:** A validated project definition, prioritized backlog, architecture decisions, and go/no-go assessment.
1130
+
1131
+ | Document | Purpose |
1132
+ |----------|---------|
1133
+ | [Discovery Sessions Guide]([PROJECT_NAME]-Discovery-Sessions-Guide.md) | Full methodology — 13 session definitions |
1134
+ | [Project Definition]([PROJECT_NAME]-Project-Definition.md) | Consolidated output document |
1135
+ | [Discovery/_progress.md](Discovery/_progress.md) | Session progress tracker |
1136
+ | [Discovery/_context.md](Discovery/_context.md) | Cross-session context accumulator |
1137
+ | [prototype/](prototype/) | Interactive HTML prototype (created after Session 4) |
1138
+
1139
+ ## Project Structure
1140
+ ```
1141
+ [PROJECT_NAME]/
1142
+ .obsidian/ Obsidian vault configuration
1143
+ Discovery/ Discovery Sprint — 13 session worksheets
1144
+ prototype/ Interactive HTML prototype (built during Discovery)
1145
+ requirements/ Functional requirements, user stories, test cases
1146
+ Inputs/docs/ Input documents and reference materials
1147
+ docs/ Architecture decisions and guides
1148
+ ```
1149
+
1150
+ ## Next Steps After Discovery
1151
+
1152
+ Once the Discovery Sprint is complete and you have a validated project definition:
1153
+ 1. Scaffold the application code (use `pareto-project-setup` or manually)
1154
+ 2. Set up CI/CD pipeline (use `pareto-cicd-setup`)
1155
+ 3. Create your first feature branch and start building
1156
+
1157
+ Quality drives speed. Discover first, then build.
1158
+ ```
1159
+
1160
+ **`.gitignore`**
1161
+ ```
1162
+ # IDE
1163
+ .idea/
1164
+ .vscode/settings.json
1165
+ *.iml
1166
+
1167
+ # Obsidian (workspace is user-specific; vault config is version-controlled)
1168
+ .obsidian/workspace.json
1169
+
1170
+ # OS
1171
+ .DS_Store
1172
+ Thumbs.db
1173
+ ```
1174
+
1175
+ #### 4f. Configure GitHub Project Board
1176
+
1177
+ Set up the project board, labels, and milestone for tracking work.
1178
+
1179
+ ##### Labels
1180
+
1181
+ Delete default GitHub labels first, then create the Pareto standard set:
1182
+
1183
+ ```bash
1184
+ # Remove default labels
1185
+ gh label delete "bug" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1186
+ gh label delete "documentation" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1187
+ gh label delete "duplicate" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1188
+ gh label delete "enhancement" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1189
+ gh label delete "good first issue" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1190
+ gh label delete "help wanted" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1191
+ gh label delete "invalid" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1192
+ gh label delete "question" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1193
+ gh label delete "wontfix" --yes -R [GITHUB_ORG]/[PROJECT_NAME] 2>/dev/null
1194
+
1195
+ # Type labels
1196
+ gh label create "bug" -c "d73a4a" -d "Something isn't working" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1197
+ gh label create "feature" -c "a2eeef" -d "New feature or capability" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1198
+ gh label create "enhancement" -c "84b6eb" -d "Improvement to existing feature" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1199
+ gh label create "chore" -c "e4e669" -d "Maintenance or housekeeping" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1200
+ gh label create "docs" -c "0075ca" -d "Documentation only" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1201
+
1202
+ # Priority labels
1203
+ gh label create "priority:critical" -c "b60205" -d "Must fix immediately" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1204
+ gh label create "priority:high" -c "d93f0b" -d "Important, address soon" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1205
+ gh label create "priority:medium" -c "fbca04" -d "Normal priority" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1206
+ gh label create "priority:low" -c "0e8a16" -d "Nice to have, can wait" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1207
+
1208
+ # Phase labels
1209
+ gh label create "phase:discovery" -c "c5def5" -d "Discovery Sprint" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1210
+ gh label create "phase:mvp" -c "bfdadc" -d "MVP phase" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1211
+ gh label create "phase:enhancement" -c "d4c5f9" -d "Post-MVP enhancement" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1212
+
1213
+ # Status labels
1214
+ gh label create "needs-review" -c "f9d0c4" -d "Needs code review" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1215
+ gh label create "blocked" -c "d73a4a" -d "Blocked by dependency" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1216
+ gh label create "in-progress" -c "fbca04" -d "Currently being worked on" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1217
+
1218
+ # Issue type labels
1219
+ gh label create "epic" -c "3E4B9E" -d "Epic — high-level feature group" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1220
+ gh label create "user-story" -c "1D76DB" -d "User story" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1221
+
1222
+ # MoSCoW prioritisation labels
1223
+ gh label create "must-have" -c "B60205" -d "Must Have — MVP required" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1224
+ gh label create "should-have" -c "FBCA04" -d "Should Have — important but not blocking" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1225
+
1226
+ # UAT label
1227
+ gh label create "uat" -c "fbca04" -d "User acceptance testing" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1228
+ ```
1229
+
1230
+ **Epic-specific labels** are created later, during or after the Discovery Sprint, once EPICs are defined. Use descriptive short names with distinct colors — not generic IDs. Pattern:
1231
+
1232
+ ```bash
1233
+ # Example — create after Discovery Sprint Session 3 (To-Be) when EPICs are known:
1234
+ gh label create "epic:lead-management" -c "0E8A16" -d "EPIC-001: Lead Management" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1235
+ gh label create "epic:ai-engine" -c "B44EFF" -d "EPIC-002: AI Next-Action" --force -R [GITHUB_ORG]/[PROJECT_NAME]
1236
+ # ... one per EPIC, each with a unique color for visual distinction on the board
1237
+ ```
1238
+
1239
+ **Color palette for epic labels** (16 distinct colors, use in order):
1240
+ `#0E8A16` (green), `#1AA393` (teal), `#D93F0B` (orange), `#B44EFF` (purple),
1241
+ `#4A9EFF` (blue), `#EF4444` (red), `#F5C842` (gold), `#8B5CF6` (violet),
1242
+ `#166534` (dark green), `#0891B2` (cyan), `#1E40AF` (navy), `#EA580C` (coral),
1243
+ `#DB2777` (magenta), `#6B7280` (gray), `#EC4899` (pink), `#0D9488` (dark teal)
1244
+
1245
+ **Rules for epic labels:**
1246
+ - Use `epic:[short-name]` format (e.g. `epic:trips`, `epic:finance`, `epic:auth`)
1247
+ - Never use generic IDs like `epic:EPIC-001` — these are unreadable on the board
1248
+ - Each epic gets a unique color from the palette above
1249
+ - Description includes the EPIC ID for traceability (e.g. `"EPIC-001: Trip Management"`)
1250
+ - Apply `epic` label to EPIC issues, `user-story` label to story issues
1251
+ - Apply the relevant `epic:[short-name]` label to both the EPIC issue and its child stories
1252
+
1253
+ ##### Milestone
1254
+
1255
+ ```bash
1256
+ gh api repos/[GITHUB_ORG]/[PROJECT_NAME]/milestones \
1257
+ -f title="v1.0 — MVP" \
1258
+ -f description="Minimum viable product — core features for initial release" \
1259
+ -f state="open"
1260
+ ```
1261
+
1262
+ ##### Project Board
1263
+
1264
+ Board creation, Status field configuration (Backlog → To Do → In Progress →
1265
+ Verification → Done), and all custom fields (Priority, Sprint, Estimate,
1266
+ Phase) are handled by the canonical shared script
1267
+ `../_shared/create-project-board.sh`.
1268
+
1269
+ This is the single source of truth for the Pareto board schema. Every skill
1270
+ that touches project boards (this skill, `pareto-build-handoff`, and
1271
+ `pareto-push-issues`) sources it — edits must happen in that one file.
1272
+
1273
+ ```bash
1274
+ # Source the shared functions. The _shared/ directory ships as a peer of this
1275
+ # skill inside the same bundle, so resolve it relative to this skill's own
1276
+ # location (../_shared) rather than assuming any absolute install path.
1277
+ SHARED="$(dirname "${BASH_SOURCE[0]:-$0}")/../_shared/create-project-board.sh"
1278
+ source "$SHARED"
1279
+
1280
+ # Create (or reuse) the board and configure all fields
1281
+ read PROJECT_NUM BOARD_OWNER < <(create_project_board \
1282
+ "[GITHUB_ORG]" \
1283
+ "[PROJECT_NAME]" \
1284
+ "[GITHUB_ORG]/[PROJECT_NAME]")
1285
+ ```
1286
+
1287
+ If the project create fails due to org permissions, the shared script
1288
+ automatically falls back to `--owner "@me"` — `$BOARD_OWNER` will reflect
1289
+ the owner that was actually used. Use `2>/dev/null` on label deletes
1290
+ elsewhere in the skill to suppress errors for labels that don't exist.
1291
+ Board *view* (Kanban layout) must still be created manually in the GitHub
1292
+ web UI (click "New view" → "Board").
1293
+
1294
+ #### 4g. Initial Commit and Push
1295
+
1296
+ ```bash
1297
+ git add .
1298
+ git commit -m "chore: initial project scaffold
1299
+
1300
+ - Discovery Sprint framework (13 session templates + methodology guide)
1301
+ - Prototype folder structure (populated after Discovery Session 4)
1302
+ - Obsidian vault configured
1303
+ - Requirements templates (functional requirements, user stories, test cases)
1304
+ - Project Definition template
1305
+ - GitHub project board with Status, Priority, Sprint, Estimate fields
1306
+ - Repo labels (type, priority, phase, status, MoSCoW, issue type)
1307
+ - MVP milestone
1308
+
1309
+ Client: [CLIENT_NAME]
1310
+ Generated by: pareto-project-setup skill"
1311
+
1312
+ git push origin main
1313
+ ```
1314
+
1315
+ ---
1316
+
1317
+ ### STEP 5 — Handoff Summary
1318
+
1319
+ After successful push, give the developer a clean summary:
1320
+
1321
+ > "Project `[PROJECT_NAME]` is live on GitHub.
1322
+ >
1323
+ > **Repo**: https://github.com/[GITHUB_ORG]/[PROJECT_NAME]
1324
+ >
1325
+ > **Next steps — Discovery Sprint (start here):**
1326
+ > 1. Open the project folder in **Obsidian** as a vault
1327
+ > 2. README.md loads as the landing page
1328
+ > 3. Navigate to `Discovery/` and begin **Session 1 (Kick-off)**
1329
+ > 4. Use `[PROJECT_NAME]-Discovery-Sessions-Guide.md` for facilitation guidance
1330
+ > 5. Track progress in `Discovery/_progress.md`
1331
+ > 6. Complete all 13 sessions to produce a validated project definition
1332
+ >
1333
+ > **Project Board:**
1334
+ > Open at: https://github.com/users/[GITHUB_ORG]/projects/ (or https://github.com/orgs/[GITHUB_ORG]/projects/)
1335
+ > Fields: Status (Backlog → To Do → In Progress → Verification → Done), Priority, Sprint, Estimate, Due Date
1336
+ > Tip: Click "New view" → "Board" in the project to create a Kanban board view
1337
+ >
1338
+ > **After Discovery:**
1339
+ > Once you have a validated project definition, scaffold the application and set up CI/CD.
1340
+ > Use `pareto-cicd-setup` for pipeline configuration and `pareto-deploy-setup` for deployment.
1341
+ >
1342
+ > Discover first, then build."
1343
+
1344
+ ---
1345
+
1346
+ ## Error Handling
1347
+
1348
+ | Error | Likely Cause | Fix |
1349
+ |---|---|---|
1350
+ | `gh: command not found` | GitHub CLI not installed | `brew install gh` or `winget install GitHub.cli` |
1351
+ | `gh auth` fails | Not logged in | `gh auth login` |
1352
+ | Repo already exists | Name conflict | Ask user for alternative name |
1353
+ | `gh project create` fails | No permission to create projects in org | Use `--owner "@me"` instead |
1354
+ | Label delete fails | Label doesn't exist | Safe to ignore (suppressed with `2>/dev/null`) |
1355
+
1356
+ ---
1357
+
1358
+ ## Conventions Reference
1359
+
1360
+ | Item | Convention |
1361
+ |---|---|
1362
+ | Repo name | `[client]-[product]` lowercase hyphens |
1363
+ | Branch name | `feature/`, `fix/`, `chore/` prefix |
1364
+ | Commit style | Conventional Commits (`feat:`, `fix:`, `chore:`) |