@compilr-dev/sdk 0.7.6 → 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.
@@ -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;
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Course / Training Skills
3
+ *
4
+ * curriculum-design, lesson-plan, assessment-design, course-review
5
+ */
6
+ import { defineSkill } from '@compilr-dev/agents';
7
+ export const curriculumDesignSkill = defineSkill({
8
+ name: 'curriculum-design',
9
+ description: 'Define course structure — modules, learning objectives, progression',
10
+ prompt: `You are in CURRICULUM DESIGN MODE. Help the user structure their course.
11
+
12
+ ## Step 1: Course Overview
13
+ 1. Use \`curriculum_model_get\` scope: "overview" to check existing state
14
+ 2. Ask for: course title, description, target audience, prerequisites, difficulty level
15
+ 3. Save: \`curriculum_model_update\` op: "set_course_info"
16
+
17
+ ## Step 2: Module Breakdown
18
+ Ask: "What are the main topics/sections of your course?"
19
+ Help organize into 3-8 modules with logical progression.
20
+ For each module: \`curriculum_model_update\` op: "module_add"
21
+
22
+ ## Step 3: Learning Objectives
23
+ For each module, ask: "After this module, what should the student be able to DO?"
24
+ Use Bloom's taxonomy levels:
25
+ - Remember (define, list, recall)
26
+ - Understand (explain, describe, summarize)
27
+ - Apply (use, implement, solve)
28
+ - Analyze (compare, differentiate, examine)
29
+ - Evaluate (assess, critique, judge)
30
+ - Create (design, build, compose)
31
+
32
+ Save: \`curriculum_model_update\` op: "module_update" with learningObjectives
33
+
34
+ ## Step 4: Time Estimates
35
+ Ask about total course length, then distribute across modules.
36
+ Save: \`curriculum_model_update\` op: "module_update" with estimatedMinutes
37
+
38
+ ## Step 5: Generate Work Items
39
+ Create one "Lesson" work item per module: "Develop: [module title]"
40
+
41
+ ## Step 6: Validation
42
+ Run \`curriculum_model_validate\` to check completeness.
43
+
44
+ ## Rules
45
+ - Interactive — one section at a time
46
+ - The user is the subject expert, you are the curriculum designer
47
+ - Push for specific, measurable objectives (not "understand Python" but "write a function that takes arguments and returns a value")
48
+ - Suggest KB uploads for existing materials`,
49
+ tags: ['education', 'planning', 'curriculum'],
50
+ });
51
+ export const lessonPlanSkill = defineSkill({
52
+ name: 'lesson-plan',
53
+ description: 'Break a module into detailed lessons with types and time estimates',
54
+ prompt: `You are in LESSON PLAN MODE. Break a module into detailed lessons.
55
+
56
+ ## Step 1: Read Context
57
+ 1. \`curriculum_model_get\` scope: "modules" for overview
58
+ 2. Ask which module to plan (or plan all)
59
+ 3. Read the module's learning objectives
60
+
61
+ ## Step 2: Propose Lessons
62
+ For each learning objective, propose lessons:
63
+ - **theory** — explain concepts, principles, background
64
+ - **demo** — show how it works (live coding, walkthrough)
65
+ - **hands-on** — student does it themselves
66
+ - **discussion** — reflect, discuss implications, share experiences
67
+ - **reading** — reference material, further study
68
+
69
+ Balance: aim for at least 40% hands-on/demo.
70
+
71
+ ## Step 3: Sequence and Time
72
+ - Order lessons logically (concept before practice)
73
+ - Estimate minutes per lesson
74
+ - Total should roughly match the module's estimated time
75
+
76
+ Save each: \`curriculum_model_update\` op: "lesson_add"
77
+
78
+ ## Step 4: Suggest Assessments
79
+ After lessons, suggest an assessment for the module.
80
+ Save: \`curriculum_model_update\` op: "assessment_add"
81
+
82
+ ## Rules
83
+ - Every learning objective should be addressed by at least one lesson
84
+ - Don't create theory-only modules — students need practice
85
+ - Keep individual lessons under 45 minutes
86
+ - Suggest where KB materials could be used`,
87
+ tags: ['education', 'planning', 'lessons'],
88
+ });
89
+ export const assessmentDesignSkill = defineSkill({
90
+ name: 'assessment-design',
91
+ description: 'Create quizzes, exercises, and projects for a module',
92
+ prompt: `You are in ASSESSMENT DESIGN MODE. Create assessments linked to learning objectives.
93
+
94
+ ## Step 1: Read Context
95
+ 1. \`curriculum_model_get\` scope: "module" with the target module
96
+ 2. Review learning objectives and existing lessons
97
+
98
+ ## Step 2: Choose Assessment Types
99
+ Match assessment to objective level:
100
+ - **quiz** — for Remember/Understand (multiple choice, true/false, short answer)
101
+ - **exercise** — for Apply/Analyze (hands-on practice, problem solving)
102
+ - **project** — for Evaluate/Create (open-ended, multi-step)
103
+ - **peer-review** — students review each other's work
104
+ - **reflection** — self-assessment, learning journal
105
+
106
+ ## Step 3: Design Each Assessment
107
+ For each: title, type, description, which objectives it tests.
108
+ Save: \`curriculum_model_update\` op: "assessment_add"
109
+
110
+ ## Step 4: Coverage Check
111
+ Verify every learning objective has at least one assessment.
112
+ Flag untested objectives.
113
+
114
+ ## Rules
115
+ - Every objective should be assessed
116
+ - Mix assessment types for variety
117
+ - Exercises should be doable within the lesson timeframe
118
+ - Projects can span multiple objectives`,
119
+ tags: ['education', 'assessment'],
120
+ });
121
+ export const courseReviewSkill = defineSkill({
122
+ name: 'course-review',
123
+ description: 'Review course for pedagogical quality — balance, coverage, progression',
124
+ prompt: `You are in COURSE REVIEW MODE. Evaluate the curriculum as a pedagogical expert.
125
+
126
+ ## Step 1: Load
127
+ 1. \`curriculum_model_get\` scope: "full"
128
+ 2. Run \`curriculum_model_validate\` for structural issues
129
+
130
+ ## Step 2: Completeness
131
+ Check each module has:
132
+ - Learning objectives (specific, measurable)
133
+ - Lessons (at least 2)
134
+ - At least one assessment
135
+ Score: Complete / Partial / Missing
136
+
137
+ ## Step 3: Balance Analysis
138
+ - Theory vs practice ratio per module (flag if >70% theory)
139
+ - Time distribution across modules (flag if one is >2x the average)
140
+ - Lesson type variety (flag modules with only one type)
141
+
142
+ ## Step 4: Progression
143
+ - Are prerequisites respected? (easier modules before harder ones)
144
+ - Does difficulty increase progressively?
145
+ - Are foundational concepts taught before they're needed?
146
+
147
+ ## Step 5: Assessment Coverage
148
+ - Map objectives to assessments
149
+ - Flag objectives with no assessment
150
+ - Flag assessments testing nothing specific
151
+
152
+ ## Step 6: Report
153
+ Generate a structured review:
154
+ - Scorecard (modules: complete/partial/missing)
155
+ - Strengths
156
+ - Issues (critical + recommendations)
157
+ - Create work items for issues found
158
+
159
+ ## Rules
160
+ - Be constructive — suggest fixes, don't just flag problems
161
+ - Focus on pedagogy, not domain accuracy (user is the expert)
162
+ - 3-5 most impactful recommendations, not a list of 20 nitpicks`,
163
+ tags: ['education', 'review', 'quality'],
164
+ });
@@ -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, curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseReviewSkill, } 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, curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseReviewSkill, } from './platform-skills.js';
@@ -1,36 +1,16 @@
1
1
  /**
2
- * Platform Skills
2
+ * Platform Skills — Aggregate
3
3
  *
4
- * Skills that depend on platform-specific tools (backlog, workitems, documents, projects).
5
- * These were originally in @compilr-dev/agents and @compilr-dev/agents-coding-core
6
- * but belong in the SDK since they reference platform tools.
7
- *
8
- * Skills: design, sketch, prd, refine, refine-item, architecture, session-notes, build, scaffold
4
+ * Re-exports all domain-specific skills and provides the combined platformSkills array.
5
+ * Individual skill files: software-skills.ts, research-skills.ts, business-skills.ts, content-skills.ts
9
6
  */
