aidp 0.27.0 → 0.29.0

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 (104) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +89 -0
  3. data/lib/aidp/cli/models_command.rb +80 -123
  4. data/lib/aidp/cli/tools_command.rb +333 -0
  5. data/lib/aidp/cli.rb +18 -9
  6. data/lib/aidp/config.rb +63 -0
  7. data/lib/aidp/debug_mixin.rb +23 -1
  8. data/lib/aidp/execute/agent_signal_parser.rb +22 -0
  9. data/lib/aidp/execute/repl_macros.rb +2 -2
  10. data/lib/aidp/execute/steps.rb +94 -1
  11. data/lib/aidp/execute/work_loop_runner.rb +215 -20
  12. data/lib/aidp/execute/workflow_selector.rb +2 -25
  13. data/lib/aidp/firewall/provider_requirements_collector.rb +262 -0
  14. data/lib/aidp/harness/ai_decision_engine.rb +35 -2
  15. data/lib/aidp/harness/capability_registry.rb +4 -4
  16. data/lib/aidp/harness/config_manager.rb +0 -5
  17. data/lib/aidp/harness/config_schema.rb +8 -0
  18. data/lib/aidp/harness/configuration.rb +27 -19
  19. data/lib/aidp/harness/enhanced_runner.rb +1 -4
  20. data/lib/aidp/harness/error_handler.rb +1 -72
  21. data/lib/aidp/harness/provider_factory.rb +11 -2
  22. data/lib/aidp/harness/provider_manager.rb +5 -3
  23. data/lib/aidp/harness/ruby_llm_registry.rb +239 -0
  24. data/lib/aidp/harness/state_manager.rb +0 -7
  25. data/lib/aidp/harness/thinking_depth_manager.rb +47 -68
  26. data/lib/aidp/harness/ui/enhanced_tui.rb +8 -18
  27. data/lib/aidp/harness/ui/enhanced_workflow_selector.rb +0 -18
  28. data/lib/aidp/harness/ui/progress_display.rb +6 -2
  29. data/lib/aidp/harness/user_interface.rb +0 -58
  30. data/lib/aidp/init/runner.rb +7 -2
  31. data/lib/aidp/metadata/cache.rb +201 -0
  32. data/lib/aidp/metadata/compiler.rb +229 -0
  33. data/lib/aidp/metadata/parser.rb +204 -0
  34. data/lib/aidp/metadata/query.rb +237 -0
  35. data/lib/aidp/metadata/scanner.rb +191 -0
  36. data/lib/aidp/metadata/tool_metadata.rb +245 -0
  37. data/lib/aidp/metadata/validator.rb +187 -0
  38. data/lib/aidp/planning/analyzers/feedback_analyzer.rb +365 -0
  39. data/lib/aidp/planning/builders/agile_plan_builder.rb +387 -0
  40. data/lib/aidp/planning/builders/project_plan_builder.rb +193 -0
  41. data/lib/aidp/planning/generators/gantt_generator.rb +190 -0
  42. data/lib/aidp/planning/generators/iteration_plan_generator.rb +392 -0
  43. data/lib/aidp/planning/generators/legacy_research_planner.rb +473 -0
  44. data/lib/aidp/planning/generators/marketing_report_generator.rb +348 -0
  45. data/lib/aidp/planning/generators/mvp_scope_generator.rb +310 -0
  46. data/lib/aidp/planning/generators/user_test_plan_generator.rb +373 -0
  47. data/lib/aidp/planning/generators/wbs_generator.rb +259 -0
  48. data/lib/aidp/planning/mappers/persona_mapper.rb +163 -0
  49. data/lib/aidp/planning/parsers/document_parser.rb +141 -0
  50. data/lib/aidp/planning/parsers/feedback_data_parser.rb +252 -0
  51. data/lib/aidp/provider_manager.rb +8 -32
  52. data/lib/aidp/providers/aider.rb +264 -0
  53. data/lib/aidp/providers/anthropic.rb +80 -6
  54. data/lib/aidp/providers/base.rb +129 -35
  55. data/lib/aidp/providers/codex.rb +27 -4
  56. data/lib/aidp/providers/cursor.rb +17 -1
  57. data/lib/aidp/providers/gemini.rb +14 -1
  58. data/lib/aidp/providers/github_copilot.rb +18 -1
  59. data/lib/aidp/providers/kilocode.rb +12 -1
  60. data/lib/aidp/providers/opencode.rb +12 -1
  61. data/lib/aidp/setup/wizard.rb +284 -146
  62. data/lib/aidp/version.rb +1 -1
  63. data/lib/aidp/watch/build_processor.rb +211 -30
  64. data/lib/aidp/watch/change_request_processor.rb +128 -14
  65. data/lib/aidp/watch/ci_fix_processor.rb +103 -37
  66. data/lib/aidp/watch/ci_log_extractor.rb +258 -0
  67. data/lib/aidp/watch/github_state_extractor.rb +177 -0
  68. data/lib/aidp/watch/implementation_verifier.rb +284 -0
  69. data/lib/aidp/watch/plan_generator.rb +7 -43
  70. data/lib/aidp/watch/plan_processor.rb +7 -6
  71. data/lib/aidp/watch/repository_client.rb +245 -17
  72. data/lib/aidp/watch/review_processor.rb +98 -17
  73. data/lib/aidp/watch/reviewers/base_reviewer.rb +1 -1
  74. data/lib/aidp/watch/runner.rb +181 -29
  75. data/lib/aidp/watch/state_store.rb +22 -1
  76. data/lib/aidp/workflows/definitions.rb +147 -0
  77. data/lib/aidp/workstream_cleanup.rb +245 -0
  78. data/lib/aidp/worktree.rb +19 -0
  79. data/lib/aidp.rb +11 -0
  80. data/templates/aidp.yml.example +57 -0
  81. data/templates/implementation/generate_tdd_specs.md +213 -0
  82. data/templates/implementation/implement_features.md +4 -1
  83. data/templates/implementation/iterative_implementation.md +122 -0
  84. data/templates/planning/agile/analyze_feedback.md +183 -0
  85. data/templates/planning/agile/generate_iteration_plan.md +179 -0
  86. data/templates/planning/agile/generate_legacy_research_plan.md +171 -0
  87. data/templates/planning/agile/generate_marketing_report.md +162 -0
  88. data/templates/planning/agile/generate_mvp_scope.md +127 -0
  89. data/templates/planning/agile/generate_user_test_plan.md +143 -0
  90. data/templates/planning/agile/ingest_feedback.md +174 -0
  91. data/templates/planning/assemble_project_plan.md +113 -0
  92. data/templates/planning/assign_personas.md +108 -0
  93. data/templates/planning/create_tasks.md +52 -6
  94. data/templates/planning/generate_gantt.md +86 -0
  95. data/templates/planning/generate_wbs.md +85 -0
  96. data/templates/planning/initialize_planning_mode.md +70 -0
  97. data/templates/skills/README.md +2 -2
  98. data/templates/skills/marketing_strategist/SKILL.md +279 -0
  99. data/templates/skills/product_manager/SKILL.md +177 -0
  100. data/templates/skills/ruby_aidp_planning/SKILL.md +497 -0
  101. data/templates/skills/ruby_rspec_tdd/SKILL.md +514 -0
  102. data/templates/skills/ux_researcher/SKILL.md +222 -0
  103. metadata +62 -2
  104. data/lib/aidp/harness/model_discovery_service.rb +0 -259
