fraim-framework 2.0.55 → 2.0.56

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 (126) hide show
  1. package/dist/registry/ai-manager-rules/customer-development-phases/phase1-customer-profiling.md +101 -0
  2. package/dist/registry/ai-manager-rules/customer-development-phases/phase2-platform-discovery.md +235 -0
  3. package/dist/registry/ai-manager-rules/customer-development-phases/phase3-prospect-qualification.md +243 -0
  4. package/dist/registry/ai-manager-rules/customer-development-phases/phase4-inventory-compilation.md +206 -0
  5. package/dist/registry/ai-manager-rules/user-survey-phases/phase1-survey-scoping.md +60 -0
  6. package/dist/registry/ai-manager-rules/user-survey-phases/phase2-survey-build-linkedin.md +23 -0
  7. package/dist/registry/ai-manager-rules/user-survey-phases/phase3-survey-build-reddit.md +22 -0
  8. package/dist/registry/ai-manager-rules/user-survey-phases/phase4-survey-build-x.md +21 -0
  9. package/dist/registry/ai-manager-rules/user-survey-phases/phase5-survey-build-facebook.md +19 -0
  10. package/dist/registry/ai-manager-rules/user-survey-phases/phase6-survey-build-custom.md +15 -0
  11. package/dist/registry/ai-manager-rules/user-survey-phases/phase7-survey-dispatch.md +45 -0
  12. package/dist/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +53 -0
  13. package/dist/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +37 -0
  14. package/dist/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +35 -0
  15. package/dist/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +29 -0
  16. package/dist/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +126 -0
  17. package/dist/registry/templates/customer-development/customer-interview-template.md +99 -0
  18. package/dist/registry/templates/customer-development/customer-persona-template.md +69 -0
  19. package/dist/registry/templates/customer-development/follow-up-email-templates.md +132 -0
  20. package/dist/registry/templates/customer-development/insight-analysis-template.md +74 -0
  21. package/dist/registry/templates/customer-development/prospect-inventory-template.csv +3 -0
  22. package/dist/registry/templates/customer-development/search-strategy-template.md +123 -0
  23. package/dist/registry/templates/customer-development/strategic-recommendations-template.md +53 -0
  24. package/dist/registry/templates/customer-development/thank-you-email-template.html +124 -0
  25. package/dist/registry/templates/customer-development/thank-you-note-template.md +16 -0
  26. package/dist/registry/templates/customer-development/triage-log-template.md +278 -0
  27. package/dist/registry/templates/customer-development/weekly-newsletter-template.html +204 -0
  28. package/dist/registry/templates/evidence/Design-Evidence.md +30 -0
  29. package/dist/registry/templates/evidence/Implementation-BugEvidence.md +94 -0
  30. package/dist/registry/templates/evidence/Implementation-FeatureEvidence.md +129 -0
  31. package/dist/registry/templates/evidence/Spec-Evidence.md +19 -0
  32. package/dist/registry/templates/help/HelpNeeded.md +14 -0
  33. package/dist/registry/templates/legal/NDA-TEMPLATE.md +170 -0
  34. package/dist/registry/templates/legal/PATENT-TEMPLATE.md +372 -0
  35. package/dist/registry/templates/legal/TRADEMARK-TEMPLATE.md +339 -0
  36. package/dist/registry/templates/legal/contract-review-checklist.md +193 -0
  37. package/dist/registry/templates/legal/review-report-template.md +198 -0
  38. package/dist/registry/templates/legal/saas-terms-template.md +174 -0
  39. package/dist/registry/templates/legal/sow-template.md +117 -0
  40. package/dist/registry/templates/legal/template-variables.md +131 -0
  41. package/dist/registry/templates/marketing/DOMAIN-REGISTRATION-TEMPLATE.md +194 -0
  42. package/dist/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +66 -0
  43. package/dist/registry/templates/marketing/STORYTELLING-TEMPLATE.md +130 -0
  44. package/dist/registry/templates/marketing/WEBSITE-TEMPLATE.md +262 -0
  45. package/dist/registry/templates/marketing/github-pages-workflow.yml +64 -0
  46. package/dist/registry/templates/replicate/implementation-checklist.md +39 -0
  47. package/dist/registry/templates/replicate/use-cases-template.md +88 -0
  48. package/dist/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +55 -0
  49. package/dist/registry/templates/specs/BUGSPEC-TEMPLATE.md +37 -0
  50. package/dist/registry/templates/specs/FEATURESPEC-TEMPLATE.md +66 -0
  51. package/dist/registry/templates/specs/TECHSPEC-TEMPLATE.md +39 -0
  52. package/dist/registry/workflows/bootstrap/create-architecture.md +38 -0
  53. package/dist/registry/workflows/bootstrap/detect-broken-windows.md +300 -0
  54. package/dist/registry/workflows/bootstrap/evaluate-code-quality.md +35 -0
  55. package/dist/registry/workflows/bootstrap/verify-test-coverage.md +36 -0
  56. package/dist/registry/workflows/brainstorming/blue-sky-brainstorming.md +211 -0
  57. package/dist/registry/workflows/brainstorming/codebase-brainstorming.md +165 -0
  58. package/dist/registry/workflows/business-development/create-business-plan.md +737 -0
  59. package/dist/registry/workflows/business-development/ideate-business-opportunity.md +55 -0
  60. package/dist/registry/workflows/business-development/price-product.md +325 -0
  61. package/dist/registry/workflows/compliance/detect-compliance-requirements.md +78 -0
  62. package/dist/registry/workflows/compliance/generate-audit-evidence.md +75 -0
  63. package/dist/registry/workflows/compliance/soc2-evidence-generator.md +332 -0
  64. package/dist/registry/workflows/customer-development/insight-analysis.md +156 -0
  65. package/dist/registry/workflows/customer-development/insight-triage.md +938 -0
  66. package/dist/registry/workflows/customer-development/interview-preparation.md +452 -0
  67. package/dist/registry/workflows/customer-development/linkedin-outreach.md +593 -0
  68. package/dist/registry/workflows/customer-development/strategic-brainstorming.md +146 -0
  69. package/dist/registry/workflows/customer-development/thank-customers.md +203 -0
  70. package/dist/registry/workflows/customer-development/user-survey-dispatch.md +60 -0
  71. package/dist/registry/workflows/customer-development/users-to-target.md +112 -0
  72. package/dist/registry/workflows/customer-development/weekly-newsletter.md +366 -0
  73. package/dist/registry/workflows/deploy/cloud-deployment.md +310 -0
  74. package/dist/registry/workflows/improve-fraim/contribute.md +32 -0
  75. package/dist/registry/workflows/improve-fraim/file-issue.md +32 -0
  76. package/dist/registry/workflows/learning/build-skillset.md +212 -0
  77. package/dist/registry/workflows/learning/synthesize-learnings.md +284 -0
  78. package/dist/registry/workflows/legal/contract-review-analysis.md +382 -0
  79. package/dist/registry/workflows/legal/nda.md +69 -0
  80. package/dist/registry/workflows/legal/patent-filing.md +76 -0
  81. package/dist/registry/workflows/legal/saas-contract-development.md +213 -0
  82. package/dist/registry/workflows/legal/trademark-filing.md +77 -0
  83. package/dist/registry/workflows/marketing/content-creation.md +37 -0
  84. package/dist/registry/workflows/marketing/convert-to-pdf.md +235 -0
  85. package/dist/registry/workflows/marketing/create-modern-website.md +456 -0
  86. package/dist/registry/workflows/marketing/domain-registration.md +323 -0
  87. package/dist/registry/workflows/marketing/hbr-article.md +73 -0
  88. package/dist/registry/workflows/marketing/launch-checklist.md +37 -0
  89. package/dist/registry/workflows/marketing/marketing-strategy.md +45 -0
  90. package/dist/registry/workflows/marketing/storytelling.md +65 -0
  91. package/dist/registry/workflows/performance/analyze-performance.md +65 -0
  92. package/dist/registry/workflows/product-building/design.md +103 -0
  93. package/dist/registry/workflows/product-building/implement.md +74 -0
  94. package/dist/registry/workflows/product-building/iterate-on-pr-comments.md +70 -0
  95. package/dist/registry/workflows/product-building/prep-issue.md +41 -0
  96. package/dist/registry/workflows/product-building/prototype.md +65 -0
  97. package/dist/registry/workflows/product-building/resolve.md +168 -0
  98. package/dist/registry/workflows/product-building/retrospect.md +86 -0
  99. package/dist/registry/workflows/product-building/spec.md +181 -0
  100. package/dist/registry/workflows/product-building/test.md +125 -0
  101. package/dist/registry/workflows/productivity-report/productivity-report.md +263 -0
  102. package/dist/registry/workflows/quality-assurance/browser-validation.md +221 -0
  103. package/dist/registry/workflows/quality-assurance/iterative-improvement-cycle.md +562 -0
  104. package/dist/registry/workflows/replicate/replicate-discovery.md +336 -0
  105. package/dist/registry/workflows/replicate/replicate-to-issues.md +324 -0
  106. package/dist/registry/workflows/reviewer/review-implementation-vs-design-spec.md +638 -0
  107. package/dist/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +675 -0
  108. package/dist/registry/workflows/startup-credits/aws-activate-application.md +535 -0
  109. package/dist/registry/workflows/startup-credits/google-cloud-application.md +647 -0
  110. package/dist/registry/workflows/startup-credits/microsoft-azure-application.md +538 -0
  111. package/dist/src/ai-manager/ai-manager.js +4 -6
  112. package/dist/tests/test-users-to-target-workflow.js +2 -2
  113. package/package.json +1 -1
  114. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-customer-profiling.md +0 -11
  115. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase1-survey-scoping.md +0 -11
  116. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-platform-discovery.md +0 -11
  117. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase2-survey-build-linkedin.md +0 -11
  118. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-prospect-qualification.md +0 -11
  119. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase3-survey-build-reddit.md +0 -11
  120. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-inventory-compilation.md +0 -11
  121. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase4-survey-build-x.md +0 -11
  122. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase5-survey-build-facebook.md +0 -11
  123. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase6-survey-build-custom.md +0 -11
  124. package/registry/stubs/workflows/customer-development/ai-coach-phases/phase7-survey-dispatch.md +0 -11
  125. package/registry/stubs/workflows/customer-development/templates/customer-persona-template.md +0 -11
  126. package/registry/stubs/workflows/customer-development/templates/search-strategy-template.md +0 -11
