superskills 0.1.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 (93) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +363 -0
  3. package/bin/superskills +6 -0
  4. package/dist/catalog/index.d.ts +11 -0
  5. package/dist/catalog/index.d.ts.map +1 -0
  6. package/dist/catalog/index.js +203 -0
  7. package/dist/catalog/index.js.map +1 -0
  8. package/dist/catalog/tools-catalog.json +243 -0
  9. package/dist/catalog/types.d.ts +59 -0
  10. package/dist/catalog/types.d.ts.map +1 -0
  11. package/dist/catalog/types.js +2 -0
  12. package/dist/catalog/types.js.map +1 -0
  13. package/dist/catalog/ui.d.ts +4 -0
  14. package/dist/catalog/ui.d.ts.map +1 -0
  15. package/dist/catalog/ui.js +86 -0
  16. package/dist/catalog/ui.js.map +1 -0
  17. package/dist/cli/colors.d.ts +8 -0
  18. package/dist/cli/colors.d.ts.map +1 -0
  19. package/dist/cli/colors.js +11 -0
  20. package/dist/cli/colors.js.map +1 -0
  21. package/dist/discovery/analyze.d.ts +5 -0
  22. package/dist/discovery/analyze.d.ts.map +1 -0
  23. package/dist/discovery/analyze.js +190 -0
  24. package/dist/discovery/analyze.js.map +1 -0
  25. package/dist/discovery/core.d.ts +16 -0
  26. package/dist/discovery/core.d.ts.map +1 -0
  27. package/dist/discovery/core.js +51 -0
  28. package/dist/discovery/core.js.map +1 -0
  29. package/dist/discovery/index.d.ts +4 -0
  30. package/dist/discovery/index.d.ts.map +1 -0
  31. package/dist/discovery/index.js +233 -0
  32. package/dist/discovery/index.js.map +1 -0
  33. package/dist/discovery/schema.d.ts +111 -0
  34. package/dist/discovery/schema.d.ts.map +1 -0
  35. package/dist/discovery/schema.js +87 -0
  36. package/dist/discovery/schema.js.map +1 -0
  37. package/dist/discovery/types.d.ts +56 -0
  38. package/dist/discovery/types.d.ts.map +1 -0
  39. package/dist/discovery/types.js +2 -0
  40. package/dist/discovery/types.js.map +1 -0
  41. package/dist/index.d.ts +3 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +523 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/scaffold/index.d.ts +4 -0
  46. package/dist/scaffold/index.d.ts.map +1 -0
  47. package/dist/scaffold/index.js +262 -0
  48. package/dist/scaffold/index.js.map +1 -0
  49. package/dist/scaffold/templates/claude-md.d.ts +4 -0
  50. package/dist/scaffold/templates/claude-md.d.ts.map +1 -0
  51. package/dist/scaffold/templates/claude-md.js +229 -0
  52. package/dist/scaffold/templates/claude-md.js.map +1 -0
  53. package/dist/scaffold/templates/claude-settings.d.ts +3 -0
  54. package/dist/scaffold/templates/claude-settings.d.ts.map +1 -0
  55. package/dist/scaffold/templates/claude-settings.js +48 -0
  56. package/dist/scaffold/templates/claude-settings.js.map +1 -0
  57. package/dist/scaffold/templates/env-example.d.ts +3 -0
  58. package/dist/scaffold/templates/env-example.d.ts.map +1 -0
  59. package/dist/scaffold/templates/env-example.js +103 -0
  60. package/dist/scaffold/templates/env-example.js.map +1 -0
  61. package/dist/scaffold/templates/package-json.d.ts +2 -0
  62. package/dist/scaffold/templates/package-json.d.ts.map +1 -0
  63. package/dist/scaffold/templates/package-json.js +56 -0
  64. package/dist/scaffold/templates/package-json.js.map +1 -0
  65. package/dist/scaffold/templates/project-files.d.ts +4 -0
  66. package/dist/scaffold/templates/project-files.d.ts.map +1 -0
  67. package/dist/scaffold/templates/project-files.js +459 -0
  68. package/dist/scaffold/templates/project-files.js.map +1 -0
  69. package/dist/scaffold/templates/skill-agents.d.ts +4 -0
  70. package/dist/scaffold/templates/skill-agents.d.ts.map +1 -0
  71. package/dist/scaffold/templates/skill-agents.js +68 -0
  72. package/dist/scaffold/templates/skill-agents.js.map +1 -0
  73. package/dist/scaffold/templates/skill-commands.d.ts +3 -0
  74. package/dist/scaffold/templates/skill-commands.d.ts.map +1 -0
  75. package/dist/scaffold/templates/skill-commands.js +509 -0
  76. package/dist/scaffold/templates/skill-commands.js.map +1 -0
  77. package/dist/scaffold/templates/teammate-prompts.d.ts +8 -0
  78. package/dist/scaffold/templates/teammate-prompts.d.ts.map +1 -0
  79. package/dist/scaffold/templates/teammate-prompts.js +506 -0
  80. package/dist/scaffold/templates/teammate-prompts.js.map +1 -0
  81. package/dist/scaffold/types.d.ts +68 -0
  82. package/dist/scaffold/types.d.ts.map +1 -0
  83. package/dist/scaffold/types.js +2 -0
  84. package/dist/scaffold/types.js.map +1 -0
  85. package/dist/scaffold/ui.d.ts +5 -0
  86. package/dist/scaffold/ui.d.ts.map +1 -0
  87. package/dist/scaffold/ui.js +127 -0
  88. package/dist/scaffold/ui.js.map +1 -0
  89. package/dist/utils/logger.d.ts +3 -0
  90. package/dist/utils/logger.d.ts.map +1 -0
  91. package/dist/utils/logger.js +8 -0
  92. package/dist/utils/logger.js.map +1 -0
  93. package/package.json +69 -0