@@ -0,0 +1,162 @@
1
+ # Generate Marketing Report
2
+
3
+ You are a marketing strategist creating comprehensive marketing materials for product launch.
4
+
5
+ ## Input
6
+
7
+ Read:
8
+
9
+ - `.aidp/docs/MVP_SCOPE.md` - MVP features and scope
10
+ - `.aidp/docs/USER_FEEDBACK_ANALYSIS.md` (if available) - User insights
11
+
12
+ ## Your Task
13
+
14
+ Translate technical features into compelling customer value and create go-to-market materials that drive adoption.
15
+
16
+ ## Marketing Report Components
17
+
18
+ ### 1. Value Proposition
19
+
20
+ - **Headline**: Compelling 10-15 word benefit statement
21
+ - **Subheadline**: 15-25 word expansion
22
+ - **Core Benefits**: 3-5 customer outcomes (not features)
23
+
24
+ ### 2. Key Messages
25
+
26
+ 3-5 primary messages, each with:
27
+
28
+ - Message title
29
+ - Description
30
+ - 3-5 supporting points
31
+ - Focus on customer value, not technical details
32
+
33
+ ### 3. Differentiators
34
+
35
+ 2-4 competitive advantages:
36
+
37
+ - What makes this unique
38
+ - Why it matters to customers
39
+ - Evidence or proof points
40
+
41
+ ### 4. Target Audience
42
+
43
+ 2-3 customer segments, each with:
44
+
45
+ - Segment name and description
46
+ - Pain points they experience
47
+ - How our solution addresses their needs
48
+
49
+ ### 5. Positioning
50
+
51
+ - Category (what market/space)
52
+ - Positioning statement (who, what, value, differentiation)
53
+ - Tagline (memorable 3-7 words)
54
+
55
+ ### 6. Success Metrics
56
+
57
+ 4-6 launch metrics:
58
+
59
+ - Specific targets
60
+ - How to measure
61
+ - Why it matters
62
+
63
+ ### 7. Messaging Framework
64
+
65
+ For each audience:
66
+
67
+ - Tailored message
68
+ - Appropriate channel
69
+ - Call to action
70
+
71
+ ### 8. Launch Checklist
72
+
73
+ 8-12 pre-launch tasks:
74
+
75
+ - Task description
76
+ - Owner
77
+ - Timeline
78
+
79
+ ## Marketing Principles
80
+
81
+ **Customer-Focused:**
82
+
83
+ - Start with problems and benefits, not features
84
+ - Use language customers use
85
+ - Focus on outcomes, not outputs
86
+
87
+ **Clear and Compelling:**
88
+
89
+ - Avoid jargon and technical terms
90
+ - Make it emotionally resonant
91
+ - Be specific and concrete
92
+
93
+ **Differentiated:**
94
+
95
+ - Clearly state what makes you different
96
+ - Don't just match competitors
97
+ - Claim unique positioning
98
+
99
+ **Evidence-Based:**
100
+
101
+ - Support claims with proof
102
+ - Use data when available
103
+ - Reference user feedback
104
+
105
+ ## Implementation
106
+
107
+ **For Ruby/AIDP projects**, use the `ruby_aidp_planning` skill with `Aidp::Planning::Generators::MarketingReportGenerator`:
108
+
109
+ 1. Parse MVP scope using `Aidp::Planning::Parsers::DocumentParser`
110
+ 2. Parse feedback analysis if available
111
+ 3. Generate report using `MarketingReportGenerator.generate(mvp_scope:, feedback_analysis:)`
112
+ 4. Format as markdown using `format_as_markdown(report)`
113
+ 5. Write to `.aidp/docs/MARKETING_REPORT.md`
114
+
115
+ **For other implementations**, create equivalent functionality that:
116
+
117
+ 1. Parses MVP scope to understand features
118
+ 2. Analyzes user feedback if available
119
+ 3. Uses AI to craft customer-focused messaging
120
+ 4. Translates technical features to customer benefits
121
+ 5. Identifies competitive differentiation
122
+ 6. Creates audience-specific messaging
123
+ 7. Generates actionable launch checklist
124
+
125
+ ## AI Analysis Guidelines
126
+
127
+ Use AI Decision Engine to:
128
+
129
+ - Transform technical features into customer benefits
130
+ - Craft compelling, jargon-free headlines
131
+ - Identify competitive advantages
132
+ - Create audience-specific messaging
133
+ - Generate evidence-based differentiators
134
+
135
+ Focus on customer value, not product capabilities.
136
+
137
+ ## Output Structure
138
+
139
+ Write to `.aidp/docs/MARKETING_REPORT.md` with:
140
+
141
+ - Overview of marketing strategy
142
+ - Complete value proposition (headline, subheadline, benefits)
143
+ - Key messages with supporting points
144
+ - Differentiators with competitive advantages
145
+ - Target audience analysis with pain points and solutions
146
+ - Positioning (category, statement, tagline)
147
+ - Success metrics with targets and measurement
148
+ - Messaging framework table (audience, message, channel, CTA)
149
+ - Launch checklist with tasks, owners, timelines
150
+ - Generated timestamp and metadata
151
+
152
+ ## Common Pitfalls to Avoid
153
+
154
+ - Feature lists without customer benefits
155
+ - Technical jargon that confuses customers
156
+ - Generic "me too" positioning
157
+ - Vague, unmeasurable claims
158
+ - Inside-out thinking (what we built vs. what customers get)
159
+
160
+ ## Output
161
+
162
+ Write complete marketing report to `.aidp/docs/MARKETING_REPORT.md` with all components, focused on customer value and clear differentiation.
@@ -0,0 +1,127 @@
1
+ # Generate MVP Scope Definition
2
+
3
+ You are a product manager defining the Minimum Viable Product (MVP) scope.
4
+
5
+ ## Input
6
+
7
+ Read:
8
+
9
+ - `.aidp/docs/PRD.md` - Product requirements document
10
+
11
+ ## Your Task
12
+
13
+ Define the MVP scope by distinguishing must-have features from nice-to-have features, ensuring the MVP delivers core value while being achievable within constraints.
14
+
15
+ ## Interactive Priority Collection
16
+
17
+ **Gather user priorities through TUI prompts:**
18
+
19
+ 1. What is the primary goal of this MVP?
20
+ 2. What is the main problem you're solving?
21
+ 3. Who are your target users?
22
+ 4. What is your target timeline for MVP launch?
23
+ 5. Do you have any resource or technical constraints?
24
+
25
+ ## MVP Scoping Principles
26
+
27
+ **MVP Must-Haves:**
28
+
29
+ - Features that deliver core value proposition
30
+ - Features required to solve the main problem
31
+ - Features necessary for minimal user workflows
32
+ - Features that validate key assumptions
33
+
34
+ **Nice-to-Have (Deferred):**
35
+
36
+ - Enhancements that improve but aren't essential
37
+ - Features that can be added based on user feedback
38
+ - Polish and optimization that can wait
39
+ - Features serving edge cases or secondary users
40
+
41
+ **Out of Scope:**
42
+
43
+ - Features not aligned with MVP goals
44
+ - Complex features that can wait for validation
45
+ - Features requiring significant unknowns
46
+ - Advanced capabilities beyond core use cases
47
+
48
+ ## Implementation
49
+
50
+ **For Ruby/AIDP projects**, use the `ruby_aidp_planning` skill with `Aidp::Planning::Generators::MVPScopeGenerator`:
51
+
52
+ 1. Parse PRD using `Aidp::Planning::Parsers::DocumentParser`
53
+ 2. Collect user priorities interactively via TTY::Prompt
54
+ 3. Generate MVP scope using `MVPScopeGenerator.generate(prd:, user_priorities:)`
55
+ 4. Format as markdown using `format_as_markdown(mvp_scope)`
56
+ 5. Write to `.aidp/docs/MVP_SCOPE.md`
57
+
58
+ **For other implementations**, create equivalent functionality that:
59
+
60
+ 1. Parses the PRD to extract all features
61
+ 2. Collects user priorities interactively
62
+ 3. Uses AI to analyze features and determine MVP viability
63
+ 4. Categorizes features as must-have, nice-to-have, or out-of-scope
64
+ 5. Provides rationale for categorization decisions
65
+ 6. Defines success criteria for MVP
66
+ 7. Identifies assumptions and risks
67
+
68
+ ## Output Structure
69
+
70
+ Write to `.aidp/docs/MVP_SCOPE.md` with:
71
+
72
+ ### User Priorities
73
+
74
+ List of priorities collected from user input
75
+
76
+ ### MVP Features (Must-Have)
77
+
78
+ For each feature:
79
+
80
+ - Name and description
81
+ - Rationale for inclusion in MVP
82
+ - Acceptance criteria
83
+
84
+ ### Deferred Features (Nice-to-Have)
85
+
86
+ For each feature:
87
+
88
+ - Name and description
89
+ - Reason for deferral
90
+
91
+ ### Out of Scope
92
+
93
+ List of explicitly excluded items
94
+
95
+ ### Success Criteria
96
+
97
+ Measurable criteria for MVP success
98
+
99
+ ### Assumptions
100
+
101
+ What we're assuming about users, technology, or market
102
+
103
+ ### Risks
104
+
105
+ Potential issues and mitigation strategies
106
+
107
+ ## AI Analysis Guidelines
108
+
109
+ Use AI Decision Engine to:
110
+
111
+ - Analyze each feature's importance to core value prop
112
+ - Assess complexity and effort required
113
+ - Consider user impact and business value
114
+ - Balance scope with timeline and resources
115
+ - Identify dependencies and prerequisites
116
+
117
+ Focus on delivering value quickly while managing risk and complexity.
118
+
119
+ ## Output
120
+
121
+ Write complete MVP scope definition to `.aidp/docs/MVP_SCOPE.md` with:
122
+
123
+ - Clear categorization of all features
124
+ - Rationale for each decision
125
+ - Specific, measurable success criteria
126
+ - Realistic assumptions and identified risks
127
+ - Generated timestamp and metadata
@@ -0,0 +1,143 @@
1
+ # Generate User Testing Plan
2
+
3
+ You are a UX researcher creating a comprehensive user testing plan.
4
+
5
+ ## Input
6
+
7
+ Read:
8
+
9
+ - `.aidp/docs/MVP_SCOPE.md` - MVP scope definition with features to test
10
+
11
+ ## Your Task
12
+
13
+ Create a detailed user testing plan that includes recruitment criteria, testing stages, survey questions, interview scripts, and success metrics to validate the MVP with real users.
14
+
15
+ ## User Testing Plan Components
16
+
17
+ ### 1. Target Users
18
+
19
+ Define 2-3 user segments to test:
20
+
21
+ - Segment characteristics
22
+ - Why this segment is important
23
+ - Recommended sample size per segment
24
+
25
+ ### 2. Recruitment
26
+
27
+ - Screener questions to qualify participants
28
+ - Recruitment channels (where to find users)
29
+ - Incentives for participation
30
+ - Timeline for recruitment
31
+
32
+ ### 3. Testing Stages
33
+
34
+ Define 3-4 stages (e.g., Alpha, Beta, Launch):
35
+
36
+ - Objective of each stage
37
+ - Number of participants
38
+ - Duration
39
+ - Key activities
40
+ - Success criteria
41
+
42
+ ### 4. Survey Questions
43
+
44
+ Create comprehensive surveys:
45
+
46
+ - **Likert Scale** (1-5): 5-7 questions about satisfaction, ease of use, value
47
+ - **Multiple Choice**: 3-5 questions with specific options
48
+ - **Open-Ended**: 3-5 questions for qualitative feedback
49
+
50
+ ### 5. Interview Script
51
+
52
+ - Introduction explaining the research
53
+ - 5-7 main questions with follow-ups
54
+ - Closing thanking participants
55
+
56
+ ### 6. Success Metrics
57
+
58
+ Quantitative and qualitative metrics:
59
+
60
+ - Task completion rates
61
+ - User satisfaction scores
62
+ - Feature adoption metrics
63
+ - Qualitative sentiment targets
64
+
65
+ ### 7. Timeline
66
+
67
+ Phases with duration estimates:
68
+
69
+ - Recruitment
70
+ - Testing stages
71
+ - Analysis and reporting
72
+
73
+ ## Question Design Principles
74
+
75
+ **Good Survey Questions:**
76
+
77
+ - Clear and unambiguous
78
+ - One topic per question
79
+ - Balanced response options
80
+ - Appropriate for quantitative analysis
81
+
82
+ **Good Interview Questions:**
83
+
84
+ - Open-ended to encourage discussion
85
+ - Non-leading
86
+ - Focused on specific experiences
87
+ - Include follow-up probes
88
+
89
+ **Avoid:**
90
+
91
+ - Double-barreled questions
92
+ - Leading or biased phrasing
93
+ - Jargon or technical terms
94
+ - Questions that assume knowledge
95
+
96
+ ## Implementation
97
+
98
+ **For Ruby/AIDP projects**, use the `ruby_aidp_planning` skill with `Aidp::Planning::Generators::UserTestPlanGenerator`:
99
+
100
+ 1. Parse MVP scope using `Aidp::Planning::Parsers::DocumentParser`
101
+ 2. Generate test plan using `UserTestPlanGenerator.generate(mvp_scope:)`
102
+ 3. Format as markdown using `format_as_markdown(test_plan)`
103
+ 4. Write to `.aidp/docs/USER_TEST_PLAN.md`
104
+
105
+ **For other implementations**, create equivalent functionality that:
106
+
107
+ 1. Parses MVP scope to understand features to test
108
+ 2. Uses AI to generate contextual testing questions based on features
109
+ 3. Creates persona-specific recruitment criteria
110
+ 4. Designs appropriate testing stages
111
+ 5. Generates survey questions (Likert, multiple choice, open-ended)
112
+ 6. Creates interview scripts with follow-ups
113
+ 7. Defines measurable success metrics
114
+
115
+ ## AI Analysis Guidelines
116
+
117
+ Use AI Decision Engine to:
118
+
119
+ - Generate questions specific to MVP features
120
+ - Tailor recruitment criteria to target users
121
+ - Design appropriate testing stages
122
+ - Create unbiased, effective questions
123
+ - Suggest realistic success metrics
124
+
125
+ Make questions specific to the MVP features, not generic.
126
+
127
+ ## Output Structure
128
+
129
+ Write to `.aidp/docs/USER_TEST_PLAN.md` with:
130
+
131
+ - Overview of testing goals
132
+ - Target user segments with characteristics
133
+ - Recruitment criteria and screener questions
134
+ - Testing stages with objectives
135
+ - Complete survey questions (all types)
136
+ - Interview script (intro, questions, closing)
137
+ - Success metrics and targets
138
+ - Timeline with phase durations
139
+ - Generated timestamp and metadata
140
+
141
+ ## Output
142
+
143
+ Write complete user testing plan to `.aidp/docs/USER_TEST_PLAN.md` with all components listed above.
@@ -0,0 +1,174 @@
1
+ # Ingest User Feedback Data
2
+
3
+ You are a UX researcher ingesting user feedback data for analysis.
4
+
5
+ ## Your Task
6
+
7
+ Collect user feedback data from CSV, JSON, or markdown files and normalize it into a consistent format for AI-powered analysis.
8
+
9
+ ## Interactive Data Collection
10
+
11
+ **Prompt the user for:**
12
+
13
+ 1. Path to feedback data file (CSV, JSON, or markdown)
14
+ 2. Confirm file format is correct
15
+ 3. Validate file exists and is readable
16
+
17
+ ## Supported Formats
18
+
19
+ ### CSV Format
20
+
21
+ Expected columns (flexible names):
22
+
23
+ - `id` or `respondent_id` or `user_id` - Respondent identifier
24
+ - `timestamp` or `date` or `submitted_at` - When submitted
25
+ - `rating` or `score` - Numeric rating (1-5, 1-10, etc.)
26
+ - `feedback` or `comments` or `response` - Text feedback
27
+ - `feature` or `area` - Feature being commented on
28
+ - `sentiment` - Positive/negative/neutral
29
+ - `tags` - Comma-separated tags
30
+
31
+ ### JSON Format
32
+
33
+ Two structures supported:
34
+
35
+ **Array of responses:**
36
+
37
+ ```json
38
+ [
39
+ {
40
+ "id": "user123",
41
+ "timestamp": "2025-01-15",
42
+ "rating": 4,
43
+ "feedback": "Great product!",
44
+ "feature": "dashboard",
45
+ "sentiment": "positive"
46
+ }
47
+ ]
48
+ ```
49
+
50
+ **Object with responses key:**
51
+
52
+ ```json
53
+ {
54
+ "survey_name": "MVP Feedback",
55
+ "responses": [...]
56
+ }
57
+ ```
58
+
59
+ ### Markdown Format
60
+
61
+ Responses in sections:
62
+
63
+ ```markdown
64
+ ## Response 1
65
+ **ID:** user123
66
+ **Timestamp:** 2025-01-15
67
+ **Rating:** 4
68
+ **Feedback:** Great product!
69
+ ```
70
+
71
+ ## Normalization
72
+
73
+ Normalize all formats to consistent structure:
74
+
75
+ - `respondent_id` - User identifier
76
+ - `timestamp` - Submission time
77
+ - `rating` - Numeric rating (normalized)
78
+ - `feedback_text` - Text feedback
79
+ - `feature` - Feature name
80
+ - `sentiment` - Sentiment classification
81
+ - `tags` - Array of tags
82
+ - `raw_data` - Original data for reference
83
+
84
+ ## Implementation
85
+
86
+ **For Ruby/AIDP projects**, use the `ruby_aidp_planning` skill with `Aidp::Planning::Parsers::FeedbackDataParser`:
87
+
88
+ 1. Prompt user for file path using TTY::Prompt
89
+ 2. Validate file exists and is readable
90
+ 3. Parse using `FeedbackDataParser.new(file_path:).parse`
91
+ 4. Save normalized data to `.aidp/docs/feedback_data.json`
92
+
93
+ Example:
94
+
95
+ ```ruby
96
+ prompt = TTY::Prompt.new
97
+ file_path = prompt.ask("Enter path to feedback data file:", required: true)
98
+
99
+ unless File.exist?(file_path)
100
+ prompt.error("File not found: #{file_path}")
101
+ exit 1
102
+ end
103
+
104
+ parser = Aidp::Planning::Parsers::FeedbackDataParser.new(file_path: file_path)
105
+ feedback_data = parser.parse
106
+
107
+ File.write(".aidp/docs/feedback_data.json", JSON.pretty_generate(feedback_data))
108
+ prompt.ok("Feedback data ingested: #{feedback_data[:response_count]} responses")
109
+ ```
110
+
111
+ **For other implementations**, create equivalent functionality that:
112
+
113
+ 1. Prompts user for file path
114
+ 2. Detects format from file extension
115
+ 3. Parses format-specific data
116
+ 4. Normalizes to consistent structure
117
+ 5. Validates required fields
118
+ 6. Saves to JSON format
119
+
120
+ ## Validation
121
+
122
+ Check for:
123
+
124
+ - File exists and is readable
125
+ - Format is supported (.csv, .json, .md)
126
+ - Required fields present (at minimum: feedback text or rating)
127
+ - Data is parseable (valid CSV/JSON/markdown)
128
+
129
+ ## Error Handling
130
+
131
+ Handle gracefully:
132
+
133
+ - File not found
134
+ - Invalid format
135
+ - Missing required fields
136
+ - Parse errors (malformed JSON, etc.)
137
+ - Empty datasets
138
+
139
+ Provide clear error messages to help user fix issues.
140
+
141
+ ## Output Structure
142
+
143
+ Save to `.aidp/docs/feedback_data.json`:
144
+
145
+ ```json
146
+ {
147
+ "format": "csv|json|markdown",
148
+ "source_file": "path/to/file",
149
+ "parsed_at": "2025-01-15T10:30:00Z",
150
+ "response_count": 42,
151
+ "responses": [
152
+ {
153
+ "respondent_id": "user123",
154
+ "timestamp": "2025-01-15",
155
+ "rating": 4,
156
+ "feedback_text": "Text feedback",
157
+ "feature": "feature_name",
158
+ "sentiment": "positive",
159
+ "tags": ["tag1", "tag2"],
160
+ "raw_data": {...}
161
+ }
162
+ ],
163
+ "metadata": {
164
+ "total_rows": 42,
165
+ "columns": [...],
166
+ "has_timestamps": true,
167
+ "has_ratings": true
168
+ }
169
+ }
170
+ ```
171
+
172
+ ## Output
173
+
174
+ Write normalized feedback data to `.aidp/docs/feedback_data.json` and confirm successful ingestion with count to user via TUI.
@@ -0,0 +1,113 @@
1
+ # Assemble Complete Project Plan
2
+
3
+ You are creating the master PROJECT_PLAN.md document that integrates all planning artifacts.
4
+
5
+ ## Input Files
6
+
7
+ Read all generated artifacts:
8
+
9
+ - `.aidp/docs/PRD.md` - Product requirements
10
+ - `.aidp/docs/TECH_DESIGN.md` - Technical design
11
+ - `.aidp/docs/WBS.md` - Work breakdown structure
12
+ - `.aidp/docs/GANTT.md` - Gantt chart and critical path
13
+ - `.aidp/docs/TASK_LIST.md` - Detailed task list
14
+ - `.aidp/docs/persona_map.yml` - Persona assignments
15
+
16
+ ## Your Task
17
+
18
+ Assemble everything into a comprehensive, integrated project plan document.
19
+
20
+ ## Project Plan Structure
21
+
22
+ ```markdown
23
+ # Project Plan
24
+
25
+ Generated: <timestamp>
26
+
27
+ ## Executive Summary
28
+ [Brief overview of the project and plan]
29
+
30
+ ## Work Breakdown Structure
31
+ [Include WBS content]
32
+
33
+ ## Timeline and Gantt Chart
34
+ [Include Gantt chart with Mermaid visualization]
35
+
36
+ ## Critical Path
37
+ [List critical path tasks]
38
+
39
+ ## Persona Assignments
40
+ [Summary of task assignments by persona]
41
+
42
+ ## Metadata
43
+ - Total Phases: X
44
+ - Total Tasks: Y
45
+ - Critical Path Length: Z tasks
46
+ - Personas Used: N
47
+
48
+ ## References
49
+ - [PRD](./PRD.md)
50
+ - [Technical Design](./TECH_DESIGN.md)
51
+ - [Task List](./TASK_LIST.md)
52
+ - [Persona Map](./persona_map.yml)
53
+ ```
54
+
55
+ ## Assembly Guidelines
56
+
57
+ 1. **Integrate all artifacts** - Combine WBS, Gantt, personas into one document
58
+ 2. **Maintain structure** - Preserve hierarchies and relationships
59
+ 3. **Add cross-references** - Link related sections
60
+ 4. **Include metadata** - Counts, timestamps, generation info
61
+ 5. **Format consistently** - Use consistent markdown styling
62
+
63
+ ## Implementation
64
+
65
+ **For Ruby/AIDP projects**, use the `ruby_aidp_planning` skill to:
66
+
67
+ 1. Parse all input documents using `Aidp::Planning::Parsers::DocumentParser`
68
+ 2. Use `Aidp::Planning::Builders::ProjectPlanBuilder` to orchestrate assembly
69
+ 3. Call `assemble_project_plan(components)` with all artifacts
70
+ 4. Write to `.aidp/docs/PROJECT_PLAN.md`
71
+
72
+ The skill provides the complete Ruby implementation including:
73
+
74
+ - Document parsing and loading
75
+ - Component assembly and integration
76
+ - Markdown formatting
77
+ - Metadata calculation
78
+ - File output operations
79
+
80
+ **For other language implementations**, implement equivalent functionality:
81
+
82
+ 1. Read and parse all input markdown files
83
+ 2. Extract key information from each:
84
+ - WBS: phases, tasks, estimates
85
+ - Gantt: timeline, critical path
86
+ - Personas: task assignments by role
87
+ 3. Assemble into single structured document:
88
+ - Executive summary
89
+ - Full WBS content
90
+ - Gantt visualization
91
+ - Critical path list
92
+ - Persona assignments grouped by persona
93
+ - Metadata and statistics
94
+ 4. Format as markdown with proper headings and structure
95
+ 5. Write to output file
96
+
97
+ ## Output
98
+
99
+ Write the complete, integrated project plan to `.aidp/docs/PROJECT_PLAN.md`
100
+
101
+ This serves as the single source of truth for project planning.
102
+
103
+ ## Quality Checks
104
+
105
+ Ensure the assembled plan includes:
106
+
107
+ - ✅ All phases from WBS
108
+ - ✅ All tasks with dependencies
109
+ - ✅ Gantt chart visualization
110
+ - ✅ Complete critical path
111
+ - ✅ Every task assigned to a persona
112
+ - ✅ Accurate metadata counts
113
+ - ✅ Cross-references to source documents