fraim-framework 2.0.67 → 2.0.68
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/package.json +1 -2
- package/dist/registry/ai-manager-rules/customer-development-phases/phase1-customer-profiling.md +0 -101
- package/dist/registry/ai-manager-rules/customer-development-phases/phase2-platform-discovery.md +0 -235
- package/dist/registry/ai-manager-rules/customer-development-phases/phase3-prospect-qualification.md +0 -243
- package/dist/registry/ai-manager-rules/customer-development-phases/phase4-inventory-compilation.md +0 -206
- package/dist/registry/ai-manager-rules/design-phases/design-completeness-review.md +0 -73
- package/dist/registry/ai-manager-rules/design-phases/design-design.md +0 -145
- package/dist/registry/ai-manager-rules/design-phases/design.md +0 -108
- package/dist/registry/ai-manager-rules/design-phases/finalize.md +0 -60
- package/dist/registry/ai-manager-rules/design-phases/validate.md +0 -125
- package/dist/registry/ai-manager-rules/design.json +0 -97
- package/dist/registry/ai-manager-rules/implement-phases/code.md +0 -323
- package/dist/registry/ai-manager-rules/implement-phases/completeness-review.md +0 -94
- package/dist/registry/ai-manager-rules/implement-phases/finalize.md +0 -177
- package/dist/registry/ai-manager-rules/implement-phases/implement-code.md +0 -283
- package/dist/registry/ai-manager-rules/implement-phases/implement-completeness-review.md +0 -120
- package/dist/registry/ai-manager-rules/implement-phases/implement-regression.md +0 -173
- package/dist/registry/ai-manager-rules/implement-phases/implement-repro.md +0 -104
- package/dist/registry/ai-manager-rules/implement-phases/implement-scoping.md +0 -100
- package/dist/registry/ai-manager-rules/implement-phases/implement-smoke.md +0 -237
- package/dist/registry/ai-manager-rules/implement-phases/implement-spike.md +0 -121
- package/dist/registry/ai-manager-rules/implement-phases/implement-validate.md +0 -375
- package/dist/registry/ai-manager-rules/implement-phases/quality-review.md +0 -304
- package/dist/registry/ai-manager-rules/implement-phases/regression.md +0 -159
- package/dist/registry/ai-manager-rules/implement-phases/repro.md +0 -101
- package/dist/registry/ai-manager-rules/implement-phases/scoping.md +0 -93
- package/dist/registry/ai-manager-rules/implement-phases/smoke.md +0 -225
- package/dist/registry/ai-manager-rules/implement-phases/spike.md +0 -118
- package/dist/registry/ai-manager-rules/implement-phases/validate.md +0 -347
- package/dist/registry/ai-manager-rules/implement.json +0 -153
- package/dist/registry/ai-manager-rules/retrospective.md +0 -116
- package/dist/registry/ai-manager-rules/shared-phases/address-pr-feedback.md +0 -188
- package/dist/registry/ai-manager-rules/shared-phases/finalize.md +0 -169
- package/dist/registry/ai-manager-rules/shared-phases/submit-pr.md +0 -202
- package/dist/registry/ai-manager-rules/shared-phases/wait-for-pr-review.md +0 -170
- package/dist/registry/ai-manager-rules/spec-phases/finalize.md +0 -60
- package/dist/registry/ai-manager-rules/spec-phases/spec-competitor-analysis.md +0 -105
- package/dist/registry/ai-manager-rules/spec-phases/spec-completeness-review.md +0 -66
- package/dist/registry/ai-manager-rules/spec-phases/spec-spec.md +0 -139
- package/dist/registry/ai-manager-rules/spec-phases/spec.md +0 -102
- package/dist/registry/ai-manager-rules/spec-phases/validate.md +0 -118
- package/dist/registry/ai-manager-rules/spec.json +0 -112
- package/dist/registry/ai-manager-rules/test.json +0 -98
- package/dist/registry/ai-manager-rules/user-survey-phases/phase1-survey-scoping.md +0 -60
- package/dist/registry/ai-manager-rules/user-survey-phases/phase2-survey-build-linkedin.md +0 -23
- package/dist/registry/ai-manager-rules/user-survey-phases/phase3-survey-build-reddit.md +0 -22
- package/dist/registry/ai-manager-rules/user-survey-phases/phase4-survey-build-x.md +0 -21
- package/dist/registry/ai-manager-rules/user-survey-phases/phase5-survey-build-facebook.md +0 -19
- package/dist/registry/ai-manager-rules/user-survey-phases/phase6-survey-build-custom.md +0 -15
- package/dist/registry/ai-manager-rules/user-survey-phases/phase7-survey-dispatch.md +0 -45
- package/dist/registry/delivery/address-feedback.md +0 -83
- package/dist/registry/delivery/retrospective.md +0 -78
- package/dist/registry/delivery/submit.md +0 -79
- package/dist/registry/providers/ado.json +0 -19
- package/dist/registry/providers/delivery-conversation.json +0 -9
- package/dist/registry/providers/delivery-pr.json +0 -9
- package/dist/registry/providers/github.json +0 -19
- package/dist/registry/rules/agent-success-criteria.md +0 -101
- package/dist/registry/rules/agent-testing-guidelines.md +0 -502
- package/dist/registry/rules/architecture.md +0 -126
- package/dist/registry/rules/communication.md +0 -122
- package/dist/registry/rules/continuous-learning.md +0 -55
- package/dist/registry/rules/debugging-multitenancy-issues.md +0 -85
- package/dist/registry/rules/ephemeral-execution.md +0 -54
- package/dist/registry/rules/git-safe-commands.md +0 -34
- package/dist/registry/rules/hitl-ppe-record-analysis.md +0 -302
- package/dist/registry/rules/integrity-and-test-ethics.md +0 -275
- package/dist/registry/rules/local-development.md +0 -275
- package/dist/registry/rules/mandatory-pre-completion-reflection.md +0 -193
- package/dist/registry/rules/merge-requirements.md +0 -238
- package/dist/registry/rules/simplicity.md +0 -118
- package/dist/registry/rules/software-development-lifecycle.md +0 -105
- package/dist/registry/rules/spike-first-development.md +0 -205
- package/dist/registry/rules/successful-debugging-patterns.md +0 -488
- package/dist/registry/scripts/build-scripts-generator.js +0 -205
- package/dist/registry/scripts/cleanup-branch.js +0 -287
- package/dist/registry/scripts/evaluate-code-quality.js +0 -66
- package/dist/registry/scripts/exec-with-timeout.js +0 -142
- package/dist/registry/scripts/fraim-config.js +0 -61
- package/dist/registry/scripts/generate-engagement-emails.js +0 -705
- package/dist/registry/scripts/generic-issues-api.js +0 -100
- package/dist/registry/scripts/newsletter-helpers.js +0 -671
- package/dist/registry/scripts/openapi-generator.js +0 -664
- package/dist/registry/scripts/performance/profile-server.js +0 -390
- package/dist/registry/scripts/profile-server.js +0 -389
- package/dist/registry/scripts/run-thank-you-workflow.js +0 -92
- package/dist/registry/scripts/send-newsletter-simple.js +0 -85
- package/dist/registry/scripts/send-thank-you-emails.js +0 -54
- package/dist/registry/scripts/validate-openapi-limits.js +0 -311
- package/dist/registry/scripts/validate-test-coverage.js +0 -262
- package/dist/registry/scripts/verify-test-coverage.js +0 -66
- package/dist/registry/stubs/workflows/azure/cost-optimization.md +0 -11
- package/dist/registry/stubs/workflows/bootstrap/create-architecture.md +0 -11
- package/dist/registry/stubs/workflows/bootstrap/detect-broken-windows.md +0 -11
- package/dist/registry/stubs/workflows/bootstrap/evaluate-code-quality.md +0 -11
- package/dist/registry/stubs/workflows/bootstrap/verify-test-coverage.md +0 -11
- package/dist/registry/stubs/workflows/brainstorming/blue-sky-brainstorming.md +0 -11
- package/dist/registry/stubs/workflows/brainstorming/codebase-brainstorming.md +0 -11
- package/dist/registry/stubs/workflows/business-development/create-business-plan.md +0 -11
- package/dist/registry/stubs/workflows/business-development/ideate-business-opportunity.md +0 -11
- package/dist/registry/stubs/workflows/business-development/price-product.md +0 -18
- package/dist/registry/stubs/workflows/compliance/detect-compliance-requirements.md +0 -11
- package/dist/registry/stubs/workflows/compliance/generate-audit-evidence.md +0 -11
- package/dist/registry/stubs/workflows/compliance/soc2-evidence-generator.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/insight-analysis.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/insight-triage.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/interview-preparation.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/linkedin-outreach.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/strategic-brainstorming.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/thank-customers.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/user-survey-dispatch.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/users-to-target.md +0 -11
- package/dist/registry/stubs/workflows/customer-development/weekly-newsletter.md +0 -11
- package/dist/registry/stubs/workflows/deploy/cloud-deployment.md +0 -11
- package/dist/registry/stubs/workflows/improve-fraim/contribute.md +0 -11
- package/dist/registry/stubs/workflows/improve-fraim/file-issue.md +0 -11
- package/dist/registry/stubs/workflows/learning/build-skillset.md +0 -11
- package/dist/registry/stubs/workflows/learning/synthesize-learnings.md +0 -11
- package/dist/registry/stubs/workflows/legal/contract-review-analysis.md +0 -11
- package/dist/registry/stubs/workflows/legal/nda.md +0 -11
- package/dist/registry/stubs/workflows/legal/patent-filing.md +0 -11
- package/dist/registry/stubs/workflows/legal/saas-contract-development.md +0 -11
- package/dist/registry/stubs/workflows/legal/trademark-filing.md +0 -11
- package/dist/registry/stubs/workflows/marketing/content-creation.md +0 -11
- package/dist/registry/stubs/workflows/marketing/convert-to-pdf.md +0 -11
- package/dist/registry/stubs/workflows/marketing/create-modern-website.md +0 -11
- package/dist/registry/stubs/workflows/marketing/domain-registration.md +0 -11
- package/dist/registry/stubs/workflows/marketing/evangelize.md +0 -11
- package/dist/registry/stubs/workflows/marketing/hbr-article.md +0 -11
- package/dist/registry/stubs/workflows/marketing/launch-checklist.md +0 -11
- package/dist/registry/stubs/workflows/marketing/marketing-strategy.md +0 -11
- package/dist/registry/stubs/workflows/marketing/storytelling.md +0 -11
- package/dist/registry/stubs/workflows/performance/analyze-performance.md +0 -11
- package/dist/registry/stubs/workflows/product-building/design.md +0 -11
- package/dist/registry/stubs/workflows/product-building/implement.md +0 -11
- package/dist/registry/stubs/workflows/product-building/iterate-on-pr-comments.md +0 -11
- package/dist/registry/stubs/workflows/product-building/prep-issue.md +0 -11
- package/dist/registry/stubs/workflows/product-building/prototype.md +0 -11
- package/dist/registry/stubs/workflows/product-building/resolve.md +0 -11
- package/dist/registry/stubs/workflows/product-building/retrospect.md +0 -11
- package/dist/registry/stubs/workflows/product-building/spec.md +0 -11
- package/dist/registry/stubs/workflows/product-building/test.md +0 -11
- package/dist/registry/stubs/workflows/productivity-report/productivity-report.md +0 -11
- package/dist/registry/stubs/workflows/quality-assurance/browser-validation.md +0 -11
- package/dist/registry/stubs/workflows/quality-assurance/iterative-improvement-cycle.md +0 -11
- package/dist/registry/stubs/workflows/replicate/replicate-discovery.md +0 -11
- package/dist/registry/stubs/workflows/replicate/replicate-to-issues.md +0 -11
- package/dist/registry/stubs/workflows/reviewer/review-implementation-vs-design-spec.md +0 -11
- package/dist/registry/stubs/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -11
- package/dist/registry/stubs/workflows/startup-credits/aws-activate-application.md +0 -11
- package/dist/registry/stubs/workflows/startup-credits/google-cloud-application.md +0 -11
- package/dist/registry/stubs/workflows/startup-credits/microsoft-azure-application.md +0 -11
- package/dist/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +0 -53
- package/dist/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +0 -37
- package/dist/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +0 -35
- package/dist/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +0 -29
- package/dist/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +0 -126
- package/dist/registry/templates/customer-development/customer-interview-template.md +0 -99
- package/dist/registry/templates/customer-development/customer-persona-template.md +0 -69
- package/dist/registry/templates/customer-development/follow-up-email-templates.md +0 -132
- package/dist/registry/templates/customer-development/insight-analysis-template.md +0 -74
- package/dist/registry/templates/customer-development/prospect-inventory-template.csv +0 -3
- package/dist/registry/templates/customer-development/search-strategy-template.md +0 -123
- package/dist/registry/templates/customer-development/strategic-recommendations-template.md +0 -53
- package/dist/registry/templates/customer-development/thank-you-email-template.html +0 -124
- package/dist/registry/templates/customer-development/thank-you-note-template.md +0 -16
- package/dist/registry/templates/customer-development/triage-log-template.md +0 -278
- package/dist/registry/templates/customer-development/weekly-newsletter-template.html +0 -204
- package/dist/registry/templates/evidence/Design-Evidence.md +0 -30
- package/dist/registry/templates/evidence/Implementation-BugEvidence.md +0 -122
- package/dist/registry/templates/evidence/Implementation-FeatureEvidence.md +0 -160
- package/dist/registry/templates/evidence/Spec-Evidence.md +0 -19
- package/dist/registry/templates/help/HelpNeeded.md +0 -14
- package/dist/registry/templates/legal/NDA-TEMPLATE.md +0 -170
- package/dist/registry/templates/legal/PATENT-TEMPLATE.md +0 -372
- package/dist/registry/templates/legal/TRADEMARK-TEMPLATE.md +0 -339
- package/dist/registry/templates/legal/contract-review-checklist.md +0 -193
- package/dist/registry/templates/legal/review-report-template.md +0 -198
- package/dist/registry/templates/legal/saas-terms-template.md +0 -174
- package/dist/registry/templates/legal/sow-template.md +0 -117
- package/dist/registry/templates/legal/template-variables.md +0 -131
- package/dist/registry/templates/marketing/DOMAIN-REGISTRATION-TEMPLATE.md +0 -194
- package/dist/registry/templates/marketing/EVANGELIZE-TEMPLATE.md +0 -102
- package/dist/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +0 -66
- package/dist/registry/templates/marketing/STORYTELLING-TEMPLATE.md +0 -130
- package/dist/registry/templates/marketing/WEBSITE-TEMPLATE.md +0 -262
- package/dist/registry/templates/marketing/github-pages-workflow.yml +0 -64
- package/dist/registry/templates/replicate/implementation-checklist.md +0 -39
- package/dist/registry/templates/replicate/use-cases-template.md +0 -88
- package/dist/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +0 -55
- package/dist/registry/templates/specs/BUGSPEC-TEMPLATE.md +0 -37
- package/dist/registry/templates/specs/FEATURESPEC-TEMPLATE.md +0 -66
- package/dist/registry/templates/specs/TECHSPEC-TEMPLATE.md +0 -39
- package/dist/registry/workflows/azure/cost-optimization.md +0 -772
- package/dist/registry/workflows/bootstrap/create-architecture.md +0 -37
- package/dist/registry/workflows/bootstrap/detect-broken-windows.md +0 -300
- package/dist/registry/workflows/bootstrap/evaluate-code-quality.md +0 -35
- package/dist/registry/workflows/bootstrap/verify-test-coverage.md +0 -36
- package/dist/registry/workflows/brainstorming/blue-sky-brainstorming.md +0 -211
- package/dist/registry/workflows/brainstorming/codebase-brainstorming.md +0 -159
- package/dist/registry/workflows/business-development/create-business-plan.md +0 -737
- package/dist/registry/workflows/business-development/ideate-business-opportunity.md +0 -55
- package/dist/registry/workflows/business-development/price-product.md +0 -325
- package/dist/registry/workflows/compliance/detect-compliance-requirements.md +0 -80
- package/dist/registry/workflows/compliance/generate-audit-evidence.md +0 -80
- package/dist/registry/workflows/compliance/soc2-evidence-generator.md +0 -332
- package/dist/registry/workflows/customer-development/insight-analysis.md +0 -156
- package/dist/registry/workflows/customer-development/insight-triage.md +0 -933
- package/dist/registry/workflows/customer-development/interview-preparation.md +0 -452
- package/dist/registry/workflows/customer-development/linkedin-outreach.md +0 -599
- package/dist/registry/workflows/customer-development/strategic-brainstorming.md +0 -146
- package/dist/registry/workflows/customer-development/thank-customers.md +0 -203
- package/dist/registry/workflows/customer-development/user-survey-dispatch.md +0 -312
- package/dist/registry/workflows/customer-development/users-to-target.md +0 -427
- package/dist/registry/workflows/customer-development/weekly-newsletter.md +0 -366
- package/dist/registry/workflows/deploy/cloud-deployment.md +0 -310
- package/dist/registry/workflows/improve-fraim/contribute.md +0 -32
- package/dist/registry/workflows/improve-fraim/file-issue.md +0 -32
- package/dist/registry/workflows/learning/build-skillset.md +0 -212
- package/dist/registry/workflows/learning/synthesize-learnings.md +0 -369
- package/dist/registry/workflows/legal/contract-review-analysis.md +0 -382
- package/dist/registry/workflows/legal/nda.md +0 -69
- package/dist/registry/workflows/legal/patent-filing.md +0 -76
- package/dist/registry/workflows/legal/saas-contract-development.md +0 -204
- package/dist/registry/workflows/legal/trademark-filing.md +0 -77
- package/dist/registry/workflows/marketing/content-creation.md +0 -40
- package/dist/registry/workflows/marketing/convert-to-pdf.md +0 -265
- package/dist/registry/workflows/marketing/create-modern-website.md +0 -456
- package/dist/registry/workflows/marketing/domain-registration.md +0 -323
- package/dist/registry/workflows/marketing/evangelize.md +0 -426
- package/dist/registry/workflows/marketing/hbr-article.md +0 -73
- package/dist/registry/workflows/marketing/launch-checklist.md +0 -37
- package/dist/registry/workflows/marketing/marketing-strategy.md +0 -45
- package/dist/registry/workflows/marketing/storytelling.md +0 -65
- package/dist/registry/workflows/performance/analyze-performance.md +0 -65
- package/dist/registry/workflows/product-building/design.md +0 -263
- package/dist/registry/workflows/product-building/implement.md +0 -771
- package/dist/registry/workflows/product-building/iterate-on-pr-comments.md +0 -70
- package/dist/registry/workflows/product-building/prep-issue.md +0 -41
- package/dist/registry/workflows/product-building/prototype.md +0 -60
- package/dist/registry/workflows/product-building/resolve.md +0 -175
- package/dist/registry/workflows/product-building/retrospect.md +0 -86
- package/dist/registry/workflows/product-building/spec.md +0 -303
- package/dist/registry/workflows/product-building/test.md +0 -125
- package/dist/registry/workflows/productivity-report/productivity-report.md +0 -263
- package/dist/registry/workflows/quality-assurance/browser-validation.md +0 -221
- package/dist/registry/workflows/quality-assurance/iterative-improvement-cycle.md +0 -562
- package/dist/registry/workflows/replicate/replicate-discovery.md +0 -336
- package/dist/registry/workflows/replicate/replicate-to-issues.md +0 -319
- package/dist/registry/workflows/reviewer/review-implementation-vs-design-spec.md +0 -694
- package/dist/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -734
- package/dist/registry/workflows/startup-credits/aws-activate-application.md +0 -535
- package/dist/registry/workflows/startup-credits/google-cloud-application.md +0 -647
- package/dist/registry/workflows/startup-credits/microsoft-azure-application.md +0 -538
|
@@ -1,146 +0,0 @@
|
|
|
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
|
|
@@ -1,203 +0,0 @@
|
|
|
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
|
|
@@ -1,312 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
{
|
|
3
|
-
"name": "user-survey-dispatch",
|
|
4
|
-
"initialPhase": "survey-scoping",
|
|
5
|
-
"phases": {
|
|
6
|
-
"survey-scoping": {
|
|
7
|
-
"onSuccess": "survey-build-linkedin",
|
|
8
|
-
"onFailure": "survey-scoping"
|
|
9
|
-
},
|
|
10
|
-
"survey-build-linkedin": {
|
|
11
|
-
"onSuccess": "survey-build-reddit",
|
|
12
|
-
"onFailure": "survey-scoping"
|
|
13
|
-
},
|
|
14
|
-
"survey-build-reddit": {
|
|
15
|
-
"onSuccess": "survey-build-x",
|
|
16
|
-
"onFailure": "survey-scoping"
|
|
17
|
-
},
|
|
18
|
-
"survey-build-x": {
|
|
19
|
-
"onSuccess": "survey-build-facebook",
|
|
20
|
-
"onFailure": "survey-scoping"
|
|
21
|
-
},
|
|
22
|
-
"survey-build-facebook": {
|
|
23
|
-
"onSuccess": "survey-build-custom",
|
|
24
|
-
"onFailure": "survey-scoping"
|
|
25
|
-
},
|
|
26
|
-
"survey-build-custom": {
|
|
27
|
-
"onSuccess": "survey-dispatch",
|
|
28
|
-
"onFailure": "survey-scoping"
|
|
29
|
-
},
|
|
30
|
-
"survey-dispatch": {
|
|
31
|
-
"onSuccess": null,
|
|
32
|
-
"onFailure": "survey-dispatch"
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
---
|
|
37
|
-
# FRAIM Workflow: user-survey-dispatch
|
|
38
|
-
|
|
39
|
-
## Workflow Activation
|
|
40
|
-
Start by calling the mentor to track your progress:
|
|
41
|
-
|
|
42
|
-
```javascript
|
|
43
|
-
seekMentoring({
|
|
44
|
-
workflowType: "user-survey-dispatch",
|
|
45
|
-
issueNumber: "{issue_number}",
|
|
46
|
-
currentPhase: "survey-scoping",
|
|
47
|
-
status: "starting"
|
|
48
|
-
})
|
|
49
|
-
```
|
|
50
|
-
|
|
51
|
-
## Intent
|
|
52
|
-
Engage target audiences across multiple social platforms through structured polls and surveys to gather quantitative and qualitative insights for product validation.
|
|
53
|
-
|
|
54
|
-
## Overview
|
|
55
|
-
This workflow guides you through formulating the right questions, tailoring them for different platforms (LinkedIn, Reddit, X, etc.), and executing the distribution using browser automation.
|
|
56
|
-
|
|
57
|
-
## Roles & Responsibilities
|
|
58
|
-
To ensure smooth execution, this workflow divides tasks between the AI Agent and the User.
|
|
59
|
-
|
|
60
|
-
### 🤖 Agent Responsibilities
|
|
61
|
-
- **Strategy**: Define survey goals, questions, and platforms.
|
|
62
|
-
- **Content Creation**: Draft high-quality post copy and poll options.
|
|
63
|
-
- **Browser Automation**: Open the browser, navigate to platforms, and **draft** the content into the post editor.
|
|
64
|
-
- **Context**: Provide specific copy-paste text if automation fails.
|
|
65
|
-
|
|
66
|
-
### 👤 User Responsibilities
|
|
67
|
-
- **Authentication**: Log in to social platforms (LinkedIn, Reddit, X) if the session is expired.
|
|
68
|
-
- **Verification**: Visually confirm the post text and poll options in the browser.
|
|
69
|
-
- **Final Action**: Click the "Post" or "Tweet" button manually.
|
|
70
|
-
- **Validation**: Explicitly confirm to the agent that the task is done.
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Phase: survey-scoping
|
|
75
|
-
|
|
76
|
-
### Objective
|
|
77
|
-
Define the survey's goals, target audience characteristics, and formulate a set of refined questions optimized for audience segmentation and actionable insights.
|
|
78
|
-
|
|
79
|
-
### Key Questions to Ask
|
|
80
|
-
|
|
81
|
-
#### Goal Alignment
|
|
82
|
-
1. "What is the single most important thing you want to learn from this survey?"
|
|
83
|
-
2. "How will the answers to these questions change your product roadmap or strategy?"
|
|
84
|
-
3. "Are you looking for qualitative feedback (stories/pain points) or quantitative data (stats/preferences)?"
|
|
85
|
-
|
|
86
|
-
#### Audience Definition
|
|
87
|
-
4. "Who specifically should be answering this survey? (Job titles, interests, communities)"
|
|
88
|
-
5. "What background knowledge should the respondent have?"
|
|
89
|
-
|
|
90
|
-
#### Question Design
|
|
91
|
-
6. "Which question will help you disqualify respondents who are NOT in your target market?"
|
|
92
|
-
7. "How can we phrase these questions to avoid leading the witness or bias?"
|
|
93
|
-
8. "What specific 'demographic' or 'psychographic' data points do you need (e.g., industry, company size, frequency of problem)?"
|
|
94
|
-
|
|
95
|
-
### Validation Criteria
|
|
96
|
-
|
|
97
|
-
#### Scope Definition
|
|
98
|
-
- [ ] Primary research goal clearly articulated.
|
|
99
|
-
- [ ] Target segment defined with specific characteristics.
|
|
100
|
-
- [ ] Success metrics for the survey (e.g., number of responses, specific insights) established.
|
|
101
|
-
|
|
102
|
-
#### Question Quality
|
|
103
|
-
- [ ] Disqualification question included to filter non-target respondents.
|
|
104
|
-
- [ ] Questions are open-ended for qualitative phases.
|
|
105
|
-
- [ ] Binary or Scale-based questions included for quantitative phases.
|
|
106
|
-
- [ ] Total number of questions is limited to maximize completion rates (usually < 5 for social polls).
|
|
107
|
-
|
|
108
|
-
### Report Back:
|
|
109
|
-
When you complete this phase, call:
|
|
110
|
-
|
|
111
|
-
```javascript
|
|
112
|
-
seekMentoring({
|
|
113
|
-
workflowType: "user-survey-dispatch",
|
|
114
|
-
issueNumber: "{issue_number}",
|
|
115
|
-
currentPhase: "survey-scoping",
|
|
116
|
-
status: "complete",
|
|
117
|
-
evidence: {
|
|
118
|
-
planPath: "docs/surveys/{id}-survey-plan.md"
|
|
119
|
-
}
|
|
120
|
-
})
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## Phase: survey-build-linkedin
|
|
126
|
-
|
|
127
|
-
{{include:orchestration/parallelization-guidance.md}}
|
|
128
|
-
|
|
129
|
-
### Objective
|
|
130
|
-
Generate LinkedIn-optimized survey content, including professional post copy and poll options.
|
|
131
|
-
|
|
132
|
-
### Key Actions
|
|
133
|
-
1. **Optimize for Feed**: Write a hook that stops the scroll for professionals.
|
|
134
|
-
2. **Poll Configuration**: Define clear, mutually exclusive poll options (max 30 chars per option).
|
|
135
|
-
3. **Hashtag Strategy**: Identify 3-5 high-reach professional hashtags.
|
|
136
|
-
4. **Call to Action**: Encourage comments for deeper qualitative feedback.
|
|
137
|
-
|
|
138
|
-
### Report Back:
|
|
139
|
-
When you complete this phase, call:
|
|
140
|
-
|
|
141
|
-
```javascript
|
|
142
|
-
seekMentoring({
|
|
143
|
-
workflowType: "user-survey-dispatch",
|
|
144
|
-
issueNumber: "{issue_number}",
|
|
145
|
-
currentPhase: "survey-build-linkedin",
|
|
146
|
-
status: "complete",
|
|
147
|
-
evidence: {
|
|
148
|
-
postCopy: "LinkedIn post content",
|
|
149
|
-
pollOptions: ["Option 1", "Option 2"]
|
|
150
|
-
}
|
|
151
|
-
})
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
---
|
|
155
|
-
|
|
156
|
-
## Phase: survey-build-reddit
|
|
157
|
-
|
|
158
|
-
### Objective
|
|
159
|
-
Generate Reddit-specific posts for targeted subreddits, ensuring compliance with community rules and "Reddiquette."
|
|
160
|
-
|
|
161
|
-
### Key Actions
|
|
162
|
-
1. **Subreddit Selection**: Identify 2-3 specific subreddits (e.g., /r/startups, /r/SaaS).
|
|
163
|
-
2. **Rule Verification**: Read the "About" section or Wiki of target subreddits to check rules.
|
|
164
|
-
3. **Conversational Tone**: Use a less formal, more community-oriented tone.
|
|
165
|
-
4. **Value First**: Explicitly state why the community should care.
|
|
166
|
-
|
|
167
|
-
### Report Back:
|
|
168
|
-
When you complete this phase, call:
|
|
169
|
-
|
|
170
|
-
```javascript
|
|
171
|
-
seekMentoring({
|
|
172
|
-
workflowType: "user-survey-dispatch",
|
|
173
|
-
issueNumber: "{issue_number}",
|
|
174
|
-
currentPhase: "survey-build-reddit",
|
|
175
|
-
status: "complete",
|
|
176
|
-
evidence: {
|
|
177
|
-
subreddit: "/r/startups",
|
|
178
|
-
postCopy: "Reddit post content"
|
|
179
|
-
}
|
|
180
|
-
})
|
|
181
|
-
```
|
|
182
|
-
|
|
183
|
-
---
|
|
184
|
-
|
|
185
|
-
## Phase: survey-build-x
|
|
186
|
-
|
|
187
|
-
### Objective
|
|
188
|
-
Generate short-form, high-engagement content for X (Twitter), including poll copy or threaded questions.
|
|
189
|
-
|
|
190
|
-
### Key Actions
|
|
191
|
-
1. **Brevity**: Ensure copy fits within character limits (280 characters).
|
|
192
|
-
2. **Engagement Hook**: Create a concise "Question of the Day" format.
|
|
193
|
-
3. **Poll Duration**: Recommend optimal poll duration (e.g., 24 hours or 7 days).
|
|
194
|
-
|
|
195
|
-
### Report Back:
|
|
196
|
-
When you complete this phase, call:
|
|
197
|
-
|
|
198
|
-
```javascript
|
|
199
|
-
seekMentoring({
|
|
200
|
-
workflowType: "user-survey-dispatch",
|
|
201
|
-
issueNumber: "{issue_number}",
|
|
202
|
-
currentPhase: "survey-build-x",
|
|
203
|
-
status: "complete",
|
|
204
|
-
evidence: {
|
|
205
|
-
tweetCopy: "X post content"
|
|
206
|
-
}
|
|
207
|
-
})
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
## Phase: survey-build-facebook
|
|
213
|
-
|
|
214
|
-
### Objective
|
|
215
|
-
Generate content for Facebook Groups or Profiles, focusing on community engagement and personal networking.
|
|
216
|
-
|
|
217
|
-
### Key Actions
|
|
218
|
-
1. **Group Identification**: List target Facebook Groups.
|
|
219
|
-
2. **Contextual Hook**: Frame the survey as a "seeking advice" post.
|
|
220
|
-
3. **Admin Check**: Remind the user to check with Group Admins if required.
|
|
221
|
-
|
|
222
|
-
### Report Back:
|
|
223
|
-
When you complete this phase, call:
|
|
224
|
-
|
|
225
|
-
```javascript
|
|
226
|
-
seekMentoring({
|
|
227
|
-
workflowType: "user-survey-dispatch",
|
|
228
|
-
issueNumber: "{issue_number}",
|
|
229
|
-
currentPhase: "survey-build-facebook",
|
|
230
|
-
status: "complete",
|
|
231
|
-
evidence: {
|
|
232
|
-
groupName: "GroupName",
|
|
233
|
-
postCopy: "Facebook post content"
|
|
234
|
-
}
|
|
235
|
-
})
|
|
236
|
-
```
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
## Phase: survey-build-custom
|
|
241
|
-
|
|
242
|
-
### Objective
|
|
243
|
-
Assess the need for additional platforms (Discord, Slack, Instagram) and generate custom copy accordingly.
|
|
244
|
-
|
|
245
|
-
### Report Back:
|
|
246
|
-
When you complete this phase, call:
|
|
247
|
-
|
|
248
|
-
```javascript
|
|
249
|
-
seekMentoring({
|
|
250
|
-
workflowType: "user-survey-dispatch",
|
|
251
|
-
issueNumber: "{issue_number}",
|
|
252
|
-
currentPhase: "survey-build-custom",
|
|
253
|
-
status: "complete",
|
|
254
|
-
evidence: {
|
|
255
|
-
platform: "Discord/Slack",
|
|
256
|
-
postCopy: "Markdown content"
|
|
257
|
-
}
|
|
258
|
-
})
|
|
259
|
-
```
|
|
260
|
-
|
|
261
|
-
---
|
|
262
|
-
|
|
263
|
-
## Phase: survey-dispatch
|
|
264
|
-
|
|
265
|
-
{{include:orchestration/parallelization-guidance.md}}
|
|
266
|
-
|
|
267
|
-
### Objective
|
|
268
|
-
Execute the survey distribution across the prepared platforms using browser automation (Playwright).
|
|
269
|
-
|
|
270
|
-
### 🛑 CRITICAL VALIDATION RULE
|
|
271
|
-
The Agent must **NEVER** mark this phase as `complete` until the User has explicitly confirmed the post has been published.
|
|
272
|
-
|
|
273
|
-
### Agent Instructions (Playwright)
|
|
274
|
-
**CRITICAL**: Use Playwright MCP tools to interact with platforms. Do NOT rely on hard-coded selectors.
|
|
275
|
-
|
|
276
|
-
#### Pre-Authentication (Before Starting)
|
|
277
|
-
**BEFORE beginning dispatch**, ask the user to log in to ALL required platforms simultaneously:
|
|
278
|
-
- "Please log in to LinkedIn, Reddit, X (Twitter), and Facebook in separate browser tabs. Let me know when all platforms are authenticated and ready."
|
|
279
|
-
|
|
280
|
-
**Then proceed systematically through each platform** without stopping for authentication issues.
|
|
281
|
-
|
|
282
|
-
#### General Dispatch Process
|
|
283
|
-
1. **Navigate**: Go to the platform URL.
|
|
284
|
-
2. **Login Verification**: If login form is visible, ask user: "I need you to log in to [Platform Name]. Please complete the login and let me know when it's ready." **Wait for confirmation before continuing.**
|
|
285
|
-
3. **Drafting**: Locate the "Start a post" or "Create post" button and open the editor.
|
|
286
|
-
4. **Filling**: Enter the copy generated in previous phases into the post editor.
|
|
287
|
-
5. **Poll Creation**: Click the "Add Poll" button and fill in options (if automation supports it).
|
|
288
|
-
6. **Fallback**: If automation fails (e.g., complex dialogs, authentication issues), **immediately provide the text and options in the chat** for the user to copy-paste.
|
|
289
|
-
7. **Hand-off**: Ask the user: *"I have drafted the post. Please check the browser, complete any missing details, and click Post. Let me know when you are done."*
|
|
290
|
-
8. **Systematic Execution**: Complete each platform fully before moving to the next. Do not skip platforms or give up due to login issues.
|
|
291
|
-
9. **Completion**: Only call `seekMentoring(status: "complete")` **AFTER** the user says "Done", "Posted", or explicitly confirms publication for all platforms.
|
|
292
|
-
|
|
293
|
-
#### Platform-Specific Guidance
|
|
294
|
-
- **LinkedIn**: Look for `button[name="Start a post"]` and the "Create a poll" icon.
|
|
295
|
-
- **Reddit**: Navigate to `reddit.com/r/[subreddit]/submit` and select the "Poll" or "Post" tab.
|
|
296
|
-
- **X (Twitter)**: Locate the "Post" button or the large "What is happening?!" textbox and click the "Poll" icon.
|
|
297
|
-
|
|
298
|
-
### Report Back:
|
|
299
|
-
When you complete this phase (only after user confirmation), call:
|
|
300
|
-
|
|
301
|
-
```javascript
|
|
302
|
-
seekMentoring({
|
|
303
|
-
workflowType: "user-survey-dispatch",
|
|
304
|
-
issueNumber: "{issue_number}",
|
|
305
|
-
currentPhase: "survey-dispatch",
|
|
306
|
-
status: "complete",
|
|
307
|
-
evidence: {
|
|
308
|
-
platformDispatched: ["LinkedIn", "Reddit", "X"],
|
|
309
|
-
postUrls: ["url1", "url2"]
|
|
310
|
-
}
|
|
311
|
-
})
|
|
312
|
-
```
|