codymaster 4.3.0 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -10
- package/dist/index.js +12 -12
- package/dist/ui/box.js +2 -2
- package/dist/ui/onboarding.js +11 -5
- package/install.sh +315 -33
- package/package.json +8 -3
- package/public/dashboard/app.js +1270 -0
- package/public/dashboard/index.html +218 -0
- package/public/dashboard/style.css +440 -0
- package/skills/cm-brainstorm-idea/SKILL.md +9 -7
- package/skills/cm-codeintell/SKILL.md +2 -2
- package/skills/cm-dashboard/SKILL.md +1 -1
- package/skills/cm-execution/SKILL.md +4 -2
- package/skills/cm-how-it-work/SKILL.md +4 -4
- package/skills/cm-planning/SKILL.md +19 -6
- package/skills/cm-project-bootstrap/SKILL.md +1 -0
- package/skills/cm-reactor/SKILL.md +1 -1
- package/skills/cm-skill-index/SKILL.md +1 -1
- package/skills/cm-start/SKILL.md +8 -5
- package/skills/cm-ux-master/SKILL.md +115 -767
package/README.md
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
|
|
7
7
|
### Your AI Agent is smart. CodyMaster makes it *wise*.
|
|
8
8
|
|
|
9
|
-
**
|
|
9
|
+
**60+ Skills · 11 Commands · 1 Plugin · 7+ Platforms · 6 Languages**
|
|
10
10
|
|
|
11
11
|
<p align="center">
|
|
12
12
|
<img alt="Version" src="https://img.shields.io/badge/version-4.3.0-blue.svg?cacheSeconds=2592000" />
|
|
13
|
-
<img alt="Skills" src="https://img.shields.io/badge/skills-
|
|
13
|
+
<img alt="Skills" src="https://img.shields.io/badge/skills-60+-success.svg" />
|
|
14
14
|
<img alt="Platforms" src="https://img.shields.io/badge/platforms-7+-orange.svg" />
|
|
15
15
|
<img alt="Open Source" src="https://img.shields.io/badge/license-MIT-purple.svg" />
|
|
16
16
|
<a href="https://github.com/tody-agent/codymaster#readme" target="_blank">
|
|
@@ -58,7 +58,7 @@ But then reality hits:
|
|
|
58
58
|
|
|
59
59
|
## 🟢 The Solution: An Entire Senior Team in One Kit
|
|
60
60
|
|
|
61
|
-
CodyMaster isn't just "another AI skills pack." It's **10+ years of product management experience + 6 months of battle-tested vibe coding**, distilled into
|
|
61
|
+
CodyMaster isn't just "another AI skills pack." It's **10+ years of product management experience + 6 months of battle-tested vibe coding**, distilled into 60+ interconnected skills that work as a **single integrated system**.
|
|
62
62
|
|
|
63
63
|
When you install CodyMaster, you're not adding skills.
|
|
64
64
|
**You're hiring an entire senior team:**
|
|
@@ -80,7 +80,7 @@ graph TD
|
|
|
80
80
|
|
|
81
81
|
## ⚡ What Makes CodyMaster Different
|
|
82
82
|
|
|
83
|
-
Other skill packs give you loose tools. CodyMaster gives you an **interconnected operating system** for your AI.
|
|
83
|
+
Other skill packs give you loose tools. CodyMaster gives you an **interconnected operating system** for your AI. CodyMaster provides 60+ skills that chain, share memory, and communicate.
|
|
84
84
|
|
|
85
85
|
### 🔄 Full Lifecycle Coverage (Idea → Production)
|
|
86
86
|
|
|
@@ -177,7 +177,7 @@ Track it all on the **Visual Dashboard** (`cm-dashboard`): No more guessing. Tra
|
|
|
177
177
|
|
|
178
178
|
| | 😵 15 Random Skills | 🧠 CodyMaster |
|
|
179
179
|
| -------------------------- | ------------------------------------------- | --------------------------------------------------------------------- |
|
|
180
|
-
| **Integration** | Each skill is standalone, no shared context |
|
|
180
|
+
| **Integration** | Each skill is standalone, no shared context | 60+ skills that chain, share memory, and communicate |
|
|
181
181
|
| **Lifecycle** | Covers coding only | Covers Idea → Design → Code → Test → Deploy → Docs → Learn |
|
|
182
182
|
| **Memory** | Forgets everything between sessions | 5-tier Unified Brain: Sensory → Working → Long-term → Semantic → Structural + Cloud Brain |
|
|
183
183
|
| **Safety** | YOLO deploys | 4-layer protection: TDD → Security → Isolation → Multi-gate deploy |
|
|
@@ -215,7 +215,7 @@ If you prefer:
|
|
|
215
215
|
|
|
216
216
|
### 1. Install AI Skills (All Platforms)
|
|
217
217
|
|
|
218
|
-
One command installs all
|
|
218
|
+
One command installs all 60+ skills to your environment. Supports Claude Code, Gemini CLI, Cursor, Aider, Windsurf, Cline, OpenCode, and more:
|
|
219
219
|
|
|
220
220
|
```bash
|
|
221
221
|
bash <(curl -fsSL https://raw.githubusercontent.com/tody-agent/codymaster/main/install.sh) --all
|
|
@@ -253,7 +253,7 @@ The CLI will greet you and keep you organized on your long coding sessions!
|
|
|
253
253
|
|
|
254
254
|
---
|
|
255
255
|
|
|
256
|
-
## 🧰 The
|
|
256
|
+
## 🧰 The 60+ Skill Arsenal
|
|
257
257
|
|
|
258
258
|
| Domain | Skills |
|
|
259
259
|
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -274,7 +274,7 @@ cm task add "..." → Add a task
|
|
|
274
274
|
cm task list → View tasks
|
|
275
275
|
cm status → Project health
|
|
276
276
|
cm dashboard → Open Mission Control
|
|
277
|
-
cm list → Browse
|
|
277
|
+
cm list → Browse 60+ skills
|
|
278
278
|
cm profile → Your stats & achievements
|
|
279
279
|
cm deploy <env> → Record deployment
|
|
280
280
|
```
|
|
@@ -295,7 +295,7 @@ cm deploy <env> → Record deployment
|
|
|
295
295
|
|
|
296
296
|
**Tody Le** — Head of Product with 10+ years of experience. Can't write code. Used AI to build real products for 6 months straight. Every skill in this kit was born from a real failure that cost real time and real tears.
|
|
297
297
|
|
|
298
|
-
> *"
|
|
298
|
+
> *"60+ skills. Each skill is a lesson. Each lesson is a sleepless night. And now, you don't have to go through those nights."*
|
|
299
299
|
|
|
300
300
|
📖 [Read the full story →](https://cody.todyle.com/story)
|
|
301
301
|
|
|
@@ -305,7 +305,7 @@ cm deploy <env> → Record deployment
|
|
|
305
305
|
|
|
306
306
|
- 🌍 [Website](https://cody.todyle.com) — Overview & demos
|
|
307
307
|
- 📖 [Documentation](https://cody.todyle.com/docs) — Full deep-dive
|
|
308
|
-
- 🛠️ [Skills Reference](skills/) — Browse all
|
|
308
|
+
- 🛠️ [Skills Reference](skills/) — Browse all 60+ SKILL.md files
|
|
309
309
|
- 📖 [Our Story](https://cody.todyle.com/story) — Why this exists
|
|
310
310
|
|
|
311
311
|
---
|
package/dist/index.js
CHANGED
|
@@ -172,7 +172,7 @@ function postInstallOnboarding(platform) {
|
|
|
172
172
|
message: 'What would you like to do?',
|
|
173
173
|
options: [
|
|
174
174
|
{ label: `${theme_1.ICONS.dashboard} Launch Dashboard`, value: 'dashboard', hint: `localhost:${data_1.DEFAULT_PORT}` },
|
|
175
|
-
{ label: `${theme_1.ICONS.skill} Browse all
|
|
175
|
+
{ label: `${theme_1.ICONS.skill} Browse all 65 skills`, value: 'skills' },
|
|
176
176
|
{ label: `${theme_1.ICONS.deploy} Start with your AI`, value: 'invoke', hint: profile.platform || 'any agent' },
|
|
177
177
|
{ label: `${(0, theme_1.success)('✓')} Done`, value: 'done' },
|
|
178
178
|
],
|
|
@@ -253,7 +253,7 @@ function showInteractiveMenu() {
|
|
|
253
253
|
{ label: `${theme_1.ICONS.dashboard} Dashboard`, value: 'dashboard', hint: isDashboardRunning() ? 'Open' : 'Start & open' },
|
|
254
254
|
{ label: `${theme_1.ICONS.task} My Tasks`, value: 'tasks', hint: `${taskCounts.totalTasks} total` },
|
|
255
255
|
{ label: `📈 Status`, value: 'status', hint: 'Health snapshot' },
|
|
256
|
-
{ label: `${theme_1.ICONS.skill} Browse Skills`, value: 'skills', hint: '
|
|
256
|
+
{ label: `${theme_1.ICONS.skill} Browse Skills`, value: 'skills', hint: '65 skills' },
|
|
257
257
|
{ label: `➕ Add a Task`, value: 'addtask', hint: 'Quick add' },
|
|
258
258
|
{ label: `⚡ Install Skills`, value: 'install', hint: 'Update all' },
|
|
259
259
|
{ label: `${theme_1.ICONS.hamster} My Profile`, value: 'profile', hint: `${profile.level}` },
|
|
@@ -313,7 +313,7 @@ function showInteractiveMenu() {
|
|
|
313
313
|
`${(0, theme_1.brand)('cm task list')} ${(0, theme_1.dim)('View tasks')}`,
|
|
314
314
|
`${(0, theme_1.brand)('cm status')} ${(0, theme_1.dim)('Project health')}`,
|
|
315
315
|
`${(0, theme_1.brand)('cm dashboard')} ${(0, theme_1.dim)('Mission Control')}`,
|
|
316
|
-
`${(0, theme_1.brand)('cm list')} ${(0, theme_1.dim)('Browse
|
|
316
|
+
`${(0, theme_1.brand)('cm list')} ${(0, theme_1.dim)('Browse 65 skills')}`,
|
|
317
317
|
`${(0, theme_1.brand)('cm deploy')} ${(0, theme_1.dim)('<env>')} ${(0, theme_1.dim)('Record deploy')}`,
|
|
318
318
|
`${(0, theme_1.brand)('cm profile')} ${(0, theme_1.dim)('Your stats')}`,
|
|
319
319
|
];
|
|
@@ -327,7 +327,7 @@ function showInteractiveMenu() {
|
|
|
327
327
|
const program = new commander_1.Command();
|
|
328
328
|
program
|
|
329
329
|
.name('cm')
|
|
330
|
-
.description('Cody —
|
|
330
|
+
.description('Cody — 65 Skills. Ship 10x faster.')
|
|
331
331
|
.version(VERSION, '-v, --version', 'Show version')
|
|
332
332
|
.argument('[cmd]', 'Command to run', '')
|
|
333
333
|
.action((cmd) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1164,7 +1164,7 @@ function doAddSkills(skills, platform) {
|
|
|
1164
1164
|
const { execFileSync } = require('child_process');
|
|
1165
1165
|
if (platform === 'claude') {
|
|
1166
1166
|
console.log((0, theme_1.brand)('🟣 Claude Code — Installing via plugin system'));
|
|
1167
|
-
console.log((0, theme_1.dim)(' (Claude installs all
|
|
1167
|
+
console.log((0, theme_1.dim)(' (Claude installs all 65 skills as one bundle)\n'));
|
|
1168
1168
|
// Step 1: Register marketplace
|
|
1169
1169
|
console.log((0, theme_1.dim)(' $ claude plugin marketplace add tody-agent/codymaster'));
|
|
1170
1170
|
try {
|
|
@@ -1188,7 +1188,7 @@ function doAddSkills(skills, platform) {
|
|
|
1188
1188
|
console.log((0, theme_1.dim)(' $ claude plugin install codymaster@codymaster'));
|
|
1189
1189
|
try {
|
|
1190
1190
|
execFileSync('claude', ['plugin', 'install', 'codymaster@codymaster'], { stdio: 'inherit' });
|
|
1191
|
-
console.log((0, box_1.renderResult)('success', 'All
|
|
1191
|
+
console.log((0, box_1.renderResult)('success', 'All 65 skills installed!'));
|
|
1192
1192
|
yield postInstallOnboarding('claude');
|
|
1193
1193
|
}
|
|
1194
1194
|
catch (_b) {
|
|
@@ -1220,7 +1220,7 @@ function doAddSkills(skills, platform) {
|
|
|
1220
1220
|
}
|
|
1221
1221
|
const icons = { cursor: '🔵', windsurf: '🟠', cline: '⚫', opencode: '📦', kiro: '🔶' };
|
|
1222
1222
|
const icon = icons[platform] || '📦';
|
|
1223
|
-
const label = skills.length === ALL_SKILLS.length ? 'all
|
|
1223
|
+
const label = skills.length === ALL_SKILLS.length ? 'all 65 skills' : skills.join(', ');
|
|
1224
1224
|
console.log(`${icon} ${(0, theme_1.brand)(`${platform} — Installing ${label}`)}`);
|
|
1225
1225
|
console.log((0, theme_1.dim)(` Target: ./${target.dir}/\n`));
|
|
1226
1226
|
let ok = 0, fail = 0;
|
|
@@ -1277,7 +1277,7 @@ program
|
|
|
1277
1277
|
.command('add')
|
|
1278
1278
|
.description('Add skills to your AI agent (npx codymaster add --skill cm-debugging)')
|
|
1279
1279
|
.option('--skill <name>', 'Specific skill to add (e.g. cm-debugging)')
|
|
1280
|
-
.option('--all', 'Add all
|
|
1280
|
+
.option('--all', 'Add all 65 skills')
|
|
1281
1281
|
.option('--platform <platform>', 'Target: claude|gemini|cursor|windsurf|cline|opencode|kiro|copilot')
|
|
1282
1282
|
.option('--list', 'Show available skills and exit')
|
|
1283
1283
|
.action((opts) => __awaiter(void 0, void 0, void 0, function* () {
|
|
@@ -1334,7 +1334,7 @@ program
|
|
|
1334
1334
|
const mode = yield p.select({
|
|
1335
1335
|
message: 'What to install?',
|
|
1336
1336
|
options: [
|
|
1337
|
-
{ label: 'All
|
|
1337
|
+
{ label: 'All 65 skills (full kit)', value: 'all' },
|
|
1338
1338
|
{ label: 'Search & pick one skill', value: 'pick' },
|
|
1339
1339
|
],
|
|
1340
1340
|
});
|
|
@@ -1360,7 +1360,7 @@ program
|
|
|
1360
1360
|
program
|
|
1361
1361
|
.command('list')
|
|
1362
1362
|
.alias('ls')
|
|
1363
|
-
.description('List all
|
|
1363
|
+
.description('List all 65 available skills')
|
|
1364
1364
|
.option('-d, --domain <domain>', 'Filter by domain')
|
|
1365
1365
|
.action((opts) => {
|
|
1366
1366
|
skillList(opts.domain);
|
|
@@ -1827,7 +1827,7 @@ const SKILL_CATALOG = {
|
|
|
1827
1827
|
{ name: 'cm-start', desc: 'Onboarding & session kick-off wizard' },
|
|
1828
1828
|
{ name: 'cm-dashboard', desc: 'Project status & task Kanban board' },
|
|
1829
1829
|
{ name: 'cm-status', desc: 'Quick project health snapshot' },
|
|
1830
|
-
{ name: 'cm-how-it-work', desc: 'Interactive explainer for all
|
|
1830
|
+
{ name: 'cm-how-it-work', desc: 'Interactive explainer for all 65 skills' },
|
|
1831
1831
|
{ name: 'cm-example', desc: 'Minimal template for new skills' },
|
|
1832
1832
|
],
|
|
1833
1833
|
},
|
|
@@ -1873,7 +1873,7 @@ function skillList(filterDomain) {
|
|
|
1873
1873
|
console.log((0, box_1.renderResult)('error', `Domain not found: ${filterDomain}`, [(0, theme_1.dim)('Domains: engineering, operations, product, growth, orchestration, workflow')]));
|
|
1874
1874
|
return;
|
|
1875
1875
|
}
|
|
1876
|
-
console.log((0, box_1.renderCommandHeader)('Cody Master —
|
|
1876
|
+
console.log((0, box_1.renderCommandHeader)('Cody Master — 65 Skills', '🧩'));
|
|
1877
1877
|
let total = 0;
|
|
1878
1878
|
for (const [domain, data] of entries) {
|
|
1879
1879
|
console.log((0, theme_1.brand)(` ${data.icon} ${domain.charAt(0).toUpperCase() + domain.slice(1)}`));
|
package/dist/ui/box.js
CHANGED
|
@@ -192,9 +192,9 @@ function renderCommandHeader(title, icon) {
|
|
|
192
192
|
// ─── Key-Value Display ─────────────────────────────────────────────────────
|
|
193
193
|
/**
|
|
194
194
|
* Render aligned key-value pairs with branded styling
|
|
195
|
-
* Input: [['Version', '4.
|
|
195
|
+
* Input: [['Version', '4.3.0'], ['Port', '4321']]
|
|
196
196
|
* Output:
|
|
197
|
-
* Version 4.
|
|
197
|
+
* Version 4.3.0
|
|
198
198
|
* Port 4321
|
|
199
199
|
*/
|
|
200
200
|
function renderKeyValue(pairs, opts) {
|
package/dist/ui/onboarding.js
CHANGED
|
@@ -62,7 +62,7 @@ const STEP_INFO = {
|
|
|
62
62
|
1: { title: 'Meet your assistant', desc: 'What should I call you?' },
|
|
63
63
|
2: { title: 'Pick your platform', desc: 'Where do you code?' },
|
|
64
64
|
3: { title: 'Your first task', desc: 'Add something to build' },
|
|
65
|
-
4: { title: 'See the magic', desc: 'Discover your
|
|
65
|
+
4: { title: 'See the magic', desc: 'Discover your 65 skills' },
|
|
66
66
|
5: { title: 'You\'re ready!', desc: 'Welcome to the team' },
|
|
67
67
|
};
|
|
68
68
|
/**
|
|
@@ -219,7 +219,7 @@ function runOnboarding(version) {
|
|
|
219
219
|
if (startStep < 4) {
|
|
220
220
|
console.log((0, box_1.renderStepProgress)(4, TOTAL_STEPS));
|
|
221
221
|
console.log('');
|
|
222
|
-
console.log(` ${(0, theme_1.brandBold)('You have
|
|
222
|
+
console.log(` ${(0, theme_1.brandBold)('You have 65 superpowers!')} ${theme_2.ICONS.skill}`);
|
|
223
223
|
console.log(` ${(0, theme_1.dim)('Grouped by what they help you do:')}`);
|
|
224
224
|
console.log('');
|
|
225
225
|
const SKILL_DOMAINS = [
|
|
@@ -227,31 +227,37 @@ function runOnboarding(version) {
|
|
|
227
227
|
{ name: 'cm-tdd', desc: 'Test-driven development' },
|
|
228
228
|
{ name: 'cm-debugging', desc: 'Smart bug hunting' },
|
|
229
229
|
{ name: 'cm-quality-gate', desc: 'Pre-deploy verification' },
|
|
230
|
+
{ name: 'cm-clean-code', desc: 'Code hygiene gate' },
|
|
230
231
|
] },
|
|
231
232
|
{ domain: '🚀 Operations', skills: [
|
|
232
233
|
{ name: 'cm-safe-deploy', desc: 'Multi-gate deploy' },
|
|
233
234
|
{ name: 'cm-secret-shield', desc: 'Secret scanning' },
|
|
234
235
|
{ name: 'cm-git-worktrees', desc: 'Isolated branches' },
|
|
236
|
+
{ name: 'cm-identity-guard', desc: 'Account & project safety' },
|
|
235
237
|
] },
|
|
236
238
|
{ domain: '🎨 Product & Design', skills: [
|
|
237
239
|
{ name: 'cm-planning', desc: 'Plan before you code' },
|
|
238
240
|
{ name: 'cm-ui-preview', desc: 'AI-powered UI design' },
|
|
239
241
|
{ name: 'cm-ux-master', desc: '48 UX Laws + design system' },
|
|
242
|
+
{ name: 'cm-design-system', desc: 'Design token intelligence' },
|
|
240
243
|
] },
|
|
241
244
|
{ domain: '📈 Growth & Content', skills: [
|
|
242
245
|
{ name: 'cm-content-factory', desc: 'Self-learning content engine' },
|
|
243
246
|
{ name: 'cm-ads-tracker', desc: 'Conversion tracking setup' },
|
|
244
|
-
{ name: '
|
|
247
|
+
{ name: 'cm-growth-hacking', desc: 'Booking popups & CTAs' },
|
|
248
|
+
{ name: 'cm-readit', desc: 'Audio-enabled experience' },
|
|
245
249
|
] },
|
|
246
250
|
{ domain: '🤖 Orchestration', skills: [
|
|
247
251
|
{ name: 'cm-execution', desc: 'Parallel agent dispatch' },
|
|
248
252
|
{ name: 'cm-skill-chain', desc: 'Multi-skill pipelines' },
|
|
249
253
|
{ name: 'cm-continuity', desc: 'Working memory protocol' },
|
|
254
|
+
{ name: 'cm-skill-mastery', desc: 'Meta-skill kit discipline' },
|
|
250
255
|
] },
|
|
251
256
|
{ domain: '🔧 Workflow', skills: [
|
|
252
257
|
{ name: 'cm-start', desc: 'Idea → production code' },
|
|
253
258
|
{ name: 'cm-project-bootstrap', desc: 'Zero-to-production setup' },
|
|
254
259
|
{ name: 'cm-dashboard', desc: 'Visual Mission Control' },
|
|
260
|
+
{ name: 'cm-notebooklm', desc: 'AI brain & soul engine' },
|
|
255
261
|
] },
|
|
256
262
|
];
|
|
257
263
|
for (const d of SKILL_DOMAINS) {
|
|
@@ -261,10 +267,10 @@ function runOnboarding(version) {
|
|
|
261
267
|
}
|
|
262
268
|
console.log('');
|
|
263
269
|
}
|
|
264
|
-
console.log(` ${(0, theme_1.dim)(`Total:
|
|
270
|
+
console.log(` ${(0, theme_1.dim)(`Total: 65 skills across 6 domains`)}`);
|
|
265
271
|
console.log('');
|
|
266
272
|
const viewAll = yield p.confirm({
|
|
267
|
-
message: 'Want to browse all
|
|
273
|
+
message: 'Want to browse all 65 skills in detail?',
|
|
268
274
|
initialValue: false,
|
|
269
275
|
});
|
|
270
276
|
profile.onboardingStep = 4;
|