@compilr-dev/sdk 0.7.7 → 0.7.9

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.
@@ -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;
@@ -0,0 +1,184 @@
1
+ /**
2
+ * Content & Marketing Skills
3
+ *
4
+ * brand-setup, content-strategy, content-calendar, create-content, content-review
5
+ */
6
+ import { defineSkill } from '@compilr-dev/agents';
7
+ export const brandSetupSkill = defineSkill({
8
+ name: 'brand-setup',
9
+ description: 'Define brand identity, visual guidelines, voice, audience, and content strategy',
10
+ prompt: `You are in BRAND SETUP MODE. Guide the user through building their Brand Model step by step.
11
+
12
+ ## Step 1: Brand Identity
13
+ 1. Use \`brand_model_get\` with scope: "overview" to check existing state
14
+ 2. Ask for: brand name, tagline, 2-3 sentence description
15
+ 3. Save: \`brand_model_update\` op: "set_brand_identity"
16
+
17
+ ## Step 2: Values & Mission
18
+ Ask for 3-5 core values and an optional mission statement.
19
+ Save: \`brand_model_update\` op: "set_brand_identity" with values and mission
20
+
21
+ ## Step 3: Color Palette
22
+ Ask for brand colors with their roles (primary, secondary, accent, background, text).
23
+ For each: \`brand_model_update\` op: "add_color", color: { role, name, hex }
24
+
25
+ ## Step 4: Font Hierarchy
26
+ Ask what fonts the brand uses. Map to roles: title, subtitle, heading, subheading, body, caption.
27
+ For each: \`brand_model_update\` op: "add_font", font: { role, family, weight }
28
+
29
+ ## Step 5: Visual Styles
30
+ Ask about photography style, graphic/illustration style, icon style.
31
+ Save each: \`brand_model_update\` op: "set_photography_style" / "set_graphic_style" / "set_icon_style", style_value: "..."
32
+
33
+ ## Step 6: Brand Voice
34
+ Ask about:
35
+ - Tone (formal, casual, playful, authoritative, empathetic, technical, inspirational)
36
+ - Persona ("a knowledgeable friend who explains without jargon")
37
+ - Words/phrases to USE and AVOID
38
+ - 1-3 writing samples that represent the brand voice
39
+ Save: \`brand_model_update\` op: "set_voice", voice: { tone, persona, doUse, dontUse, writingSamples }
40
+
41
+ ## Step 7: Audience Personas
42
+ For each target persona: name, role/title, pain points, platforms they use.
43
+ Save: \`brand_model_update\` op: "add_persona", persona: { name, role, painPoints, platforms }
44
+
45
+ ## Step 8: Platforms
46
+ For each platform: id (linkedin, instagram, twitter, blog, newsletter), formats, cadence, tone adjustment.
47
+ Save: \`brand_model_update\` op: "add_platform", platform: { id, active: true, formats, postsPerWeek, toneDelta }
48
+
49
+ ## Step 9: Content Pillars
50
+ Define 3-5 thematic pillars with example topics and weight %.
51
+ Save: \`brand_model_update\` op: "add_pillar", pillar: { name, description, exampleTopics, weight }
52
+
53
+ ## Step 10: Validation
54
+ Run \`brand_model_validate\` to check completeness. Report gaps and ask if user wants to fill them.
55
+
56
+ ## Rules
57
+ - This is INTERACTIVE — ask one section at a time, don't overwhelm
58
+ - If the user already has brand guidelines, they can paste them and you extract the data
59
+ - Skip sections the user doesn't have answers for — they can complete later
60
+ - After each section, confirm what was saved before moving on`,
61
+ tags: ['content', 'brand', 'setup'],
62
+ });
63
+ export const contentStrategySkill = defineSkill({
64
+ name: 'content-strategy',
65
+ description: 'Define or refine content pillars and per-platform cadence',
66
+ prompt: `You are in CONTENT STRATEGY MODE. Help the user plan their content approach.
67
+
68
+ ## Step 1: Assess
69
+ 1. Use \`brand_model_get\` scope: "strategy" for existing pillars
70
+ 2. Use \`brand_model_get\` scope: "audience" for personas and platforms
71
+
72
+ ## Step 2: Define/Refine Pillars
73
+ - What are the 3-5 themes you want to publish about?
74
+ - For each: name, description, example topics, weight (% of content calendar)
75
+ - Weights should sum to ~100%
76
+
77
+ Save: \`brand_model_update\` op: "add_pillar" or "update_pillar"
78
+
79
+ ## Step 3: Platform Cadence
80
+ For each active platform, confirm or set posting frequency.
81
+ Save: \`brand_model_update\` op: "update_platform", updates: { postsPerWeek }
82
+
83
+ ## Step 4: Generate Work Items
84
+ Create initial content piece work items based on pillars and cadence.`,
85
+ tags: ['content', 'strategy', 'planning'],
86
+ });
87
+ export const contentCalendarSkill = defineSkill({
88
+ name: 'content-calendar',
89
+ description: 'Generate content piece work items for a specific period',
90
+ prompt: `You are in CONTENT CALENDAR MODE. Plan content for a specific period.
91
+
92
+ ## Step 1: Assess
93
+ 1. Read Brand Model: pillars, platforms, cadence
94
+ 2. Ask: "What period? (e.g., next 2 weeks, this month)"
95
+
96
+ ## Step 2: Generate Calendar
97
+ - Distribute pieces across pillars per their weights
98
+ - Respect per-platform cadence (postsPerWeek)
99
+ - Generate topic ideas for each piece
100
+ - Balance content types (carousel, article, thread, etc.)
101
+
102
+ ## Step 3: Create Work Items
103
+ For each content piece:
104
+ - Type: "feature" (displayed as "Content Piece")
105
+ - Title: "[Platform] Topic Title"
106
+ - Description: pillar, format, key points to cover
107
+ - Priority: based on timing
108
+
109
+ Present the calendar as a table before creating work items.`,
110
+ tags: ['content', 'calendar', 'planning'],
111
+ });
112
+ export const createContentSkill = defineSkill({
113
+ name: 'create-content',
114
+ description: 'Write copy and generate visual brief for a content piece',
115
+ prompt: `You are in CONTENT CREATION MODE. Create a complete content piece.
116
+
117
+ ## Step 1: Read Context
118
+ 1. \`brand_model_get\` scope: "voice" — tone, persona, do/don't
119
+ 2. \`brand_model_get\` scope: "visual" — colors, fonts, styles
120
+ 3. \`brand_model_get\` scope: "audience" — persona and platform conventions
121
+ 4. Read the work item for topic, platform, format details
122
+
123
+ ## Step 2: Write Copy
124
+ Based on the platform and format:
125
+ - **Headline** — attention-grabbing, on-brand
126
+ - **Body** — main content, matching brand voice
127
+ - **CTA** — clear call-to-action
128
+ - **Hashtags** — platform-appropriate
129
+ - **Slides** (for carousels) — per-slide heading + body
130
+
131
+ ## Step 3: Visual Brief
132
+ Generate a detailed visual brief using Brand Model:
133
+ - Layout description (format, dimensions)
134
+ - Color usage (which brand colors where)
135
+ - Font usage (which font roles for which text)
136
+ - Image direction (photography style, subject, mood)
137
+ - Key text elements (text that must appear in the visual)
138
+
139
+ ## Step 4: Assemble
140
+ Write everything as structured markdown in the work item description.
141
+
142
+ ## Rules
143
+ - ALWAYS read the Brand Model voice section before writing
144
+ - Never use words from the "don't use" list
145
+ - Adapt tone per platform (use toneDelta if defined)
146
+ - The visual brief should be specific enough for a designer to execute`,
147
+ tags: ['content', 'creation', 'writing'],
148
+ });
149
+ export const contentReviewSkill = defineSkill({
150
+ name: 'content-review',
151
+ description: 'Review content for voice consistency, brand alignment, and platform conventions',
152
+ prompt: `You are in CONTENT REVIEW MODE. Review a content piece as the brand's quality gate.
153
+
154
+ ## Step 1: Read References
155
+ 1. \`brand_model_get\` scope: "voice" — tone, do/don't, persona
156
+ 2. \`brand_model_get\` scope: "visual" — brand visual guidelines
157
+ 3. Read the content piece (work item description)
158
+
159
+ ## Step 2: Voice Check
160
+ - Does the tone match the brand persona?
161
+ - Are any "don't use" words present?
162
+ - Is the language appropriate for the target platform?
163
+
164
+ ## Step 3: Brand Alignment Check
165
+ - Does the visual brief use correct brand colors?
166
+ - Are font roles assigned correctly?
167
+ - Does image direction match the photography/graphic style?
168
+
169
+ ## Step 4: Platform Check
170
+ - Character limits respected?
171
+ - Hashtag count appropriate?
172
+ - Format matches platform best practices?
173
+
174
+ ## Step 5: Report
175
+ - List issues found (voice, brand, platform)
176
+ - Create revision work items for significant issues
177
+ - If clean, mark as reviewed
178
+
179
+ ## Rules
180
+ - Be specific about what's wrong and how to fix it
181
+ - Reference the Brand Model section that the issue violates
182
+ - Don't rewrite the content — flag issues for the creator to fix`,
183
+ tags: ['content', 'review', 'quality'],
184
+ });
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Course / Training Skills
3
+ *
4
+ * curriculum-design, lesson-plan, assessment-design, course-review
5
+ */
6
+ export declare const curriculumDesignSkill: import("@compilr-dev/agents").Skill;
7
+ export declare const lessonPlanSkill: import("@compilr-dev/agents").Skill;
8
+ export declare const assessmentDesignSkill: import("@compilr-dev/agents").Skill;
9
+ export declare const courseReviewSkill: import("@compilr-dev/agents").Skill;