fraim-framework 2.0.34 → 2.0.36
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.
- package/bin/fraim.js +52 -5
- package/dist/registry/scripts/cleanup-branch.js +62 -33
- package/dist/registry/scripts/generate-engagement-emails.js +119 -44
- package/dist/registry/scripts/newsletter-helpers.js +208 -268
- package/dist/registry/scripts/profile-server.js +387 -0
- package/dist/tests/test-chalk-regression.js +18 -2
- package/dist/tests/test-client-scripts-validation.js +133 -0
- package/dist/tests/test-markdown-to-pdf.js +454 -0
- package/dist/tests/test-script-location-independence.js +76 -28
- package/package.json +5 -2
- package/registry/agent-guardrails.md +62 -62
- package/registry/rules/communication.md +121 -121
- package/registry/rules/continuous-learning.md +54 -54
- package/registry/rules/hitl-ppe-record-analysis.md +302 -302
- package/registry/rules/software-development-lifecycle.md +104 -104
- package/registry/scripts/cleanup-branch.ts +341 -0
- package/registry/scripts/code-quality-check.sh +559 -559
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/generate-engagement-emails.ts +830 -0
- package/registry/scripts/markdown-to-pdf.js +395 -0
- package/registry/scripts/newsletter-helpers.ts +777 -0
- package/registry/scripts/profile-server.ts +424 -0
- package/registry/scripts/run-thank-you-workflow.ts +122 -0
- package/registry/scripts/send-newsletter-simple.ts +102 -0
- package/registry/scripts/send-thank-you-emails.ts +57 -0
- package/registry/scripts/validate-openapi-limits.ts +366 -366
- package/registry/scripts/validate-test-coverage.ts +280 -280
- package/registry/scripts/verify-pr-comments.sh +70 -70
- package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +53 -53
- package/registry/templates/evidence/Implementation-BugEvidence.md +85 -85
- package/registry/templates/evidence/Implementation-FeatureEvidence.md +120 -120
- package/registry/workflows/convert-to-pdf.md +235 -0
- package/registry/workflows/customer-development/insight-analysis.md +156 -156
- package/registry/workflows/customer-development/interview-preparation.md +421 -421
- package/registry/workflows/customer-development/strategic-brainstorming.md +146 -146
- package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +562 -562
- package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +669 -669
- package/dist/registry/scripts/build-scripts-generator.js +0 -205
- package/dist/registry/scripts/fraim-config.js +0 -61
- package/dist/registry/scripts/generic-issues-api.js +0 -100
- package/dist/registry/scripts/openapi-generator.js +0 -664
- package/dist/registry/scripts/performance/profile-server.js +0 -390
- package/dist/test-utils.js +0 -96
- package/dist/tests/esm-compat.js +0 -11
- package/dist/tests/test-chalk-esm-issue.js +0 -159
- package/dist/tests/test-chalk-real-world.js +0 -265
- package/dist/tests/test-chalk-resolution-issue.js +0 -304
- package/dist/tests/test-fraim-install-chalk-issue.js +0 -254
- package/dist/tests/test-npm-resolution-diagnostic.js +0 -140
|
@@ -0,0 +1,235 @@
|
|
|
1
|
+
# Convert to PDF Workflow
|
|
2
|
+
|
|
3
|
+
## INTENT
|
|
4
|
+
To provide agents with a reliable workflow for converting markdown files to professional PDF documents, enabling seamless document sharing and archival while maintaining formatting integrity and visual appeal.
|
|
5
|
+
|
|
6
|
+
## PRINCIPLES
|
|
7
|
+
- **Format Preservation**: Maintain all markdown formatting including tables, code blocks, and images
|
|
8
|
+
- **Professional Output**: Generate clean, readable PDFs suitable for business use
|
|
9
|
+
- **Flexible Configuration**: Support various paper formats, margins, and styling options
|
|
10
|
+
- **Error Resilience**: Handle common conversion issues gracefully with clear error messages
|
|
11
|
+
- **Cross-Platform Compatibility**: Work consistently across Windows, macOS, and Linux
|
|
12
|
+
|
|
13
|
+
## Overview
|
|
14
|
+
This workflow guides agents through converting markdown files to PDF format using the markdown-to-pdf script. The conversion maintains formatting, supports code highlighting, tables, and images while producing professional-looking PDF documents.
|
|
15
|
+
|
|
16
|
+
## When to Use
|
|
17
|
+
- User requests converting markdown documentation to PDF
|
|
18
|
+
- Need to generate PDF reports from markdown content
|
|
19
|
+
- Creating printable versions of specifications or documentation
|
|
20
|
+
- Sharing formatted documents with stakeholders who prefer PDF format
|
|
21
|
+
- Archiving documentation in a portable format
|
|
22
|
+
|
|
23
|
+
## Prerequisites
|
|
24
|
+
Before using this workflow, ensure the following dependencies are installed:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npm install puppeteer markdown-it markdown-it-highlightjs
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Script Location
|
|
31
|
+
The conversion script is synced to: `~/.fraim/scripts/markdown-to-pdf.js`
|
|
32
|
+
|
|
33
|
+
## Workflow Steps
|
|
34
|
+
|
|
35
|
+
### Phase 1: Validate Environment
|
|
36
|
+
|
|
37
|
+
1. **Check Dependencies**
|
|
38
|
+
```bash
|
|
39
|
+
node -e "console.log('puppeteer:', require.resolve('puppeteer')); console.log('markdown-it:', require.resolve('markdown-it')); console.log('markdown-it-highlightjs:', require.resolve('markdown-it-highlightjs'));"
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
2. **Verify Script Availability**
|
|
43
|
+
- Confirm `~/.fraim/scripts/markdown-to-pdf.js` exists
|
|
44
|
+
- Check script permissions (executable on Unix systems)
|
|
45
|
+
|
|
46
|
+
3. **Test Basic Functionality**
|
|
47
|
+
```bash
|
|
48
|
+
node ~/.fraim/scripts/markdown-to-pdf.js --help
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Phase 2: Prepare Input
|
|
52
|
+
|
|
53
|
+
1. **Validate Input File**
|
|
54
|
+
- Confirm markdown file exists and is readable
|
|
55
|
+
- Check for any syntax issues in markdown
|
|
56
|
+
- Verify image paths are correct and accessible
|
|
57
|
+
|
|
58
|
+
2. **Determine Output Requirements**
|
|
59
|
+
- Ask user about desired output location
|
|
60
|
+
- Confirm paper format preferences (A4, Letter, etc.)
|
|
61
|
+
- Check if custom styling is needed
|
|
62
|
+
- Determine header/footer requirements
|
|
63
|
+
|
|
64
|
+
3. **Prepare Output Directory**
|
|
65
|
+
- Ensure output directory exists
|
|
66
|
+
- Verify write permissions
|
|
67
|
+
|
|
68
|
+
### Phase 3: Execute Conversion
|
|
69
|
+
|
|
70
|
+
1. **Basic Conversion**
|
|
71
|
+
```bash
|
|
72
|
+
node ~/.fraim/scripts/markdown-to-pdf.js <input.md>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
2. **Advanced Conversion with Options**
|
|
76
|
+
```bash
|
|
77
|
+
node ~/.fraim/scripts/markdown-to-pdf.js <input.md> [output.pdf] [options]
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
3. **Monitor Progress**
|
|
81
|
+
- Watch for error messages
|
|
82
|
+
- Verify successful completion
|
|
83
|
+
- Check output file size and accessibility
|
|
84
|
+
|
|
85
|
+
### Phase 4: Validate Output
|
|
86
|
+
|
|
87
|
+
1. **Verify PDF Generation**
|
|
88
|
+
- Confirm PDF file was created
|
|
89
|
+
- Check file size is reasonable
|
|
90
|
+
- Verify file is not corrupted
|
|
91
|
+
|
|
92
|
+
2. **Quality Check**
|
|
93
|
+
- Review formatting preservation
|
|
94
|
+
- Check image rendering
|
|
95
|
+
- Verify code block highlighting
|
|
96
|
+
- Confirm table alignment
|
|
97
|
+
|
|
98
|
+
3. **User Acceptance**
|
|
99
|
+
- Share output location with user
|
|
100
|
+
- Confirm output meets requirements
|
|
101
|
+
- Offer to regenerate with different options if needed
|
|
102
|
+
|
|
103
|
+
### Available Options
|
|
104
|
+
|
|
105
|
+
| Option | Description | Example |
|
|
106
|
+
|--------|-------------|---------|
|
|
107
|
+
| `--format <format>` | Paper format (A4, Letter, Legal, etc.) | `--format Letter` |
|
|
108
|
+
| `--margin <margin>` | Page margins in inches | `--margin 1` |
|
|
109
|
+
| `--css <file>` | Custom CSS file for styling | `--css custom.css` |
|
|
110
|
+
| `--header <text>` | Header text | `--header "Company Report"` |
|
|
111
|
+
| `--footer <text>` | Footer text | `--footer "Page <span class='pageNumber'></span>"` |
|
|
112
|
+
| `--landscape` | Use landscape orientation | `--landscape` |
|
|
113
|
+
| `--no-background` | Disable background graphics | `--no-background` |
|
|
114
|
+
|
|
115
|
+
### Common Examples
|
|
116
|
+
|
|
117
|
+
1. **Basic conversion:**
|
|
118
|
+
```bash
|
|
119
|
+
node ~/.fraim/scripts/markdown-to-pdf.js README.md
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
2. **Specify output location:**
|
|
123
|
+
```bash
|
|
124
|
+
node ~/.fraim/scripts/markdown-to-pdf.js docs/spec.md output/specification.pdf
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
3. **Letter format with custom margins:**
|
|
128
|
+
```bash
|
|
129
|
+
node ~/.fraim/scripts/markdown-to-pdf.js report.md --format Letter --margin 0.75
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
4. **With custom styling:**
|
|
133
|
+
```bash
|
|
134
|
+
node ~/.fraim/scripts/markdown-to-pdf.js document.md --css styles/custom.css --header "Project Documentation"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
5. **Landscape orientation:**
|
|
138
|
+
```bash
|
|
139
|
+
node ~/.fraim/scripts/markdown-to-pdf.js wide-table.md --landscape --format A3
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
## Agent Instructions
|
|
143
|
+
|
|
144
|
+
When a user requests markdown to PDF conversion:
|
|
145
|
+
|
|
146
|
+
1. **Identify the source file(s)**: Confirm which markdown file(s) need to be converted
|
|
147
|
+
2. **Check dependencies**: Verify that required npm packages are installed
|
|
148
|
+
3. **Determine output requirements**: Ask about:
|
|
149
|
+
- Desired output location
|
|
150
|
+
- Paper format preferences
|
|
151
|
+
- Custom styling needs
|
|
152
|
+
- Header/footer requirements
|
|
153
|
+
4. **Execute conversion**: Run the appropriate command with the specified options
|
|
154
|
+
5. **Verify output**: Confirm the PDF was generated successfully and meets requirements
|
|
155
|
+
|
|
156
|
+
### Error Handling
|
|
157
|
+
|
|
158
|
+
If the script fails:
|
|
159
|
+
- Check that all dependencies are installed
|
|
160
|
+
- Verify the input file exists and is readable
|
|
161
|
+
- Ensure the output directory is writable
|
|
162
|
+
- Check for any syntax errors in the markdown file
|
|
163
|
+
|
|
164
|
+
### Troubleshooting Common Issues
|
|
165
|
+
|
|
166
|
+
1. **Missing dependencies**: Install required packages with npm
|
|
167
|
+
2. **Permission errors**: Ensure write permissions for output directory
|
|
168
|
+
3. **Large files**: Consider breaking large markdown files into smaller sections
|
|
169
|
+
4. **Image issues**: Verify image paths are correct and accessible
|
|
170
|
+
5. **Font rendering**: Use web-safe fonts or include custom font CSS
|
|
171
|
+
|
|
172
|
+
## Customization
|
|
173
|
+
|
|
174
|
+
### Custom CSS Styling
|
|
175
|
+
Create a CSS file to customize the PDF appearance:
|
|
176
|
+
|
|
177
|
+
```css
|
|
178
|
+
/* custom-style.css */
|
|
179
|
+
body {
|
|
180
|
+
font-family: 'Times New Roman', serif;
|
|
181
|
+
font-size: 12pt;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
h1 {
|
|
185
|
+
color: #2c3e50;
|
|
186
|
+
border-bottom: 3px solid #3498db;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
code {
|
|
190
|
+
background-color: #f0f0f0;
|
|
191
|
+
border: 1px solid #ccc;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@page {
|
|
195
|
+
margin: 1in;
|
|
196
|
+
@top-center {
|
|
197
|
+
content: "Confidential Document";
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
### Batch Processing
|
|
203
|
+
For converting multiple files, create a simple loop:
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
for file in docs/*.md; do
|
|
207
|
+
node ~/.fraim/scripts/markdown-to-pdf.js "$file" "output/$(basename "$file" .md).pdf"
|
|
208
|
+
done
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
## Quality Assurance
|
|
212
|
+
|
|
213
|
+
After conversion, verify:
|
|
214
|
+
- All content is present and properly formatted
|
|
215
|
+
- Images are displayed correctly
|
|
216
|
+
- Code blocks maintain syntax highlighting
|
|
217
|
+
- Tables are properly aligned
|
|
218
|
+
- Page breaks occur at appropriate locations
|
|
219
|
+
- Headers and footers appear as expected
|
|
220
|
+
|
|
221
|
+
## Best Practices
|
|
222
|
+
|
|
223
|
+
1. **Test with sample content** before processing important documents
|
|
224
|
+
2. **Use consistent styling** across related documents
|
|
225
|
+
3. **Optimize images** for better PDF file size
|
|
226
|
+
4. **Consider accessibility** when choosing fonts and colors
|
|
227
|
+
5. **Version control** both source markdown and generated PDFs when appropriate
|
|
228
|
+
|
|
229
|
+
## Integration with Other Workflows
|
|
230
|
+
|
|
231
|
+
This workflow can be combined with:
|
|
232
|
+
- Documentation generation workflows
|
|
233
|
+
- Report automation processes
|
|
234
|
+
- CI/CD pipelines for document publishing
|
|
235
|
+
- Content review and approval workflows
|
|
@@ -1,156 +1,156 @@
|
|
|
1
|
-
# Insight Analysis Workflow
|
|
2
|
-
|
|
3
|
-
## INTENT
|
|
4
|
-
To help Product Managers extract, structure, and analyze customer insights from interview notes, enabling data-driven product decisions and systematic customer relationship management.
|
|
5
|
-
|
|
6
|
-
## PRINCIPLES
|
|
7
|
-
- **Comprehensive Extraction**: Capture all insights from raw notes
|
|
8
|
-
- **Structured Analysis**: Organize insights into actionable categories
|
|
9
|
-
- **Customer Scoring**: Evaluate customer fit and prioritization
|
|
10
|
-
- **Follow-up Generation**: Create personalized follow-up communications
|
|
11
|
-
|
|
12
|
-
## WORKFLOW TRIGGER
|
|
13
|
-
**PM explicitly starts this workflow**:
|
|
14
|
-
- "Starting Insight Analysis for [Customer Name]"
|
|
15
|
-
- "I want to analyze the interview with [Customer Name]"
|
|
16
|
-
- "Following the insight analysis workflow"
|
|
17
|
-
|
|
18
|
-
## INPUT REQUIREMENTS
|
|
19
|
-
**PM provides**:
|
|
20
|
-
- The `[customer-name]-interview-prep.md` file that needs to be updated
|
|
21
|
-
- Raw interview notes in any format (bullet points, paragraphs, voice-to-text, etc.)
|
|
22
|
-
- Brief unstructured thoughts about the interview (optional but helpful)
|
|
23
|
-
|
|
24
|
-
## AI AGENT PROCESS
|
|
25
|
-
|
|
26
|
-
### Step 1: Insight Extraction & Template Update
|
|
27
|
-
**AI Agent Analysis Process**:
|
|
28
|
-
1. **Read Existing Prep File**
|
|
29
|
-
- Load the `[customer-name]-interview-prep.md` file
|
|
30
|
-
- Understand the customer context and research from preparation phase
|
|
31
|
-
- Review the pre-filled template structure
|
|
32
|
-
|
|
33
|
-
2. **Parse Raw Notes**
|
|
34
|
-
- Extract customer quotes and key statements
|
|
35
|
-
- Identify pain points and challenges
|
|
36
|
-
- Capture success and failure criteria
|
|
37
|
-
- Note feature requests and preferences
|
|
38
|
-
- **Date Handling**: If user provides relative time references (e.g., "yesterday", "today", "last Friday"), run `new Date()` to determine the actual date and use that in the analysis file
|
|
39
|
-
|
|
40
|
-
3. **Create Analysis File**
|
|
41
|
-
- Create new file: `[customer-name]-interview-analysis.md`
|
|
42
|
-
- Include comprehensive analysis with customer scoring and insights
|
|
43
|
-
- Reference the prep file for context but keep files separate
|
|
44
|
-
- Include follow-up actions and next steps
|
|
45
|
-
|
|
46
|
-
### Step 2: Customer Scoring & Prioritization
|
|
47
|
-
**AI Agent Scoring Process**:
|
|
48
|
-
1. **Customer Fit Scoring (1-10)**
|
|
49
|
-
- Target customer segment alignment
|
|
50
|
-
- Pain point severity and frequency
|
|
51
|
-
- Budget and decision-making authority
|
|
52
|
-
- Influence and referral potential
|
|
53
|
-
|
|
54
|
-
2. **Urgency Assessment**
|
|
55
|
-
- Active seeking of solutions
|
|
56
|
-
- Budget allocation and timeline
|
|
57
|
-
- Competitive pressure
|
|
58
|
-
- Implementation readiness
|
|
59
|
-
|
|
60
|
-
3. **Willingness to Pay**
|
|
61
|
-
- Budget authority and constraints
|
|
62
|
-
- Current spending on similar solutions
|
|
63
|
-
- Value perception and ROI understanding
|
|
64
|
-
|
|
65
|
-
### Step 3: Follow-up Generation
|
|
66
|
-
**AI Agent Communication Process**:
|
|
67
|
-
1. **Generate Follow-up Email**
|
|
68
|
-
- Use follow-up email templates as reference
|
|
69
|
-
- Create personalized email based on interview content
|
|
70
|
-
- Include key takeaways confirmation
|
|
71
|
-
- Add specific next steps and timeline
|
|
72
|
-
- Reference customer quotes and insights
|
|
73
|
-
|
|
74
|
-
2. **Follow-up Questions**
|
|
75
|
-
- Clarify any gaps in understanding
|
|
76
|
-
- Deepen insights on key topics
|
|
77
|
-
- Validate assumptions and priorities
|
|
78
|
-
- Explore referral opportunities
|
|
79
|
-
|
|
80
|
-
3. **Next Steps Planning**
|
|
81
|
-
- Demo scheduling if appropriate
|
|
82
|
-
- Additional stakeholder meetings
|
|
83
|
-
- Resource sharing and education
|
|
84
|
-
- Timeline and milestone setting
|
|
85
|
-
|
|
86
|
-
### Step 4: File Creation & Finalization
|
|
87
|
-
**AI Agent File Management**:
|
|
88
|
-
1. **Create Analysis File**
|
|
89
|
-
- Create `[customer-name]-interview-analysis.md` with comprehensive analysis
|
|
90
|
-
- Include customer scoring, insights, and follow-up actions
|
|
91
|
-
- Reference the prep file for context but keep files separate
|
|
92
|
-
|
|
93
|
-
2. **Preserve Prep File**
|
|
94
|
-
- Keep `[customer-name]-interview-prep.md` unchanged
|
|
95
|
-
- Maintains clean separation between preparation and analysis
|
|
96
|
-
- Both files can be referenced independently
|
|
97
|
-
|
|
98
|
-
## OUTPUT TEMPLATE
|
|
99
|
-
|
|
100
|
-
### Analysis File Template
|
|
101
|
-
**Template**: Retrieve via `get_fraim_file({ path: "templates/customer-development/insight-analysis-template.md" })`
|
|
102
|
-
**File Location**: `docs/customer-development/[customer-name]-interview-analysis.md`
|
|
103
|
-
|
|
104
|
-
**Process**:
|
|
105
|
-
1. Use the insight analysis template
|
|
106
|
-
2. Extract insights from raw interview notes
|
|
107
|
-
3. Score customer based on fit, urgency, willingness to pay, and likelihood to buy
|
|
108
|
-
4. Include direct customer quotes for authenticity
|
|
109
|
-
5. Create next steps and follow-up questions
|
|
110
|
-
6. Reference the original prep file for context
|
|
111
|
-
7. **Generate personalized follow-up email** using follow-up email templates as reference `get_fraim_file({ path: "templates/customer-development/follow-up-email-templates.md" })` ... add this to the end of the analysis file.
|
|
112
|
-
|
|
113
|
-
## EXAMPLES
|
|
114
|
-
|
|
115
|
-
### Good: Insight Analysis
|
|
116
|
-
```
|
|
117
|
-
Input:
|
|
118
|
-
- File: ronil-dhruva-interview-prep.md
|
|
119
|
-
- Raw notes: "Ronil mentioned calendar conflicts, uses Outlook, frustrated with rescheduling, would pay $50/month, concerned about AI decisions. He was really engaged and seemed to understand the problem well."
|
|
120
|
-
|
|
121
|
-
AI Agent Process:
|
|
122
|
-
1. Reads existing prep file with LinkedIn research
|
|
123
|
-
2. Extracts insights from raw notes
|
|
124
|
-
3. Creates separate analysis file: ronil-dhruva-interview-analysis.md
|
|
125
|
-
4. Preserves original prep file unchanged
|
|
126
|
-
5. **Generates personalized follow-up email** using follow-up email templates
|
|
127
|
-
6. Creates next steps and follow-up questions
|
|
128
|
-
|
|
129
|
-
Output:
|
|
130
|
-
- New analysis file: ronil-dhruva-interview-analysis.md
|
|
131
|
-
- Original prep file: ronil-dhruva-interview-prep.md (unchanged)
|
|
132
|
-
- Customer score: 8/10 (high fit, clear pain points, enterprise budget)
|
|
133
|
-
- **Personalized follow-up email** using template structure with customer-specific content
|
|
134
|
-
- Next questions: "What specific hierarchy rules should AI respect?"
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
### Bad: Surface-Level Analysis
|
|
138
|
-
```
|
|
139
|
-
Input:
|
|
140
|
-
- File: ronil-dhruva-interview-prep.md
|
|
141
|
-
- Raw notes: "Ronil interview went well"
|
|
142
|
-
|
|
143
|
-
AI Agent Output:
|
|
144
|
-
- Generic analysis with no specific insights
|
|
145
|
-
- No customer scoring or prioritization
|
|
146
|
-
- No follow-up recommendations
|
|
147
|
-
- No actionable next steps
|
|
148
|
-
|
|
149
|
-
Result: Lost insights, no clear next steps, wasted prep work
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
## SUCCESS METRICS
|
|
153
|
-
- **Insight Extraction**: 95% of key insights captured from raw notes
|
|
154
|
-
- **Customer Scoring**: Consistent scoring across all customers
|
|
155
|
-
- **Follow-up Quality**: 80% of follow-up emails result in positive responses
|
|
156
|
-
- **Action Clarity**: Clear next steps for every customer
|
|
1
|
+
# Insight Analysis Workflow
|
|
2
|
+
|
|
3
|
+
## INTENT
|
|
4
|
+
To help Product Managers extract, structure, and analyze customer insights from interview notes, enabling data-driven product decisions and systematic customer relationship management.
|
|
5
|
+
|
|
6
|
+
## PRINCIPLES
|
|
7
|
+
- **Comprehensive Extraction**: Capture all insights from raw notes
|
|
8
|
+
- **Structured Analysis**: Organize insights into actionable categories
|
|
9
|
+
- **Customer Scoring**: Evaluate customer fit and prioritization
|
|
10
|
+
- **Follow-up Generation**: Create personalized follow-up communications
|
|
11
|
+
|
|
12
|
+
## WORKFLOW TRIGGER
|
|
13
|
+
**PM explicitly starts this workflow**:
|
|
14
|
+
- "Starting Insight Analysis for [Customer Name]"
|
|
15
|
+
- "I want to analyze the interview with [Customer Name]"
|
|
16
|
+
- "Following the insight analysis workflow"
|
|
17
|
+
|
|
18
|
+
## INPUT REQUIREMENTS
|
|
19
|
+
**PM provides**:
|
|
20
|
+
- The `[customer-name]-interview-prep.md` file that needs to be updated
|
|
21
|
+
- Raw interview notes in any format (bullet points, paragraphs, voice-to-text, etc.)
|
|
22
|
+
- Brief unstructured thoughts about the interview (optional but helpful)
|
|
23
|
+
|
|
24
|
+
## AI AGENT PROCESS
|
|
25
|
+
|
|
26
|
+
### Step 1: Insight Extraction & Template Update
|
|
27
|
+
**AI Agent Analysis Process**:
|
|
28
|
+
1. **Read Existing Prep File**
|
|
29
|
+
- Load the `[customer-name]-interview-prep.md` file
|
|
30
|
+
- Understand the customer context and research from preparation phase
|
|
31
|
+
- Review the pre-filled template structure
|
|
32
|
+
|
|
33
|
+
2. **Parse Raw Notes**
|
|
34
|
+
- Extract customer quotes and key statements
|
|
35
|
+
- Identify pain points and challenges
|
|
36
|
+
- Capture success and failure criteria
|
|
37
|
+
- Note feature requests and preferences
|
|
38
|
+
- **Date Handling**: If user provides relative time references (e.g., "yesterday", "today", "last Friday"), run `new Date()` to determine the actual date and use that in the analysis file
|
|
39
|
+
|
|
40
|
+
3. **Create Analysis File**
|
|
41
|
+
- Create new file: `[customer-name]-interview-analysis.md`
|
|
42
|
+
- Include comprehensive analysis with customer scoring and insights
|
|
43
|
+
- Reference the prep file for context but keep files separate
|
|
44
|
+
- Include follow-up actions and next steps
|
|
45
|
+
|
|
46
|
+
### Step 2: Customer Scoring & Prioritization
|
|
47
|
+
**AI Agent Scoring Process**:
|
|
48
|
+
1. **Customer Fit Scoring (1-10)**
|
|
49
|
+
- Target customer segment alignment
|
|
50
|
+
- Pain point severity and frequency
|
|
51
|
+
- Budget and decision-making authority
|
|
52
|
+
- Influence and referral potential
|
|
53
|
+
|
|
54
|
+
2. **Urgency Assessment**
|
|
55
|
+
- Active seeking of solutions
|
|
56
|
+
- Budget allocation and timeline
|
|
57
|
+
- Competitive pressure
|
|
58
|
+
- Implementation readiness
|
|
59
|
+
|
|
60
|
+
3. **Willingness to Pay**
|
|
61
|
+
- Budget authority and constraints
|
|
62
|
+
- Current spending on similar solutions
|
|
63
|
+
- Value perception and ROI understanding
|
|
64
|
+
|
|
65
|
+
### Step 3: Follow-up Generation
|
|
66
|
+
**AI Agent Communication Process**:
|
|
67
|
+
1. **Generate Follow-up Email**
|
|
68
|
+
- Use follow-up email templates as reference
|
|
69
|
+
- Create personalized email based on interview content
|
|
70
|
+
- Include key takeaways confirmation
|
|
71
|
+
- Add specific next steps and timeline
|
|
72
|
+
- Reference customer quotes and insights
|
|
73
|
+
|
|
74
|
+
2. **Follow-up Questions**
|
|
75
|
+
- Clarify any gaps in understanding
|
|
76
|
+
- Deepen insights on key topics
|
|
77
|
+
- Validate assumptions and priorities
|
|
78
|
+
- Explore referral opportunities
|
|
79
|
+
|
|
80
|
+
3. **Next Steps Planning**
|
|
81
|
+
- Demo scheduling if appropriate
|
|
82
|
+
- Additional stakeholder meetings
|
|
83
|
+
- Resource sharing and education
|
|
84
|
+
- Timeline and milestone setting
|
|
85
|
+
|
|
86
|
+
### Step 4: File Creation & Finalization
|
|
87
|
+
**AI Agent File Management**:
|
|
88
|
+
1. **Create Analysis File**
|
|
89
|
+
- Create `[customer-name]-interview-analysis.md` with comprehensive analysis
|
|
90
|
+
- Include customer scoring, insights, and follow-up actions
|
|
91
|
+
- Reference the prep file for context but keep files separate
|
|
92
|
+
|
|
93
|
+
2. **Preserve Prep File**
|
|
94
|
+
- Keep `[customer-name]-interview-prep.md` unchanged
|
|
95
|
+
- Maintains clean separation between preparation and analysis
|
|
96
|
+
- Both files can be referenced independently
|
|
97
|
+
|
|
98
|
+
## OUTPUT TEMPLATE
|
|
99
|
+
|
|
100
|
+
### Analysis File Template
|
|
101
|
+
**Template**: Retrieve via `get_fraim_file({ path: "templates/customer-development/insight-analysis-template.md" })`
|
|
102
|
+
**File Location**: `docs/customer-development/[customer-name]-interview-analysis.md`
|
|
103
|
+
|
|
104
|
+
**Process**:
|
|
105
|
+
1. Use the insight analysis template
|
|
106
|
+
2. Extract insights from raw interview notes
|
|
107
|
+
3. Score customer based on fit, urgency, willingness to pay, and likelihood to buy
|
|
108
|
+
4. Include direct customer quotes for authenticity
|
|
109
|
+
5. Create next steps and follow-up questions
|
|
110
|
+
6. Reference the original prep file for context
|
|
111
|
+
7. **Generate personalized follow-up email** using follow-up email templates as reference `get_fraim_file({ path: "templates/customer-development/follow-up-email-templates.md" })` ... add this to the end of the analysis file.
|
|
112
|
+
|
|
113
|
+
## EXAMPLES
|
|
114
|
+
|
|
115
|
+
### Good: Insight Analysis
|
|
116
|
+
```
|
|
117
|
+
Input:
|
|
118
|
+
- File: ronil-dhruva-interview-prep.md
|
|
119
|
+
- Raw notes: "Ronil mentioned calendar conflicts, uses Outlook, frustrated with rescheduling, would pay $50/month, concerned about AI decisions. He was really engaged and seemed to understand the problem well."
|
|
120
|
+
|
|
121
|
+
AI Agent Process:
|
|
122
|
+
1. Reads existing prep file with LinkedIn research
|
|
123
|
+
2. Extracts insights from raw notes
|
|
124
|
+
3. Creates separate analysis file: ronil-dhruva-interview-analysis.md
|
|
125
|
+
4. Preserves original prep file unchanged
|
|
126
|
+
5. **Generates personalized follow-up email** using follow-up email templates
|
|
127
|
+
6. Creates next steps and follow-up questions
|
|
128
|
+
|
|
129
|
+
Output:
|
|
130
|
+
- New analysis file: ronil-dhruva-interview-analysis.md
|
|
131
|
+
- Original prep file: ronil-dhruva-interview-prep.md (unchanged)
|
|
132
|
+
- Customer score: 8/10 (high fit, clear pain points, enterprise budget)
|
|
133
|
+
- **Personalized follow-up email** using template structure with customer-specific content
|
|
134
|
+
- Next questions: "What specific hierarchy rules should AI respect?"
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Bad: Surface-Level Analysis
|
|
138
|
+
```
|
|
139
|
+
Input:
|
|
140
|
+
- File: ronil-dhruva-interview-prep.md
|
|
141
|
+
- Raw notes: "Ronil interview went well"
|
|
142
|
+
|
|
143
|
+
AI Agent Output:
|
|
144
|
+
- Generic analysis with no specific insights
|
|
145
|
+
- No customer scoring or prioritization
|
|
146
|
+
- No follow-up recommendations
|
|
147
|
+
- No actionable next steps
|
|
148
|
+
|
|
149
|
+
Result: Lost insights, no clear next steps, wasted prep work
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## SUCCESS METRICS
|
|
153
|
+
- **Insight Extraction**: 95% of key insights captured from raw notes
|
|
154
|
+
- **Customer Scoring**: Consistent scoring across all customers
|
|
155
|
+
- **Follow-up Quality**: 80% of follow-up emails result in positive responses
|
|
156
|
+
- **Action Clarity**: Clear next steps for every customer
|