@compilr-dev/sdk 0.7.2 → 0.7.4

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/dist/index.d.ts CHANGED
@@ -61,7 +61,7 @@ export type { AskUserQuestion, AskUserInput, AskUserResult, AskUserHandler, AskU
61
61
  export { createPlatformTools, createProjectTools, createWorkItemTools, createDocumentTools, createPlanTools, createBacklogTools, createAnchorTools, createArtifactTools, createEpisodeTools, ProjectAnchorStore, } from './platform/index.js';
62
62
  export type { ProjectAnchorStoreConfig } from './platform/index.js';
63
63
  export { STEP_ORDER, GUIDED_STEP_CRITERIA, getNextStep, isValidTransition, getStepCriteria, formatStepDisplay, getStepNumber, } from './platform/index.js';
64
- export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, } from './skills/index.js';
64
+ export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } from './skills/index.js';
65
65
  export { ACTION_REGISTRY, getActionsForContext, getActionById, resolveActionPrompt, buildContextSummary, getSuggestedRole, } from './actions/index.js';
66
66
  export type { ActionContext, ActionDefinition } from './actions/index.js';
67
67
  export { PROJECT_TYPES, getProjectTypeConfig, getEnrichedProjectTypeConfig, getProjectTypesByCategory, generalConfig, softwareConfig, researchConfig, businessPlanConfig, contentConfig, techDocsConfig, courseConfig, ACTION_META_REGISTRY, SKILL_META_REGISTRY, resolveActionMeta, getSkillMeta, getAllSkillMeta, } from './project-types/index.js';
package/dist/index.js CHANGED
@@ -139,7 +139,7 @@ export { STEP_ORDER, GUIDED_STEP_CRITERIA, getNextStep, isValidTransition, getSt
139
139
  // =============================================================================
140
140
  // Platform Skills (platform-specific prompt expansions)
141
141
  // =============================================================================
142
- export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, } from './skills/index.js';
142
+ export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } from './skills/index.js';
143
143
  // =============================================================================
144
144
  // Contextual Actions (skill invocations with context)
145
145
  // =============================================================================
@@ -54,6 +54,13 @@ export const ACTION_META_REGISTRY = {
54
54
  icon: 'ShieldCheck',
55
55
  description: 'Review the paper',
56
56
  },
57
+ // ── Business Plan project actions ──────────────────────────────────────────
58
+ 'business-vision': { id: 'business-vision', label: 'Vision', icon: 'Target', description: 'Define your business' },
59
+ 'market-analysis': { id: 'market-analysis', label: 'Market', icon: 'TrendingUp', description: 'Analyze the market' },
60
+ 'competitor-analysis': { id: 'competitor-analysis', label: 'Competitors', icon: 'Swords', description: 'Map competition' },
61
+ 'financial-model': { id: 'financial-model', label: 'Financials', icon: 'DollarSign', description: 'Build projections' },
62
+ 'pitch-outline': { id: 'pitch-outline', label: 'Pitch', icon: 'Rocket', description: 'Structure a pitch' },
63
+ 'business-review': { id: 'business-review', label: 'Review', icon: 'ShieldCheck', description: 'Validate the plan' },
57
64
  // ── Work item actions ────────────────────────────────────────────────────
