build-system-automation
# Build System Automation Skill
What this skill does
# Build System Automation Skill
## Purpose
Provides scripts and templates for automated build system management, command registration, and plugin maintenance. These are battle-tested scripts that automate repetitive infrastructure tasks.
## When to Use
- **Command Registration**: Automatically register all commands in settings.json
- **Command Discovery**: Build registries of available commands with descriptions
- **Plugin Maintenance**: Scan and validate plugin structures
- **Build System Setup**: Initialize build automation for new projects
## Core Scripts
### 1. register-all-commands.sh
**Purpose**: Register all active commands in `~/.claude/settings.json`
**What it does**:
- Scans all marketplaces for command files
- Excludes archived, test, and template directories
- Rebuilds permissions.allow array with ALL commands
- Preserves hooks, enabledPlugins, alwaysThinkingEnabled sections
- Creates timestamped backups before modification
**Usage**:
```bash
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/build-system-automation/scripts/register-all-commands.sh
```
**Expected Output**:
```
๐ Registering all active commands in /home/user/.claude/settings.json
๐ฆ Creating backup: /home/user/.claude/settings.json.backup.20251105-230619
๐ Scanning for active commands...
๐ Found 218 active commands
๐ Currently registered: 173 commands
โ Missing commands (first 20):
/claude-agent-sdk:add-cost-tracking
...
โ
Registration complete!
๐ Now registered: 219 commands
```
**When to run**:
- After creating new commands with domain-plugin-builder
- After installing new plugins
- After updating plugin marketplaces
- If slash commands aren't showing up in autocomplete
### 2. build-command-registry.sh
**Purpose**: Build comprehensive JSON registry of all commands with descriptions
**What it does**:
- Scans all command files
- Extracts descriptions from frontmatter
- Generates `/tmp/command-registry.json` with metadata
- Provides statistics by marketplace and plugin
**Usage**:
```bash
bash ~/.claude/plugins/marketplaces/dev-lifecycle-marketplace/plugins/foundation/skills/build-system-automation/scripts/build-command-registry.sh
```
**Output Format** (`/tmp/command-registry.json`):
```json
{
"commands": {
"/foundation:github-init": {
"description": "Complete GitHub repository initialization with gh CLI",
"plugin": "foundation",
"marketplace": "dev-lifecycle-marketplace",
"file": "/path/to/commands/github-init.md"
}
}
}
```
**When to run**:
- Before generating documentation
- For command discovery analysis
- When creating BUILD-GUIDE templates
- For plugin auditing
## Integration with BUILD-GUIDE
These scripts are essential for BUILD-GUIDE template creation:
1. **Command Discovery**: `build-command-registry.sh` generates complete command list
2. **Template Generation**: Parse registry to group commands by phase
3. **Validation**: Ensure all referenced commands exist and are registered
## Exclusion Patterns
Both scripts exclude:
- `.archive/` - Old archived commands (v1.x numbered plugins)
- `/archived/` - Plugin-specific archives
- `dev-lifecycle-test-agent-001/` - Test marketplace duplicates
- `/templates/` - Template files in domain-plugin-builder
- `/docs/frameworks/` - Documentation examples
## Maintenance Notes
### Adding New Exclusions
If you create new test marketplaces or archive patterns, update the grep pattern in both scripts:
```bash
grep -v -E '(\.archive|/archived/|dev-lifecycle-test-agent-001|/templates/|/docs/frameworks/|YOUR_NEW_PATTERN)'
```
### Verifying Command Count
Expected counts (as of 2025-01-05):
- **218 active commands** across all marketplaces
- **62 archived** (.archive directories)
- **74 test marketplace** (dev-lifecycle-test-agent-001)
- **1 template** (domain-plugin-builder templates)
To verify current count:
```bash
find ~/.claude/plugins/marketplaces -path "*/commands/*.md" -type f 2>/dev/null | \
grep -v -E '(\.archive|/archived/|dev-lifecycle-test-agent-001|/templates/|/docs/frameworks/)' | \
wc -l
```
## Troubleshooting
### Commands Not Appearing After Registration
1. Restart Claude Code editor/terminal
2. Check settings.json is valid JSON: `jq -e . ~/.claude/settings.json`
3. Verify command count: `grep -c 'SlashCommand' ~/.claude/settings.json`
4. Check backup files: `ls -lh ~/.claude/settings.json.backup.*`
### Script Hangs or Fails
1. Check for permission errors: `ls -la ~/.claude/settings.json`
2. Verify temp directory accessible: `ls -la /tmp/`
3. Run with debug: `bash -x script.sh`
4. Check for malformed command files (missing frontmatter)
## Related Skills
- **foundation:project-detection** - Tech stack detection patterns
- **foundation:mcp-configuration** - MCP server config management
- **planning:spec-management** - Spec file organization
## Future Enhancements
- [ ] Auto-run registration after domain-plugin-builder creates commands
- [ ] Generate BUILD-GUIDE templates from command registry
- [ ] Validate command descriptions follow standards
- [ ] Create command usage analytics
- [ ] Build command dependency graphs
Related in General
modeling-omnistudio-epc-catalog
IncludedSalesforce Industries CME EPC product-modeling skill for Product2-based catalog creation. Use when creating EPC products, configuring product attributes, building offer bundles with Product Child Items, or reviewing EPC DataPack JSON metadata for product catalog changes. TRIGGER when: user creates or updates Product2 EPC records, AttributeAssignment payloads, AttributeMetadata/AttributeDefaultValues, Offer bundles, or ProductChildItem relationships. DO NOT TRIGGER when: designing OmniScripts/FlexCards/Integration Procedures (use building-omnistudio-omniscript, building-omnistudio-flexcard, or building-omnistudio-integration-procedure), implementing Apex business logic (use generating-apex), or troubleshooting deployment pipelines (use deploying-metadata).
relationship-science-coach
IncludedUse this skill for direct, practical adult relationship coaching: couples conflict, repair, trust, marriage, dating, flirting, attachment patterns, emotional connection, sex, desire differences, eroticism, kink negotiation, affection, love languages, breakups, and long-term passion. Draw on Gottman, EFT and Hold Me Tight, attachment science, modern sex research, Perel, Nagoski, Kerner, Schnarch, Love and Stosny, and flexible love-language tools. Be concrete and low-hedge. Redirect only for imminent danger, abuse, coercive control, minors, non-consent, self-harm, stalking, or medical/legal/psychiatric decisions.
building-sf-integrations
IncludedSalesforce integration architecture and runtime plumbing with 120-point scoring. Use this skill to set up Named Credentials, External Credentials, External Services, REST/SOAP callout patterns, Platform Events, and Change Data Capture. TRIGGER when: user sets up Named Credentials, External Services, REST/SOAP callouts, Platform Events, CDC, or touches .namedCredential-meta.xml files. DO NOT TRIGGER when: Connected App/OAuth config (use configuring-connected-apps), Apex-only logic (use generating-apex), or data import/export (use handling-sf-data).
venue-templates
IncludedAccess comprehensive LaTeX templates, formatting requirements, and submission guidelines for major scientific publication venues (Nature, Science, PLOS, IEEE, ACM), academic conferences (NeurIPS, ICML, CVPR, CHI), research posters, and grant proposals (NSF, NIH, DOE, DARPA). This skill should be used when preparing manuscripts for journal submission, conference papers, research posters, or grant proposals and need venue-specific formatting requirements and templates.
let-fate-decide
IncludedDraws the 12 Houses of the Zodiac Tarot spread to inject entropy into planning when prompts are vague, ambiguous, or casually delegated. Interprets the spread to guide next steps. Use when the user says 'let fate decide', 'YOLO', 'whatever', 'idk', or other nonchalant phrases, makes Yu-Gi-Oh references, or when you are about to arbitrarily pick between multiple reasonable approaches. Prefer over ask-questions-if-underspecified when the user's tone is casual or playful rather than precision-seeking.
net-ops
IncludedCross-platform network troubleshooting (Windows, macOS, Linux) via local or remote shell. Use for: DNS broken, can't resolve hostnames, nslookup/dig works but apps fail, NRPT, WFP, scutil, /etc/resolver, systemd-resolved, /etc/resolv.conf, NetworkManager, VPN DNS leak residue (ProtonVPN/Mullvad/WireGuard/AnyConnect), AV/firewall blocking DNS or DoH, Tailscale DNS interaction, intermittent connectivity, remote diagnostics over SSH.