cm-autopilot
Easy-to-use conversational CLI (Claude Code style) for non-technical users to spawn parallel AI tasks supervised by a visual web dashboard.
Use when running ANY terminal command - enforces clear progress logging, output reading, and error-stop behavior so terminal processes are never left unchecked
$ npx -y skills add tody-agent/codymaster --skill cm-terminal --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/cm-terminalContext preview
The summary Claude sees to decide when to auto-load this skill.
Use when running ANY terminal command - enforces clear progress logging, output reading, and error-stop behavior so terminal processes are never left unchecked
name: cm-terminal description: Use when running ANY terminal command - enforces clear progress logging, output reading, and error-stop behavior so terminal processes are never left unchecked
Running commands without checking output is flying blind. Users MUST see what's happening at every step.
**Core principle:** Every command gets announced, monitored, and verified. No exceptions.
**Violating the letter of this rule is violating the spirit of this rule.**
NO COMMAND RUNS WITHOUT READING ITS OUTPUT. NO ERROR GOES UNREPORTED. NO NEXT STEP WITHOUT PREVIOUS STEP CONFIRMED.
**ALWAYS** when running terminal commands via `run_command`. This includes:
**BEFORE calling `run_command`:**
Update `task_boundary` TaskStatus to describe what you're about to run and why.
TaskStatus: "Running npm build to compile production bundle" TaskStatus: "Installing dependencies with npm install" TaskStatus: "Deploying to Cloudflare Pages"
Choose `WaitMsBeforeAsync` based on expected command duration:
| Command Type | WaitMsBeforeAsync | Strategy | |-------------|-------------------|----------| | Quick (< 3s) — `git status`, `ls`, `cat` | 3000-5000 | Synchronous, read output directly | | Medium (3-30s) — `npm install`, `build` | 5000-10000 | Wait for initial output, then poll | | Long (> 30s) — `deploy`, `test suites` | 2000-5000 | Send to background, poll actively |
**After `run_command` returns:**
1. If command completed synchronously → read output in the response 2. If command sent to background → call `command_status` immediately with `WaitDurationSeconds: 10` 3. **NEVER proceed to next step without reading output**
Scan output for error indicators:
ERROR PATTERNS TO DETECT: - Exit code ≠ 0 - "error", "Error", "ERROR" - "fail", "FAIL", "failed", "FAILED" - "ENOENT", "EACCES", "EPERM" - "not found", "No such file" - "Cannot find module" - "SyntaxError", "TypeError", "ReferenceError" - "Build failed" - "Command failed" - "Permission denied" - "FATAL" - Stack traces (lines with "at " prefix) - npm ERR! - Warning patterns that indicate real problems
**Before pasting stdout into TaskSummary or model context:**
| Command pattern | Rule | |-----------------|------| | `git status` | Keep only changed entries + branch line + `(N changed)` count. Drop "use git add…" boilerplate. | | `npm test` / `vitest` / `jest` | Keep failing tests + summary line. Drop `PASS` lines. | | `npm run build` / `tsc` | Keep `error` / `warning` / final status. Drop incremental progress. | | Any output | Collapse runs of ≥ 3 identical lines into `<line> … (× N)`. |
**Helper:** `src/utils/output-compress.ts` — `compressGitStatus`, `compressNpmTest`, `summarizeBuildLog`, `collapseRepeatedLines`, `compressFor(command, stdout)`.
**Anti-pattern:** Pasting full stdout (> 50 lines) into TaskSummary when only the failing portion matters. Compress first, then quote.
**If ANY error is detected:**
1. STOP — Do not run any more commands 2. IDENTIFY — Extract the exact error message and context 3. REPORT — Call notify_user with error if critical 4. FIX — Use cm-debugging if proceeding to fix
**For background commands (returned a CommandId):**
1. Poll `command_status` every 10-15 seconds 2. After EACH poll, update `task_boundary` TaskStatus with latest output summary 3. Continue until command completes (status: "done") 4. Read final output and check for errors
**Only after reading output AND confirming no errors:**
Update `task_boundary` TaskSummary with the result:
TaskSummary: "Build completed successfully (0 errors, 0 warnings)" TaskSummary: "All 519 tests passed" TaskSummary: "Deployed to https://prms-4pv.pages.dev successfully"
If you catch yourself doing ANY of these:
**ALL of these mean: STOP. Follow the protocol.**
| DON'T | DO | |-------|-----| | Run and forget | Run and read output | | Assume success | Verify success from output | | Chain commands blindly | Verify each before next | | Ignore warnings | Report warnings to user | | Multiple commands without checking | Sequential with verification |
1. Start with `WaitMsBeforeAsync: 3000-5000` 2. Check initial output for startup success/failure 3. Look for "ready" / "listening on" / "compiled successfully" signals 4. Report the URL/port to user 5. Note the CommandId for future reference
If running multiple commands at once: 1. Track ALL CommandIds 2. Poll each one separately 3. If ANY fails → report which one failed
1. The exit code reflects the LAST command in the chain 2. Read full output — errors from earlier commands may appear but the chain continues 3. Be extra careful with `cd dir && npm run build` — if `cd` fails, build won't run
| Level | Action | Example | |-------|--------|---------| | 🟢 **Success** | Update TaskSummary, proceed | "Build
"I can't write code. But in 6 months, I shipped 12 real products using AI. CodyMaster is everything I learned — so you don't have to repeat my mistakes." — Tody Le, Head of Product, Creator of CodyMaster 50+ skills. One install.
Repo: tody-agent/codymaster
Easy-to-use conversational CLI (Claude Code style) for non-technical users to spawn parallel AI tasks supervised by a visual web dashboard.
Strategic analysis gate for existing products — multi-dimensional evaluation (tech, product, design, business) using Design Thinking + 9 Windows (TRIZ) +…
Fallback local Playwright daemon for real-browser visual QA / screenshots / smoke. Use ONLY when the host platform has no native browser mode — prefer the host…
Code hygiene gate — detect and eliminate dead code, duplicates, naming mess, and code smells. TRIZ-powered. Run after features, before PRs, during debt sprints.
Full review lifecycle — request reviews, handle feedback with technical rigor, and complete branch integration. Use when completing tasks, receiving feedback,…
Unified code intelligence — routes to Skeleton Index, CodeGraph, Architecture Diagram, or Smart Context Builder based on task shape. Loads deep refs on demand.