58
65
  build: {
59
66
  id: 'build',
@@ -351,8 +351,8 @@ export const businessPlanConfig = {
351
351
  { type: 'pitch', label: 'Pitch Narrative', description: 'Investor pitch content' },
352
352
  { type: 'session-notes', label: 'Session Notes', description: 'Summary of work done' },
353
353
  ],
354
- projectActions: ['session-notes'],
355
- workItemActions: ['explain'],
354
+ projectActions: ['business-vision', 'market-analysis', 'competitor-analysis', 'financial-model', 'pitch-outline', 'business-review', 'session-notes'],
355
+ workItemActions: ['refine-item', 'explain'],
356
356
  workItemLabels: {
357
357
  feature: { short: 'ML', full: 'Milestone' },
358
358
  bug: { short: 'IS', full: 'Issue' },
@@ -106,6 +106,13 @@ export const SKILL_META_REGISTRY = {
106
106
  icon: 'Layers',
107
107
  category: 'research',
108
108
  },
109
+ // ── Business Plan Skills ──────────────────────────────────────────────────
110
+ 'business-vision': { id: 'business-vision', label: 'Business Vision', description: 'Define business identity and value proposition', icon: 'Target', category: 'planning' },
111
+ 'market-analysis': { id: 'market-analysis', label: 'Market Analysis', description: 'Analyze market size, trends, and segments', icon: 'TrendingUp', category: 'analysis' },
112
+ 'competitor-analysis': { id: 'competitor-analysis', label: 'Competitor Analysis', description: 'Map competitive landscape', icon: 'Swords', category: 'analysis' },
113
+ 'financial-model': { id: 'financial-model', label: 'Financial Model', description: 'Build revenue and cost projections', icon: 'DollarSign', category: 'analysis' },
114
+ 'pitch-outline': { id: 'pitch-outline', label: 'Pitch Outline', description: 'Structure an investor pitch', icon: 'Rocket', category: 'planning' },
115
+ 'business-review': { id: 'business-review', label: 'Business Review', description: 'Validate the business plan', icon: 'ShieldCheck', category: 'analysis' },
109
116
  // ── Builtin Skills (agents library) ──────────────────────────────────────
110
117
  'code-review': {
111
118
  id: 'code-review',
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Platform Skills — barrel export
3
3
  */
4
- export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, } from './platform-skills.js';
4
+ export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } from './platform-skills.js';
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Platform Skills — barrel export
3
3
  */
4
- export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, } from './platform-skills.js';
4
+ export { platformSkills, designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } from './platform-skills.js';
@@ -22,8 +22,14 @@ export declare const literatureReviewSkill: Skill;
22
22
  export declare const draftSectionSkill: Skill;
23
23
  export declare const peerReviewSkill: Skill;
24
24
  export declare const researchScaffoldSkill: Skill;
25
+ export declare const businessVisionSkill: Skill;
26
+ export declare const marketAnalysisSkill: Skill;
27
+ export declare const competitorAnalysisSkill: Skill;
28
+ export declare const financialModelSkill: Skill;
29
+ export declare const pitchOutlineSkill: Skill;
30
+ export declare const businessReviewSkill: Skill;
25
31
  /**
26
- * All platform-specific skills (14 total).
32
+ * All platform-specific skills (20 total).
27
33
  * These skills reference platform tools (backlog, workitems, documents, projects)
28
34
  * and belong in the SDK rather than in generic agent/coding libraries.
29
35
  */
@@ -1410,10 +1410,341 @@ After scaffolding, tell the user:
1410
1410
  tags: ['research', 'scaffold', 'setup'],
1411
1411
  });
1412
1412
  // =============================================================================
