@compilr-dev/sdk 0.7.5 → 0.7.7

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, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } 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, } 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, } 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, } from './skills/index.js';
143
143
  // =============================================================================
144
144
  // Contextual Actions (skill invocations with context)
145
145
  // =============================================================================
@@ -119,6 +119,7 @@ export class SQLiteDocumentRepository {
119
119
  'app-model': 0,
120
120
  'research-model': 0,
121
121
  'business-model': 0,
122
+ 'brand-model': 0,
122
123
  };
123
124
  for (const row of results) {
124
125
  counts[row.doc_type] = row.count;
@@ -17,6 +17,7 @@ const DOC_TYPE_ENUM = [
17
17
  'app-model',
18
18
  'research-model',
19
19
  'business-model',
20
+ 'brand-model',
20
21
  ];
21
22
  // eslint-disable-next-line @typescript-eslint/explicit-function-return-type
22
23
  export function createDocumentTools(config) {
@@ -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';
22
+ export type DocumentType = 'prd' | 'architecture' | 'design' | 'notes' | 'plan' | 'app-model' | 'research-model' | 'business-model' | 'brand-model';
23
23
  export type PlanStatus = 'draft' | 'approved' | 'in_progress' | 'completed' | 'abandoned';
24
24
  export interface Project {
25
25
  id: number;
@@ -58,6 +58,12 @@ export const ACTION_META_REGISTRY = {
58
58
  'business-vision': { id: 'business-vision', label: 'Vision', icon: 'Target', description: 'Define your business' },
59
59
  'market-analysis': { id: 'market-analysis', label: 'Market', icon: 'TrendingUp', description: 'Analyze the market' },
60
60
  'competitor-analysis': { id: 'competitor-analysis', label: 'Competitors', icon: 'Swords', description: 'Map competition' },
61
+ // ── Content & Marketing actions ───────────────────────────────────────────
62
+ 'brand-setup': { id: 'brand-setup', label: 'Brand', icon: 'Palette', description: 'Set up brand identity' },
63
+ 'content-strategy': { id: 'content-strategy', label: 'Strategy', icon: 'Target', description: 'Define pillars' },
64
+ 'content-calendar': { id: 'content-calendar', label: 'Calendar', icon: 'Calendar', description: 'Plan content' },
65
+ 'create-content': { id: 'create-content', label: 'Create', icon: 'PenTool', description: 'Write content' },
66
+ 'content-review': { id: 'content-review', label: 'Review', icon: 'CheckCircle', description: 'Check quality' },
61
67
  'financial-model': { id: 'financial-model', label: 'Financials', icon: 'DollarSign', description: 'Build projections' },
62
68
  'pitch-outline': { id: 'pitch-outline', label: 'Pitch', icon: 'Rocket', description: 'Structure a pitch' },
63
69
  'business-review': { id: 'business-review', label: 'Review', icon: 'ShieldCheck', description: 'Validate the plan' },
@@ -401,80 +401,83 @@ export const contentConfig = {
401
401
  category: 'writing',
402
402
  phases: [
403
403
  {
404
- id: 'ideation',
405
- label: 'Ideation',
406
- description: 'Generate content ideas',
407
- completionCheck: 'has-workitems',
404
+ id: 'brand-setup',
405
+ label: 'Brand Setup',
406
+ description: 'Define brand identity, voice, and visual guidelines',
407
+ completionCheck: 'has-document',
408
+ completionDocType: 'brand-model',
408
409
  },
409
410
  {
410
- id: 'research',
411
- label: 'Research',
412
- description: 'Research topics',
413
- completionCheck: 'manual',
411
+ id: 'strategy',
412
+ label: 'Strategy',
413
+ description: 'Define content pillars and cadence',
414
+ completionCheck: 'has-workitems',
414
415
  },
415
- { id: 'draft', label: 'Draft', description: 'Write content', completionCheck: 'has-workitems' },
416
- { id: 'edit', label: 'Edit', description: 'Review and polish', completionCheck: 'manual' },
417
416
  {
418
- id: 'publish',
419
- label: 'Publish',
420
- description: 'Finalize for publication',
421
- completionCheck: 'manual',
417
+ id: 'calendar',
418
+ label: 'Calendar',
419
+ description: 'Plan content for the period',
420
+ completionCheck: 'has-workitems',
422
421
  },
422
+ { id: 'create', label: 'Create', description: 'Write copy and visual briefs', completionCheck: 'has-workitems' },
423
+ { id: 'review', label: 'Review', description: 'Check voice and brand consistency', completionCheck: 'manual' },
424
+ { id: 'publish', label: 'Publish', description: 'Finalize and publish', completionCheck: 'manual' },
423
425
  ],
424
426
  suggestedAgents: [
425
- { role: 'writer', label: 'Writer', description: 'Creative writing and content creation' },
426
- { role: 'editor', label: 'Editor', description: 'Editing, proofreading, style consistency' },
427
- {
428
- role: 'seo',
429
- label: 'SEO Specialist',
430
- description: 'Search optimization and keyword strategy',
431
- },
427
+ { role: 'strategist', label: 'Content Strategist', description: 'Planning, ideation, calendar, repurposing' },
428
+ { role: 'writer', label: 'Copywriter', description: 'Headlines, captions, CTAs, long-form copy' },
429
+ { role: 'designer', label: 'Visual Director', description: 'Visual briefs from Brand Model' },
430
+ { role: 'editor', label: 'Editor', description: 'Voice consistency, quality review, on-brand checks' },
432
431
  ],
433
432
  documentTemplates: [
433
+ { type: 'brand-model', label: 'Brand Model', description: 'Brand identity, voice, visual guidelines, audience, strategy' },
434
434
  { type: 'editorial-calendar', label: 'Editorial Calendar', description: 'Content schedule' },
435
- { type: 'brand-guide', label: 'Brand Guide', description: 'Voice, tone, and style guidelines' },
436
435
  { type: 'article', label: 'Article', description: 'Blog post or article draft' },
437
436
  { type: 'session-notes', label: 'Session Notes', description: 'Summary of work done' },
438
437
  ],
439
- projectActions: ['session-notes'],
440
- workItemActions: ['explain'],
438
+ projectActions: ['brand-setup', 'content-strategy', 'content-calendar', 'create-content', 'content-review', 'session-notes'],
439
+ workItemActions: ['refine-item', 'explain'],
441
440
  workItemLabels: {
442
441
  feature: { short: 'PC', full: 'Content Piece' },
443
442
  bug: { short: 'FX', full: 'Fix' },
444
- 'tech-debt': { short: 'RS', full: 'Research' },
443
+ 'tech-debt': { short: 'BU', full: 'Brand Update' },
445
444
  chore: { short: 'TK', full: 'Task' },
446
445
  },
447
446
  systemPromptContext: 'This is a content/marketing project. The user is creating articles, blog posts, or marketing content. Focus on engaging writing, SEO awareness, and brand consistency.',
448
447
  systemPromptSection: `## Project Context: Content & Marketing
449
448
 
450
- You are assisting with a content creation project. Your role is to help the user produce engaging, well-structured content.
449
+ You are assisting with a content and marketing project. Your role is to help the user produce on-brand content consistently across platforms.
450
+
451
+ ### Brand Model
452
+ This project uses a Brand Model that captures visual identity (logos, colors, fonts, photography style), brand voice (tone, persona, do/don't vocabulary, writing samples), audience personas, target platforms, and content strategy pillars. Always read the Brand Model before generating any content or brief. Never ask the user to repeat brand information that is already in the model.
451
453
 
452
454
  ### Workflow
453
- 1. **Strategy** — Define content goals, audience, brand voice
454
- 2. **Ideation** — Generate topic ideas, angles, headlines
455
- 3. **Research** — Gather supporting information, statistics, quotes
456
- 4. **Drafting** — Write first drafts following the brand guide
457
- 5. **Editing** — Revise for clarity, engagement, consistency
458
- 6. **Optimization** — SEO, readability, formatting for platform
459
- 7. **Publishing** — Final review and publication
455
+ 1. **Brand Setup** — Define brand identity, visual guidelines, voice, audience, strategy pillars
456
+ 2. **Content Strategy** — Refine pillars, set cadence per platform
457
+ 3. **Content Calendar** — Plan content pieces for a period
458
+ 4. **Create** — Write copy (headline, body, CTA, hashtags) + generate visual brief
459
+ 5. **Review** — Check voice consistency, brand alignment, platform conventions
460
+ 6. **Publish** — Final review and publication
460
461
 
461
462
  ### Work Items
462
- - **Content Piece** (type: feature) — an article, post, or page to create
463
+ - **Content Piece** (type: feature) — an article, post, carousel, or newsletter to create
463
464
  - **Fix** (type: bug) — content corrections or updates needed
464
- - **Research** (type: tech-debt) — background research or data to gather
465
+ - **Brand Update** (type: tech-debt) — brand guidelines changes
465
466
  - **Task** (type: chore) — formatting, scheduling, or administrative work
466
467
 
467
468
  ### Writing Conventions
468
- - Match the project's established brand voice and tone
469
+ - Always read the Brand Model voice section before writing any copy
470
+ - Match the established brand voice and tone
471
+ - Adapt tone per platform (e.g., more formal on LinkedIn, casual on Twitter)
469
472
  - Lead with value — don't bury the point
470
- - Use short paragraphs and clear headings for scannability
471
473
  - Include a clear call-to-action where appropriate
472
- - Consider SEO: keywords, meta descriptions, internal linking
473
474
 
474
475
  ### Team Agents
475
- - **Writer** — drafting, creative writing, storytelling
476
- - **Editor** — style consistency, grammar, clarity, tone
477
- - **Analyst** — audience research, content performance, SEO data`,
476
+ - **Content Strategist** — planning, ideation, calendar, repurposing
477
+ - **Copywriter** — headlines, captions, CTAs, long-form copy
478
+ - **Visual Director** — visual briefs from Brand Model guidelines
479
+ - **Editor** — voice consistency, brand alignment, quality review
480
+ Suggest delegation when a task benefits from focused expertise.`,
478
481
  };
479
482
  // =============================================================================
480
483
  // Technical Documentation
@@ -113,6 +113,12 @@ export const SKILL_META_REGISTRY = {
113
113
  'financial-model': { id: 'financial-model', label: 'Financial Model', description: 'Build revenue and cost projections', icon: 'DollarSign', category: 'analysis' },
114
114
  'pitch-outline': { id: 'pitch-outline', label: 'Pitch Outline', description: 'Structure an investor pitch', icon: 'Rocket', category: 'planning' },
115
115
  'business-review': { id: 'business-review', label: 'Business Review', description: 'Validate the business plan', icon: 'ShieldCheck', category: 'analysis' },
116
+ // ── Content & Marketing Skills ───────────────────────────────────────────
117
+ 'brand-setup': { id: 'brand-setup', label: 'Brand Setup', description: 'Define brand identity, voice, and visual guidelines', icon: 'Palette', category: 'planning' },
118
+ 'content-strategy': { id: 'content-strategy', label: 'Content Strategy', description: 'Define content pillars and cadence', icon: 'Target', category: 'planning' },
119
+ 'content-calendar': { id: 'content-calendar', label: 'Content Calendar', description: 'Plan content for a period', icon: 'Calendar', category: 'planning' },
120
+ 'create-content': { id: 'create-content', label: 'Create Content', description: 'Write copy and visual brief', icon: 'PenTool', category: 'development' },
121
+ 'content-review': { id: 'content-review', label: 'Content Review', description: 'Review for brand consistency', icon: 'CheckCircle', category: 'analysis' },
116
122
  // ── Builtin Skills (agents library) ──────────────────────────────────────
117
123
  'code-review': {
118
124
  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, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } 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, brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, } 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, businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } 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, brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, } from './platform-skills.js';
@@ -28,8 +28,13 @@ export declare const competitorAnalysisSkill: Skill;
28
28
  export declare const financialModelSkill: Skill;
29
29
  export declare const pitchOutlineSkill: Skill;
30
30
  export declare const businessReviewSkill: Skill;
31
+ export declare const brandSetupSkill: Skill;
32
+ export declare const contentStrategySkill: Skill;
33
+ export declare const contentCalendarSkill: Skill;
34
+ export declare const createContentSkill: Skill;
35
+ export declare const contentReviewSkill: Skill;
31
36
  /**
32
- * All platform-specific skills (20 total).
37
+ * All platform-specific skills (25 total).
33
38
  * These skills reference platform tools (backlog, workitems, documents, projects)
34
39
  * and belong in the SDK rather than in generic agent/coding libraries.
35
40
  */
@@ -1748,10 +1748,191 @@ Write report to a project document.
1748
1748
  tags: ['business', 'review', 'validation'],
1749
1749
  });
1750
1750
  // =============================================================================
1751
+ // Content & Marketing Skills
1752
+ // =============================================================================
1753
+ export const brandSetupSkill = defineSkill({
1754
+ name: 'brand-setup',
1755
+ description: 'Define brand identity, visual guidelines, voice, audience, and content strategy',
1756
+ prompt: `You are in BRAND SETUP MODE. Guide the user through building their Brand Model step by step.
1757
+
1758
+ ## Step 1: Brand Identity
1759
+ 1. Use \`brand_model_get\` with scope: "overview" to check existing state
1760
+ 2. Ask for: brand name, tagline, 2-3 sentence description
1761
+ 3. Save: \`brand_model_update\` op: "set_brand_identity"
1762
+
1763
+ ## Step 2: Values & Mission
1764
+ Ask for 3-5 core values and an optional mission statement.
1765
+ Save: \`brand_model_update\` op: "set_brand_identity" with values and mission
1766
+
1767
+ ## Step 3: Color Palette
1768
+ Ask for brand colors with their roles (primary, secondary, accent, background, text).
1769
+ For each: \`brand_model_update\` op: "add_color", color: { role, name, hex }
1770
+
1771
+ ## Step 4: Font Hierarchy
1772
+ Ask what fonts the brand uses. Map to roles: title, subtitle, heading, subheading, body, caption.
1773
+ For each: \`brand_model_update\` op: "add_font", font: { role, family, weight }
1774
+
1775
+ ## Step 5: Visual Styles
1776
+ Ask about photography style, graphic/illustration style, icon style.
1777
+ Save each: \`brand_model_update\` op: "set_photography_style" / "set_graphic_style" / "set_icon_style", style_value: "..."
1778
+
1779
+ ## Step 6: Brand Voice
1780
+ Ask about:
1781
+ - Tone (formal, casual, playful, authoritative, empathetic, technical, inspirational)
1782
+ - Persona ("a knowledgeable friend who explains without jargon")
1783
+ - Words/phrases to USE and AVOID
1784
+ - 1-3 writing samples that represent the brand voice
1785
+ Save: \`brand_model_update\` op: "set_voice", voice: { tone, persona, doUse, dontUse, writingSamples }
1786
+
1787
+ ## Step 7: Audience Personas
1788
+ For each target persona: name, role/title, pain points, platforms they use.
1789
+ Save: \`brand_model_update\` op: "add_persona", persona: { name, role, painPoints, platforms }
1790
+
1791
+ ## Step 8: Platforms
1792
+ For each platform: id (linkedin, instagram, twitter, blog, newsletter), formats, cadence, tone adjustment.
1793
+ Save: \`brand_model_update\` op: "add_platform", platform: { id, active: true, formats, postsPerWeek, toneDelta }
1794
+
1795
+ ## Step 9: Content Pillars
1796
+ Define 3-5 thematic pillars with example topics and weight %.
1797
+ Save: \`brand_model_update\` op: "add_pillar", pillar: { name, description, exampleTopics, weight }
1798
+
1799
+ ## Step 10: Validation
1800
+ Run \`brand_model_validate\` to check completeness. Report gaps and ask if user wants to fill them.
1801
+
1802
+ ## Rules
1803
+ - This is INTERACTIVE — ask one section at a time, don't overwhelm
1804
+ - If the user already has brand guidelines, they can paste them and you extract the data
1805
+ - Skip sections the user doesn't have answers for — they can complete later
1806
+ - After each section, confirm what was saved before moving on`,
1807
+ tags: ['content', 'brand', 'setup'],
1808
+ });
1809
+ export const contentStrategySkill = defineSkill({
1810
+ name: 'content-strategy',
1811
+ description: 'Define or refine content pillars and per-platform cadence',
1812
+ prompt: `You are in CONTENT STRATEGY MODE. Help the user plan their content approach.
1813
+
1814
+ ## Step 1: Assess
1815
+ 1. Use \`brand_model_get\` scope: "strategy" for existing pillars
1816
+ 2. Use \`brand_model_get\` scope: "audience" for personas and platforms
1817
+
1818
+ ## Step 2: Define/Refine Pillars
1819
+ - What are the 3-5 themes you want to publish about?
1820
+ - For each: name, description, example topics, weight (% of content calendar)
1821
+ - Weights should sum to ~100%
1822
+
1823
+ Save: \`brand_model_update\` op: "add_pillar" or "update_pillar"
1824
+
1825
+ ## Step 3: Platform Cadence
1826
+ For each active platform, confirm or set posting frequency.
1827
+ Save: \`brand_model_update\` op: "update_platform", updates: { postsPerWeek }
1828
+
1829
+ ## Step 4: Generate Work Items
1830
+ Create initial content piece work items based on pillars and cadence.`,
1831
+ tags: ['content', 'strategy', 'planning'],
1832
+ });
1833
+ export const contentCalendarSkill = defineSkill({
1834
+ name: 'content-calendar',
1835
+ description: 'Generate content piece work items for a specific period',
1836
+ prompt: `You are in CONTENT CALENDAR MODE. Plan content for a specific period.
1837
+
1838
+ ## Step 1: Assess
1839
+ 1. Read Brand Model: pillars, platforms, cadence
1840
+ 2. Ask: "What period? (e.g., next 2 weeks, this month)"
1841
+
1842
+ ## Step 2: Generate Calendar
1843
+ - Distribute pieces across pillars per their weights
1844
+ - Respect per-platform cadence (postsPerWeek)
1845
+ - Generate topic ideas for each piece
1846
+ - Balance content types (carousel, article, thread, etc.)
1847
+
1848
+ ## Step 3: Create Work Items
1849
+ For each content piece:
1850
+ - Type: "feature" (displayed as "Content Piece")
1851
+ - Title: "[Platform] Topic Title"
1852
+ - Description: pillar, format, key points to cover
1853
+ - Priority: based on timing
1854
+
1855
+ Present the calendar as a table before creating work items.`,
1856
+ tags: ['content', 'calendar', 'planning'],
1857
+ });
1858
+ export const createContentSkill = defineSkill({
1859
+ name: 'create-content',
1860
+ description: 'Write copy and generate visual brief for a content piece',
1861
+ prompt: `You are in CONTENT CREATION MODE. Create a complete content piece.
1862
+
1863
+ ## Step 1: Read Context
1864
+ 1. \`brand_model_get\` scope: "voice" — tone, persona, do/don't
1865
+ 2. \`brand_model_get\` scope: "visual" — colors, fonts, styles
1866
+ 3. \`brand_model_get\` scope: "audience" — persona and platform conventions
1867
+ 4. Read the work item for topic, platform, format details
1868
+
1869
+ ## Step 2: Write Copy
1870
+ Based on the platform and format:
1871
+ - **Headline** — attention-grabbing, on-brand
1872
+ - **Body** — main content, matching brand voice
1873
+ - **CTA** — clear call-to-action
1874
+ - **Hashtags** — platform-appropriate
1875
+ - **Slides** (for carousels) — per-slide heading + body
1876
+
1877
+ ## Step 3: Visual Brief
1878
+ Generate a detailed visual brief using Brand Model:
1879
+ - Layout description (format, dimensions)
1880
+ - Color usage (which brand colors where)
1881
+ - Font usage (which font roles for which text)
1882
+ - Image direction (photography style, subject, mood)
1883
+ - Key text elements (text that must appear in the visual)
1884
+
1885
+ ## Step 4: Assemble
1886
+ Write everything as structured markdown in the work item description.
1887
+
1888
+ ## Rules
1889
+ - ALWAYS read the Brand Model voice section before writing
1890
+ - Never use words from the "don't use" list
1891
+ - Adapt tone per platform (use toneDelta if defined)
1892
+ - The visual brief should be specific enough for a designer to execute`,
1893
+ tags: ['content', 'creation', 'writing'],
1894
+ });
1895
+ export const contentReviewSkill = defineSkill({
1896
+ name: 'content-review',
1897
+ description: 'Review content for voice consistency, brand alignment, and platform conventions',
1898
+ prompt: `You are in CONTENT REVIEW MODE. Review a content piece as the brand's quality gate.
1899
+
1900
+ ## Step 1: Read References
1901
+ 1. \`brand_model_get\` scope: "voice" — tone, do/don't, persona
1902
+ 2. \`brand_model_get\` scope: "visual" — brand visual guidelines
1903
+ 3. Read the content piece (work item description)
1904
+
1905
+ ## Step 2: Voice Check
1906
+ - Does the tone match the brand persona?
1907
+ - Are any "don't use" words present?
1908
+ - Is the language appropriate for the target platform?
1909
+
1910
+ ## Step 3: Brand Alignment Check
1911
+ - Does the visual brief use correct brand colors?
1912
+ - Are font roles assigned correctly?
1913
+ - Does image direction match the photography/graphic style?
1914
+
1915
+ ## Step 4: Platform Check
1916
+ - Character limits respected?
1917
+ - Hashtag count appropriate?
1918
+ - Format matches platform best practices?
1919
+
1920
+ ## Step 5: Report
1921
+ - List issues found (voice, brand, platform)
1922
+ - Create revision work items for significant issues
1923
+ - If clean, mark as reviewed
1924
+
1925
+ ## Rules
1926
+ - Be specific about what's wrong and how to fix it
1927
+ - Reference the Brand Model section that the issue violates
1928
+ - Don't rewrite the content — flag issues for the creator to fix`,
1929
+ tags: ['content', 'review', 'quality'],
1930
+ });
1931
+ // =============================================================================
1751
1932
  // Aggregate export
1752
1933
  // =============================================================================
1753
1934
  /**
1754
- * All platform-specific skills (20 total).
1935
+ * All platform-specific skills (25 total).
1755
1936
  * These skills reference platform tools (backlog, workitems, documents, projects)
1756
1937
  * and belong in the SDK rather than in generic agent/coding libraries.
1757
1938
  */
@@ -1776,4 +1957,9 @@ export const platformSkills = [
1776
1957
  financialModelSkill,
1777
1958
  pitchOutlineSkill,
1778
1959
  businessReviewSkill,
1960
+ brandSetupSkill,
1961
+ contentStrategySkill,
1962
+ contentCalendarSkill,
1963
+ createContentSkill,
1964
+ contentReviewSkill,
1779
1965
  ];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@compilr-dev/sdk",
3
- "version": "0.7.5",
3
+ "version": "0.7.7",
4
4
  "description": "Universal agent runtime for building AI-powered applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",