package/dist/index.js ADDED
@@ -0,0 +1,523 @@
1
+ #!/usr/bin/env node
2
+ // Check Node.js version before anything else
3
+ const nodeVersion = parseInt(process.versions.node.split('.')[0], 10);
4
+ if (nodeVersion < 20) {
5
+ console.error(`\n SuperSkills requires Node.js 20 or later. You have ${process.versions.node}.`);
6
+ console.error(' Install the latest LTS: https://nodejs.org\n');
7
+ process.exit(1);
8
+ }
9
+ import { Command } from 'commander';
10
+ import * as p from '@clack/prompts';
11
+ import pc from 'picocolors';
12
+ import fs from 'fs-extra';
13
+ import path from 'path';
14
+ import os from 'os';
15
+ import { runDiscovery, processJsonInput, getInputJsonSchema, ValidationError } from './discovery/index.js';
16
+ import { DiscoveryResultSchema } from './discovery/schema.js';
17
+ import { selectTools, loadCatalog, getSdkPackages, getEnvVars } from './catalog/index.js';
18
+ import { runToolSelection } from './catalog/ui.js';
19
+ import { scaffold } from './scaffold/index.js';
20
+ import { runScaffold } from './scaffold/ui.js';
21
+ // Load saved API key from ~/.superskills/.env if not in environment
22
+ const savedEnvPath = path.join(os.homedir(), '.superskills', '.env');
23
+ if (!process.env.ANTHROPIC_API_KEY && fs.pathExistsSync(savedEnvPath)) {
24
+ const envContent = fs.readFileSync(savedEnvPath, 'utf-8');
25
+ for (const line of envContent.split('\n')) {
26
+ const trimmed = line.trim();
27
+ if (trimmed && !trimmed.startsWith('#')) {
28
+ const eqIndex = trimmed.indexOf('=');
29
+ if (eqIndex > 0) {
30
+ const key = trimmed.slice(0, eqIndex).trim();
31
+ const value = trimmed.slice(eqIndex + 1).trim();
32
+ if (key && value && !process.env[key]) {
33
+ process.env[key] = value;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ const program = new Command();
40
+ const VERSION = '0.1.0';
41
+ function displayBanner() {
42
+ console.log('');
43
+ console.log(pc.cyan(' ____ ____ __ _ ____ '));
44
+ console.log(pc.cyan(' / ___| _ _ _ __ ___ _ _/ ___|| | _(_) | |___ '));
45
+ console.log(pc.cyan(' \\___ \\| | | | \'_ \\ / _ \\ \'__\\___ \\| |/ / | | / __|'));
46
+ console.log(pc.cyan(' ___) | |_| | |_) | __/ | ___) | <| | | \\__ \\'));
47
+ console.log(pc.cyan(' |____/ \\__,_| .__/ \\___|_| |____/|_|\\_\\_|_|_|___/'));
48
+ console.log(pc.cyan(' |_| '));
49
+ console.log(pc.dim(` v${VERSION} — business problem in, working project out`));
50
+ console.log('');
51
+ }
52
+ program
53
+ .name('superskills')
54
+ .description('Skills that amplify human capabilities for AI-native product development')
55
+ .version(VERSION);
56
+ // Discovery command
57
+ program
58
+ .command('discovery')
59
+ .alias('d')
60
+ .description('Strategic planning for AI-native projects')
61
+ .option('-v, --verbose', 'Show detailed logs')
62
+ .option('--json', 'JSON output mode (no interactive prompts)')
63
+ .option('-i, --input <file>', 'Input JSON file (requires --json)')
64
+ .option('-o, --output <file>', 'Output JSON file (default: stdout)')
65
+ .option('--schema', 'Print input JSON schema and exit')
66
+ .action(async (options) => {
67
+ try {
68
+ if (options.schema) {
69
+ console.log(JSON.stringify(getInputJsonSchema(), null, 2));
70
+ return;
71
+ }
72
+ if (options.json) {
73
+ await runDiscoveryJsonMode(options);
74
+ }
75
+ else {
76
+ displayBanner();
77
+ const result = await runDiscovery();
78
+ if (!result) {
79
+ process.exit(1);
80
+ }
81
+ }
82
+ }
83
+ catch (error) {
84
+ handleError(error, options.json);
85
+ }
86
+ });
87
+ // Tools command
88
+ program
89
+ .command('tools')
90
+ .alias('t')
91
+ .description('Select tools based on discovery result')
92
+ .option('-v, --verbose', 'Show detailed logs')
93
+ .option('--json', 'JSON output mode (no interactive prompts)')
94
+ .option('-i, --input <file>', 'Discovery result JSON file (requires --json)')
95
+ .option('-o, --output <file>', 'Output JSON file (default: stdout)')
96
+ .option('--catalog', 'Print full tools catalog and exit')
97
+ .action(async (options) => {
98
+ try {
99
+ if (options.catalog) {
100
+ const catalog = await loadCatalog();
101
+ console.log(JSON.stringify(catalog, null, 2));
102
+ return;
103
+ }
104
+ if (options.json) {
105
+ await runToolsJsonMode(options);
106
+ }
107
+ else {
108
+ displayBanner();
109
+ if (!options.input) {
110
+ console.log(pc.yellow(' No discovery result provided.'));
111
+ console.log(pc.dim(' Running discovery first...\n'));
112
+ const discoveryResult = await runDiscovery();
113
+ if (!discoveryResult) {
114
+ process.exit(1);
115
+ }
116
+ const toolsResult = await runToolSelection(discoveryResult);
117
+ if (!toolsResult) {
118
+ process.exit(1);
119
+ }
120
+ }
121
+ else {
122
+ const discoveryResult = await fs.readJSON(options.input);
123
+ const toolsResult = await runToolSelection(discoveryResult);
124
+ if (!toolsResult) {
125
+ process.exit(1);
126
+ }
127
+ }
128
+ }
129
+ }
130
+ catch (error) {
131
+ handleError(error, options.json);
132
+ }
133
+ });
134
+ // Scaffold command
135
+ program
136
+ .command('scaffold')
137
+ .alias('s')
138
+ .description('Generate project with Agent Team configured')
139
+ .option('-v, --verbose', 'Show detailed logs')
140
+ .option('--json', 'JSON output mode (no interactive prompts)')
141
+ .option('-d, --discovery <file>', 'Discovery result JSON file')
142
+ .option('-t, --tools <file>', 'Tools selection JSON file')
143
+ .option('-o, --output <dir>', 'Output directory (default: ./)')
144
+ .action(async (options) => {
145
+ try {
146
+ if (options.json) {
147
+ await runScaffoldJsonMode(options);
148
+ }
149
+ else {
150
+ displayBanner();
151
+ // Run full pipeline if no inputs provided
152
+ let discoveryResult;
153
+ let toolsResult;
154
+ if (options.discovery) {
155
+ discoveryResult = await readAndValidateDiscovery(options.discovery);
156
+ }
157
+ else {
158
+ console.log(pc.yellow(' No discovery result provided.'));
159
+ console.log(pc.dim(' Running discovery first...\n'));
160
+ const result = await runDiscovery();
161
+ if (!result) {
162
+ process.exit(1);
163
+ }
164
+ discoveryResult = result;
165
+ }
166
+ if (options.tools) {
167
+ toolsResult = await fs.readJSON(options.tools);
168
+ }
169
+ else {
170
+ console.log('');
171
+ const result = await runToolSelection(discoveryResult);
172
+ if (!result) {
173
+ process.exit(1);
174
+ }
175
+ toolsResult = result;
176
+ }
177
+ console.log('');
178
+ const scaffoldResult = await runScaffold(discoveryResult, toolsResult);
179
+ if (!scaffoldResult) {
180
+ process.exit(1);
181
+ }
182
+ }
183
+ }
184
+ catch (error) {
185
+ handleError(error, options.json);
186
+ }
187
+ });
188
+ // JSON mode handlers
189
+ async function runDiscoveryJsonMode(options) {
190
+ const inputData = await getInputData(options.input);
191
+ const result = await processJsonInput(inputData);
192
+ await outputResult(result, options.output);
193
+ }
194
+ async function runToolsJsonMode(options) {
195
+ if (!options.input) {
196
+ throw new Error('--input required in JSON mode. Provide a discovery result file.');
197
+ }
198
+ const discoveryResult = await fs.readJSON(options.input);
199
+ const selection = await selectTools(discoveryResult);
200
+ const output = {
201
+ tools: selection.all.map(s => ({
202
+ id: s.tool.id,
203
+ name: s.tool.name,
204
+ category: s.tool.category,
205
+ sdk: s.tool.sdk,
206
+ reason: s.reason,
207
+ required: s.required
208
+ })),
209
+ packages: getSdkPackages(selection),
210
+ envVars: getEnvVars(selection)
211
+ };
212
+ await outputResult(output, options.output);
213
+ }
214
+ async function runScaffoldJsonMode(options) {
215
+ if (!options.discovery) {
216
+ throw new Error('--discovery required in JSON mode.');
217
+ }
218
+ const discoveryResult = await readAndValidateDiscovery(options.discovery);
219
+ const toolsResult = options.tools
220
+ ? await fs.readJSON(options.tools)
221
+ : await selectTools(discoveryResult);
222
+ const result = await scaffold({ discovery: discoveryResult, tools: toolsResult }, { outputDir: options.output || './' });
223
+ console.log(JSON.stringify({
224
+ projectPath: result.projectPath,
225
+ filesCreated: result.filesCreated,
226
+ packagesToInstall: result.packagesToInstall,
227
+ envVars: result.envVars,
228
+ agentTeam: {
229
+ skills: result.agentTeam.skills.map(s => s.name),
230
+ hooks: result.agentTeam.hooks
231
+ }
232
+ }, null, 2));
233
+ }
234
+ async function readAndValidateDiscovery(filePath) {
235
+ if (!await fs.pathExists(filePath)) {
236
+ throw new Error(`Discovery file not found: ${filePath}`);
237
+ }
238
+ const raw = await fs.readJSON(filePath);
239
+ try {
240
+ return DiscoveryResultSchema.parse(raw);
241
+ }
242
+ catch (error) {
243
+ if (error instanceof Error && 'issues' in error) {
244
+ const zodError = error;
245
+ const details = zodError.issues.map(i => ` ${i.path.join('.')}: ${i.message}`).join('\n');
246
+ throw new Error(`Invalid discovery file. Check the JSON structure:\n${details}`);
247
+ }
248
+ throw error;
249
+ }
250
+ }
251
+ async function getInputData(inputFile) {
252
+ if (inputFile) {
253
+ if (!await fs.pathExists(inputFile)) {
254
+ throw new Error(`Input file not found: ${inputFile}`);
255
+ }
256
+ return fs.readJSON(inputFile);
257
+ }
258
+ const stdin = await readStdin();
259
+ if (!stdin) {
260
+ throw new Error('No input provided. Use --input <file> or pipe JSON to stdin.');
261
+ }
262
+ return JSON.parse(stdin);
263
+ }
264
+ async function outputResult(result, outputFile) {
265
+ const output = JSON.stringify(result, null, 2);
266
+ if (outputFile) {
267
+ await fs.writeJSON(outputFile, result, { spaces: 2 });
268
+ }
269
+ else {
270
+ console.log(output);
271
+ }
272
+ }
273
+ async function readStdin() {
274
+ if (process.stdin.isTTY) {
275
+ return null;
276
+ }
277
+ return new Promise((resolve) => {
278
+ let data = '';
279
+ let ended = false;
280
+ process.stdin.setEncoding('utf8');
281
+ process.stdin.on('data', (chunk) => {
282
+ data += chunk;
283
+ });
284
+ process.stdin.on('end', () => {
285
+ ended = true;
286
+ resolve(data || null);
287
+ });
288
+ setTimeout(() => {
289
+ if (!ended && !data)
290
+ resolve(null);
291
+ }, 1000);
292
+ });
293
+ }
294
+ function handleError(error, jsonMode) {
295
+ if (jsonMode) {
296
+ if (error instanceof ValidationError) {
297
+ console.error(JSON.stringify({ error: 'Validation failed', details: error.errors }));
298
+ }
299
+ else {
300
+ const message = error instanceof Error ? error.message : 'Unknown error';
301
+ console.error(JSON.stringify({ error: message }));
302
+ }
303
+ }
304
+ else {
305
+ if (error instanceof Error) {
306
+ const msg = error.message;
307
+ console.error(pc.red(`\n Error: ${msg}\n`));
308
+ // Helpful hints for common errors
309
+ if (msg.includes('ANTHROPIC_API_KEY')) {
310
+ console.error(pc.dim(' Get a key at: https://console.anthropic.com/settings/keys'));
311
+ console.error(pc.dim(' Then run: export ANTHROPIC_API_KEY=sk-ant-...\n'));
312
+ }
313
+ else if (msg.includes('ENOENT') || msg.includes('not found')) {
314
+ console.error(pc.dim(' Check the file path and try again.\n'));
315
+ }
316
+ else if (msg.includes('JSON')) {
317
+ console.error(pc.dim(' The input file must be valid JSON. Use --schema to see the expected format.\n'));
318
+ }
319
+ else if (msg.includes('EACCES') || msg.includes('permission')) {
320
+ console.error(pc.dim(' Check file permissions on the output directory.\n'));
321
+ }
322
+ }
323
+ }
324
+ process.exit(1);
325
+ }
326
+ // Init command — one-time setup
327
+ program
328
+ .command('init')
329
+ .description('One-time setup: save API key and configure Claude Code integration')
330
+ .action(async () => {
331
+ try {
332
+ displayBanner();
333
+ console.log(' One-time setup. Saves your API key and configures Claude Code.\n');
334
+ // Step 1: API key
335
+ let apiKey = process.env.ANTHROPIC_API_KEY || '';
336
+ if (apiKey) {
337
+ p.log.info(`API key already set (starts with ${apiKey.slice(0, 10)}...)`);
338
+ }
339
+ else {
340
+ p.log.info(`Get an Anthropic API key (free tier available):\n` +
341
+ pc.cyan(` https://console.anthropic.com/settings/keys`));
342
+ const key = await p.text({
343
+ message: 'Paste your Anthropic API key:',
344
+ placeholder: 'sk-ant-api03-...',
345
+ validate: (v) => {
346
+ if (!v)
347
+ return 'API key is required';
348
+ if (!v.startsWith('sk-ant-'))
349
+ return 'Should start with sk-ant-';
350
+ return undefined;
351
+ }
352
+ });
353
+ if (p.isCancel(key)) {
354
+ p.cancel('Cancelled');
355
+ process.exit(0);
356
+ }
357
+ apiKey = key;
358
+ }
359
+ // Save to ~/.superskills/.env
360
+ const superskillsDir = path.join(os.homedir(), '.superskills');
361
+ await fs.ensureDir(superskillsDir);
362
+ const envPath = path.join(superskillsDir, '.env');
363
+ await fs.writeFile(envPath, `# SuperSkills API key (saved by superskills init)\nANTHROPIC_API_KEY=${apiKey}\n`, { mode: 0o600 });
364
+ process.env.ANTHROPIC_API_KEY = apiKey;
365
+ p.log.success(`API key saved to ~/.superskills/.env (readable only by you)`);
366
+ // Step 2: Claude Code integration
367
+ const claudeDir = path.join(os.homedir(), '.claude');
368
+ const claudeMdPath = path.join(claudeDir, 'CLAUDE.md');
369
+ await fs.ensureDir(claudeDir);
370
+ const claudeCodeInstructions = generateClaudeCodeInstructions();
371
+ if (await fs.pathExists(claudeMdPath)) {
372
+ const existing = await fs.readFile(claudeMdPath, 'utf-8');
373
+ if (existing.includes('SuperSkills')) {
374
+ p.log.info('~/.claude/CLAUDE.md already has SuperSkills instructions');
375
+ }
376
+ else {
377
+ await fs.appendFile(claudeMdPath, '\n\n' + claudeCodeInstructions);
378
+ p.log.success('Added SuperSkills instructions to ~/.claude/CLAUDE.md');
379
+ }
380
+ }
381
+ else {
382
+ await fs.writeFile(claudeMdPath, claudeCodeInstructions);
383
+ p.log.success('Created ~/.claude/CLAUDE.md with SuperSkills instructions');
384
+ }
385
+ console.log('');
386
+ p.note(pc.bold('From the terminal:\n') +
387
+ pc.cyan(' npx superskills\n\n') +
388
+ pc.bold('From Claude Code:\n') +
389
+ pc.dim(' Just describe your business problem.\n') +
390
+ pc.dim(' Claude Code does the EIID analysis itself (no API key needed).\n') +
391
+ pc.dim(' Then calls superskills scaffold to generate the project.'), 'Ready to use');
392
+ p.outro(pc.green('Setup complete'));
393
+ }
394
+ catch (error) {
395
+ handleError(error);
396
+ }
397
+ });
398
+ // Default action — full pipeline (discovery → tools → scaffold)
399
+ program
400
+ .action(async () => {
401
+ try {
402
+ displayBanner();
403
+ // Check for API key before starting the pipeline
404
+ if (!process.env.ANTHROPIC_API_KEY) {
405
+ console.log(pc.yellow(' No API key found.\n'));
406
+ console.log(' SuperSkills needs an Anthropic API key for AI analysis.');
407
+ console.log(pc.dim(' Get one at: https://console.anthropic.com/settings/keys\n'));
408
+ const key = await p.text({
409
+ message: 'Paste your Anthropic API key (or run `superskills init` to save it):',
410
+ placeholder: 'sk-ant-api03-...',
411
+ validate: (v) => {
412
+ if (!v)
413
+ return 'API key is required. Get one at console.anthropic.com/settings/keys';
414
+ if (!v.startsWith('sk-ant-'))
415
+ return 'Should start with sk-ant-';
416
+ return undefined;
417
+ }
418
+ });
419
+ if (p.isCancel(key)) {
420
+ p.cancel('Cancelled');
421
+ process.exit(0);
422
+ }
423
+ process.env.ANTHROPIC_API_KEY = key;
424
+ console.log('');
425
+ }
426
+ // Run full pipeline
427
+ const discoveryResult = await runDiscovery();
428
+ if (!discoveryResult) {
429
+ process.exit(1);
430
+ }
431
+ console.log('');
432
+ const toolsResult = await runToolSelection(discoveryResult);
433
+ if (!toolsResult) {
434
+ process.exit(1);
435
+ }
436
+ console.log('');
437
+ const scaffoldResult = await runScaffold(discoveryResult, toolsResult);
438
+ if (!scaffoldResult) {
439
+ process.exit(1);
440
+ }
441
+ }
442
+ catch (error) {
443
+ handleError(error);
444
+ }
445
+ });
446
+ program.parse();
447
+ function generateClaudeCodeInstructions() {
448
+ return `# SuperSkills — Claude Code Integration
449
+
450
+ When a user describes a business problem and wants to build an AI-native project, use SuperSkills.
451
+
452
+ ## How It Works
453
+
454
+ 1. **You do the EIID analysis** (no API key needed — you ARE Claude)
455
+ 2. **SuperSkills scaffolds the project** via CLI
456
+
457
+ ## EIID Framework
458
+
459
+ Every AI-native product works on four layers:
460
+
461
+ - **Enrichment**: Connect data sources, fill gaps, normalize formats
462
+ - **Inference**: Detect patterns, predict outcomes, flag anomalies
463
+ - **Interpretation**: Turn raw inference into actionable insights
464
+ - **Delivery**: Push insights where people are (email, Slack, WhatsApp, Telegram)
465
+
466
+ ## Step-by-Step
467
+
468
+ 1. Ask the user about their business problem
469
+ 2. Analyze it through the EIID framework yourself
470
+ 3. Create a discovery.json file with this structure:
471
+
472
+ \`\`\`json
473
+ {
474
+ "projectName": "project-name",
475
+ "context": {
476
+ "forWhom": "client|my_company|me",
477
+ "companyName": "...",
478
+ "businessDescription": "...",
479
+ "industry": "..."
480
+ },
481
+ "problem": "...",
482
+ "desiredOutcome": "...",
483
+ "currentProcess": ["step1", "step2"],
484
+ "availableData": ["source1", "source2"],
485
+ "strategicAnalysis": {
486
+ "industryContext": "...",
487
+ "valueMovement": "...",
488
+ "currentPosition": "...",
489
+ "targetPosition": "...",
490
+ "opportunities": ["..."]
491
+ },
492
+ "eiidMapping": {
493
+ "enrichment": {
494
+ "existingData": ["..."],
495
+ "missingData": ["..."],
496
+ "sources": ["..."]
497
+ },
498
+ "inference": {
499
+ "patterns": ["..."],
500
+ "predictions": ["..."],
501
+ "anomalies": ["..."]
502
+ },
503
+ "interpretation": {
504
+ "insights": ["..."]
505
+ },
506
+ "delivery": {
507
+ "channels": ["email", "slack"],
508
+ "triggers": ["..."]
509
+ }
510
+ },
511
+ "createdAt": "use current ISO 8601 date"
512
+ }
513
+ \`\`\`
514
+
515
+ 4. Run scaffold:
516
+ \`\`\`bash
517
+ npx superskills scaffold --json --discovery discovery.json --output ./
518
+ \`\`\`
519
+
520
+ 5. Follow the post-scaffold instructions (install deps, set up env vars, run init skills)
521
+ `;
522
+ }
523
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { ScaffoldInput, ScaffoldOptions, ScaffoldResult, AgentTeamConfig, SkillConfig, TeammateConfig } from './types.js';
2
+ export type { ScaffoldInput, ScaffoldOptions, ScaffoldResult, AgentTeamConfig, SkillConfig, TeammateConfig };
3
+ export declare function scaffold(input: ScaffoldInput, options: ScaffoldOptions): Promise<ScaffoldResult>;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/scaffold/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAgB/H,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAE7G,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,cAAc,CAAC,CA+FzB"}