fraim-framework 2.0.36 → 2.0.38
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 +5 -52
- package/dist/registry/scripts/build-scripts-generator.js +205 -0
- package/dist/registry/scripts/fraim-config.js +61 -0
- package/dist/registry/scripts/generic-issues-api.js +100 -0
- package/dist/registry/scripts/openapi-generator.js +664 -0
- package/dist/registry/scripts/performance/profile-server.js +390 -0
- package/dist/scripts/build-stub-registry.js +108 -0
- package/dist/src/cli/commands/doctor.js +5 -5
- package/dist/src/cli/commands/init-project.js +74 -0
- package/dist/src/cli/commands/setup.js +176 -0
- package/dist/src/cli/commands/sync.js +33 -19
- package/dist/src/cli/commands/test-mcp.js +135 -0
- package/dist/src/cli/fraim.js +6 -0
- package/dist/src/cli/setup/auto-mcp-setup.js +367 -0
- package/dist/src/cli/setup/ide-detector.js +163 -0
- package/dist/src/cli/setup/mcp-config-generator.js +115 -0
- package/dist/src/cli/setup/token-validator.js +49 -0
- package/dist/test-utils.js +96 -0
- package/dist/tests/debug-tools.js +2 -2
- package/dist/tests/esm-compat.js +11 -0
- package/dist/tests/shared-server-utils.js +57 -0
- package/dist/tests/test-chalk-esm-issue.js +159 -0
- package/dist/tests/test-chalk-real-world.js +265 -0
- package/dist/tests/test-chalk-regression.js +2 -18
- package/dist/tests/test-chalk-resolution-issue.js +304 -0
- package/dist/tests/test-client-scripts-validation.js +27 -5
- package/dist/tests/test-complete-setup-flow.js +110 -0
- package/dist/tests/test-fraim-install-chalk-issue.js +254 -0
- package/dist/tests/test-ide-detector.js +46 -0
- package/dist/tests/test-improved-setup.js +121 -0
- package/dist/tests/test-mcp-config-generator.js +70 -0
- package/dist/tests/test-mcp-connection.js +58 -117
- package/dist/tests/test-mcp-issue-integration.js +2 -2
- package/dist/tests/test-mcp-lifecycle-methods.js +34 -100
- package/dist/tests/test-mcp-shared-server.js +308 -0
- package/dist/tests/test-npm-resolution-diagnostic.js +140 -0
- package/dist/tests/test-package-size.js +101 -0
- package/dist/tests/test-prep-issue.js +34 -1
- package/dist/tests/test-script-location-independence.js +39 -62
- package/dist/tests/test-server-utils.js +32 -0
- package/dist/tests/test-session-rehydration.js +2 -2
- package/dist/tests/test-setup-integration.js +98 -0
- package/dist/tests/test-standalone.js +2 -2
- package/dist/tests/test-stub-registry.js +136 -0
- package/dist/tests/test-sync-stubs.js +143 -0
- package/dist/tests/test-telemetry.js +2 -2
- package/dist/tests/test-token-validator.js +30 -0
- package/dist/tests/test-user-journey.js +2 -1
- package/package.json +7 -9
- package/registry/agent-guardrails.md +62 -62
- package/registry/scripts/code-quality-check.sh +559 -559
- package/registry/scripts/detect-tautological-tests.sh +38 -38
- package/registry/scripts/prep-issue.sh +61 -30
- 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/stubs/workflows/bootstrap/create-architecture.md +11 -0
- package/registry/stubs/workflows/bootstrap/detect-broken-windows.md +11 -0
- package/registry/stubs/workflows/bootstrap/evaluate-code-quality.md +11 -0
- package/registry/stubs/workflows/bootstrap/verify-test-coverage.md +11 -0
- package/registry/stubs/workflows/business-development/create-business-plan.md +11 -0
- package/registry/stubs/workflows/business-development/ideate-business-opportunity.md +11 -0
- package/registry/stubs/workflows/business-development/price-product.md +18 -0
- package/registry/stubs/workflows/convert-to-pdf.md +11 -0
- package/registry/stubs/workflows/customer-development/insight-analysis.md +11 -0
- package/registry/stubs/workflows/customer-development/insight-triage.md +11 -0
- package/registry/stubs/workflows/customer-development/interview-preparation.md +11 -0
- package/registry/stubs/workflows/customer-development/linkedin-outreach.md +11 -0
- package/registry/stubs/workflows/customer-development/strategic-brainstorming.md +11 -0
- package/registry/stubs/workflows/customer-development/thank-customers.md +11 -0
- package/registry/stubs/workflows/customer-development/weekly-newsletter.md +11 -0
- package/registry/stubs/workflows/deploy/cloud-deployment.md +11 -0
- package/registry/stubs/workflows/improve-fraim/contribute.md +11 -0
- package/registry/stubs/workflows/improve-fraim/file-issue.md +11 -0
- package/registry/stubs/workflows/marketing/content-creation.md +11 -0
- package/registry/stubs/workflows/marketing/hbr-article.md +11 -0
- package/registry/stubs/workflows/marketing/launch-checklist.md +11 -0
- package/registry/stubs/workflows/marketing/marketing-strategy.md +11 -0
- package/registry/stubs/workflows/marketing/storytelling.md +11 -0
- package/registry/stubs/workflows/performance/analyze-performance.md +11 -0
- package/registry/stubs/workflows/product-building/design.md +11 -0
- package/registry/stubs/workflows/product-building/implement.md +12 -0
- package/registry/stubs/workflows/product-building/iterate-on-pr-comments.md +11 -0
- package/registry/stubs/workflows/product-building/prep-issue.md +11 -0
- package/registry/stubs/workflows/product-building/prototype.md +11 -0
- package/registry/stubs/workflows/product-building/resolve.md +11 -0
- package/registry/stubs/workflows/product-building/retrospect.md +11 -0
- package/registry/stubs/workflows/product-building/spec.md +11 -0
- package/registry/stubs/workflows/product-building/test.md +11 -0
- package/registry/stubs/workflows/quality-assurance/browser-validation.md +11 -0
- package/registry/stubs/workflows/quality-assurance/iterative-improvement-cycle.md +11 -0
- package/registry/stubs/workflows/replicate/replicate-discovery.md +11 -0
- package/registry/stubs/workflows/replicate/replicate-to-issues.md +11 -0
- package/registry/stubs/workflows/reviewer/review-implementation-vs-design-spec.md +11 -0
- package/registry/stubs/workflows/reviewer/review-implementation-vs-feature-spec.md +11 -0
- package/registry/stubs/workflows/startup-credits/aws-activate-application.md +11 -0
- package/registry/stubs/workflows/startup-credits/google-cloud-application.md +11 -0
- package/registry/stubs/workflows/startup-credits/microsoft-azure-application.md +11 -0
- package/.github/workflows/ci.yml +0 -65
- package/.github/workflows/deploy-fraim.yml +0 -87
- package/.github/workflows/phase-change.yml +0 -251
- package/.github/workflows/status-change.yml +0 -68
- package/.github/workflows/sync-on-pr-review.yml +0 -66
- package/examples/simple-webapp/TESTING.md +0 -62
- package/examples/simple-webapp/example-test.ts +0 -186
- package/registry/github/workflows/ci.yml +0 -51
- package/registry/github/workflows/phase-change.yml +0 -251
- package/registry/github/workflows/status-change.yml +0 -68
- package/registry/github/workflows/sync-on-pr-review.yml +0 -66
- package/registry/mcp-template.jsonc +0 -29
- package/registry/rules/agent-success-criteria.md +0 -52
- package/registry/rules/agent-testing-guidelines.md +0 -502
- package/registry/rules/architecture.md +0 -52
- package/registry/rules/communication.md +0 -122
- package/registry/rules/continuous-learning.md +0 -55
- package/registry/rules/debugging-multitenancy-issues.md +0 -85
- package/registry/rules/ephemeral-execution.md +0 -57
- package/registry/rules/git-safe-commands.md +0 -34
- package/registry/rules/hitl-ppe-record-analysis.md +0 -302
- package/registry/rules/integrity-and-test-ethics.md +0 -275
- package/registry/rules/local-development.md +0 -254
- package/registry/rules/merge-requirements.md +0 -231
- package/registry/rules/simplicity.md +0 -118
- package/registry/rules/software-development-lifecycle.md +0 -105
- package/registry/rules/spike-first-development.md +0 -205
- package/registry/rules/successful-debugging-patterns.md +0 -491
- package/registry/rules/telemetry.md +0 -67
- package/registry/templates/bootstrap/ARCHITECTURE-TEMPLATE.md +0 -53
- package/registry/templates/bootstrap/CODE-QUALITY-REPORT-TEMPLATE.md +0 -37
- package/registry/templates/bootstrap/TEST-COVERAGE-REPORT-TEMPLATE.md +0 -35
- package/registry/templates/business-development/IDEATION-REPORT-TEMPLATE.md +0 -29
- package/registry/templates/business-development/PRICING-STRATEGY-TEMPLATE.md +0 -126
- package/registry/templates/customer-development/customer-interview-template.md +0 -99
- package/registry/templates/customer-development/follow-up-email-templates.md +0 -132
- package/registry/templates/customer-development/insight-analysis-template.md +0 -74
- package/registry/templates/customer-development/strategic-recommendations-template.md +0 -53
- package/registry/templates/customer-development/thank-you-email-template.html +0 -124
- package/registry/templates/customer-development/thank-you-note-template.md +0 -16
- package/registry/templates/customer-development/triage-log-template.md +0 -278
- package/registry/templates/customer-development/weekly-newsletter-template.html +0 -204
- package/registry/templates/evidence/Design-Evidence.md +0 -30
- package/registry/templates/evidence/Implementation-BugEvidence.md +0 -86
- package/registry/templates/evidence/Implementation-FeatureEvidence.md +0 -121
- package/registry/templates/evidence/Spec-Evidence.md +0 -19
- package/registry/templates/help/HelpNeeded.md +0 -14
- package/registry/templates/marketing/HBR-ARTICLE-TEMPLATE.md +0 -66
- package/registry/templates/replicate/implementation-checklist.md +0 -39
- package/registry/templates/replicate/use-cases-template.md +0 -88
- package/registry/templates/retrospective/RETROSPECTIVE-TEMPLATE.md +0 -55
- package/registry/templates/specs/BUGSPEC-TEMPLATE.md +0 -37
- package/registry/templates/specs/FEATURESPEC-TEMPLATE.md +0 -29
- package/registry/templates/specs/TECHSPEC-TEMPLATE.md +0 -39
- package/registry/workflows/bootstrap/create-architecture.md +0 -38
- package/registry/workflows/bootstrap/evaluate-code-quality.md +0 -36
- package/registry/workflows/bootstrap/verify-test-coverage.md +0 -37
- package/registry/workflows/business-development/create-business-plan.md +0 -737
- package/registry/workflows/business-development/ideate-business-opportunity.md +0 -55
- package/registry/workflows/business-development/price-product.md +0 -325
- package/registry/workflows/convert-to-pdf.md +0 -235
- package/registry/workflows/customer-development/insight-analysis.md +0 -156
- package/registry/workflows/customer-development/insight-triage.md +0 -933
- package/registry/workflows/customer-development/interview-preparation.md +0 -421
- package/registry/workflows/customer-development/linkedin-outreach.md +0 -593
- package/registry/workflows/customer-development/strategic-brainstorming.md +0 -146
- package/registry/workflows/customer-development/thank-customers.md +0 -203
- package/registry/workflows/customer-development/weekly-newsletter.md +0 -366
- package/registry/workflows/deploy/cloud-deployment.md +0 -310
- package/registry/workflows/improve-fraim/contribute.md +0 -32
- package/registry/workflows/improve-fraim/file-issue.md +0 -32
- package/registry/workflows/marketing/content-creation.md +0 -37
- package/registry/workflows/marketing/hbr-article.md +0 -73
- package/registry/workflows/marketing/launch-checklist.md +0 -37
- package/registry/workflows/marketing/marketing-strategy.md +0 -45
- package/registry/workflows/performance/analyze-performance.md +0 -65
- package/registry/workflows/product-building/design.md +0 -130
- package/registry/workflows/product-building/implement.md +0 -315
- package/registry/workflows/product-building/iterate-on-pr-comments.md +0 -70
- package/registry/workflows/product-building/prep-issue.md +0 -43
- package/registry/workflows/product-building/prototype.md +0 -60
- package/registry/workflows/product-building/resolve.md +0 -164
- package/registry/workflows/product-building/retrospect.md +0 -86
- package/registry/workflows/product-building/spec.md +0 -117
- package/registry/workflows/product-building/test.md +0 -120
- package/registry/workflows/quality-assurance/browser-validation.md +0 -221
- package/registry/workflows/quality-assurance/iterative-improvement-cycle.md +0 -562
- package/registry/workflows/replicate/replicate-discovery.md +0 -336
- package/registry/workflows/replicate/replicate-to-issues.md +0 -319
- package/registry/workflows/reviewer/review-implementation-vs-design-spec.md +0 -632
- package/registry/workflows/reviewer/review-implementation-vs-feature-spec.md +0 -669
- package/registry/workflows/startup-credits/aws-activate-application.md +0 -535
- package/registry/workflows/startup-credits/google-cloud-application.md +0 -647
- package/registry/workflows/startup-credits/microsoft-azure-application.md +0 -538
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
# Workflow: ideate-business-opportunity
|
|
2
|
-
|
|
3
|
-
**Path:** `workflows/business-development/ideate-business-opportunity.md`
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Ideate Business Opportunity Phase
|
|
8
|
-
|
|
9
|
-
## INTENT
|
|
10
|
-
To help founders and product owners navigate the broad, fuzzy front-end of product development. This workflow guides the transition from a "vague space" to "concrete feature deliverables" through interactive brainstorming and research.
|
|
11
|
-
|
|
12
|
-
## PRINCIPLES
|
|
13
|
-
- **Interactive Exploration**: This is not a one-shot process. It requires multiple cycles of feedback.
|
|
14
|
-
- **Founder-Led**: The founder's intuition is the compass; the agent provides the map and vehicle.
|
|
15
|
-
- **Outcome-Oriented**: The goal is NOT just a list of ideas, but a prioritized, repo-ready backlog.
|
|
16
|
-
- **Divergent Thinking**:
|
|
17
|
-
- **Defer Judgment**: Do not criticize or discard ideas in the early stages.
|
|
18
|
-
- **Go for Volume**: Quantity often leads to quality. Aim for a wide range of options.
|
|
19
|
-
- **Cross-Pollinate**: Combine unrelated concepts or industries to find unique angles.
|
|
20
|
-
- **Challenge Constraints**: Ask "What if X wasn't a limitation?"
|
|
21
|
-
- **Interactive Refinement**: Use feedback to branch into new directions, even if they seem tangential.
|
|
22
|
-
|
|
23
|
-
## IDEATION WORKFLOW
|
|
24
|
-
|
|
25
|
-
### Step 1: Broad Mapping (Divergent)
|
|
26
|
-
- Ask the founder for their initial "Spark" or "Space".
|
|
27
|
-
- **Exploration Protocol**:
|
|
28
|
-
- When an idea is proposed, respond with 3-5 distinct "What if" scenarios or variations.
|
|
29
|
-
- Avoid saying "That's not possible" or "That's too expensive" during this stage.
|
|
30
|
-
- Use tools to describe or visualize the space before narrowing down.
|
|
31
|
-
- Generate 3-5 distinct sub-spaces or "angles" within that spark.
|
|
32
|
-
- **Exit Criteria**: Founder chooses 1-2 directions to explore further.
|
|
33
|
-
|
|
34
|
-
### Step 2: Interactive Research & Validation
|
|
35
|
-
- For the chosen directions, research:
|
|
36
|
-
- Existing competitors (even indirect ones).
|
|
37
|
-
- Potential user personas.
|
|
38
|
-
- Technical feasibility (high-level).
|
|
39
|
-
- Present findings and ask for "Pivot or Persevere" feedback.
|
|
40
|
-
|
|
41
|
-
### Step 3: Feature Synthesis (Convergent)
|
|
42
|
-
- Based on the validated direction, brainstorm a set of potential features.
|
|
43
|
-
- Map features against: **Complexity** vs. **Value**.
|
|
44
|
-
- **Exit Criteria**: Founder approves a "Hero" feature and 3-5 supporting features.
|
|
45
|
-
|
|
46
|
-
### Step 4: Repository Documentation
|
|
47
|
-
- Formalize the findings into a report.
|
|
48
|
-
- **ACTION**: Call `get_fraim_file({ path: "templates/business-development/IDEATION-REPORT-TEMPLATE.md" })`.
|
|
49
|
-
- Create `docs/ideation/{YYYYMMDD}-{project-name}.md`.
|
|
50
|
-
- **Outcome**: A file that a PM agent can use to write `specs`.
|
|
51
|
-
|
|
52
|
-
## OUTPUT
|
|
53
|
-
- `docs/ideation/[project].md`
|
|
54
|
-
- Prioritized Feature Backlog
|
|
55
|
-
- High-level Vision & Persona Map
|
|
@@ -1,325 +0,0 @@
|
|
|
1
|
-
## INTENT
|
|
2
|
-
|
|
3
|
-
To create a comprehensive **pricing + packaging strategy** for any product that:
|
|
4
|
-
|
|
5
|
-
* clarifies who the product is for and what outcomes it delivers,
|
|
6
|
-
* defines SKUs, tiers, add-ons, and the pricing metric,
|
|
7
|
-
* ties pricing to unit economics and scalability,
|
|
8
|
-
* and positions the product clearly against competitors and substitutes.
|
|
9
|
-
|
|
10
|
-
---
|
|
11
|
-
|
|
12
|
-
## PRINCIPLES
|
|
13
|
-
|
|
14
|
-
* **Outcome-first**: Price and packaging must map to customer outcomes, not features
|
|
15
|
-
* **Simple packaging**: Fewer SKUs, clearer upgrade path, lower decision friction
|
|
16
|
-
* **Credible claims**: Use evidence, ranges, and benchmarks; avoid brittle promises
|
|
17
|
-
* **Economic grounding**: Every SKU must connect to COGS, margin targets, and scalability limits
|
|
18
|
-
* **Competitive honesty**: Don’t invent competitor pricing; cite sources or state “not public”
|
|
19
|
-
* **Procurement-friendly**: Prefer predictable add-ons/tiers over opaque metered token pricing
|
|
20
|
-
* **Reusable framework**: The same structure should work for B2B, B2C, SaaS, services, and hybrid models
|
|
21
|
-
* **Citations required**: All competitive facts should be sourced with dates
|
|
22
|
-
|
|
23
|
-
---
|
|
24
|
-
|
|
25
|
-
## WORKFLOW OVERVIEW
|
|
26
|
-
|
|
27
|
-
This workflow produces a single comprehensive document (`docs/business-development/pricing-strategy.md`) that follows the template in `templates/business-development/PRICING-STRATEGY-TEMPLATE.md`.
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
## STEP-BY-STEP WORKFLOW
|
|
32
|
-
|
|
33
|
-
### Step 1: Product Context Gathering
|
|
34
|
-
|
|
35
|
-
**Objective:** Understand the product, buyer, and constraints.
|
|
36
|
-
|
|
37
|
-
**Actions:**
|
|
38
|
-
|
|
39
|
-
1. Capture product one-liner and primary outcomes
|
|
40
|
-
2. Identify who pays vs who uses (buyer vs end user)
|
|
41
|
-
3. Define product type: SaaS, usage-based, services, hybrid
|
|
42
|
-
4. Capture current stage: MVP/beta/GA and current pricing (if any)
|
|
43
|
-
5. Capture business constraints:
|
|
44
|
-
|
|
45
|
-
* margin targets
|
|
46
|
-
* delivery capacity (if services/hybrid)
|
|
47
|
-
* sales motion (self-serve vs sales-led)
|
|
48
|
-
* contract constraints (annual, PO, procurement)
|
|
49
|
-
|
|
50
|
-
**Output:** Product context section (10–20 bullets)
|
|
51
|
-
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
### Step 2: Customer Segmentation (ICP + willingness-to-pay)
|
|
55
|
-
|
|
56
|
-
**Objective:** Identify 3–7 segments with different value and pricing sensitivity.
|
|
57
|
-
|
|
58
|
-
**Process:**
|
|
59
|
-
|
|
60
|
-
1. Brainstorm segments by pain intensity and frequency
|
|
61
|
-
2. Score each segment:
|
|
62
|
-
|
|
63
|
-
* Pain intensity
|
|
64
|
-
* Frequency of use
|
|
65
|
-
* Budget owner clarity
|
|
66
|
-
* Willingness to pay
|
|
67
|
-
* Ease of reach (distribution)
|
|
68
|
-
* Competitive alternatives
|
|
69
|
-
3. Select 2–4 priority segments (tip-of-the-spear)
|
|
70
|
-
4. For each segment document:
|
|
71
|
-
|
|
72
|
-
* Customer profile
|
|
73
|
-
* Job-to-be-done
|
|
74
|
-
* Core pains
|
|
75
|
-
* Current alternatives
|
|
76
|
-
* Buying process and budget source
|
|
77
|
-
* Success metrics they care about
|
|
78
|
-
|
|
79
|
-
**Output:** Segment cards + segment comparison table
|
|
80
|
-
|
|
81
|
-
---
|
|
82
|
-
|
|
83
|
-
### Step 3: Outcome Narrative (the “why” before pricing)
|
|
84
|
-
|
|
85
|
-
**Objective:** Build an exec-readable narrative that sets up the pricing table.
|
|
86
|
-
|
|
87
|
-
**Actions:**
|
|
88
|
-
|
|
89
|
-
1. Write a headline framing value (speed, cost, quality, risk reduction, revenue)
|
|
90
|
-
2. Explain why outcomes vary with usage maturity (if applicable)
|
|
91
|
-
3. Describe the customer journey in 3 “paths” or “maturity levels” (optional but powerful):
|
|
92
|
-
|
|
93
|
-
* Self-serve power user
|
|
94
|
-
* Guided/coached adopter
|
|
95
|
-
* Managed delivery / done-for-you (if offered)
|
|
96
|
-
4. Add a clear CTA (“If you’re here and want to be there…”)
|
|
97
|
-
|
|
98
|
-
**Output:** One-page narrative suitable for a brochure
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
### Step 4: Define Packaging (SKUs, tiers, and boundaries)
|
|
103
|
-
|
|
104
|
-
**Objective:** Create a SKU/tier map that is simple and scalable.
|
|
105
|
-
|
|
106
|
-
**Actions:**
|
|
107
|
-
|
|
108
|
-
1. Define 3–6 SKUs by **customer need** (e.g., role-based, module-based, team-based, use-case-based)
|
|
109
|
-
2. Define tiers (Good/Better/Best) or maturity tiers (Self-serve / Guided / Managed)
|
|
110
|
-
3. For each SKU/tier define:
|
|
111
|
-
|
|
112
|
-
* Outcomes delivered
|
|
113
|
-
* Included capabilities
|
|
114
|
-
* Exclusions/limits (what’s not included)
|
|
115
|
-
* Primary success metrics
|
|
116
|
-
* Who it’s for (buyer/user)
|
|
117
|
-
4. Ensure upgrade path is explicit:
|
|
118
|
-
|
|
119
|
-
* When to move up a tier
|
|
120
|
-
* What triggers expansion (more users, more volume, more scope)
|
|
121
|
-
|
|
122
|
-
**Output:** SKU catalog + tier comparison table
|
|
123
|
-
|
|
124
|
-
---
|
|
125
|
-
|
|
126
|
-
### Step 5: Choose a Pricing Metric (what you charge “per”)
|
|
127
|
-
|
|
128
|
-
**Objective:** Pick a pricing unit that scales with value and is hard to game.
|
|
129
|
-
|
|
130
|
-
**Common metrics (choose 1 primary):**
|
|
131
|
-
|
|
132
|
-
* Per user / seat
|
|
133
|
-
* Per team / workspace
|
|
134
|
-
* Per project
|
|
135
|
-
* Per workflow/run
|
|
136
|
-
* Per asset (e.g., report, doc, build, analysis)
|
|
137
|
-
* Per integration
|
|
138
|
-
* % of spend / % of savings (rare; needs strong proof)
|
|
139
|
-
* Tiered capacity bundles (recommended for predictability)
|
|
140
|
-
|
|
141
|
-
**Selection criteria:**
|
|
142
|
-
|
|
143
|
-
* Aligns with value
|
|
144
|
-
* Understandable to buyers
|
|
145
|
-
* Predictable billing
|
|
146
|
-
* Resistant to abuse
|
|
147
|
-
* Matches cost-to-serve drivers
|
|
148
|
-
|
|
149
|
-
**Output:** Pricing metric decision + rationale + alternatives rejected
|
|
150
|
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
### Step 6: Build the Price List (tables first, numbers second)
|
|
154
|
-
|
|
155
|
-
**Objective:** Produce clean pricing tables and packaging rules.
|
|
156
|
-
|
|
157
|
-
**Actions:**
|
|
158
|
-
|
|
159
|
-
1. Start with a single “hero” table (e.g., 3 columns × 3 rows):
|
|
160
|
-
|
|
161
|
-
* Columns = tiers/maturity levels
|
|
162
|
-
* Rows = what you get (outcomes), what you save/earn, what you pay
|
|
163
|
-
2. Expand into:
|
|
164
|
-
|
|
165
|
-
* SKU × tier grid (if needed)
|
|
166
|
-
* Add-on list
|
|
167
|
-
3. Define discounting:
|
|
168
|
-
|
|
169
|
-
* annual prepay discount
|
|
170
|
-
* volume discount principles
|
|
171
|
-
* partner/channel margins (if relevant)
|
|
172
|
-
|
|
173
|
-
**Output:** Pricing tables + add-ons + discount rules
|
|
174
|
-
|
|
175
|
-
---
|
|
176
|
-
|
|
177
|
-
### Step 7: Unit Economics + Scalability Model
|
|
178
|
-
|
|
179
|
-
**Objective:** Ensure pricing is profitable, defensible, and scalable.
|
|
180
|
-
|
|
181
|
-
**Actions:**
|
|
182
|
-
|
|
183
|
-
1. Identify COGS drivers:
|
|
184
|
-
|
|
185
|
-
* compute/infrastructure
|
|
186
|
-
* support burden
|
|
187
|
-
* onboarding/training
|
|
188
|
-
* professional services / delivery labor
|
|
189
|
-
* third-party fees
|
|
190
|
-
2. For each SKU/tier estimate:
|
|
191
|
-
|
|
192
|
-
* expected usage / volume
|
|
193
|
-
* expected support hours
|
|
194
|
-
* expected compute cost
|
|
195
|
-
* gross margin target
|
|
196
|
-
3. Model edge cases:
|
|
197
|
-
|
|
198
|
-
* power users
|
|
199
|
-
* low-usage churners
|
|
200
|
-
* heavy-support customers
|
|
201
|
-
4. Define guardrails:
|
|
202
|
-
|
|
203
|
-
* caps
|
|
204
|
-
* fair-use limits
|
|
205
|
-
* paid add-on packs for overflow
|
|
206
|
-
* staffing ratios (if managed services)
|
|
207
|
-
|
|
208
|
-
**Output:** Unit economics assumptions table + margin estimates by SKU/tier
|
|
209
|
-
|
|
210
|
-
---
|
|
211
|
-
|
|
212
|
-
### Step 8: Competitive Landscape & Positioning (research required)
|
|
213
|
-
|
|
214
|
-
**Objective:** Build a credible pricing/positioning story vs alternatives.
|
|
215
|
-
|
|
216
|
-
**Actions:**
|
|
217
|
-
|
|
218
|
-
1. Identify 10–20 competitors/substitutes across:
|
|
219
|
-
|
|
220
|
-
* direct competitors
|
|
221
|
-
* adjacent tools
|
|
222
|
-
* “do nothing/manual”
|
|
223
|
-
* agencies/contractors (if relevant)
|
|
224
|
-
2. For each competitor:
|
|
225
|
-
|
|
226
|
-
* what they sell
|
|
227
|
-
* who buys
|
|
228
|
-
* pricing model (cite sources, include dates)
|
|
229
|
-
* strengths/weaknesses vs your product
|
|
230
|
-
3. Synthesize:
|
|
231
|
-
|
|
232
|
-
* differentiation pillars (3–5)
|
|
233
|
-
* win/loss reasons
|
|
234
|
-
* objection handling talk tracks
|
|
235
|
-
|
|
236
|
-
**Output:** Competitive matrix + positioning section (with citations)
|
|
237
|
-
|
|
238
|
-
---
|
|
239
|
-
|
|
240
|
-
### Step 9: Risks, Objections, and Mitigations
|
|
241
|
-
|
|
242
|
-
**Objective:** Preempt the hardest questions and reduce churn risk.
|
|
243
|
-
|
|
244
|
-
**Actions:**
|
|
245
|
-
|
|
246
|
-
* Identify 5–10 risks:
|
|
247
|
-
|
|
248
|
-
* credibility of claims
|
|
249
|
-
* adoption friction
|
|
250
|
-
* pricing confusion
|
|
251
|
-
* margin erosion
|
|
252
|
-
* scaling services
|
|
253
|
-
* procurement/security concerns
|
|
254
|
-
* competitor response
|
|
255
|
-
* For each:
|
|
256
|
-
|
|
257
|
-
* impact
|
|
258
|
-
* mitigation
|
|
259
|
-
* owner
|
|
260
|
-
* measurable leading indicator
|
|
261
|
-
|
|
262
|
-
**Output:** Risk table
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
### Step 10: Validation Plan (pricing experiments + rollout)
|
|
267
|
-
|
|
268
|
-
**Objective:** Test assumptions quickly before locking prices.
|
|
269
|
-
|
|
270
|
-
**Actions:**
|
|
271
|
-
|
|
272
|
-
1. Define experiments:
|
|
273
|
-
|
|
274
|
-
* price sensitivity interviews (Van Westendorp / Gabor-Granger style)
|
|
275
|
-
* landing page A/B price anchoring
|
|
276
|
-
* pilot offers with 2–3 packaging variants
|
|
277
|
-
* sales-led quote testing
|
|
278
|
-
2. Define metrics:
|
|
279
|
-
|
|
280
|
-
* conversion
|
|
281
|
-
* activation/time-to-value
|
|
282
|
-
* expansion
|
|
283
|
-
* churn
|
|
284
|
-
* support burden
|
|
285
|
-
* gross margin
|
|
286
|
-
3. Create 30/60/90 day plan
|
|
287
|
-
|
|
288
|
-
**Output:** Validation plan + timeline + decision points
|
|
289
|
-
|
|
290
|
-
---
|
|
291
|
-
|
|
292
|
-
## References
|
|
293
|
-
- All citations with date + URL
|
|
294
|
-
```
|
|
295
|
-
|
|
296
|
-
---
|
|
297
|
-
|
|
298
|
-
## QUALITY CHECKLIST
|
|
299
|
-
|
|
300
|
-
### Content
|
|
301
|
-
|
|
302
|
-
* [ ] Pricing is outcome-first, not feature-first
|
|
303
|
-
* [ ] SKUs/tiers are simple with a clear upgrade path
|
|
304
|
-
* [ ] Pricing metric is understandable and predictable
|
|
305
|
-
* [ ] Add-ons reduce edge-case margin risk
|
|
306
|
-
* [ ] Sales motion is supported (self-serve vs sales-led)
|
|
307
|
-
|
|
308
|
-
### Economics
|
|
309
|
-
|
|
310
|
-
* [ ] COGS drivers identified and bounded
|
|
311
|
-
* [ ] Gross margin targets by tier are explicit
|
|
312
|
-
* [ ] Guardrails (caps/add-ons) prevent abuse and margin collapse
|
|
313
|
-
|
|
314
|
-
### Competitive
|
|
315
|
-
|
|
316
|
-
* [ ] No invented competitor pricing
|
|
317
|
-
* [ ] Citations + dates included for competitive facts
|
|
318
|
-
* [ ] Win/loss reasons are honest and actionable
|
|
319
|
-
|
|
320
|
-
### Validation
|
|
321
|
-
|
|
322
|
-
* [ ] At least 3 pricing experiments defined
|
|
323
|
-
* [ ] Metrics are clear and decision points are scheduled
|
|
324
|
-
|
|
325
|
-
---
|
|
@@ -1,235 +0,0 @@
|
|
|
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
|