| name | muscle-memory-recognition |
| description | Identify opportunities to build automation scripts (muscles) from repetitive or heavy-lifting tasks |
| tier | standard |
| applyTo | **/*muscle*,**/*automat*,**/*script*,**/*repetitive* |
Muscle Memory Recognition
Expert in identifying when manual work should become automated scripts.
Capabilities
- Recognize repetitive task patterns
- Identify heavy-lifting operations suitable for scripting
- Evaluate automation ROI (time saved vs creation effort)
- Recommend muscle creation with language/framework
- Connect new muscles to trifecta files
When to Use This Skill
- Same task performed manually 3+ times
- Multi-step operations with consistent patterns
- Error-prone manual processes
- Time-consuming operations during conversation
- Complex file manipulation or validation
Muscle Identification Signals
| Signal | Strength | Example |
|---|
| Repetition (3+ occurrences) | ๐ด Strong | "Run these 5 commands again" |
| Multi-step sequence (4+ steps) | ๐ด Strong | "Create folder, copy files, update config, validate" |
| Error-prone operations | ๐ก Medium | "Format all files, check for inconsistencies" |
| Time sink in conversation | ๐ก Medium | Operations taking >30 seconds |
| Cross-session recurrence | ๐ด Strong | "We did this last session too" |
| Validation patterns | ๐ก Medium | "Check all X for Y property" |
| Batch operations | ๐ก Medium | "Do X to all files matching pattern" |
Anti-Signals (Don't Automate)
| Signal | Reason |
|---|
| One-time operation | ROI too low |
| Requires human judgment each time | Can't be scripted reliably |
| Simple single command | Already optimal |
| Rapidly changing requirements | Script would be constantly outdated |
| Security-sensitive operations | Manual review required |
Muscle Creation Decision Matrix
IF (repetition >= 3) AND (steps >= 2):
โ CREATE MUSCLE (high value)
IF (repetition >= 2) AND (error_prone = true):
โ CREATE MUSCLE (reliability value)
IF (time_per_execution > 1min) AND (expected_uses >= 5):
โ CREATE MUSCLE (time value)
IF (steps >= 5) AND (pattern_consistent = true):
โ CREATE MUSCLE (complexity value)
ELSE:
โ DEFER (observe for more signals)
Language Selection Guide
Comparison Matrix
| Factor | PowerShell | Node.js (JS/TS) | Python |
|---|
| Windows native | โ
No runtime needed | โ Requires Node | โ Requires Python |
| Cross-platform | โ ๏ธ Works but quirks | โ
Excellent | โ
Excellent |
| File operations | โ
Native cmdlets | โ
Good with fs | โ
Good with pathlib |
| JSON handling | โ ๏ธ ConvertFrom-Json | โ
Native | โ
Native |
| Pipeline syntax | โ
Excellent | โ Requires chaining | โ Requires chaining |
| Async operations | โ ๏ธ Jobs (awkward) | โ
Native async/await | โ
asyncio |
| npm ecosystem | โ No | โ
Full access | โ No (pip instead) |
| Type safety | โ No | โ
TypeScript | โ ๏ธ Type hints |
| Startup speed | โ
Fast | โ ๏ธ ~200ms Node init | โ ๏ธ Similar |
| VS Code integration | โ ๏ธ Limited | โ
Extension API | โ No |
Task-to-Language Mapping
| Task Pattern | Recommended | Reason |
|---|
| File validation / scanning | PowerShell | Get-ChildItem, pipeline, regex built-in |
| JSON config manipulation | Node.js | Native JSON, better object handling |
| CLI tools with nice UX | TypeScript | chalk, inquirer, spinners |
| npm library usage | Node.js | Direct access to ecosystem |
| Quick one-off scripts | PowerShell | No build step, immediate |
| Cross-platform / heir-critical | Node.js | Portable across systems |
| API calls with types | TypeScript | fetch, async/await, type safety |
| Text/Markdown transforms | Node.js | String methods, regex literals |
| Audits with reporting | PowerShell | Format-Table, pipeline filtering |
Decision Algorithm
IF (validation OR audit OR file-scanning):
โ PowerShell (pipeline + cmdlets shine here)
IF (JSON manipulation OR npm libraries needed):
โ Node.js (native JSON + ecosystem access)
IF (CLI tool with user interaction):
โ TypeScript (type safety + UX libraries like chalk)
IF (quick prototype OR Windows-only):
โ PowerShell (no setup required)
IF (cross-platform required OR heir-critical):
โ Node.js (portable, same behavior everywhere)
Muscle Naming Convention
{action}-{target}.{ext}
Examples:
- validate-skills.ps1
- sync-architecture.cjs
- normalize-paths.ps1
- gamma-generator.cjs
- brain-qa.ps1
Integration Checklist
When creating a new muscle:
Example Prompts
- "We've done this 3 times now, should we script it?"
- "This validation takes forever, can we automate it?"
- "I keep making mistakes with these steps"
- "What muscles exist for this type of task?"
- "Should this be a muscle or stay manual?"
Output Format
When identifying a muscle opportunity:
## ๐ช Muscle Opportunity Detected
**Task**: [Description of repetitive/heavy task]
**Signal**: [Which signal triggered this]
**Estimated Value**: [Time saved ร Expected uses]
### Recommendation
- **Action**: Create muscle / Defer / Keep manual
- **Language**: [Recommended language]
- **Name**: [Suggested muscle name]
- **Location**: `.github/muscles/{name}`
- **Inheritance**: master-only / inheritable
### Implementation Notes
[Any specific considerations for this muscle]
Related Skills
Alex-First Output Guidelines
When building muscles for Alex's own use (not user-facing tools), optimize for machine consumption:
DO:
- Output structured data (JSON, key: value pairs)
- Use exit codes (0 = success, non-zero = failure)
- Keep output minimal โ only what Alex needs to parse
- Use clear, grep-able status lines
DON'T:
- Add emojis or decorative Unicode
- Build elaborate formatted tables
- Add "helpful" explanations Alex doesn't need
- Create progress spinners or animations
Example:
console.log(JSON.stringify({ passed: 12, failed: 0, warnings: 1 }));
process.exit(0);
console.log('โ
All 12 checks passed!');
console.log('โโโโโโโโโโโโโโโโโโโโโโโโ');
Exception: User-facing CLI tools (not muscles) should still be human-friendly.