10
- import { type Skill } from '@compilr-dev/agents';
11
- export declare const designSkill: Skill;
12
- export declare const refineSkill: Skill;
13
- export declare const sketchSkill: Skill;
14
- export declare const refineItemSkill: Skill;
15
- export declare const architectureSkill: Skill;
16
- export declare const prdSkill: Skill;
17
- export declare const sessionNotesSkill: Skill;
18
- export declare const buildSkill: Skill;
19
- export declare const scaffoldSkill: Skill;
20
- export declare const outlineSkill: Skill;
21
- export declare const literatureReviewSkill: Skill;
22
- export declare const draftSectionSkill: Skill;
23
- export declare const peerReviewSkill: Skill;
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;
7
+ import type { Skill } from '@compilr-dev/agents';
8
+ export { designSkill, sketchSkill, prdSkill, refineSkill, refineItemSkill, architectureSkill, sessionNotesSkill, buildSkill, scaffoldSkill, } from './software-skills.js';
9
+ export { outlineSkill, literatureReviewSkill, draftSectionSkill, peerReviewSkill, researchScaffoldSkill, } from './research-skills.js';
10
+ export { businessVisionSkill, marketAnalysisSkill, competitorAnalysisSkill, financialModelSkill, pitchOutlineSkill, businessReviewSkill, } from './business-skills.js';
11
+ export { brandSetupSkill, contentStrategySkill, contentCalendarSkill, createContentSkill, contentReviewSkill, } from './content-skills.js';
12
+ export { curriculumDesignSkill, lessonPlanSkill, assessmentDesignSkill, courseReviewSkill, } from './course-skills.js';
31
13
  /**
32
- * All platform-specific skills (20 total).
33
- * These skills reference platform tools (backlog, workitems, documents, projects)
34
- * and belong in the SDK rather than in generic agent/coding libraries.
14
+ * All platform-specific skills (29 total).
35
15
  */
36
16
  export declare const platformSkills: Skill[];