1413
+ // Business Plan Skills
1414
+ // =============================================================================
1415
+ export const businessVisionSkill = defineSkill({
1416
+ name: 'business-vision',
1417
+ description: 'Define the business identity, problem, solution, and value proposition',
1418
+ prompt: `You are in BUSINESS VISION MODE. Help the user define and articulate their business idea.
1419
+
1420
+ ## Step 1: Assess Current State
1421
+ 1. Use \`business_model_get\` with scope: "identity" to check if a model exists
1422
+ 2. Report what's already defined
1423
+
1424
+ ## Step 2: Gather Core Information
1425
+ Ask in batches (only what's not already defined):
1426
+ - **Business name** and tagline
1427
+ - **Problem**: What specific pain point do your target customers experience?
1428
+ - **Solution**: How does your product/service solve this?
1429
+ - **Unique value**: Why you instead of alternatives? What's the unfair advantage?
1430
+ - **Target customer**: Who specifically are you building for?
1431
+ - **Stage**: idea, pre-seed, seed, series-a, growth, or established?
1432
+ - **Industry/sector**
1433
+
1434
+ ## Step 3: Craft the Value Proposition
1435
+ Help refine the problem-solution-uniqueValue into a compelling narrative:
1436
+ - Problem should be specific and relatable
1437
+ - Solution should directly address the problem
1438
+ - Unique value should differentiate from ALL alternatives (including doing nothing)
1439
+
1440
+ ## Step 4: Save to Model
1441
+ - \`business_model_update\` with op: "set_identity" for name, tagline, mission, stage, industry, sector
1442
+ - \`business_model_update\` with op: "set_value_proposition" for problem, solution, uniqueValue, targetCustomer
1443
+
1444
+ ## Step 5: Suggest Next Steps
1445
+ After saving, suggest:
1446
+ - "Run /market-analysis to size your market and define customer segments"
1447
+ - "Run /competitor-analysis to map the competitive landscape"
1448
+
1449
+ ## Rules
1450
+ - Interactive — ask questions, don't assume
1451
+ - Push back on vague answers ("everyone" is not a target customer)
1452
+ - A good value proposition is specific, measurable, and defensible`,
1453
+ tags: ['business', 'planning', 'vision'],
1454
+ });
1455
+ export const marketAnalysisSkill = defineSkill({
1456
+ name: 'market-analysis',
1457
+ description: 'Analyze market size, trends, and customer segments',
1458
+ prompt: `You are in MARKET ANALYSIS MODE. Help the user understand their market.
1459
+
1460
+ ## Step 1: Assess Current State
1461
+ 1. Use \`business_model_get\` with scope: "overview" for context
1462
+ 2. Use \`business_model_get\` with scope: "market" for existing market data
1463
+ 3. Check Knowledge Base for market research sources
1464
+
1465
+ ## Step 2: Define Customer Segments
1466
+ For each segment:
1467
+ - Name and description
1468
+ - Estimated size (number of potential customers or revenue opportunity)
1469
+ - Key pain points (what problems they face)
1470
+ - Willingness to pay
1471
+
1472
+ Save each: \`business_model_update\` with op: "segment_add", segment: { name, description, size, painPoints, willingness }
1473
+
1474
+ ## Step 3: Market Sizing
1475
+ Guide through TAM/SAM/SOM:
1476
+ - **TAM** (Total Addressable Market): If everyone who could use your product did, how big is the market?
1477
+ - **SAM** (Serviceable Addressable Market): Realistically, which portion can you reach?
1478
+ - **SOM** (Serviceable Obtainable Market): In the first 1-3 years, what share can you capture?
1479
+
1480
+ Each should have a value (e.g., "$4.2B"), description, and source.
1481
+ Save: \`business_model_update\` with op: "set_market_size", market_size: { tam: {...}, sam: {...}, som: {...} }
1482
+
1483
+ ## Step 4: Trends and Growth
1484
+ - Identify 3-5 market trends relevant to the business
1485
+ - Estimate market growth rate
1486
+ Save: \`business_model_update\` with op: "set_market_size", market_size: { trends: [...], growthRate: "..." }
1487
+
1488
+ ## Step 5: Generate Work Items
1489
+ Create Milestone work items for:
1490
+ - "Validate segment: [name]" for each segment (priority: high)
1491
+ - "Source market data" if TAM/SAM/SOM need better sources (priority: medium)
1492
+
1493
+ ## Rules
1494
+ - Always ask for sources — investors will ask "where did you get that number?"
1495
+ - Challenge unrealistic sizing (a $100B TAM for a niche SaaS is suspicious)
1496
+ - Bottom-up sizing is more credible than top-down
1497
+ - Distinguish between potential customers and paying customers`,
1498
+ tags: ['business', 'analysis', 'market'],
1499
+ });
1500
+ export const competitorAnalysisSkill = defineSkill({
1501
+ name: 'competitor-analysis',
1502
+ description: 'Map the competitive landscape — identify competitors, strengths, weaknesses, positioning',
1503
+ prompt: `You are in COMPETITOR ANALYSIS MODE. Help the user understand their competition.
1504
+
1505
+ ## Step 1: Assess Current State
1506
+ 1. Use \`business_model_get\` with scope: "competitors" for existing data
1507
+ 2. Read Knowledge Base for competitor research, reports, articles
1508
+ 3. Use \`business_model_get\` with scope: "identity" for context on the business
1509
+
1510
+ ## Step 2: Identify Competitors
1511
+ For each competitor (guide user to list 3-8):
1512
+ - Direct competitors (same product, same market)
1513
+ - Indirect competitors (different product, same problem)
1514
+ - Potential competitors (could enter the market)
1515
+
1516
+ ## Step 3: Analyze Each Competitor
1517
+ For each, gather:
1518
+ - **Name** and brief description
1519
+ - **Strengths** (2-4): what they do well
1520
+ - **Weaknesses** (2-4): where they fall short
1521
+ - **Market position**: leader, challenger, niche, or emerging
1522
+ - **Pricing** model/range
1523
+ - **URL** (if applicable)
1524
+
1525
+ Save each: \`business_model_update\` with op: "competitor_add", competitor: { name, description, strengths, weaknesses, marketPosition, pricing, url }
1526
+
1527
+ ## Step 4: Define Competitive Advantages
1528
+ Based on the competitor analysis, what are YOUR advantages?
1529
+ - What do you do that no competitor does?
1530
+ - Where are the gaps in the market?
1531
+ - What would be hard for competitors to replicate?
1532
+
1533
+ Save: \`business_model_update\` with op: "set_competitive_advantages", advantages: [...]
1534
+
1535
+ ## Step 5: Positioning
1536
+ Help the user think about positioning:
1537
+ - On what axes do competitors differentiate? (price vs. features, simplicity vs. power, etc.)
1538
+ - Where does your business sit on those axes?
1539
+ - Is there an unoccupied position?
1540
+
1541
+ ## Step 6: Generate Work Items
1542
+ Create work items for:
1543
+ - "Deep-dive: [competitor name]" for competitors needing more research (type: Research)
1544
+ - "Validate advantage: [advantage]" for unproven competitive claims (type: Research)
1545
+
1546
+ ## Rules
1547
+ - "We have no competitors" is always wrong — there's always an alternative (even doing nothing)
1548
+ - Be honest about competitor strengths — investors will know
1549
+ - Focus on defensible advantages, not features that can be copied
1550
+ - Include both current competitors and potential future entrants`,
1551
+ tags: ['business', 'analysis', 'competition'],
1552
+ });
1553
+ export const financialModelSkill = defineSkill({
1554
+ name: 'financial-model',
1555
+ description: 'Build revenue forecasts, cost structure, and break-even analysis',
1556
+ prompt: `You are in FINANCIAL MODEL MODE. Help the user build financial projections.
1557
+
1558
+ ## Step 1: Assess Current State
1559
+ 1. Use \`business_model_get\` with scope: "financials" for existing projections
1560
+ 2. Use \`business_model_get\` with scope: "canvas" for revenue streams and cost structure
1561
+ 3. Use \`business_model_get\` with scope: "overview" for business context
1562
+
1563
+ ## Step 2: Define Revenue Streams
1564
+ For each revenue stream (if not already defined):
1565
+ - Name, type (subscription, one-time, usage, etc.)
1566
+ - Projected revenue
1567
+ Save: \`business_model_update\` op: "revenue_stream_add"
1568
+
1569
+ ## Step 3: Build Revenue Forecasts
1570
+ For each revenue stream, guide through assumptions:
1571
+ - Number of customers per period
1572
+ - Average revenue per customer
1573
+ - Growth rate
1574
+ - Seasonality or ramp-up time
1575
+
1576
+ Save forecasts: \`business_model_update\` op: "forecast_add", financials_field: { type: "revenue", period, category, amount }
1577
+
1578
+ Use realistic time horizons:
1579
+ - Startup: monthly for Year 1, quarterly for Years 2-3
1580
+ - Growth stage: quarterly for 3 years
1581
+ - Established: yearly for 5 years
1582
+
1583
+ ## Step 4: Define Cost Structure
1584
+ Guide through expense categories:
1585
+ - **Fixed costs**: salaries, rent, subscriptions, insurance
1586
+ - **Variable costs**: hosting, transaction fees, marketing spend (scales with revenue)
1587
+
1588
+ Save each: \`business_model_update\` op: "cost_item_add"
1589
+ Save forecasts: \`business_model_update\` op: "forecast_add", financials_field: { type: "expense", period, category, amount }
1590
+
1591
+ ## Step 5: Break-Even Analysis
1592
+ Calculate:
1593
+ - Monthly burn rate (total fixed + variable costs)
1594
+ - Monthly revenue at steady state
1595
+ - Break-even point (when cumulative revenue > cumulative costs)
1596
+
1597
+ Save: \`business_model_update\` op: "set_financials_fields", financials_field: { breakEvenPoint: "Month 18", fundingNeeds: "$2M", useOfFunds: "70% product, 20% marketing, 10% ops" }
1598
+
1599
+ ## Step 6: Document Assumptions
1600
+ List all key assumptions made:
1601
+ - Customer acquisition rate
1602
+ - Churn rate
1603
+ - Pricing changes
1604
+ - Hiring timeline
1605
+
1606
+ Save: \`business_model_update\` op: "set_financials_fields", financials_field: { assumptions: [...] }
1607
+
1608
+ ## Rules
1609
+ - Always state assumptions explicitly — hidden assumptions kill credibility
1610
+ - Use conservative estimates (investors multiply your timeline by 2x)
1611
+ - Revenue should be bottoms-up (customers × price), not top-down (% of TAM)
1612
+ - Include a "what if" scenario: what happens if growth is 50% slower?
1613
+ - Round to meaningful numbers — $1.2M not $1,237,849`,
1614
+ tags: ['business', 'analysis', 'financial'],
1615
+ });
1616
+ export const pitchOutlineSkill = defineSkill({
1617
+ name: 'pitch-outline',
1618
+ description: 'Structure an investor pitch or executive summary from the Business Model',
1619
+ prompt: `You are in PITCH OUTLINE MODE. Help the user create a compelling pitch from their Business Model.
1620
+
1621
+ ## Step 1: Assess Readiness
1622
+ 1. Use \`business_model_get\` with scope: "full" to review the complete model
1623
+ 2. Check completeness: identity, value prop, market, competitors, financials
1624
+ 3. If major gaps exist, note them and suggest which skills to run first
1625
+
1626
+ ## Step 2: Choose Format
1627
+ Ask the user:
1628
+ - **Elevator pitch** (30 seconds — 3 sentences)
1629
+ - **Executive summary** (1 page — for email/document)
1630
+ - **Pitch deck narrative** (10-12 slides — investor presentation)
1631
+
1632
+ ## Step 3: Structure the Pitch
1633
+ For a pitch deck (adapt for other formats):
1634
+
1635
+ 1. **Problem** — The pain point (from valueProposition.problem)
1636
+ 2. **Solution** — Your approach (from valueProposition.solution)
1637
+ 3. **Market** — Size and opportunity (from market TAM/SAM/SOM)
1638
+ 4. **Product** — What you've built / will build
1639
+ 5. **Business Model** — How you make money (from canvas.revenueStreams)
1640
+ 6. **Traction** — What you've achieved so far (milestones, users, revenue)
1641
+ 7. **Competition** — Why you win (from competitors + competitiveAdvantages)
1642
+ 8. **Team** — Why this team (from team)
1643
+ 9. **Financials** — Projections and key metrics (from financials)
1644
+ 10. **The Ask** — What you need (from financials.fundingNeeds + useOfFunds)
1645
+
1646
+ ## Step 4: Draft the Narrative
1647
+ For each section:
1648
+ - Write 2-3 sentences that tell a story
1649
+ - Lead with the strongest point
1650
+ - Use specific numbers, not vague claims
1651
+ - Save as a project document
1652
+
1653
+ ## Step 5: Generate Work Items
1654
+ Create Milestone work items:
1655
+ - "Draft: [section name]" for each pitch section
1656
+ - "Prepare: supporting data" for claims that need evidence
1657
+
1658
+ ## Rules
1659
+ - The pitch tells a STORY, not a list of facts
1660
+ - Start with emotion (the problem), end with opportunity (the ask)
1661
+ - Every claim should be backed by data from the Business Model
1662
+ - If financials are weak, lead with market size and traction instead
1663
+ - The ask should be specific: "$X for Y months to achieve Z"`,
1664
+ tags: ['business', 'writing', 'pitch'],
1665
+ });
1666
+ export const businessReviewSkill = defineSkill({
1667
+ name: 'business-review',
1668
+ description: 'Validate the business plan — find gaps, weak assumptions, and missing elements',
1669
+ prompt: `You are in BUSINESS REVIEW MODE. Critically evaluate the business plan like an investor would.
1670
+
1671
+ ## Step 1: Load and Assess
1672
+ 1. Use \`business_model_get\` with scope: "full" to read everything
1673
+ 2. Run \`business_model_validate\` for structural issues
1674
+
1675
+ ## Step 2: Completeness Check
1676
+ Score each section (Complete / Partial / Missing):
1677
+ - Identity & Value Proposition
1678
+ - Market Analysis (TAM/SAM/SOM, segments)
1679
+ - Competitive Analysis (competitors, advantages)
1680
+ - Business Model Canvas (revenue, costs, channels, partnerships)
1681
+ - Financial Projections (revenue, expenses, break-even)
1682
+ - Go-to-Market (phases, strategy)
1683
+ - Team
1684
+
1685
+ Present a scorecard: "7/7 complete" or "5/7 — missing Financials and GTM"
1686
+
1687
+ ## Step 3: Assumption Audit
1688
+ For each key assumption:
1689
+ - Is it stated explicitly?
1690
+ - Is there evidence supporting it?
1691
+ - What happens if it's wrong?
1692
+
1693
+ Flag assumptions that are:
1694
+ - **Optimistic** — "We'll capture 10% of the market in Year 1" (unlikely for most startups)
1695
+ - **Unvalidated** — claims without data or customer evidence
1696
+ - **Risky** — single points of failure
1697
+
1698
+ ## Step 4: Competitive Blind Spots
1699
+ - Are there competitors missing from the analysis?
1700
+ - Are competitive advantages truly defensible?
1701
+ - What would a well-funded competitor do to beat you?
1702
+ - Is the pricing competitive given the alternatives?
1703
+
1704
+ ## Step 5: Financial Reality Check
1705
+ - Do revenue projections match the market sizing? (can't project $100M revenue in a $50M SAM)
1706
+ - Is the cost structure realistic? (engineering salaries, cloud costs, marketing spend)
1707
+ - Is the break-even timeline achievable with the stated funding?
1708
+ - What's the burn rate, and how long does the funding last?
1709
+
1710
+ ## Step 6: Generate Review Report
1711
+ Structure as:
1712
+
1713
+ ### Scorecard
1714
+ Section-by-section completeness
1715
+
1716
+ ### Strengths (what's compelling)
1717
+ 2-3 strongest elements
1718
+
1719
+ ### Critical Issues (must fix)
1720
+ Problems that would stop an investor
1721
+
1722
+ ### Major Issues (should fix)
1723
+ Significant weaknesses
1724
+
1725
+ ### Recommendations
1726
+ Prioritized action items
1727
+
1728
+ Write report to a project document.
1729
+
1730
+ ## Step 7: Create Work Items
1731
+ - Type "Issue" (bug) for critical and major issues
1732
+ - Type "Research" (tech-debt) for unvalidated assumptions
1733
+ - Type "Milestone" (feature) for missing sections
1734
+
1735
+ ## Rules
1736
+ - Be constructive but honest — sugar-coating helps nobody
1737
+ - Think like an investor: "Would I put money into this?"
1738
+ - Every issue should have a specific recommendation
1739
+ - Acknowledge what's strong — it builds credibility for the critique
1740
+ - Focus on the 3-5 things that matter most, not a list of 20 nitpicks`,
1741
+ tags: ['business', 'review', 'validation'],
1742
+ });
1743
+ // =============================================================================
1413
1744
  // Aggregate export
1414
1745
  // =============================================================================
1415
1746
  /**
1416
- * All platform-specific skills (14 total).
1747
+ * All platform-specific skills (20 total).
1417
1748
  * These skills reference platform tools (backlog, workitems, documents, projects)
1418
1749
  * and belong in the SDK rather than in generic agent/coding libraries.
1419
1750
  */
@@ -1432,4 +1763,10 @@ export const platformSkills = [
1432
1763
  draftSectionSkill,
1433
1764
  peerReviewSkill,
1434
1765
  researchScaffoldSkill,
1766
+ businessVisionSkill,
1767
+ marketAnalysisSkill,
1768
+ competitorAnalysisSkill,
1769
+ financialModelSkill,
1770
+ pitchOutlineSkill,
1771
+ businessReviewSkill,
1435
1772
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compilr-dev/sdk",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "description": "Universal agent runtime for building AI-powered applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",