@compilr-dev/sdk 0.7.7 → 0.7.8
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 +1 -1
- package/dist/index.js +1 -1
- package/dist/platform/sqlite/document-repository.js +1 -0
- package/dist/platform/tools/document-tools.js +1 -0
- package/dist/platform/types.d.ts +1 -1
- package/dist/project-types/action-meta.js +5 -0
- package/dist/project-types/configs.js +46 -44
- package/dist/project-types/skill-meta.js +5 -0
- package/dist/skills/business-skills.d.ts +11 -0
- package/dist/skills/business-skills.js +341 -0
- package/dist/skills/content-skills.d.ts +10 -0
- package/dist/skills/content-skills.js +184 -0
- package/dist/skills/course-skills.d.ts +9 -0
- package/dist/skills/course-skills.js +164 -0
- package/dist/skills/index.d.ts +1 -1
- package/dist/skills/index.js +1 -1
- package/dist/skills/platform-skills.d.ts +10 -35
- package/dist/skills/platform-skills.js +29 -1933
- package/dist/skills/research-skills.d.ts +10 -0
- package/dist/skills/research-skills.js +569 -0
- package/dist/skills/software-skills.d.ts +14 -0
- package/dist/skills/software-skills.js +838 -0
- package/package.json +1 -1
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, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, } 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, brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseReviewSkill, } 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, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, } 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, brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseReviewSkill, } from './skills/index.js';
|
|
143
143
|
// =============================================================================
|
|
144
144
|
// Contextual Actions (skill invocations with context)
|
|
145
145
|
// =============================================================================
|
package/dist/platform/types.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export type WorkItemType = 'feature' | 'bug' | 'tech-debt' | 'chore';
|
|
|
19
19
|
export type WorkItemStatus = 'backlog' | 'in_progress' | 'completed' | 'skipped';
|
|
20
20
|
export type WorkItemPriority = 'critical' | 'high' | 'medium' | 'low';
|
|
21
21
|
export type GuidedStep = 'plan' | 'implement' | 'test' | 'commit' | 'review';
|
|
22
|
-
export type DocumentType = 'prd' | 'architecture' | 'design' | 'notes' | 'plan' | 'app-model' | 'research-model' | 'business-model' | 'brand-model';
|
|
22
|
+
export type DocumentType = 'prd' | 'architecture' | 'design' | 'notes' | 'plan' | 'app-model' | 'research-model' | 'business-model' | 'brand-model' | 'curriculum-model';
|
|
23
23
|
export type PlanStatus = 'draft' | 'approved' | 'in_progress' | 'completed' | 'abandoned';
|
|
24
24
|
export interface Project {
|
|
25
25
|
id: number;
|
|
@@ -64,6 +64,11 @@ export const ACTION_META_REGISTRY = {
|
|
|
64
64
|
'content-calendar': { id: 'content-calendar', label: 'Calendar', icon: 'Calendar', description: 'Plan content' },
|
|
65
65
|
'create-content': { id: 'create-content', label: 'Create', icon: 'PenTool', description: 'Write content' },
|
|
66
66
|
'content-review': { id: 'content-review', label: 'Review', icon: 'CheckCircle', description: 'Check quality' },
|
|
67
|
+
// ── Course / Training actions ─────────────────────────────────────────────
|
|
68
|
+
'curriculum-design': { id: 'curriculum-design', label: 'Curriculum', icon: 'School', description: 'Define structure' },
|
|
69
|
+
'lesson-plan': { id: 'lesson-plan', label: 'Lessons', icon: 'BookOpen', description: 'Plan lessons' },
|
|
70
|
+
'assessment-design': { id: 'assessment-design', label: 'Assess', icon: 'ClipboardCheck', description: 'Create assessments' },
|
|
71
|
+
'course-review': { id: 'course-review', label: 'Review', icon: 'CheckCircle', description: 'Quality check' },
|
|
67
72
|
'financial-model': { id: 'financial-model', label: 'Financials', icon: 'DollarSign', description: 'Build projections' },
|
|
68
73
|
'pitch-outline': { id: 'pitch-outline', label: 'Pitch', icon: 'Rocket', description: 'Structure a pitch' },
|
|
69
74
|
'business-review': { id: 'business-review', label: 'Review', icon: 'ShieldCheck', description: 'Validate the plan' },
|
|
@@ -577,47 +577,47 @@ export const courseConfig = {
|
|
|
577
577
|
{
|
|
578
578
|
id: 'curriculum',
|
|
579
579
|
label: 'Curriculum',
|
|
580
|
-
description: 'Define learning objectives',
|
|
580
|
+
description: 'Define modules and learning objectives',
|
|
581
581
|
completionCheck: 'has-document',
|
|
582
|
-
completionDocType: '
|
|
582
|
+
completionDocType: 'curriculum-model',
|
|
583
583
|
},
|
|
584
584
|
{
|
|
585
585
|
id: 'lessons',
|
|
586
|
-
label: '
|
|
587
|
-
description: '
|
|
586
|
+
label: 'Lesson Plans',
|
|
587
|
+
description: 'Break modules into lessons',
|
|
588
588
|
completionCheck: 'has-workitems',
|
|
589
589
|
},
|
|
590
590
|
{
|
|
591
|
-
id: '
|
|
592
|
-
label: '
|
|
593
|
-
description: '
|
|
591
|
+
id: 'content',
|
|
592
|
+
label: 'Content',
|
|
593
|
+
description: 'Write lesson materials',
|
|
594
594
|
completionCheck: 'has-workitems',
|
|
595
595
|
},
|
|
596
596
|
{
|
|
597
597
|
id: 'assessment',
|
|
598
598
|
label: 'Assessment',
|
|
599
|
-
description: 'Create
|
|
599
|
+
description: 'Create exercises and quizzes',
|
|
600
600
|
completionCheck: 'manual',
|
|
601
601
|
},
|
|
602
|
-
],
|
|
603
|
-
suggestedAgents: [
|
|
604
|
-
{ role: 'instructor', label: 'Instructor', description: 'Course design and lesson planning' },
|
|
605
602
|
{
|
|
606
|
-
|
|
607
|
-
label: '
|
|
608
|
-
description: '
|
|
603
|
+
id: 'review',
|
|
604
|
+
label: 'Review',
|
|
605
|
+
description: 'Pedagogical quality review',
|
|
606
|
+
completionCheck: 'manual',
|
|
609
607
|
},
|
|
610
|
-
|
|
608
|
+
],
|
|
609
|
+
suggestedAgents: [
|
|
610
|
+
{ role: 'instructor', label: 'Instructor', description: 'Curriculum design, sequencing, pedagogy' },
|
|
611
|
+
{ role: 'content-designer', label: 'Content Designer', description: 'Lesson planning, exercises, assessments' },
|
|
612
|
+
{ role: 'reviewer', label: 'Reviewer', description: 'Pedagogical quality, balance, coverage' },
|
|
611
613
|
],
|
|
612
614
|
documentTemplates: [
|
|
613
|
-
{ type: '
|
|
614
|
-
{ type: '
|
|
615
|
-
{ type: 'exercise', label: 'Exercise', description: 'Practice exercise' },
|
|
616
|
-
{ type: 'assessment', label: 'Assessment', description: 'Quiz or test' },
|
|
615
|
+
{ type: 'curriculum-model', label: 'Curriculum', description: 'Course structure, modules, lessons, assessments' },
|
|
616
|
+
{ type: 'notes', label: 'Lesson Notes', description: 'Lesson content and materials' },
|
|
617
617
|
{ type: 'session-notes', label: 'Session Notes', description: 'Summary of work done' },
|
|
618
618
|
],
|
|
619
|
-
projectActions: ['session-notes'],
|
|
620
|
-
workItemActions: ['explain'],
|
|
619
|
+
projectActions: ['curriculum-design', 'lesson-plan', 'assessment-design', 'course-review', 'session-notes'],
|
|
620
|
+
workItemActions: ['refine-item', 'explain'],
|
|
621
621
|
workItemLabels: {
|
|
622
622
|
feature: { short: 'LS', full: 'Lesson' },
|
|
623
623
|
bug: { short: 'FX', full: 'Fix' },
|
|
@@ -625,34 +625,36 @@ export const courseConfig = {
|
|
|
625
625
|
chore: { short: 'TK', full: 'Task' },
|
|
626
626
|
},
|
|
627
627
|
systemPromptContext: 'This is an educational project. The user is creating a course or training material. Focus on clear explanations, progressive complexity, and effective learning design.',
|
|
628
|
-
systemPromptSection: `## Project Context: Course / Training
|
|
628
|
+
systemPromptSection: `## Project Context: Course / Training
|
|
629
629
|
|
|
630
|
-
You are assisting with an educational project. Your role is to help the user create an effective, well-structured
|
|
630
|
+
You are assisting with an educational project. Your role is to help the user create an effective, well-structured curriculum. You are a **curriculum designer**, not a subject matter expert — the user provides domain knowledge via the Knowledge Base.
|
|
631
|
+
|
|
632
|
+
### Curriculum Model
|
|
633
|
+
This project uses a Curriculum Model that tracks the course structure: modules (with learning objectives), lessons (typed: theory, hands-on, demo, discussion, reading), and assessments (quiz, exercise, project). Always read the model before making suggestions.
|
|
631
634
|
|
|
632
635
|
### Workflow
|
|
633
|
-
1. **Curriculum Design** — Define learning objectives, prerequisites, progression
|
|
634
|
-
2. **
|
|
635
|
-
3. **Content
|
|
636
|
-
4. **
|
|
637
|
-
5. **
|
|
638
|
-
6. **Review** — Pedagogical review, difficulty calibration, accessibility
|
|
636
|
+
1. **Curriculum Design** — Define modules, learning objectives, prerequisites, progression
|
|
637
|
+
2. **Lesson Plans** — Break modules into typed lessons with time estimates
|
|
638
|
+
3. **Content** — Write lesson materials (user provides domain expertise, you help structure)
|
|
639
|
+
4. **Assessment** — Design quizzes, exercises, projects linked to objectives
|
|
640
|
+
5. **Review** — Check pedagogical quality, balance, coverage
|
|
639
641
|
|
|
640
642
|
### Work Items
|
|
641
|
-
- **Lesson** (type: feature) — a lesson
|
|
642
|
-
- **Fix** (type: bug) — corrections,
|
|
643
|
-
- **Refactor** (type: tech-debt) — restructuring content flow
|
|
644
|
-
- **Task** (type: chore) — formatting, media
|
|
645
|
-
|
|
646
|
-
###
|
|
647
|
-
-
|
|
648
|
-
-
|
|
649
|
-
-
|
|
650
|
-
-
|
|
651
|
-
-
|
|
652
|
-
-
|
|
643
|
+
- **Lesson** (type: feature) — a lesson to develop
|
|
644
|
+
- **Fix** (type: bug) — corrections, unclear explanations
|
|
645
|
+
- **Refactor** (type: tech-debt) — restructuring content flow
|
|
646
|
+
- **Task** (type: chore) — formatting, media, publishing
|
|
647
|
+
|
|
648
|
+
### Pedagogical Principles
|
|
649
|
+
- Every module needs clear learning objectives (what can the student DO after?)
|
|
650
|
+
- Balance theory and practice — at least 40% hands-on
|
|
651
|
+
- Build progressively — prerequisites before advanced concepts
|
|
652
|
+
- Assess what you teach — every objective should be testable
|
|
653
|
+
- Vary lesson types to maintain engagement
|
|
654
|
+
- Check time balance — modules should be roughly similar in length
|
|
653
655
|
|
|
654
656
|
### Team Agents
|
|
655
|
-
- **Instructor** — curriculum design,
|
|
656
|
-
- **
|
|
657
|
-
- **Reviewer** —
|
|
657
|
+
- **Instructor** — curriculum design, sequencing, pedagogy
|
|
658
|
+
- **Content Designer** — lesson planning, exercises, assessments
|
|
659
|
+
- **Reviewer** — pedagogical quality, balance, difficulty calibration`,
|
|
658
660
|
};
|
|
@@ -119,6 +119,11 @@ export const SKILL_META_REGISTRY = {
|
|
|
119
119
|
'content-calendar': { id: 'content-calendar', label: 'Content Calendar', description: 'Plan content for a period', icon: 'Calendar', category: 'planning' },
|
|
120
120
|
'create-content': { id: 'create-content', label: 'Create Content', description: 'Write copy and visual brief', icon: 'PenTool', category: 'development' },
|
|
121
121
|
'content-review': { id: 'content-review', label: 'Content Review', description: 'Review for brand consistency', icon: 'CheckCircle', category: 'analysis' },
|
|
122
|
+
// ── Course / Training Skills ─────────────────────────────────────────────
|
|
123
|
+
'curriculum-design': { id: 'curriculum-design', label: 'Curriculum', description: 'Define modules and learning objectives', icon: 'School', category: 'planning' },
|
|
124
|
+
'lesson-plan': { id: 'lesson-plan', label: 'Lesson Plan', description: 'Break modules into lessons', icon: 'BookOpen', category: 'planning' },
|
|
125
|
+
'assessment-design': { id: 'assessment-design', label: 'Assessment', description: 'Create quizzes and exercises', icon: 'ClipboardCheck', category: 'planning' },
|
|
126
|
+
'course-review': { id: 'course-review', label: 'Course Review', description: 'Pedagogical quality check', icon: 'CheckCircle', category: 'analysis' },
|
|
122
127
|
// ── Builtin Skills (agents library) ──────────────────────────────────────
|
|
123
128
|
'code-review': {
|
|
124
129
|
id: 'code-review',
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Business Plan Skills
|
|
3
|
+
*
|
|
4
|
+
* business-vision, market-analysis, competitor-analysis, financial-model, pitch-outline, business-review
|
|
5
|
+
*/
|
|
6
|
+
export declare const businessVisionSkill: import("@compilr-dev/agents").Skill;
|
|
7
|
+
export declare const marketAnalysisSkill: import("@compilr-dev/agents").Skill;
|
|
8
|
+
export declare const competitorAnalysisSkill: import("@compilr-dev/agents").Skill;
|
|
9
|
+
export declare const financialModelSkill: import("@compilr-dev/agents").Skill;
|
|
10
|
+
export declare const pitchOutlineSkill: import("@compilr-dev/agents").Skill;
|
|
11
|
+
export declare const businessReviewSkill: import("@compilr-dev/agents").Skill;
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Business Plan Skills
|
|
3
|
+
*
|
|
4
|
+
* business-vision, market-analysis, competitor-analysis, financial-model, pitch-outline, business-review
|
|
5
|
+
*/
|
|
6
|
+
import { defineSkill } from '@compilr-dev/agents';
|
|
7
|
+
export const businessVisionSkill = defineSkill({
|
|
8
|
+
name: 'business-vision',
|
|
9
|
+
description: 'Define the business identity, problem, solution, and value proposition',
|
|
10
|
+
prompt: `You are in BUSINESS VISION MODE. Help the user define and articulate their business idea.
|
|
11
|
+
|
|
12
|
+
## Step 1: Assess Current State
|
|
13
|
+
1. Use \`business_model_get\` with scope: "identity" to check if a model exists
|
|
14
|
+
2. Report what's already defined
|
|
15
|
+
|
|
16
|
+
## Step 2: Gather Core Information
|
|
17
|
+
Ask in batches (only what's not already defined):
|
|
18
|
+
- **Business name** and tagline
|
|
19
|
+
- **Problem**: What specific pain point do your target customers experience?
|
|
20
|
+
- **Solution**: How does your product/service solve this?
|
|
21
|
+
- **Unique value**: Why you instead of alternatives? What's the unfair advantage?
|
|
22
|
+
- **Target customer**: Who specifically are you building for?
|
|
23
|
+
- **Stage**: idea, pre-seed, seed, series-a, growth, or established?
|
|
24
|
+
- **Industry/sector**
|
|
25
|
+
|
|
26
|
+
## Step 3: Craft the Value Proposition
|
|
27
|
+
Help refine the problem-solution-uniqueValue into a compelling narrative:
|
|
28
|
+
- Problem should be specific and relatable
|
|
29
|
+
- Solution should directly address the problem
|
|
30
|
+
- Unique value should differentiate from ALL alternatives (including doing nothing)
|
|
31
|
+
|
|
32
|
+
## Step 4: Save to Model
|
|
33
|
+
- \`business_model_update\` with op: "set_identity" for name, tagline, mission, stage, industry, sector
|
|
34
|
+
- \`business_model_update\` with op: "set_value_proposition" for problem, solution, uniqueValue, targetCustomer
|
|
35
|
+
|
|
36
|
+
## Step 5: Suggest Next Steps
|
|
37
|
+
After saving, suggest:
|
|
38
|
+
- "Run /market-analysis to size your market and define customer segments"
|
|
39
|
+
- "Run /competitor-analysis to map the competitive landscape"
|
|
40
|
+
|
|
41
|
+
## Rules
|
|
42
|
+
- Interactive — ask questions, don't assume
|
|
43
|
+
- Push back on vague answers ("everyone" is not a target customer)
|
|
44
|
+
- A good value proposition is specific, measurable, and defensible`,
|
|
45
|
+
tags: ['business', 'planning', 'vision'],
|
|
46
|
+
});
|
|
47
|
+
export const marketAnalysisSkill = defineSkill({
|
|
48
|
+
name: 'market-analysis',
|
|
49
|
+
description: 'Analyze market size, trends, and customer segments',
|
|
50
|
+
prompt: `You are in MARKET ANALYSIS MODE. Help the user understand their market.
|
|
51
|
+
|
|
52
|
+
## Step 1: Assess Current State
|
|
53
|
+
1. Use \`business_model_get\` with scope: "overview" for context
|
|
54
|
+
2. Use \`business_model_get\` with scope: "market" for existing market data
|
|
55
|
+
3. Check Knowledge Base for market research sources
|
|
56
|
+
|
|
57
|
+
## Step 2: Define Customer Segments
|
|
58
|
+
For each segment:
|
|
59
|
+
- Name and description
|
|
60
|
+
- Estimated size (number of potential customers or revenue opportunity)
|
|
61
|
+
- Key pain points (what problems they face)
|
|
62
|
+
- Willingness to pay
|
|
63
|
+
|
|
64
|
+
Save each: \`business_model_update\` with op: "segment_add", segment: { name, description, size, painPoints, willingness }
|
|
65
|
+
|
|
66
|
+
## Step 3: Market Sizing
|
|
67
|
+
Guide through TAM/SAM/SOM:
|
|
68
|
+
- **TAM** (Total Addressable Market): If everyone who could use your product did, how big is the market?
|
|
69
|
+
- **SAM** (Serviceable Addressable Market): Realistically, which portion can you reach?
|
|
70
|
+
- **SOM** (Serviceable Obtainable Market): In the first 1-3 years, what share can you capture?
|
|
71
|
+
|
|
72
|
+
Each should have a value (e.g., "$4.2B"), description, and source.
|
|
73
|
+
Save: \`business_model_update\` with op: "set_market_size", market_size: { tam: {...}, sam: {...}, som: {...} }
|
|
74
|
+
|
|
75
|
+
## Step 4: Trends and Growth
|
|
76
|
+
- Identify 3-5 market trends relevant to the business
|
|
77
|
+
- Estimate market growth rate
|
|
78
|
+
Save: \`business_model_update\` with op: "set_market_size", market_size: { trends: [...], growthRate: "..." }
|
|
79
|
+
|
|
80
|
+
## Step 5: Generate Work Items
|
|
81
|
+
Create Milestone work items for:
|
|
82
|
+
- "Validate segment: [name]" for each segment (priority: high)
|
|
83
|
+
- "Source market data" if TAM/SAM/SOM need better sources (priority: medium)
|
|
84
|
+
|
|
85
|
+
## Rules
|
|
86
|
+
- Always ask for sources — investors will ask "where did you get that number?"
|
|
87
|
+
- Challenge unrealistic sizing (a $100B TAM for a niche SaaS is suspicious)
|
|
88
|
+
- Bottom-up sizing is more credible than top-down
|
|
89
|
+
- Distinguish between potential customers and paying customers`,
|
|
90
|
+
tags: ['business', 'analysis', 'market'],
|
|
91
|
+
});
|
|
92
|
+
export const competitorAnalysisSkill = defineSkill({
|
|
93
|
+
name: 'competitor-analysis',
|
|
94
|
+
description: 'Map the competitive landscape — identify competitors, strengths, weaknesses, positioning',
|
|
95
|
+
prompt: `You are in COMPETITOR ANALYSIS MODE. Help the user understand their competition.
|
|
96
|
+
|
|
97
|
+
## Step 1: Assess Current State
|
|
98
|
+
1. Use \`business_model_get\` with scope: "competitors" for existing data
|
|
99
|
+
2. Read Knowledge Base for competitor research, reports, articles
|
|
100
|
+
3. Use \`business_model_get\` with scope: "identity" for context on the business
|
|
101
|
+
|
|
102
|
+
## Step 2: Identify Competitors
|
|
103
|
+
For each competitor (guide user to list 3-8):
|
|
104
|
+
- Direct competitors (same product, same market)
|
|
105
|
+
- Indirect competitors (different product, same problem)
|
|
106
|
+
- Potential competitors (could enter the market)
|
|
107
|
+
|
|
108
|
+
## Step 3: Analyze Each Competitor
|
|
109
|
+
For each, gather:
|
|
110
|
+
- **Name** and brief description
|
|
111
|
+
- **Strengths** (2-4): what they do well
|
|
112
|
+
- **Weaknesses** (2-4): where they fall short
|
|
113
|
+
- **Market position**: leader, challenger, niche, or emerging
|
|
114
|
+
- **Pricing** model/range
|
|
115
|
+
- **URL** (if applicable)
|
|
116
|
+
|
|
117
|
+
Save each: \`business_model_update\` with op: "competitor_add", competitor: { name, description, strengths, weaknesses, marketPosition, pricing, url }
|
|
118
|
+
|
|
119
|
+
## Step 4: Define Competitive Advantages
|
|
120
|
+
Based on the competitor analysis, what are YOUR advantages?
|
|
121
|
+
- What do you do that no competitor does?
|
|
122
|
+
- Where are the gaps in the market?
|
|
123
|
+
- What would be hard for competitors to replicate?
|
|
124
|
+
|
|
125
|
+
Save: \`business_model_update\` with op: "set_competitive_advantages", advantages: [...]
|
|
126
|
+
|
|
127
|
+
## Step 5: Positioning Matrix
|
|
128
|
+
Help the user define a 2D positioning matrix:
|
|
129
|
+
- Ask: "What are the two most important dimensions in your market?" (e.g., price vs. features, simplicity vs. power, general vs. specialized)
|
|
130
|
+
- Define axes with labels
|
|
131
|
+
- Score each competitor (0-100) on both axes
|
|
132
|
+
- Score the user's business position
|
|
133
|
+
|
|
134
|
+
Save positioning: \`business_model_update\` op: "set_positioning", positioning: { xAxis: "Domain Specialization", yAxis: "Multi-Agent Capability", xLow: "General", xHigh: "Specialized", yLow: "Single", yHigh: "Multi-Agent", selfX: 85, selfY: 90 }
|
|
135
|
+
|
|
136
|
+
Then update each competitor with position: \`business_model_update\` op: "competitor_update", competitor_id: "...", updates: { positionX: 30, positionY: 70 }
|
|
137
|
+
|
|
138
|
+
This generates a visual positioning chart in the Business Model Viewer.
|
|
139
|
+
|
|
140
|
+
## Step 6: Generate Work Items
|
|
141
|
+
Create work items for:
|
|
142
|
+
- "Deep-dive: [competitor name]" for competitors needing more research (type: Research)
|
|
143
|
+
- "Validate advantage: [advantage]" for unproven competitive claims (type: Research)
|
|
144
|
+
|
|
145
|
+
## Rules
|
|
146
|
+
- "We have no competitors" is always wrong — there's always an alternative (even doing nothing)
|
|
147
|
+
- Be honest about competitor strengths — investors will know
|
|
148
|
+
- Focus on defensible advantages, not features that can be copied
|
|
149
|
+
- Include both current competitors and potential future entrants`,
|
|
150
|
+
tags: ['business', 'analysis', 'competition'],
|
|
151
|
+
});
|
|
152
|
+
export const financialModelSkill = defineSkill({
|
|
153
|
+
name: 'financial-model',
|
|
154
|
+
description: 'Build revenue forecasts, cost structure, and break-even analysis',
|
|
155
|
+
prompt: `You are in FINANCIAL MODEL MODE. Help the user build financial projections.
|
|
156
|
+
|
|
157
|
+
## Step 1: Assess Current State
|
|
158
|
+
1. Use \`business_model_get\` with scope: "financials" for existing projections
|
|
159
|
+
2. Use \`business_model_get\` with scope: "canvas" for revenue streams and cost structure
|
|
160
|
+
3. Use \`business_model_get\` with scope: "overview" for business context
|
|
161
|
+
|
|
162
|
+
## Step 2: Define Revenue Streams
|
|
163
|
+
For each revenue stream (if not already defined):
|
|
164
|
+
- Name, type (subscription, one-time, usage, etc.)
|
|
165
|
+
- Projected revenue
|
|
166
|
+
Save: \`business_model_update\` op: "revenue_stream_add"
|
|
167
|
+
|
|
168
|
+
## Step 3: Build Revenue Forecasts
|
|
169
|
+
For each revenue stream, guide through assumptions:
|
|
170
|
+
- Number of customers per period
|
|
171
|
+
- Average revenue per customer
|
|
172
|
+
- Growth rate
|
|
173
|
+
- Seasonality or ramp-up time
|
|
174
|
+
|
|
175
|
+
Save forecasts: \`business_model_update\` op: "forecast_add", financials_field: { type: "revenue", period, category, amount }
|
|
176
|
+
|
|
177
|
+
Use realistic time horizons:
|
|
178
|
+
- Startup: monthly for Year 1, quarterly for Years 2-3
|
|
179
|
+
- Growth stage: quarterly for 3 years
|
|
180
|
+
- Established: yearly for 5 years
|
|
181
|
+
|
|
182
|
+
## Step 4: Define Cost Structure
|
|
183
|
+
Guide through expense categories:
|
|
184
|
+
- **Fixed costs**: salaries, rent, subscriptions, insurance
|
|
185
|
+
- **Variable costs**: hosting, transaction fees, marketing spend (scales with revenue)
|
|
186
|
+
|
|
187
|
+
Save each: \`business_model_update\` op: "cost_item_add"
|
|
188
|
+
Save forecasts: \`business_model_update\` op: "forecast_add", financials_field: { type: "expense", period, category, amount }
|
|
189
|
+
|
|
190
|
+
## Step 5: Break-Even Analysis
|
|
191
|
+
Calculate:
|
|
192
|
+
- Monthly burn rate (total fixed + variable costs)
|
|
193
|
+
- Monthly revenue at steady state
|
|
194
|
+
- Break-even point (when cumulative revenue > cumulative costs)
|
|
195
|
+
|
|
196
|
+
Save: \`business_model_update\` op: "set_financials_fields", financials_field: { breakEvenPoint: "Month 18", fundingNeeds: "$2M", useOfFunds: "70% product, 20% marketing, 10% ops" }
|
|
197
|
+
|
|
198
|
+
## Step 6: Document Assumptions
|
|
199
|
+
List all key assumptions made:
|
|
200
|
+
- Customer acquisition rate
|
|
201
|
+
- Churn rate
|
|
202
|
+
- Pricing changes
|
|
203
|
+
- Hiring timeline
|
|
204
|
+
|
|
205
|
+
Save: \`business_model_update\` op: "set_financials_fields", financials_field: { assumptions: [...] }
|
|
206
|
+
|
|
207
|
+
## Rules
|
|
208
|
+
- Always state assumptions explicitly — hidden assumptions kill credibility
|
|
209
|
+
- Use conservative estimates (investors multiply your timeline by 2x)
|
|
210
|
+
- Revenue should be bottoms-up (customers × price), not top-down (% of TAM)
|
|
211
|
+
- Include a "what if" scenario: what happens if growth is 50% slower?
|
|
212
|
+
- Round to meaningful numbers — $1.2M not $1,237,849`,
|
|
213
|
+
tags: ['business', 'analysis', 'financial'],
|
|
214
|
+
});
|
|
215
|
+
export const pitchOutlineSkill = defineSkill({
|
|
216
|
+
name: 'pitch-outline',
|
|
217
|
+
description: 'Structure an investor pitch or executive summary from the Business Model',
|
|
218
|
+
prompt: `You are in PITCH OUTLINE MODE. Help the user create a compelling pitch from their Business Model.
|
|
219
|
+
|
|
220
|
+
## Step 1: Assess Readiness
|
|
221
|
+
1. Use \`business_model_get\` with scope: "full" to review the complete model
|
|
222
|
+
2. Check completeness: identity, value prop, market, competitors, financials
|
|
223
|
+
3. If major gaps exist, note them and suggest which skills to run first
|
|
224
|
+
|
|
225
|
+
## Step 2: Choose Format
|
|
226
|
+
Ask the user:
|
|
227
|
+
- **Elevator pitch** (30 seconds — 3 sentences)
|
|
228
|
+
- **Executive summary** (1 page — for email/document)
|
|
229
|
+
- **Pitch deck narrative** (10-12 slides — investor presentation)
|
|
230
|
+
|
|
231
|
+
## Step 3: Structure the Pitch
|
|
232
|
+
For a pitch deck (adapt for other formats):
|
|
233
|
+
|
|
234
|
+
1. **Problem** — The pain point (from valueProposition.problem)
|
|
235
|
+
2. **Solution** — Your approach (from valueProposition.solution)
|
|
236
|
+
3. **Market** — Size and opportunity (from market TAM/SAM/SOM)
|
|
237
|
+
4. **Product** — What you've built / will build
|
|
238
|
+
5. **Business Model** — How you make money (from canvas.revenueStreams)
|
|
239
|
+
6. **Traction** — What you've achieved so far (milestones, users, revenue)
|
|
240
|
+
7. **Competition** — Why you win (from competitors + competitiveAdvantages)
|
|
241
|
+
8. **Team** — Why this team (from team)
|
|
242
|
+
9. **Financials** — Projections and key metrics (from financials)
|
|
243
|
+
10. **The Ask** — What you need (from financials.fundingNeeds + useOfFunds)
|
|
244
|
+
|
|
245
|
+
## Step 4: Draft the Narrative
|
|
246
|
+
For each section:
|
|
247
|
+
- Write 2-3 sentences that tell a story
|
|
248
|
+
- Lead with the strongest point
|
|
249
|
+
- Use specific numbers, not vague claims
|
|
250
|
+
- Save as a project document
|
|
251
|
+
|
|
252
|
+
## Step 5: Generate Work Items
|
|
253
|
+
Create Milestone work items:
|
|
254
|
+
- "Draft: [section name]" for each pitch section
|
|
255
|
+
- "Prepare: supporting data" for claims that need evidence
|
|
256
|
+
|
|
257
|
+
## Rules
|
|
258
|
+
- The pitch tells a STORY, not a list of facts
|
|
259
|
+
- Start with emotion (the problem), end with opportunity (the ask)
|
|
260
|
+
- Every claim should be backed by data from the Business Model
|
|
261
|
+
- If financials are weak, lead with market size and traction instead
|
|
262
|
+
- The ask should be specific: "$X for Y months to achieve Z"`,
|
|
263
|
+
tags: ['business', 'writing', 'pitch'],
|
|
264
|
+
});
|
|
265
|
+
export const businessReviewSkill = defineSkill({
|
|
266
|
+
name: 'business-review',
|
|
267
|
+
description: 'Validate the business plan — find gaps, weak assumptions, and missing elements',
|
|
268
|
+
prompt: `You are in BUSINESS REVIEW MODE. Critically evaluate the business plan like an investor would.
|
|
269
|
+
|
|
270
|
+
## Step 1: Load and Assess
|
|
271
|
+
1. Use \`business_model_get\` with scope: "full" to read everything
|
|
272
|
+
2. Run \`business_model_validate\` for structural issues
|
|
273
|
+
|
|
274
|
+
## Step 2: Completeness Check
|
|
275
|
+
Score each section (Complete / Partial / Missing):
|
|
276
|
+
- Identity & Value Proposition
|
|
277
|
+
- Market Analysis (TAM/SAM/SOM, segments)
|
|
278
|
+
- Competitive Analysis (competitors, advantages)
|
|
279
|
+
- Business Model Canvas (revenue, costs, channels, partnerships)
|
|
280
|
+
- Financial Projections (revenue, expenses, break-even)
|
|
281
|
+
- Go-to-Market (phases, strategy)
|
|
282
|
+
- Team
|
|
283
|
+
|
|
284
|
+
Present a scorecard: "7/7 complete" or "5/7 — missing Financials and GTM"
|
|
285
|
+
|
|
286
|
+
## Step 3: Assumption Audit
|
|
287
|
+
For each key assumption:
|
|
288
|
+
- Is it stated explicitly?
|
|
289
|
+
- Is there evidence supporting it?
|
|
290
|
+
- What happens if it's wrong?
|
|
291
|
+
|
|
292
|
+
Flag assumptions that are:
|
|
293
|
+
- **Optimistic** — "We'll capture 10% of the market in Year 1" (unlikely for most startups)
|
|
294
|
+
- **Unvalidated** — claims without data or customer evidence
|
|
295
|
+
- **Risky** — single points of failure
|
|
296
|
+
|
|
297
|
+
## Step 4: Competitive Blind Spots
|
|
298
|
+
- Are there competitors missing from the analysis?
|
|
299
|
+
- Are competitive advantages truly defensible?
|
|
300
|
+
- What would a well-funded competitor do to beat you?
|
|
301
|
+
- Is the pricing competitive given the alternatives?
|
|
302
|
+
|
|
303
|
+
## Step 5: Financial Reality Check
|
|
304
|
+
- Do revenue projections match the market sizing? (can't project $100M revenue in a $50M SAM)
|
|
305
|
+
- Is the cost structure realistic? (engineering salaries, cloud costs, marketing spend)
|
|
306
|
+
- Is the break-even timeline achievable with the stated funding?
|
|
307
|
+
- What's the burn rate, and how long does the funding last?
|
|
308
|
+
|
|
309
|
+
## Step 6: Generate Review Report
|
|
310
|
+
Structure as:
|
|
311
|
+
|
|
312
|
+
### Scorecard
|
|
313
|
+
Section-by-section completeness
|
|
314
|
+
|
|
315
|
+
### Strengths (what's compelling)
|
|
316
|
+
2-3 strongest elements
|
|
317
|
+
|
|
318
|
+
### Critical Issues (must fix)
|
|
319
|
+
Problems that would stop an investor
|
|
320
|
+
|
|
321
|
+
### Major Issues (should fix)
|
|
322
|
+
Significant weaknesses
|
|
323
|
+
|
|
324
|
+
### Recommendations
|
|
325
|
+
Prioritized action items
|
|
326
|
+
|
|
327
|
+
Write report to a project document.
|
|
328
|
+
|
|
329
|
+
## Step 7: Create Work Items
|
|
330
|
+
- Type "Issue" (bug) for critical and major issues
|
|
331
|
+
- Type "Research" (tech-debt) for unvalidated assumptions
|
|
332
|
+
- Type "Milestone" (feature) for missing sections
|
|
333
|
+
|
|
334
|
+
## Rules
|
|
335
|
+
- Be constructive but honest — sugar-coating helps nobody
|
|
336
|
+
- Think like an investor: "Would I put money into this?"
|
|
337
|
+
- Every issue should have a specific recommendation
|
|
338
|
+
- Acknowledge what's strong — it builds credibility for the critique
|
|
339
|
+
- Focus on the 3-5 things that matter most, not a list of 20 nitpicks`,
|
|
340
|
+
tags: ['business', 'review', 'validation'],
|
|
341
|
+
});
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Content & Marketing Skills
|
|
3
|
+
*
|
|
4
|
+
* brand-setup, content-strategy, content-calendar, create-content, content-review
|
|
5
|
+
*/
|
|
6
|
+
export declare const brandSetupSkill: import("@compilr-dev/agents").Skill;
|
|
7
|
+
export declare const contentStrategySkill: import("@compilr-dev/agents").Skill;
|
|
8
|
+
export declare const contentCalendarSkill: import("@compilr-dev/agents").Skill;
|
|
9
|
+
export declare const createContentSkill: import("@compilr-dev/agents").Skill;
|
|
10
|
+
export declare const contentReviewSkill: import("@compilr-dev/agents").Skill;
|