@dedesfr/prompter 0.3.9 → 0.4.0

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.
Files changed (43) hide show
  1. package/.github/prompts/product-brief.prompt.md +99 -0
  2. package/.github/prompts/skill-creator.prompt.md +1 -0
  3. package/dist/cli/index.js +1 -1
  4. package/dist/commands/product-brief.d.ts +11 -0
  5. package/dist/commands/product-brief.d.ts.map +1 -0
  6. package/dist/commands/product-brief.js +97 -0
  7. package/dist/commands/product-brief.js.map +1 -0
  8. package/dist/core/configurators/slash/antigravity.d.ts.map +1 -1
  9. package/dist/core/configurators/slash/antigravity.js +2 -0
  10. package/dist/core/configurators/slash/antigravity.js.map +1 -1
  11. package/dist/core/configurators/slash/base.js +1 -1
  12. package/dist/core/configurators/slash/base.js.map +1 -1
  13. package/dist/core/configurators/slash/claude.d.ts.map +1 -1
  14. package/dist/core/configurators/slash/claude.js +2 -0
  15. package/dist/core/configurators/slash/claude.js.map +1 -1
  16. package/dist/core/configurators/slash/codex.d.ts.map +1 -1
  17. package/dist/core/configurators/slash/codex.js +2 -0
  18. package/dist/core/configurators/slash/codex.js.map +1 -1
  19. package/dist/core/configurators/slash/github-copilot.d.ts.map +1 -1
  20. package/dist/core/configurators/slash/github-copilot.js +2 -0
  21. package/dist/core/configurators/slash/github-copilot.js.map +1 -1
  22. package/dist/core/configurators/slash/kilocode.d.ts.map +1 -1
  23. package/dist/core/configurators/slash/kilocode.js +2 -0
  24. package/dist/core/configurators/slash/kilocode.js.map +1 -1
  25. package/dist/core/configurators/slash/opencode.d.ts.map +1 -1
  26. package/dist/core/configurators/slash/opencode.js +2 -0
  27. package/dist/core/configurators/slash/opencode.js.map +1 -1
  28. package/dist/core/templates/slash-command-templates.d.ts +1 -1
  29. package/dist/core/templates/slash-command-templates.d.ts.map +1 -1
  30. package/dist/core/templates/slash-command-templates.js +94 -0
  31. package/dist/core/templates/slash-command-templates.js.map +1 -1
  32. package/package.json +1 -1
  33. package/prompt/product-brief.md +84 -0
  34. package/src/cli/index.ts +1 -1
  35. package/src/commands/product-brief.ts +118 -0
  36. package/src/core/configurators/slash/antigravity.ts +2 -0
  37. package/src/core/configurators/slash/base.ts +1 -1
  38. package/src/core/configurators/slash/claude.ts +2 -0
  39. package/src/core/configurators/slash/codex.ts +2 -0
  40. package/src/core/configurators/slash/github-copilot.ts +2 -0
  41. package/src/core/configurators/slash/kilocode.ts +2 -0
  42. package/src/core/configurators/slash/opencode.ts +2 -0
  43. package/src/core/templates/slash-command-templates.ts +96 -1
@@ -0,0 +1,99 @@
1
+ ---
2
+ description: Generate an executive-level product brief (1-page summary)
3
+ ---
4
+ $ARGUMENTS
5
+ <!-- prompter-managed-start -->
6
+ # Role & Expertise
7
+ You are a Senior Product Manager with 15+ years of experience crafting executive-level product briefs for Fortune 500 companies. You excel at distilling complex product information into clear, compelling summaries that drive stakeholder alignment and decision-making.
8
+
9
+ # Context
10
+ You are creating a Product Brief (Executive Summary) - a concise, high-impact document that communicates the essential elements of a product to executives, investors, and cross-functional stakeholders who need to quickly understand the product's value proposition, market opportunity, and strategic fit.
11
+
12
+ # Primary Objective
13
+ Generate a polished, professional Product Brief that captures the essence of the product in a format suitable for executive review, board presentations, or investor communications.
14
+
15
+ # Input Required
16
+ Provide any combination of the following:
17
+ - Product name and description
18
+ - Target market/customer segment
19
+ - Problem being solved
20
+ - Key features or capabilities
21
+ - Business model/pricing approach
22
+ - Competitive landscape
23
+ - Current status/stage
24
+ - Key metrics or traction (if available)
25
+ - Strategic goals
26
+
27
+ *Note: Work with whatever information is provided; make reasonable inferences for gaps while flagging assumptions.*
28
+
29
+ # Output Format
30
+
31
+ ## [PRODUCT NAME] - Executive Summary
32
+
33
+ ### The Opportunity
34
+ [2-3 sentences describing the market problem and opportunity size]
35
+
36
+ ### Our Solution
37
+ [2-3 sentences on what the product does and its core value proposition]
38
+
39
+ ### Target Customer
40
+ [Specific customer segment with key characteristics]
41
+
42
+ ### Key Differentiators
43
+ - [Differentiator 1]
44
+ - [Differentiator 2]
45
+ - [Differentiator 3]
46
+
47
+ ### Business Model
48
+ [1-2 sentences on how the product generates revenue]
49
+
50
+ ### Traction & Validation
51
+ [Key metrics, milestones, or validation points - use "Target:" prefix for projections]
52
+
53
+ ### Competitive Position
54
+ [Brief competitive landscape and positioning statement]
55
+
56
+ ### Strategic Fit
57
+ [How this aligns with broader company/market strategy]
58
+
59
+ ### Ask / Next Steps
60
+ [Clear call-to-action or decision needed]
61
+
62
+ ---
63
+ **Status:** [Current stage]
64
+ **Owner:** [Product lead/team]
65
+ **Last Updated:** [Date]
66
+
67
+ # Writing Standards
68
+ - **Tone:** Confident, data-informed, strategic
69
+ - **Length:** 1 page maximum (300-500 words)
70
+ - **Language:** Executive-friendly, minimal jargon
71
+ - **Numbers:** Include quantified metrics wherever possible
72
+ - **Clarity:** Each section should be understandable in isolation
73
+
74
+ # Quality Criteria
75
+ 1. A busy executive can understand the product in under 2 minutes
76
+ 2. The value proposition is immediately clear
77
+ 3. Key decisions or asks are explicit
78
+ 4. Claims are specific and quantified where possible
79
+ 5. Strategic rationale is evident
80
+
81
+ # Special Instructions
82
+ - If information is incomplete, make reasonable assumptions and mark with [ASSUMPTION]
83
+ - Prioritize clarity over comprehensiveness
84
+ - Lead with impact, not features
85
+ - Use active voice and strong verbs
86
+ - Avoid superlatives without supporting data
87
+ - If competitive information is sparse, focus on unique value rather than comparisons
88
+
89
+ ## WORKFLOW STEPS
90
+ 1. Read the user's input about the product
91
+ 2. Generate a unique, URL-friendly slug from the product name (lowercase, hyphen-separated)
92
+ 3. Create the directory `prompter/<slug>/` if it doesn't exist
93
+ 4. Generate the complete Product Brief following all requirements above
94
+ 5. Save the Product Brief to `prompter/<slug>/product-brief.md`
95
+ 6. Report the saved file path
96
+
97
+ ## REFERENCE
98
+ - Read `prompter/project.md` for project context if needed
99
+ <!-- prompter-managed-end -->
@@ -1,6 +1,7 @@
1
1
  ---