@@ -0,0 +1,146 @@
1
+ # Strategic Brainstorming Workflow
2
+
3
+ ## INTENT
4
+ To help Product Managers brainstorm and validate their customer development strategy through deep thinking, assumption challenging, and market research to identify the right customer segments and validation questions.
5
+
6
+ ## PRINCIPLES
7
+ - **Assumption Challenging**: Question PM's assumptions and explore alternatives
8
+ - **Deep Research**: Use market research to validate/invalidate assumptions
9
+ - **Strategic Thinking**: Help PM think through customer segments and priorities
10
+ - **Actionable Output**: Provide clear recommendations for customer interviews
11
+
12
+ ## WORKFLOW TRIGGER
13
+ **PM explicitly starts this workflow**:
14
+ - "Starting Strategic Brainstorming"
15
+ - "I need to brainstorm our customer development strategy"
16
+ - "Following the strategic brainstorming workflow"
17
+
18
+ ## AI AGENT PROCESS
19
+
20
+ ### Step 1: Deep Context Gathering
21
+ **AI Agent First Actions**:
22
+ 1. **Read Business Context**
23
+ - Read through `docs/business/` folder for company vision, strategy, and market positioning
24
+ - Review existing business documents and market analysis
25
+ - Understand current product positioning and competitive landscape
26
+
27
+ 2. **Read Customer Insights**
28
+ - Review `docs/customer-insights/` folder for existing customer research
29
+ - Analyze previous customer interviews and feedback
30
+ - Identify patterns in customer pain points and needs
31
+
32
+ 3. **Analyze Codebase Context**
33
+ - Review current product features and capabilities
34
+ - Understand technical architecture and constraints
35
+ - Identify areas where customer feedback could inform development
36
+
37
+ **PM provides unstructured input**:
38
+ - Raw thoughts about current product state
39
+ - Initial assumptions and hypotheses
40
+ - Unstructured priorities and concerns
41
+ - Any existing customer insights
42
+ - Competitive concerns or opportunities
43
+
44
+ **AI Agent Response**:
45
+ - Acknowledge the brainstorming session with deep context understanding
46
+ - Reference specific insights from business docs and customer research
47
+ - Ask probing questions informed by existing knowledge
48
+ - Identify key assumptions to explore based on current context
49
+
50
+ ### Step 2: Assumption Challenging & Exploration
51
+ **AI Agent Brainstorming Process**:
52
+ 1. **Challenge Assumptions**
53
+ - "What makes you think [assumption] is true?"
54
+ - "Have you considered alternative perspectives?"
55
+ - "What evidence do you have for this assumption?"
56
+
57
+ 2. **Explore Alternatives**
58
+ - Suggest different customer segments
59
+ - Propose alternative problem definitions
60
+ - Consider different solution approaches
61
+
62
+ 3. **Identify Gaps**
63
+ - What assumptions need validation?
64
+ - What customer segments are missing?
65
+ - What competitive threats exist?
66
+
67
+ ### Step 3: Market Research & Validation
68
+ **AI Agent Research Process**:
69
+ 1. **Market Research**
70
+ - Research industry trends and customer pain points
71
+ - Analyze competitive landscape
72
+ - Identify potential customer personas
73
+
74
+ 2. **Assumption Validation**
75
+ - Find evidence for/against assumptions
76
+ - Identify similar companies and their approaches
77
+ - Research customer segment characteristics
78
+
79
+ 3. **Opportunity Analysis**
80
+ - Identify market gaps
81
+ - Assess segment attractiveness
82
+ - Evaluate competitive positioning
83
+
84
+ ### Step 4: Strategic Recommendations
85
+ **AI Agent Output**:
86
+ - **Customer Segment Prioritization**: Ranked list of segments to interview
87
+ - **Assumption Validation Map**: Key assumptions mapped to validation questions
88
+ - **Interview Sequence**: Recommended order and rationale
89
+ - **Risk Mitigation**: Potential risks and mitigation strategies
90
+
91
+ ### Step 5: Document Creation
92
+ **AI Agent Final Action**:
93
+ - Create strategic recommendations document in `docs/customer-insights/`
94
+ - Use intuitive naming based on context (e.g., `ashley-market-niche-strategy.md`)
95
+ - Include all research findings and recommendations
96
+ - Provide actionable next steps for PM
97
+ - Save document for future reference and team sharing
98
+
99
+ ## OUTPUT TEMPLATE
100
+
101
+ ### Strategic Recommendations Document
102
+ **Template**: Retrieve via `get_fraim_file({ path: "templates/customer-development/strategic-recommendations-template.md" })`
103
+ **File Location**: `docs/customer-development/[contextual-name].md` (e.g., `ashley-market-niche-strategy.md`)
104
+
105
+ **Process**:
106
+ 1. Use the strategic recommendations template
107
+ 2. Fill in all sections with research findings and recommendations
108
+ 3. Save with contextual naming based on strategic focus
109
+ 4. Include specific customer names and companies when available
110
+ 5. Reference existing business documents and customer insights
111
+
112
+ ## EXAMPLES
113
+
114
+ ### Good: Strategic Brainstorming Session
115
+ ```
116
+ PM: "Starting Strategic Brainstorming. We're building Ashley, an AI executive assistant. I think enterprise execs want AI to handle calendar conflicts automatically, but I'm not sure if that's right."
117
+
118
+ AI Agent: "Perfect! I've reviewed your business docs and customer insights. I can see from your WhyAshley document that you're positioning Ashley as 'Your Agent for Time, Priorities, and Human Potential' and targeting enterprise executives. I also noticed from your existing customer interviews with Ronil, Sanjoy, and Olga that calendar conflict resolution came up as a key pain point across all three customers.
119
+
120
+ However, I'm curious about your 'automatic' assumption. From your existing customer insights, I see that trust and delegation control were major themes - Ronil mentioned 'Don't have trust in tech to read email - need to have hands in it' and Sanjoy was concerned about 'Disturb during highly important meetings'. What makes you think they want it 'automatic' vs 'suggested'?"
121
+
122
+ PM: "Good point. I guess I'm assuming automatic because that's what would save them the most time."
123
+
124
+ AI Agent: "That's a reasonable assumption, but based on your existing customer feedback, there's a clear pattern of wanting control and oversight. Ronil mentioned wanting to 'observe for 2 weeks, then take action' and Olga talked about how good EAs 'enforce workback plans based on business priorities' rather than just doing what they're asked. What if we validated this by asking about their current delegation patterns and comfort levels with AI autonomy?"
125
+
126
+ [Brainstorming continues with deep context...]
127
+
128
+ AI Agent Output: Strategic recommendations document informed by existing business context and customer insights
129
+ ```
130
+
131
+ ### Bad: Surface-Level Brainstorming
132
+ ```
133
+ PM: "We're building Ashley, an AI executive assistant. Who should we interview?"
134
+
135
+ AI Agent: "You should interview enterprise executives."
136
+
137
+ PM: "Okay, thanks."
138
+
139
+ Result: No deep thinking, no assumption validation, no strategic recommendations
140
+ ```
141
+
142
+ ## SUCCESS METRICS
143
+ - **Assumption Validation**: 80% of key assumptions have clear validation questions
144
+ - **Customer Segment Clarity**: Clear rationale for segment prioritization
145
+ - **Interview Readiness**: PM has clear next steps for customer interviews
146
+ - **Risk Awareness**: Potential risks identified and mitigated
@@ -0,0 +1,203 @@
1
+ # Thank Customers Workflow
2
+
3
+ ## INTENT
4
+ To automatically generate and send personalized thank you emails to customers whose feedback has been implemented, strengthening customer relationships and encouraging continued engagement.
5
+
6
+ ## PRINCIPLES
7
+ - **Personal Touch**: Ashley's voice, grateful tone, "Thank you for making me better..."
8
+ - **Voice & Pronouns**: Emails are written in first person from Ashley ("I", "me", "my"). When referring to Ashley in third person (outside the email body), use they/them pronouns. Avoid gendered pronouns for Ashley.
9
+ - **Customer-Focused**: No technical jargon or issue numbers in customer emails
10
+ - **Short and Sweet**: To the point, instructive, humble
11
+ - **Encourage more feedback**: ChatGPT (https://ashley-chat.wellnessatwork.me) is the best way
12
+
13
+ ## WORKFLOW TRIGGER
14
+ **User triggers this workflow manually**:
15
+ - When customer issues are resolved and deployed
16
+ - User says: "Generate thank you emails for customers" or similar
17
+
18
+ ## AI AGENT PROCESS
19
+
20
+ ### Step 1: Issue Retrieval
21
+ **AI Agent calls function**:
22
+ ```typescript
23
+ // Import helper functions directly from synced location
24
+ const os = require('os');
25
+ const path = require('path');
26
+ const scriptsDir = path.join(os.homedir(), '.fraim', 'scripts');
27
+ const scriptPath = path.join(scriptsDir, 'generate-engagement-emails.ts');
28
+
29
+ import { getResolvedIssues, findExecutiveByEmail, getAshleyEmailForExecutive } from scriptPath;
30
+
31
+ // Get issues resolved since last thank-you date (automatic) or user-specified date
32
+ const resolvedIssues = await getResolvedIssues(); // Automatically uses latest thank-you date
33
+ // OR with explicit date:
34
+ const resolvedIssues = await getResolvedIssues('2025-10-29'); // Optional: user-specified date
35
+ ```
36
+
37
+ **Note**: The `getResolvedIssues()` function automatically:
38
+ - Finds the most recent date from existing `thank-you-candidates-YYYY-MM-DD.json` files where emails were sent (status: "sent")
39
+ - Uses that date as the starting point to only fetch issues resolved AFTER that date
40
+ - If no thank-you files exist, falls back to last 14 days
41
+ - This ensures we never send duplicate thank-you emails for the same resolved issues
42
+
43
+ ### Step 2: Customer Information Extraction
44
+ **AI Agent does intelligent extraction**:
45
+ 1. **Go through each resolved issue**
46
+ 2. **Extract customer email** from:
47
+ - Issue title format: `email@domain.com: summary`
48
+ - Issue body: look for email patterns
49
+ - If no email found, extract customer name and use database lookup
50
+ 3. **Extract customer name** from:
51
+ - Issue title or body
52
+ - Previous thank-you notes
53
+ - Onboarding insights documents
54
+
55
+ ### Step 3: Database Lookup
56
+ **AI Agent calls function for each customer**:
57
+ ```typescript
58
+ // Look up executive by customer email
59
+ const executive = await findExecutiveByEmail(customerEmail);
60
+
61
+ // Get Ashley email address for this executive
62
+ const ashleyEmail = await getAshleyEmailForExecutive(executive.id);
63
+ ```
64
+
65
+ ### Step 4: Collate Issues by Customer
66
+ **AI Agent organizes data**:
67
+ - Group all resolved issues by customer email
68
+ - **Consolidate customers with multiple email addresses** by matching customer names (case-insensitive)
69
+ - When a customer has multiple emails, use the primary email from the database lookup
70
+ - Output customer list to console for verification
71
+
72
+ ### Step 5: Generate Single Thank-You File
73
+ **AI Agent creates ONE file**:
74
+ - File: `docs/customer-development/thank-you-notes/thank-you-candidates-YYYY-MM-DD.json`
75
+ - Format: Structured JSON (not markdown) for easy parsing by mail sending script
76
+ - Contains ALL customers and their personalized emails
77
+ - **AI Agent writes the email content** - be creative, personal, and contextual!
78
+ - Follow principles: personal touch, customer-focused, short and sweet, encourage feedback
79
+ - **NO TECHNICAL JARGON**: Do not mention issue numbers, BAML, internal systems, or technical details
80
+ - **CUSTOMER EXPERIENCE FOCUS**: Describe what was broken from the user's perspective, what was fixed, and how they can verify it works
81
+ - **First-person Email Body**: Use "I" for actions Ashley took (e.g., "I fixed", "I now", "I will"), not "Ashley" or "she". Sign off as Ashley.
82
+ - Include `From:` field showing Ashley email from PPE (via `getAshleyEmailForExecutive()`)
83
+
84
+ **File format** (JSON):
85
+ ```json
86
+ {
87
+ "metadata": {
88
+ "generatedOn": "2025-10-29T02:29:02.497Z",
89
+ "issuesResolvedSince": "2025-10-28",
90
+ "totalCustomers": 2,
91
+ "totalIssues": 3
92
+ },
93
+ "candidates": [
94
+ {
95
+ "customer": {
96
+ "name": "Olga Ivanova",
97
+ "email": "olga.ivanova@gmail.com"
98
+ },
99
+ "executive": {
100
+ "name": "Olga Ivanova",
101
+ "id": "exec-..."
102
+ },
103
+ "status": "pending",
104
+ "from": {
105
+ "displayName": "Ashley - Olga Ivanova's AI Executive Assistant",
106
+ "email": "ashley+olga@ashleycalendar.ai"
107
+ },
108
+ "to": "olga.ivanova@gmail.com",
109
+ "subject": "Thank you for your feedback - your issues have been addressed!",
110
+ "greeting": "Hi Olga,",
111
+ "opening": "Thank you for making me better! I wanted to personally reach out because your feedback helped us catch and fix an important bug.",
112
+ "improvements": [
113
+ {
114
+ "title": "Issue filing feature",
115
+ "description": "The issue filing feature is now working properly - when you ask me to file a bug or feature request through voice, I'll handle it correctly.",
116
+ "verification": "Try asking me to file a bug or feature request and it should work smoothly now."
117
+ }
118
+ ],
119
+ "closing": "Your quick feedback saved you (and others) frustration down the line. That kind of real-time input makes all the difference as I'm learning."
120
+ }
121
+ ]
122
+ }
123
+ ```
124
+
125
+ **Note**: The structured format allows the HTML template to format each section beautifully:
126
+ - `greeting`: Personal greeting (e.g., "Hi Olga,")
127
+ - `opening`: Opening paragraph - thanks and context
128
+ - `improvements[]`: Array of improvements (title, description, optional verification step)
129
+ - `closing`: Closing paragraph - encouraging more feedback
130
+
131
+ The HTML template formats each section with appropriate styling.
132
+
133
+ ### Step 6: User Review
134
+ **AI Agent**:
135
+ 1. **Points user to the generated file**: `docs/customer-development/thank-you-notes/thank-you-candidates-YYYY-MM-DD.json`
136
+ 2. **Requests review** and any edits needed (user can edit JSON directly)
137
+ 3. **Waits for user approval** before proceeding
138
+
139
+ **Note**: Each email section includes a `From:` field showing the display name and email address that will be used when sending. The signature includes a humble note about ramping up, without displaying a generic email address.
140
+
141
+ ### Step 7: Send Emails (Separate Command)
142
+ **When user says "Send the emails" or similar**:
143
+
144
+ **AI Agent calls function**:
145
+ ```typescript
146
+ // Import helper functions directly from synced location
147
+ const os = require('os');
148
+ const path = require('path');
149
+ const scriptsDir = path.join(os.homedir(), '.fraim', 'scripts');
150
+ const scriptPath = path.join(scriptsDir, 'generate-engagement-emails.ts');
151
+
152
+ import { sendCustomerMail } from scriptPath;
153
+
154
+ // Send emails from the candidates JSON file (all pending candidates)
155
+ await sendCustomerMail('docs/customer-development/thank-you-notes/thank-you-candidates-YYYY-MM-DD.json');
156
+
157
+ // OR send to a specific executive only (optional)
158
+ await sendCustomerMail('docs/customer-development/thank-you-notes/thank-you-candidates-YYYY-MM-DD.json', 'exec-1761011032377-q36j91sdl');
159
+ ```
160
+
161
+ **Note**: The `sendCustomerMail` function parses JSON (not markdown) for easy, deterministic parsing.
162
+
163
+ **Function parameters**:
164
+ - `candidatesFilePath` (required): Path to the JSON candidates file
165
+ - `executiveId` (optional): If provided, only sends emails for candidates matching this executive ID. If omitted, sends to all pending candidates.
166
+
167
+ **This function will**:
168
+ - Parse the JSON candidates file
169
+ - If `executiveId` is provided, filter to only that executive's candidates
170
+ - For each candidate with `status: "pending"`, send email
171
+ - Use the `from` field (displayName and email) specified in JSON
172
+ - Use the `to`, `subject`, and `body` fields from JSON
173
+ - Update the JSON file after each send with status: `"sent"` or `"failed"`
174
+ - Skip candidates that already have status `"sent"` or `"failed"`
175
+
176
+ ## REQUIRED FUNCTIONS IN SCRIPT
177
+
178
+ The script must provide these deterministic functions for AI agents to call:
179
+
180
+ ```typescript
181
+ // Get resolved issues since a date
182
+ export async function getResolvedIssues(date: string): Promise<ResolvedIssue[]>
183
+
184
+ // Find executive by email in PPE database
185
+ export async function findExecutiveByEmail(email: string): Promise<Executive | null>
186
+
187
+ // Get Ashley email for executive from PPE database
188
+ export async function getAshleyEmailForExecutive(executiveId: string): Promise<string>
189
+
190
+ // Send emails from candidates file
191
+ // executiveId is optional - if provided, only sends to that executive; if omitted, sends to all pending
192
+ export async function sendCustomerMail(candidatesFilePath: string, executiveId?: string): Promise<void>
193
+ ```
194
+
195
+ **Note**: The script provides ONLY data retrieval and sending. The AI agent does ALL intelligent work:
196
+ - Extracts customer info from issues (intelligent parsing)
197
+ - Writes personalized, creative email content (better than hardcoded templates!)
198
+ - Organizes and formats the candidates file
199
+
200
+ ## WORKFLOW COMPLETION
201
+
202
+ **Generate workflow completes with**: Single candidates file ready for review
203
+ **Send workflow completes with**: All emails sent and file updated with status
@@ -0,0 +1,60 @@
1
+ # FRAIM Workflow: user-survey-dispatch
2
+
3
+ **Path:** `workflows/customer-development/user-survey-dispatch.md`
4
+
5
+ ---
6
+
7
+ # User Survey Dispatch Workflow - AI Coach Guided
8
+
9
+ ## INTENT
10
+ To systematically formulate, build, and dispatch user surveys across multiple platforms (LinkedIn, Reddit, X, Facebook) to validate target audience assumptions and gather product insights.
11
+
12
+ ## HOW IT WORKS
13
+ This workflow uses the **AI Coach** for transition-based guidance. Instead of manually following steps, you interact with the coach at each phase boundary:
14
+
15
+ - **Phase Initiation**: Call the coach to get the specific "Build" or "Dispatch" instructions for the target platform.
16
+ - **Evidence Validation**: Submit evidence (documents, screenshots) to the coach to move to the next platform/phase.
17
+ - **Failure Recovery**: If a platform-specific build fails, the coach directs you back to revise the survey scope.
18
+
19
+ ## PHASE PROGRESSION
20
+
21
+ **Survey Flow**: `survey-scoping` → `survey-build-linkedin` → `survey-build-reddit` → `survey-build-x` → `survey-build-facebook` → `survey-build-custom` → `survey-dispatch`
22
+
23
+ ## GETTING COACHING
24
+
25
+ Use the following tool to get instructions for your current phase:
26
+
27
+ ```javascript
28
+ seekCoachingOnNextStep({
29
+ workflowType: "user-survey",
30
+ issueNumber: "51", // or your specific identifier
31
+ currentPhase: "survey-scoping",
32
+ status: "starting"
33
+ })
34
+ ```
35
+
36
+ ### Supported Status Values
37
+ - **starting**: Called at the beginning of any phase to get the platform-specific "Building" or "Dispatch" guidelines.
38
+ - **complete**: Called when you have finished the work for a phase (e.g., generated Reddit copy). Provide the copy/evidence in the `evidence` field.
39
+ - **incomplete**: Called if you encounter technical blockers (e.g., subreddit rules) and need coaching on how to adapt.
40
+ - **failure**: Called if a phase cannot be completed (e.g., account restricted). The coach will route you back to a previous phase.
41
+
42
+ ## GETTING STARTED
43
+
44
+ ### 1. Initiate Scoping
45
+ Start by defining the core goal and questions for your survey. This ensures all platform-specific posts are aligned.
46
+
47
+ ```javascript
48
+ seekCoachingOnNextStep({
49
+ workflowType: "user-survey",
50
+ issueNumber: "51",
51
+ currentPhase: "survey-scoping",
52
+ status: "starting"
53
+ })
54
+ ```
55
+
56
+ ### 2. Follow Platform Builds
57
+ After scoping, the coach will guide you through building optimized content for LinkedIn, Reddit, X, and Facebook sequentially.
58
+
59
+ ### 3. Automated Dispatch
60
+ Once all content is ready, the coach will provide you with the **Playwright-driven** instructions to execute the posts across the platforms.
@@ -0,0 +1,112 @@
1
+ # FRAIM Workflow: users-to-target
2
+
3
+ ## Intent
4
+ Help founders systematically identify and build an inventory of specific potential customers across multiple platforms for customer discovery and outreach.
5
+
6
+ ## Overview
7
+ This workflow guides founders through a 4-phase process to discover, qualify, and document potential customers using browser automation across LinkedIn, Reddit, X (Twitter), Facebook, forums, and web search.
8
+
9
+ ## Prerequisites
10
+ - Clear understanding of your target customer profile
11
+ - Access to social media platforms (LinkedIn, Reddit, X, Facebook)
12
+ - Browser automation capabilities via Playwright MCP
13
+
14
+ ## Phases
15
+
16
+ ### Phase 1: Customer Profiling
17
+ **Objective**: Define target customer characteristics and search criteria
18
+
19
+ **Actions**:
20
+ 1. Complete customer persona template
21
+ 2. Define pain points and behavioral indicators
22
+ 3. Create platform-specific search keywords
23
+ 4. Set geographic and demographic constraints
24
+
25
+ **Evidence Required**:
26
+ - Completed customer persona document: `docs/customer-development/customer-persona-{timestamp}.md`
27
+ - List of search keywords for each platform
28
+ - Qualification criteria definition
29
+
30
+ ### Phase 2: Multi-Platform Discovery
31
+ **Objective**: Execute automated searches across all target platforms
32
+
33
+ **Actions**:
34
+ 1. LinkedIn professional network search
35
+ 2. Reddit community discussions search
36
+ 3. X (Twitter) conversations search
37
+ 4. Facebook groups and discussions search
38
+ 5. Industry-specific forums search
39
+ 6. General web search for blogs and articles
40
+
41
+ **Evidence Required**:
42
+ - Screenshots from each platform search
43
+ - Raw prospect data captured
44
+ - Search query refinements documented
45
+
46
+ ### Phase 3: Prospect Qualification
47
+ **Objective**: Evaluate and score discovered prospects
48
+
49
+ **Actions**:
50
+ 1. Apply qualification criteria to all prospects
51
+ 2. Score relevance (1-10 scale)
52
+ 3. Identify contact information
53
+ 4. Document pain points and context
54
+ 5. Prioritize for outreach
55
+
56
+ **Evidence Required**:
57
+ - Qualified prospect list with scores
58
+ - Contact information where available
59
+ - Pain point documentation
60
+
61
+ ### Phase 4: Inventory Compilation
62
+ **Objective**: Create final structured prospect database
63
+
64
+ **Actions**:
65
+ 1. Compile all qualified prospects into CSV format
66
+ 2. Add follow-up priority rankings
67
+ 3. Include discovery context and quotes
68
+ 4. Generate summary statistics
69
+ 5. Create outreach recommendations
70
+
71
+ **Evidence Required**:
72
+ - Final CSV file: `docs/customer-development/users-to-target-{timestamp}.csv`
73
+ - Summary report with statistics
74
+ - Top 20 priority prospects identified
75
+
76
+ ## Success Metrics
77
+ - 50-200 qualified prospects identified
78
+ - 70%+ relevance score for prospects
79
+ - Contact information for 60%+ of prospects
80
+ - Clear next steps for top 20 prospects
81
+
82
+ ## Templates
83
+ - Customer Persona Template: `templates/customer-development/customer-persona-template.md`
84
+ - Search Strategy Template: `templates/customer-development/search-strategy-template.md`
85
+ - Prospect Inventory Template: `templates/customer-development/prospect-inventory-template.csv`
86
+
87
+ ## AI Coach Integration
88
+ This workflow uses the AI Coach system for phase-by-phase guidance:
89
+
90
+ ```javascript
91
+ // Start the workflow
92
+ seekCoachingOnNextStep({
93
+ workflowType: "customer-development",
94
+ issueNumber: "users-to-target-001", // or your specific identifier
95
+ currentPhase: "customer-profiling",
96
+ status: "starting"
97
+ })
98
+
99
+ // After completing each phase
100
+ seekCoachingOnNextStep({
101
+ workflowType: "customer-development",
102
+ issueNumber: "users-to-target-001",
103
+ currentPhase: "customer-profiling",
104
+ status: "complete",
105
+ evidence: {
106
+ // Your completed evidence for the phase
107
+ }
108
+ })
109
+ ```
110
+
111
+ ## Output Location
112
+ `docs/customer-development/users-to-target-{timestamp}.csv`