2
2
  description: Create a modular skill package that extends AI agent capabilities
3
3
  ---
4
+ $ARGUMENTS
4
5
  <!-- prompter-managed-start -->
5
6
  # Role & Expertise
6
7
  You are an expert Skill Creator specializing in designing modular, self-contained packages that extend AI agent capabilities. You have deep expertise in procedural knowledge extraction, workflow design, and context-efficient documentation.
package/dist/cli/index.js CHANGED
@@ -7,7 +7,7 @@ const program = new Command();
7
7
  program
8
8
  .name('prompter')
9
9
  .description('Enhance prompts directly in your AI coding workflow')
10
- .version('0.3.9');
10
+ .version('0.4.0');
11
11
  program
12
12
  .command('init')
13
13
  .description('Initialize Prompter in your project')
@@ -0,0 +1,11 @@
1
+ interface ProductBriefOptions {
2
+ tools?: string[];
3
+ noInteractive?: boolean;
4
+ }
5
+ export declare class ProductBriefCommand {
6
+ execute(options?: ProductBriefOptions): Promise<void>;
7
+ private fileExists;
8
+ private detectConfiguredTools;
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=product-brief.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-brief.d.ts","sourceRoot":"","sources":["../../src/commands/product-brief.ts"],"names":[],"mappings":"AAMA,UAAU,mBAAmB;IACzB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,mBAAmB;IACtB,OAAO,CAAC,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;YAyEjD,UAAU;YASV,qBAAqB;CAuBtC"}
@@ -0,0 +1,97 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import chalk from 'chalk';
4
+ import { PrompterConfig, PROMPTER_MARKERS } from '../core/config.js';
5
+ import { registry } from '../core/configurators/slash/index.js';
6
+ export class ProductBriefCommand {
7
+ async execute(options = {}) {
8
+ const projectPath = process.cwd();
9
+ // Check if initialized
10
+ if (!await PrompterConfig.prompterDirExists(projectPath)) {
11
+ console.log(chalk.red('\n❌ Prompter is not initialized in this project.\n'));
12
+ console.log(chalk.gray(' Run `prompter init` first.\n'));
13
+ process.exitCode = 1;
14
+ return;
15
+ }
16
+ console.log(chalk.blue('\n📋 Generating product-brief workflow files...\n'));
17
+ // Detect currently configured tools
18
+ const configuredTools = await this.detectConfiguredTools(projectPath);
19
+ if (configuredTools.length === 0) {
20
+ console.log(chalk.yellow('⚠️ No tools configured yet.\n'));
21
+ console.log(chalk.gray(' Run `prompter init` to configure AI tools first.\n'));
22
+ process.exitCode = 1;
23
+ return;
24
+ }
25
+ // Generate product-brief workflow files for all configured tools
26
+ let successCount = 0;
27
+ let failCount = 0;
28
+ for (const toolId of configuredTools) {
29
+ const configurator = registry.get(toolId);
30
+ if (configurator) {
31
+ try {
32
+ // Generate only the product-brief workflow file
33
+ const body = configurator['getBody']('product-brief');
34
+ const relativePath = configurator['getRelativePath']('product-brief');
35
+ const filePath = path.join(projectPath, relativePath);
36
+ // Ensure directory exists
37
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
38
+ // Check if file exists
39
+ const fileExists = await this.fileExists(filePath);
40
+ if (fileExists) {
41
+ console.log(chalk.yellow('⚠️') + ` ${chalk.cyan(relativePath)} already exists, skipping`);
42
+ continue;
43
+ }
44
+ // Get frontmatter if needed
45
+ const frontmatter = configurator['getFrontmatter']('product-brief');
46
+ const sections = [];
47
+ if (frontmatter) {
48
+ sections.push(frontmatter.trim());
49
+ }
50
+ sections.push(`${PROMPTER_MARKERS.start}\n${body}\n${PROMPTER_MARKERS.end}`);
51
+ const content = sections.join('\n') + '\n';
52
+ await fs.writeFile(filePath, content, 'utf-8');
53
+ console.log(chalk.green('✓') + ` Created ${chalk.cyan(relativePath)}`);
54
+ successCount++;
55
+ }
56
+ catch (error) {
57
+ console.log(chalk.red('✗') + ` Failed to create files for ${toolId}: ${error}`);
58
+ failCount++;
59
+ }
60
+ }
61
+ }
62
+ // Success message
63
+ console.log(chalk.green(`\n✅ Product brief workflow files created successfully!\n`));
64
+ console.log(chalk.blue('Next steps:'));
65
+ console.log(chalk.gray(' 1. Use /product-brief in your AI tool to create executive summaries'));
66
+ console.log(chalk.gray(' 2. Briefs will be saved to prompter/<slug>/product-brief.md\n'));
67
+ }
68
+ async fileExists(filePath) {
69
+ try {
70
+ await fs.access(filePath);
71
+ return true;
72
+ }
73
+ catch {
74
+ return false;
75
+ }
76
+ }
77
+ async detectConfiguredTools(projectPath) {
78
+ const configuredTools = [];
79
+ const allConfigurators = registry.getAll();
80
+ for (const configurator of allConfigurators) {
81
+ const targets = configurator.getTargets();
82
+ let hasFiles = false;
83
+ for (const target of targets) {
84
+ const filePath = path.join(projectPath, target.path);
85
+ if (await this.fileExists(filePath)) {
86
+ hasFiles = true;
87
+ break;
88
+ }
89
+ }
90
+ if (hasFiles) {
91
+ configuredTools.push(configurator.toolId);
92
+ }
93
+ }
94
+ return configuredTools;
95
+ }
96
+ }
97
+ //# sourceMappingURL=product-brief.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"product-brief.js","sourceRoot":"","sources":["../../src/commands/product-brief.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,qBAAa,uBAAwB,SAAQ,wBAAwB;IACjE,QAAQ,CAAC,MAAM,iBAAiB;IAChC,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"antigravity.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAsB1D,qBAAa,uBAAwB,SAAQ,wBAAwB;IACjE,QAAQ,CAAC,MAAM,iBAAiB;IAChC,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -2,6 +2,7 @@ import { SlashCommandConfigurator } from './base.js';
2
2
  const FILE_PATHS = {
3
3
  enhance: '.agent/workflows/prompter-enhance.md',
4
4
  'prd-generator': '.agent/workflows/prd-generator.md',
5
+ 'product-brief': '.agent/workflows/product-brief.md',
5
6
  'epic-single': '.agent/workflows/epic-single.md',
6
7
  'story-single': '.agent/workflows/story-single.md',
7
8
  'qa-test-scenario': '.agent/workflows/qa-test-scenario.md',
@@ -10,6 +11,7 @@ const FILE_PATHS = {
10
11
  const DESCRIPTIONS = {
11
12
  enhance: 'Enhance a rough prompt into a professional specification',
12
13
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
14
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
13
15
  'epic-single': 'Generate a single well-defined Jira Epic',
14
16
  'story-single': 'Generate a single Jira User Story from requirements',
15
17
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,eAAe,EAAE,mCAAmC;IACpD,aAAa,EAAE,iCAAiC;IAChD,cAAc,EAAE,kCAAkC;IAClD,kBAAkB,EAAE,sCAAsC;IAC1D,eAAe,EAAE,mCAAmC;CACvD,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,uBAAwB,SAAQ,wBAAwB;IACxD,MAAM,GAAG,aAAa,CAAC;IACvB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"antigravity.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/antigravity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,eAAe,EAAE,mCAAmC;IACpD,eAAe,EAAE,mCAAmC;IACpD,aAAa,EAAE,iCAAiC;IAChD,cAAc,EAAE,kCAAkC;IAClD,kBAAkB,EAAE,sCAAsC;IAC1D,eAAe,EAAE,mCAAmC;CACvD,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,uBAAwB,SAAQ,wBAAwB;IACxD,MAAM,GAAG,aAAa,CAAC;IACvB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
@@ -2,7 +2,7 @@ import { promises as fs } from 'fs';
2
2
  import path from 'path';
3
3
  import { TemplateManager } from '../../templates/index.js';
4
4
  import { PROMPTER_MARKERS } from '../../config.js';
5
- const ALL_COMMANDS = ['enhance', 'prd-generator', 'epic-single', 'story-single', 'qa-test-scenario', 'skill-creator'];
5
+ const ALL_COMMANDS = ['enhance', 'prd-generator', 'product-brief', 'epic-single', 'story-single', 'qa-test-scenario', 'skill-creator'];
6
6
  export class SlashCommandConfigurator {
7
7
  getTargets() {
8
8
  return ALL_COMMANDS.map((id) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/base.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC5D,QAAQ,CAAC,MAAM,YAAY;IAC3B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"claude.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAsB1D,qBAAa,kBAAmB,SAAQ,wBAAwB;IAC5D,QAAQ,CAAC,MAAM,YAAY;IAC3B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -2,6 +2,7 @@ import { SlashCommandConfigurator } from './base.js';
2
2
  const FILE_PATHS = {
3
3
  enhance: '.claude/commands/prompter/enhance.md',
4
4
  'prd-generator': '.claude/commands/prompter/prd-generator.md',
5
+ 'product-brief': '.claude/commands/prompter/product-brief.md',
5
6
  'epic-single': '.claude/commands/prompter/epic-single.md',
6
7
  'story-single': '.claude/commands/prompter/story-single.md',
7
8
  'qa-test-scenario': '.claude/commands/prompter/qa-test-scenario.md',
@@ -10,6 +11,7 @@ const FILE_PATHS = {
10
11
  const DESCRIPTIONS = {
11
12
  enhance: 'Enhance a rough prompt into a professional specification',
12
13
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
14
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
13
15
  'epic-single': 'Generate a single well-defined Jira Epic',
14
16
  'story-single': 'Generate a single Jira User Story from requirements',
15
17
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -1 +1 @@
1
- {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,eAAe,EAAE,4CAA4C;IAC7D,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,2CAA2C;IAC3D,kBAAkB,EAAE,+CAA+C;IACnE,eAAe,EAAE,4CAA4C;CAChE,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,kBAAmB,SAAQ,wBAAwB;IACnD,MAAM,GAAG,QAAQ,CAAC;IAClB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,oDAAoD;QACpD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
1
+ {"version":3,"file":"claude.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/claude.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,sCAAsC;IAC/C,eAAe,EAAE,4CAA4C;IAC7D,eAAe,EAAE,4CAA4C;IAC7D,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,2CAA2C;IAC3D,kBAAkB,EAAE,+CAA+C;IACnE,eAAe,EAAE,4CAA4C;CAChE,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,kBAAmB,SAAQ,wBAAwB;IACnD,MAAM,GAAG,QAAQ,CAAC;IAClB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,oDAAoD;QACpD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC3D,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAsB1D,qBAAa,iBAAkB,SAAQ,wBAAwB;IAC3D,QAAQ,CAAC,MAAM,WAAW;IAC1B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -2,6 +2,7 @@ import { SlashCommandConfigurator } from './base.js';
2
2
  const FILE_PATHS = {
3
3
  enhance: '.codex/prompts/prompter-enhance.md',
4
4
  'prd-generator': '.codex/prompts/prd-generator.md',
5
+ 'product-brief': '.codex/prompts/product-brief.md',
5
6
  'epic-single': '.codex/prompts/epic-single.md',
6
7
  'story-single': '.codex/prompts/story-single.md',
7
8
  'qa-test-scenario': '.codex/prompts/qa-test-scenario.md',
@@ -10,6 +11,7 @@ const FILE_PATHS = {
10
11
  const DESCRIPTIONS = {
11
12
  enhance: 'Enhance a rough prompt into a professional specification',
12
13
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
14
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
13
15
  'epic-single': 'Generate a single well-defined Jira Epic',
14
16
  'story-single': 'Generate a single Jira User Story from requirements',
15
17
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,oCAAoC;IAC7C,eAAe,EAAE,iCAAiC;IAClD,aAAa,EAAE,+BAA+B;IAC9C,cAAc,EAAE,gCAAgC;IAChD,kBAAkB,EAAE,oCAAoC;IACxD,eAAe,EAAE,iCAAiC;CACrD,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,wBAAwB;IAClD,MAAM,GAAG,OAAO,CAAC;IACjB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/codex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,oCAAoC;IAC7C,eAAe,EAAE,iCAAiC;IAClD,eAAe,EAAE,iCAAiC;IAClD,aAAa,EAAE,+BAA+B;IAC9C,cAAc,EAAE,gCAAgC;IAChD,kBAAkB,EAAE,oCAAoC;IACxD,eAAe,EAAE,iCAAiC;CACrD,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,iBAAkB,SAAQ,wBAAwB;IAClD,MAAM,GAAG,OAAO,CAAC;IACjB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"github-copilot.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAuB1D,qBAAa,yBAA0B,SAAQ,wBAAwB;IACnE,QAAQ,CAAC,MAAM,oBAAoB;IACnC,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAK1D,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAgC3C,eAAe;CAQhC"}
1
+ {"version":3,"file":"github-copilot.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAyB1D,qBAAa,yBAA0B,SAAQ,wBAAwB;IACnE,QAAQ,CAAC,MAAM,oBAAoB;IACnC,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;IAK1D,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YAgC3C,eAAe;CAQhC"}
@@ -5,6 +5,7 @@ import { PROMPTER_MARKERS } from '../../config.js';
5
5
  const FILE_PATHS = {
6
6
  enhance: '.github/prompts/prompter-enhance.prompt.md',
7
7
  'prd-generator': '.github/prompts/prd-generator.prompt.md',
8
+ 'product-brief': '.github/prompts/product-brief.prompt.md',
8
9
  'epic-single': '.github/prompts/epic-single.prompt.md',
9
10
  'story-single': '.github/prompts/story-single.prompt.md',
10
11
  'qa-test-scenario': '.github/prompts/qa-test-scenario.prompt.md',
@@ -13,6 +14,7 @@ const FILE_PATHS = {
13
14
  const DESCRIPTIONS = {
14
15
  enhance: 'Enhance a rough prompt into a professional specification',
15
16
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
17
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
16
18
  'epic-single': 'Generate a single well-defined Jira Epic',
17
19
  'story-single': 'Generate a single Jira User Story from requirements',
18
20
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -1 +1 @@
1
- {"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"github-copilot.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/github-copilot.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kilocode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"kilocode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAsB1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -2,6 +2,7 @@ import { SlashCommandConfigurator } from './base.js';
2
2
  const FILE_PATHS = {
3
3
  enhance: '.kilocode/workflows/prompter-enhance.md',
4
4
  'prd-generator': '.kilocode/workflows/prd-generator.md',
5
+ 'product-brief': '.kilocode/workflows/product-brief.md',
5
6
  'epic-single': '.kilocode/workflows/epic-single.md',
6
7
  'story-single': '.kilocode/workflows/story-single.md',
7
8
  'qa-test-scenario': '.kilocode/workflows/qa-test-scenario.md',
@@ -10,6 +11,7 @@ const FILE_PATHS = {
10
11
  const DESCRIPTIONS = {
11
12
  enhance: 'Enhance a rough prompt into a professional specification',
12
13
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
14
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
13
15
  'epic-single': 'Generate a single well-defined Jira Epic',
14
16
  'story-single': 'Generate a single Jira User Story from requirements',
15
17
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -1 +1 @@
1
- {"version":3,"file":"kilocode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,yCAAyC;IAClD,eAAe,EAAE,sCAAsC;IACvD,aAAa,EAAE,oCAAoC;IACnD,cAAc,EAAE,qCAAqC;IACrD,kBAAkB,EAAE,yCAAyC;IAC7D,eAAe,EAAE,sCAAsC;CAC1D,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"kilocode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/kilocode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,yCAAyC;IAClD,eAAe,EAAE,sCAAsC;IACvD,eAAe,EAAE,sCAAsC;IACvD,aAAa,EAAE,oCAAoC;IACnD,cAAc,EAAE,qCAAqC;IACrD,kBAAkB,EAAE,yCAAyC;IAC7D,eAAe,EAAE,sCAAsC;CAC1D,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoB1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
1
+ {"version":3,"file":"opencode.d.ts","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAsB1D,qBAAa,oBAAqB,SAAQ,wBAAwB;IAC9D,QAAQ,CAAC,MAAM,cAAc;IAC7B,QAAQ,CAAC,WAAW,QAAQ;IAE5B,SAAS,CAAC,eAAe,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;IAIrD,SAAS,CAAC,cAAc,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,GAAG,SAAS;CAInE"}
@@ -2,6 +2,7 @@ import { SlashCommandConfigurator } from './base.js';
2
2
  const FILE_PATHS = {
3
3
  enhance: '.opencode/prompts/prompter-enhance.md',
4
4
  'prd-generator': '.opencode/prompts/prd-generator.md',
5
+ 'product-brief': '.opencode/prompts/product-brief.md',
5
6
  'epic-single': '.opencode/prompts/epic-single.md',
6
7
  'story-single': '.opencode/prompts/story-single.md',
7
8
  'qa-test-scenario': '.opencode/prompts/qa-test-scenario.md',
@@ -10,6 +11,7 @@ const FILE_PATHS = {
10
11
  const DESCRIPTIONS = {
11
12
  enhance: 'Enhance a rough prompt into a professional specification',
12
13
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
14
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
13
15
  'epic-single': 'Generate a single well-defined Jira Epic',
14
16
  'story-single': 'Generate a single Jira User Story from requirements',
15
17
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -1 +1 @@
1
- {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,uCAAuC;IAChD,eAAe,EAAE,oCAAoC;IACrD,aAAa,EAAE,kCAAkC;IACjD,cAAc,EAAE,mCAAmC;IACnD,kBAAkB,EAAE,uCAAuC;IAC3D,eAAe,EAAE,oCAAoC;CACxD,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
1
+ {"version":3,"file":"opencode.js","sourceRoot":"","sources":["../../../../src/core/configurators/slash/opencode.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC;AAGrD,MAAM,UAAU,GAAmC;IAC/C,OAAO,EAAE,uCAAuC;IAChD,eAAe,EAAE,oCAAoC;IACrD,eAAe,EAAE,oCAAoC;IACrD,aAAa,EAAE,kCAAkC;IACjD,cAAc,EAAE,mCAAmC;IACnD,kBAAkB,EAAE,uCAAuC;IAC3D,eAAe,EAAE,oCAAoC;CACxD,CAAC;AAEF,MAAM,YAAY,GAAmC;IACjD,OAAO,EAAE,0DAA0D;IACnE,eAAe,EAAE,8DAA8D;IAC/E,eAAe,EAAE,4DAA4D;IAC7E,aAAa,EAAE,0CAA0C;IACzD,cAAc,EAAE,qDAAqD;IACrE,kBAAkB,EAAE,6CAA6C;IACjE,eAAe,EAAE,mEAAmE;CACvF,CAAC;AAEF,MAAM,OAAO,oBAAqB,SAAQ,wBAAwB;IACrD,MAAM,GAAG,UAAU,CAAC;IACpB,WAAW,GAAG,IAAI,CAAC;IAElB,eAAe,CAAC,EAAkB;QACxC,OAAO,UAAU,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IAES,cAAc,CAAC,EAAkB;QACvC,MAAM,WAAW,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QACrC,OAAO,qBAAqB,WAAW,OAAO,CAAC;IACnD,CAAC;CACJ"}
@@ -1,4 +1,4 @@
1
- export type SlashCommandId = 'enhance' | 'prd-generator' | 'epic-single' | 'story-single' | 'qa-test-scenario' | 'skill-creator';
1
+ export type SlashCommandId = 'enhance' | 'prd-generator' | 'product-brief' | 'epic-single' | 'story-single' | 'qa-test-scenario' | 'skill-creator';
2
2
  export declare const slashCommandBodies: Record<SlashCommandId, string>;
3
3
  export declare function getSlashCommandBody(id: SlashCommandId): string;
4
4
  export declare class TemplateManager {
@@ -1 +1 @@
1
- {"version":3,"file":"slash-command-templates.d.ts","sourceRoot":"","sources":["../../../src/core/templates/slash-command-templates.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,eAAe,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAmsBjI,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAO7D,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED,qBAAa,eAAe;IACxB,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;CAGzD"}
1
+ {"version":3,"file":"slash-command-templates.d.ts","sourceRoot":"","sources":["../../../src/core/templates/slash-command-templates.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,eAAe,GAAG,eAAe,GAAG,aAAa,GAAG,cAAc,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAiyBnJ,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAQ7D,CAAC;AAEF,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM,CAE9D;AAED,qBAAa,eAAe;IACxB,MAAM,CAAC,mBAAmB,CAAC,EAAE,EAAE,cAAc,GAAG,MAAM;CAGzD"}
@@ -697,9 +697,103 @@ Show basic content, link to advanced content only when needed.
697
697
  ## REFERENCE
698
698
  - Skills are saved to \`prompter/skills/<skill-name>/\`
699
699
  - Read \`prompter/project.md\` for project context if needed`;
700
+ const productBriefWorkflow = `# Role & Expertise
701
+ You are a Senior Product Manager with 15+ years of experience crafting executive-level product briefs for Fortune 500 companies. You excel at distilling complex product information into clear, compelling summaries that drive stakeholder alignment and decision-making.
702
+
703
+ # Context
704
+ You are creating a Product Brief (Executive Summary) - a concise, high-impact document that communicates the essential elements of a product to executives, investors, and cross-functional stakeholders who need to quickly understand the product's value proposition, market opportunity, and strategic fit.
705
+
706
+ # Primary Objective
707
+ Generate a polished, professional Product Brief that captures the essence of the product in a format suitable for executive review, board presentations, or investor communications.
708
+
709
+ # Input Required
710
+ Provide any combination of the following:
711
+ - Product name and description
712
+ - Target market/customer segment
713
+ - Problem being solved
714
+ - Key features or capabilities
715
+ - Business model/pricing approach
716
+ - Competitive landscape
717
+ - Current status/stage
718
+ - Key metrics or traction (if available)
719
+ - Strategic goals
720
+
721
+ *Note: Work with whatever information is provided; make reasonable inferences for gaps while flagging assumptions.*
722
+
723
+ # Output Format
724
+
725
+ ## [PRODUCT NAME] - Executive Summary
726
+
727
+ ### The Opportunity
728
+ [2-3 sentences describing the market problem and opportunity size]
729
+
730
+ ### Our Solution
731
+ [2-3 sentences on what the product does and its core value proposition]
732
+
733
+ ### Target Customer
734
+ [Specific customer segment with key characteristics]
735
+
736
+ ### Key Differentiators
737
+ - [Differentiator 1]
738
+ - [Differentiator 2]
739
+ - [Differentiator 3]
740
+
741
+ ### Business Model
742
+ [1-2 sentences on how the product generates revenue]
743
+
744
+ ### Traction & Validation
745
+ [Key metrics, milestones, or validation points - use "Target:" prefix for projections]
746
+
747
+ ### Competitive Position
748
+ [Brief competitive landscape and positioning statement]
749
+
750
+ ### Strategic Fit
751
+ [How this aligns with broader company/market strategy]
752
+
753
+ ### Ask / Next Steps
754
+ [Clear call-to-action or decision needed]
755
+
756
+ ---
757
+ **Status:** [Current stage]
758
+ **Owner:** [Product lead/team]
759
+ **Last Updated:** [Date]
760
+
761
+ # Writing Standards
762
+ - **Tone:** Confident, data-informed, strategic
763
+ - **Length:** 1 page maximum (300-500 words)
764
+ - **Language:** Executive-friendly, minimal jargon
765
+ - **Numbers:** Include quantified metrics wherever possible
766
+ - **Clarity:** Each section should be understandable in isolation
767
+
768
+ # Quality Criteria
769
+ 1. A busy executive can understand the product in under 2 minutes
770
+ 2. The value proposition is immediately clear
771
+ 3. Key decisions or asks are explicit
772
+ 4. Claims are specific and quantified where possible
773
+ 5. Strategic rationale is evident
774
+
775
+ # Special Instructions
776
+ - If information is incomplete, make reasonable assumptions and mark with [ASSUMPTION]
777
+ - Prioritize clarity over comprehensiveness
778
+ - Lead with impact, not features
779
+ - Use active voice and strong verbs
780
+ - Avoid superlatives without supporting data
781
+ - If competitive information is sparse, focus on unique value rather than comparisons
782
+
783
+ ## WORKFLOW STEPS
784
+ 1. Read the user's input about the product
785
+ 2. Generate a unique, URL-friendly slug from the product name (lowercase, hyphen-separated)
786
+ 3. Create the directory \`prompter/<slug>/\` if it doesn't exist
787
+ 4. Generate the complete Product Brief following all requirements above
788
+ 5. Save the Product Brief to \`prompter/<slug>/product-brief.md\`
789
+ 6. Report the saved file path
790
+
791
+ ## REFERENCE
792
+ - Read \`prompter/project.md\` for project context if needed`;
700
793
  export const slashCommandBodies = {
701
794
  enhance: enhanceWorkflow,
702
795
  'prd-generator': prdGeneratorWorkflow,
796
+ 'product-brief': productBriefWorkflow,
703
797
  'epic-single': epicSingleWorkflow,
704
798
  'story-single': storySingleWorkflow,
705
799
  'qa-test-scenario': qaTestScenarioWorkflow,
@@ -1 +1 @@
1
- {"version":3,"file":"slash-command-templates.js","sourceRoot":"","sources":["../../../src/core/templates/slash-command-templates.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAyC2C,CAAC;AAEpE,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DA6MgC,CAAC;AAE9D,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAyDkC,CAAC;AAE9D,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAgFiC,CAAC;AAE9D,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DA+I8B,CAAC;AAE9D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAuKgC,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAmC;IAC9D,OAAO,EAAE,eAAe;IACxB,eAAe,EAAE,oBAAoB;IACrC,aAAa,EAAE,kBAAkB;IACjC,cAAc,EAAE,mBAAmB;IACnC,kBAAkB,EAAE,sBAAsB;IAC1C,eAAe,EAAE,oBAAoB;CACxC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,EAAkB;IAClD,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,OAAO,eAAe;IACxB,MAAM,CAAC,mBAAmB,CAAC,EAAkB;QACzC,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;CACJ"}
1
+ {"version":3,"file":"slash-command-templates.js","sourceRoot":"","sources":["../../../src/core/templates/slash-command-templates.ts"],"names":[],"mappings":"AAEA,MAAM,eAAe,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mEAyC2C,CAAC;AAEpE,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DA6MgC,CAAC;AAE9D,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAyDkC,CAAC;AAE9D,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAgFiC,CAAC;AAE9D,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DA+I8B,CAAC;AAE9D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DAuKgC,CAAC;AAE9D,MAAM,oBAAoB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6DA4FgC,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAmC;IAC9D,OAAO,EAAE,eAAe;IACxB,eAAe,EAAE,oBAAoB;IACrC,eAAe,EAAE,oBAAoB;IACrC,aAAa,EAAE,kBAAkB;IACjC,cAAc,EAAE,mBAAmB;IACnC,kBAAkB,EAAE,sBAAsB;IAC1C,eAAe,EAAE,oBAAoB;CACxC,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,EAAkB;IAClD,OAAO,kBAAkB,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC;AAED,MAAM,OAAO,eAAe;IACxB,MAAM,CAAC,mBAAmB,CAAC,EAAkB;QACzC,OAAO,mBAAmB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dedesfr/prompter",
3
- "version": "0.3.9",
3
+ "version": "0.4.0",
4
4
  "description": "Enhance prompts directly in your AI coding workflow",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -0,0 +1,84 @@
1
+ # Product Brief (Executive Summary) Generator
2
+
3
+ # Role & Expertise
4
+ You are a Senior Product Manager with 15+ years of experience crafting executive-level product briefs for Fortune 500 companies. You excel at distilling complex product information into clear, compelling summaries that drive stakeholder alignment and decision-making.
5
+
6
+ # Context
7
+ You are creating a Product Brief (Executive Summary) - a concise, high-impact document that communicates the essential elements of a product to executives, investors, and cross-functional stakeholders who need to quickly understand the product's value proposition, market opportunity, and strategic fit.
8
+
9
+ # Primary Objective
10
+ Generate a polished, professional Product Brief that captures the essence of the product in a format suitable for executive review, board presentations, or investor communications.
11
+
12
+ # Input Required
13
+ Provide any combination of the following:
14
+ - Product name and description
15
+ - Target market/customer segment
16
+ - Problem being solved
17
+ - Key features or capabilities
18
+ - Business model/pricing approach
19
+ - Competitive landscape
20
+ - Current status/stage
21
+ - Key metrics or traction (if available)
22
+ - Strategic goals
23
+
24
+ *Note: Work with whatever information is provided; make reasonable inferences for gaps while flagging assumptions.*
25
+
26
+ # Output Format
27
+
28
+ ## [PRODUCT NAME] - Executive Summary
29
+
30
+ ### The Opportunity
31
+ [2-3 sentences describing the market problem and opportunity size]
32
+
33
+ ### Our Solution
34
+ [2-3 sentences on what the product does and its core value proposition]
35
+
36
+ ### Target Customer
37
+ [Specific customer segment with key characteristics]
38
+
39
+ ### Key Differentiators
40
+ - [Differentiator 1]
41
+ - [Differentiator 2]
42
+ - [Differentiator 3]
43
+
44
+ ### Business Model
45
+ [1-2 sentences on how the product generates revenue]
46
+
47
+ ### Traction & Validation
48
+ [Key metrics, milestones, or validation points - use "Target:" prefix for projections]
49
+
50
+ ### Competitive Position
51
+ [Brief competitive landscape and positioning statement]
52
+
53
+ ### Strategic Fit
54
+ [How this aligns with broader company/market strategy]
55
+
56
+ ### Ask / Next Steps
57
+ [Clear call-to-action or decision needed]
58
+
59
+ ---
60
+ **Status:** [Current stage]
61
+ **Owner:** [Product lead/team]
62
+ **Last Updated:** [Date]
63
+
64
+ # Writing Standards
65
+ - **Tone:** Confident, data-informed, strategic
66
+ - **Length:** 1 page maximum (300-500 words)
67
+ - **Language:** Executive-friendly, minimal jargon
68
+ - **Numbers:** Include quantified metrics wherever possible
69
+ - **Clarity:** Each section should be understandable in isolation
70
+
71
+ # Quality Criteria
72
+ 1. A busy executive can understand the product in under 2 minutes
73
+ 2. The value proposition is immediately clear
74
+ 3. Key decisions or asks are explicit
75
+ 4. Claims are specific and quantified where possible
76
+ 5. Strategic rationale is evident
77
+
78
+ # Special Instructions
79
+ - If information is incomplete, make reasonable assumptions and mark with [ASSUMPTION]
80
+ - Prioritize clarity over comprehensiveness
81
+ - Lead with impact, not features
82
+ - Use active voice and strong verbs
83
+ - Avoid superlatives without supporting data
84
+ - If competitive information is sparse, focus on unique value rather than comparisons
package/src/cli/index.ts CHANGED
@@ -9,7 +9,7 @@ const program = new Command();
9
9
  program
10
10
  .name('prompter')
11
11
  .description('Enhance prompts directly in your AI coding workflow')
12
- .version('0.3.9');
12
+ .version('0.4.0');
13
13
 
14
14
  program
15
15
  .command('init')
@@ -0,0 +1,118 @@
1
+ import { promises as fs } from 'fs';
2
+ import path from 'path';
3
+ import chalk from 'chalk';
4
+ import { PrompterConfig, PROMPTER_DIR, PROMPTER_MARKERS } from '../core/config.js';
5
+ import { registry } from '../core/configurators/slash/index.js';
6
+
7
+ interface ProductBriefOptions {
8
+ tools?: string[];
9
+ noInteractive?: boolean;
10
+ }
11
+
12
+ export class ProductBriefCommand {
13
+ async execute(options: ProductBriefOptions = {}): Promise<void> {
14
+ const projectPath = process.cwd();
15
+
16
+ // Check if initialized
17
+ if (!await PrompterConfig.prompterDirExists(projectPath)) {
18
+ console.log(chalk.red('\n❌ Prompter is not initialized in this project.\n'));
19
+ console.log(chalk.gray(' Run `prompter init` first.\n'));
20
+ process.exitCode = 1;
21
+ return;
22
+ }
23
+
24
+ console.log(chalk.blue('\n📋 Generating product-brief workflow files...\n'));
25
+
26
+ // Detect currently configured tools
27
+ const configuredTools = await this.detectConfiguredTools(projectPath);
28
+
29
+ if (configuredTools.length === 0) {
30
+ console.log(chalk.yellow('⚠️ No tools configured yet.\n'));
31
+ console.log(chalk.gray(' Run `prompter init` to configure AI tools first.\n'));
32
+ process.exitCode = 1;
33
+ return;
34
+ }
35
+
36
+ // Generate product-brief workflow files for all configured tools
37
+ let successCount = 0;
38
+ let failCount = 0;
39
+
40
+ for (const toolId of configuredTools) {
41
+ const configurator = registry.get(toolId);
42
+ if (configurator) {
43
+ try {
44
+ // Generate only the product-brief workflow file
45
+ const body = configurator['getBody']('product-brief');
46
+ const relativePath = configurator['getRelativePath']('product-brief');
47
+ const filePath = path.join(projectPath, relativePath);
48
+
49
+ // Ensure directory exists
50
+ await fs.mkdir(path.dirname(filePath), { recursive: true });
51
+
52
+ // Check if file exists
53
+ const fileExists = await this.fileExists(filePath);
54
+
55
+ if (fileExists) {
56
+ console.log(chalk.yellow('⚠️') + ` ${chalk.cyan(relativePath)} already exists, skipping`);
57
+ continue;
58
+ }
59
+
60
+ // Get frontmatter if needed
61
+ const frontmatter = configurator['getFrontmatter']('product-brief');
62
+ const sections: string[] = [];
63
+ if (frontmatter) {
64
+ sections.push(frontmatter.trim());
65
+ }
66
+ sections.push(`${PROMPTER_MARKERS.start}\n${body}\n${PROMPTER_MARKERS.end}`);
67
+ const content = sections.join('\n') + '\n';
68
+
69
+ await fs.writeFile(filePath, content, 'utf-8');
70
+ console.log(chalk.green('✓') + ` Created ${chalk.cyan(relativePath)}`);
71
+ successCount++;
72
+ } catch (error) {
73
+ console.log(chalk.red('✗') + ` Failed to create files for ${toolId}: ${error}`);
74
+ failCount++;
75
+ }
76
+ }
77
+ }
78
+
79
+ // Success message
80
+ console.log(chalk.green(`\n✅ Product brief workflow files created successfully!\n`));
81
+ console.log(chalk.blue('Next steps:'));
82
+ console.log(chalk.gray(' 1. Use /product-brief in your AI tool to create executive summaries'));
83
+ console.log(chalk.gray(' 2. Briefs will be saved to prompter/<slug>/product-brief.md\n'));
84
+ }
85
+
86
+ private async fileExists(filePath: string): Promise<boolean> {
87
+ try {
88
+ await fs.access(filePath);
89
+ return true;
90
+ } catch {
91
+ return false;
92
+ }
93
+ }
94
+
95
+ private async detectConfiguredTools(projectPath: string): Promise<string[]> {
96
+ const configuredTools: string[] = [];
97
+ const allConfigurators = registry.getAll();
98
+
99
+ for (const configurator of allConfigurators) {
100
+ const targets = configurator.getTargets();
101
+ let hasFiles = false;
102
+
103
+ for (const target of targets) {
104
+ const filePath = path.join(projectPath, target.path);
105
+ if (await this.fileExists(filePath)) {
106
+ hasFiles = true;
107
+ break;
108
+ }
109
+ }
110
+
111
+ if (hasFiles) {
112
+ configuredTools.push(configurator.toolId);
113
+ }
114
+ }
115
+
116
+ return configuredTools;
117
+ }
118
+ }
@@ -4,6 +4,7 @@ import { SlashCommandId } from '../../templates/index.js';
4
4
  const FILE_PATHS: Record<SlashCommandId, string> = {
5
5
  enhance: '.agent/workflows/prompter-enhance.md',
6
6
  'prd-generator': '.agent/workflows/prd-generator.md',
7
+ 'product-brief': '.agent/workflows/product-brief.md',
7
8
  'epic-single': '.agent/workflows/epic-single.md',
8
9
  'story-single': '.agent/workflows/story-single.md',
9
10
  'qa-test-scenario': '.agent/workflows/qa-test-scenario.md',
@@ -13,6 +14,7 @@ const FILE_PATHS: Record<SlashCommandId, string> = {
13
14
  const DESCRIPTIONS: Record<SlashCommandId, string> = {
14
15
  enhance: 'Enhance a rough prompt into a professional specification',
15
16
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
17
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
16
18
  'epic-single': 'Generate a single well-defined Jira Epic',
17
19
  'story-single': 'Generate a single Jira User Story from requirements',
18
20
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -9,7 +9,7 @@ export interface SlashCommandTarget {
9
9
  kind: 'slash';
10
10
  }
11
11
 
12
- const ALL_COMMANDS: SlashCommandId[] = ['enhance', 'prd-generator', 'epic-single', 'story-single', 'qa-test-scenario', 'skill-creator'];
12
+ const ALL_COMMANDS: SlashCommandId[] = ['enhance', 'prd-generator', 'product-brief', 'epic-single', 'story-single', 'qa-test-scenario', 'skill-creator'];
13
13
 
14
14
  export abstract class SlashCommandConfigurator {
15
15
  abstract readonly toolId: string;
@@ -4,6 +4,7 @@ import { SlashCommandId } from '../../templates/index.js';
4
4
  const FILE_PATHS: Record<SlashCommandId, string> = {
5
5
  enhance: '.claude/commands/prompter/enhance.md',
6
6
  'prd-generator': '.claude/commands/prompter/prd-generator.md',
7
+ 'product-brief': '.claude/commands/prompter/product-brief.md',
7
8
  'epic-single': '.claude/commands/prompter/epic-single.md',
8
9
  'story-single': '.claude/commands/prompter/story-single.md',
9
10
  'qa-test-scenario': '.claude/commands/prompter/qa-test-scenario.md',
@@ -13,6 +14,7 @@ const FILE_PATHS: Record<SlashCommandId, string> = {
13
14
  const DESCRIPTIONS: Record<SlashCommandId, string> = {
14
15
  enhance: 'Enhance a rough prompt into a professional specification',
15
16
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
17
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
16
18
  'epic-single': 'Generate a single well-defined Jira Epic',
17
19
  'story-single': 'Generate a single Jira User Story from requirements',
18
20
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -4,6 +4,7 @@ import { SlashCommandId } from '../../templates/index.js';
4
4
  const FILE_PATHS: Record<SlashCommandId, string> = {
5
5
  enhance: '.codex/prompts/prompter-enhance.md',
6
6
  'prd-generator': '.codex/prompts/prd-generator.md',
7
+ 'product-brief': '.codex/prompts/product-brief.md',
7
8
  'epic-single': '.codex/prompts/epic-single.md',
8
9
  'story-single': '.codex/prompts/story-single.md',
9
10
  'qa-test-scenario': '.codex/prompts/qa-test-scenario.md',
@@ -13,6 +14,7 @@ const FILE_PATHS: Record<SlashCommandId, string> = {
13
14
  const DESCRIPTIONS: Record<SlashCommandId, string> = {
14
15
  enhance: 'Enhance a rough prompt into a professional specification',
15
16
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
17
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
16
18
  'epic-single': 'Generate a single well-defined Jira Epic',
17
19
  'story-single': 'Generate a single Jira User Story from requirements',
18
20
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -7,6 +7,7 @@ import { PROMPTER_MARKERS } from '../../config.js';
7
7
  const FILE_PATHS: Record<SlashCommandId, string> = {
8
8
  enhance: '.github/prompts/prompter-enhance.prompt.md',
9
9
  'prd-generator': '.github/prompts/prd-generator.prompt.md',
10
+ 'product-brief': '.github/prompts/product-brief.prompt.md',
10
11
  'epic-single': '.github/prompts/epic-single.prompt.md',
11
12
  'story-single': '.github/prompts/story-single.prompt.md',
12
13
  'qa-test-scenario': '.github/prompts/qa-test-scenario.prompt.md',
@@ -16,6 +17,7 @@ const FILE_PATHS: Record<SlashCommandId, string> = {
16
17
  const DESCRIPTIONS: Record<SlashCommandId, string> = {
17
18
  enhance: 'Enhance a rough prompt into a professional specification',
18
19
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
20
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
19
21
  'epic-single': 'Generate a single well-defined Jira Epic',
20
22
  'story-single': 'Generate a single Jira User Story from requirements',
21
23
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -4,6 +4,7 @@ import { SlashCommandId } from '../../templates/index.js';
4
4
  const FILE_PATHS: Record<SlashCommandId, string> = {
5
5
  enhance: '.kilocode/workflows/prompter-enhance.md',
6
6
  'prd-generator': '.kilocode/workflows/prd-generator.md',
7
+ 'product-brief': '.kilocode/workflows/product-brief.md',
7
8
  'epic-single': '.kilocode/workflows/epic-single.md',
8
9
  'story-single': '.kilocode/workflows/story-single.md',
9
10
  'qa-test-scenario': '.kilocode/workflows/qa-test-scenario.md',
@@ -13,6 +14,7 @@ const FILE_PATHS: Record<SlashCommandId, string> = {
13
14
  const DESCRIPTIONS: Record<SlashCommandId, string> = {
14
15
  enhance: 'Enhance a rough prompt into a professional specification',
15
16
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
17
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
16
18
  'epic-single': 'Generate a single well-defined Jira Epic',
17
19
  'story-single': 'Generate a single Jira User Story from requirements',
18
20
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -4,6 +4,7 @@ import { SlashCommandId } from '../../templates/index.js';
4
4
  const FILE_PATHS: Record<SlashCommandId, string> = {
5
5
  enhance: '.opencode/prompts/prompter-enhance.md',
6
6
  'prd-generator': '.opencode/prompts/prd-generator.md',
7
+ 'product-brief': '.opencode/prompts/product-brief.md',
7
8
  'epic-single': '.opencode/prompts/epic-single.md',
8
9
  'story-single': '.opencode/prompts/story-single.md',
9
10
  'qa-test-scenario': '.opencode/prompts/qa-test-scenario.md',
@@ -13,6 +14,7 @@ const FILE_PATHS: Record<SlashCommandId, string> = {
13
14
  const DESCRIPTIONS: Record<SlashCommandId, string> = {
14
15
  enhance: 'Enhance a rough prompt into a professional specification',
15
16
  'prd-generator': 'Generate a comprehensive Product Requirements Document (PRD)',
17
+ 'product-brief': 'Generate an executive-level product brief (1-page summary)',
16
18
  'epic-single': 'Generate a single well-defined Jira Epic',
17
19
  'story-single': 'Generate a single Jira User Story from requirements',
18
20
  'qa-test-scenario': 'Generate focused QA test scenarios from PRD',
@@ -1,4 +1,4 @@
1
- export type SlashCommandId = 'enhance' | 'prd-generator' | 'epic-single' | 'story-single' | 'qa-test-scenario' | 'skill-creator';
1
+ export type SlashCommandId = 'enhance' | 'prd-generator' | 'product-brief' | 'epic-single' | 'story-single' | 'qa-test-scenario' | 'skill-creator';
2
2
 
3
3
  const enhanceWorkflow = `## MUST FOLLOW
4
4
  - Response Language: {User Request Language}
@@ -705,9 +705,104 @@ Show basic content, link to advanced content only when needed.
705
705
  - Skills are saved to \`prompter/skills/<skill-name>/\`
706
706
  - Read \`prompter/project.md\` for project context if needed`;
707
707
 
708
+ const productBriefWorkflow = `# Role & Expertise
709
+ You are a Senior Product Manager with 15+ years of experience crafting executive-level product briefs for Fortune 500 companies. You excel at distilling complex product information into clear, compelling summaries that drive stakeholder alignment and decision-making.
710
+
711
+ # Context
712
+ You are creating a Product Brief (Executive Summary) - a concise, high-impact document that communicates the essential elements of a product to executives, investors, and cross-functional stakeholders who need to quickly understand the product's value proposition, market opportunity, and strategic fit.
713
+
714
+ # Primary Objective
715
+ Generate a polished, professional Product Brief that captures the essence of the product in a format suitable for executive review, board presentations, or investor communications.
716
+
717
+ # Input Required
718
+ Provide any combination of the following:
719
+ - Product name and description
720
+ - Target market/customer segment
721
+ - Problem being solved
722
+ - Key features or capabilities
723
+ - Business model/pricing approach
724
+ - Competitive landscape
725
+ - Current status/stage
726
+ - Key metrics or traction (if available)
727
+ - Strategic goals
728
+
729
+ *Note: Work with whatever information is provided; make reasonable inferences for gaps while flagging assumptions.*
730
+
731
+ # Output Format
732
+
733
+ ## [PRODUCT NAME] - Executive Summary
734
+
735
+ ### The Opportunity
736
+ [2-3 sentences describing the market problem and opportunity size]
737
+
738
+ ### Our Solution
739
+ [2-3 sentences on what the product does and its core value proposition]
740
+
741
+ ### Target Customer
742
+ [Specific customer segment with key characteristics]
743
+
744
+ ### Key Differentiators
745
+ - [Differentiator 1]
746
+ - [Differentiator 2]
747
+ - [Differentiator 3]
748
+
749
+ ### Business Model
750
+ [1-2 sentences on how the product generates revenue]
751
+
752
+ ### Traction & Validation
753
+ [Key metrics, milestones, or validation points - use "Target:" prefix for projections]
754
+
755
+ ### Competitive Position
756
+ [Brief competitive landscape and positioning statement]
757
+
758
+ ### Strategic Fit
759
+ [How this aligns with broader company/market strategy]
760
+
761
+ ### Ask / Next Steps
762
+ [Clear call-to-action or decision needed]
763
+
764
+ ---
765
+ **Status:** [Current stage]
766
+ **Owner:** [Product lead/team]
767
+ **Last Updated:** [Date]
768
+
769
+ # Writing Standards
770
+ - **Tone:** Confident, data-informed, strategic
771
+ - **Length:** 1 page maximum (300-500 words)
772
+ - **Language:** Executive-friendly, minimal jargon
773
+ - **Numbers:** Include quantified metrics wherever possible
774
+ - **Clarity:** Each section should be understandable in isolation
775
+
776
+ # Quality Criteria
777
+ 1. A busy executive can understand the product in under 2 minutes
778
+ 2. The value proposition is immediately clear
779
+ 3. Key decisions or asks are explicit
780
+ 4. Claims are specific and quantified where possible
781
+ 5. Strategic rationale is evident
782
+
783
+ # Special Instructions
784
+ - If information is incomplete, make reasonable assumptions and mark with [ASSUMPTION]
785
+ - Prioritize clarity over comprehensiveness
786
+ - Lead with impact, not features
787
+ - Use active voice and strong verbs
788
+ - Avoid superlatives without supporting data
789
+ - If competitive information is sparse, focus on unique value rather than comparisons
790
+
791
+ ## WORKFLOW STEPS
792
+ 1. Read the user's input about the product
793
+ 2. Generate a unique, URL-friendly slug from the product name (lowercase, hyphen-separated)
794
+ 3. Create the directory \`prompter/<slug>/\` if it doesn't exist
795
+ 4. Generate the complete Product Brief following all requirements above
796
+ 5. Save the Product Brief to \`prompter/<slug>/product-brief.md\`
797
+ 6. Report the saved file path
798
+
799
+ ## REFERENCE
800
+ - Read \`prompter/project.md\` for project context if needed`;
801
+
708
802
  export const slashCommandBodies: Record<SlashCommandId, string> = {
709
803
  enhance: enhanceWorkflow,
710
804
  'prd-generator': prdGeneratorWorkflow,
805
+ 'product-brief': productBriefWorkflow,
711
806
  'epic-single': epicSingleWorkflow,
712
807
  'story-single': storySingleWorkflow,
713
808
  'qa-test-scenario': qaTestScenarioWorkflow,