Project Auto Builder
Prerequisites & Dependencies
- Access to
./skills/ flat directory containing all skill .md files
- Access to
./registry.json at repository root for skill indexing and metadata
- Python 3.10+ runtime for orchestration logic and JSON processing
jq for JSON parsing and skill metadata extraction
inquirer or equivalent for interactive workspace stack detection (optional, defaults to automated detection)
- Node.js/Python version managers for runtime detection (nvm, pyenv, etc.)
Execution Steps
1. Registry Inspection
- Read
./registry.json at the repository root
- Parse the full skill catalog: extract each skill's
id, name, category, tags, and description
- Build an in-memory index of all available skills, grouped by category and tagged for quick lookup
- Validate registry JSON schema integrity — if malformed, halt and report: "Registry corrupted: cannot proceed with auto-build"
- Output:
registry-index.json — a condensed map of {id: {name, category, tags, description}}
2. Workspace Analysis
- Scan the project directory for language/runtime markers:
- Node.js: presence of
package.json, node_modules, tsconfig.json
- Python: presence of
requirements.txt, pyproject.toml, setup.py, .python-version
- Docker: presence of
Dockerfile, docker-compose.yml, .dockerignore
- Mixed stacks: detect multiple language runtimes in parallel
- Determine the primary project type and secondary language/runtime artifacts
- Capture available tooling versions (node version, python version, docker availability)
- Output:
workspace-profile.json — {primary_stack: "node|python|docker|mixed", versions: {...}, markers: [...]}
3. Dynamic Matching
- Cross-reference the
workspace-profile.json against the registry-index.json
- Scoring algorithm: for each skill, compute a match score based on:
- Tag overlap between skill tags and detected stack markers
- Category relevance (e.g.,
backend skills for server-side stacks, data-science for Python data workloads)
- Explicit stack mentions in skill description
- Sort skills by match score (descending) to produce an optimal execution order
- Allow user overrides: permit the user to promote/demote specific skills via
--prioritize / --demote CLI flags
- Output:
skill-order.json — ordered list of skill IDs with match scores: [{id, score, reason}]
4. Execution Report
- Execute skills in the order determined by
skill-order.json
- For each skill:
- Invoke the skill's primary functionality (or a representative summary if the skill has no executable main function)
- Capture exit code, stdout, stderr, and generated artifacts
- Track pass/fail status per skill
- After all skills execute, generate a comprehensive
readiness-summary.md report including:
- Which skills were selected and their match scores
- Execution results per skill (pass/fail, key outputs)
- Overall project readiness status
- Recommendations for next steps (e.g., "run verify-orchestrator", "missing: Dockerfile")
- Output:
readiness-summary.md — human-readable markdown report
5. Fallback Behavior
If no skills match the detected workspace stack:
- List all skills with their match scores (even low ones)
- Prompt the user: "No high-match skills found. Proceed with lowest-match skill or manual selection?"
- If user chooses manual selection, present the ranked list and allow ID-based selection
- If user chooses lowest-match, execute the top-1 ranked skill with reduced expectations flag
CLI Interface
project-auto-builder [--list] [--prioritize <comma-separated-ids>] [--demote <comma-separated-ids>]
--list List all available skills from registry
--prioritize Promote specific skill IDs to top of execution order
--demote Demote specific skill IDs to bottom of execution order
Example Workflow
# Auto-build for a Node.js project
project-auto-builder
# Internal execution flow:
1. Read ./registry.json → index 40 skills
2. Scan workspace → detect Node.js stack, v18.17.0
3. Match skills → rank by tag overlap: ["rate-limiter-middleware"(92%), "websocket-realtime-handler"(88%), ...]
4. Execute in order → capture artifacts
5. Generate readiness-summary.md
# Output sample (readiness-summary.md)
# Project Auto Builder Report
## Stack Detected: Node.js v18.17.0
## Selected Skills (3 of 5 top-matched):
1. **rate-limiter-middleware** (match: 92%) — ✅ Executed, middleware scaffold generated at ./skills/output/rate-limiter-middleware/
2. **websocket-realtime-handler** (match: 88%) — ✅ Executed, WS handler skeleton at ./skills/output/websocket-realtime-handler/
3. **cli-tool-scaffolder** (match: 81%) — ✅ Executed, CLI tool at ./skills/output/cli-tool-scaffolder/
## Overall Readiness: 85% — All top-matched skills executed successfully.
## Recommendations: Consider running verify-orchestrator to validate integration.
1---2name: project-auto-builder3description: Dynamic orchestrator that inspects ./registry.json, analyzes the project workspace stack (Node.js, Python, Docker, etc.), automatically matches and orders optimal skills into an execution sequence, runs the selected skills, and generates a final readiness summary report.4---56# Project Auto Builder78## Prerequisites & Dependencies910- Access to `./skills/` flat directory containing all skill `.md` files11- Access to `./registry.json` at repository root for skill indexing and metadata12- Python 3.10+ runtime for orchestration logic and JSON processing13- `jq` for JSON parsing and skill metadata extraction14- `inquirer` or equivalent for interactive workspace stack detection (optional, defaults to automated detection)15- Node.js/Python version managers for runtime detection (nvm, pyenv, etc.)1617## Execution Steps1819### 1. Registry Inspection20- Read `./registry.json` at the repository root21- Parse the full skill catalog: extract each skill's `id`, `name`, `category`, `tags`, and `description`22- Build an in-memory index of all available skills, grouped by category and tagged for quick lookup23- Validate registry JSON schema integrity — if malformed, halt and report: "Registry corrupted: cannot proceed with auto-build"24- Output: `registry-index.json` — a condensed map of `{id: {name, category, tags, description}}`2526### 2. Workspace Analysis27- Scan the project directory for language/runtime markers:28 - **Node.js**: presence of `package.json`, `node_modules`, `tsconfig.json`29 - **Python**: presence of `requirements.txt`, `pyproject.toml`, `setup.py`, `.python-version`30 - **Docker**: presence of `Dockerfile`, `docker-compose.yml`, `.dockerignore`31 - **Mixed stacks**: detect multiple language runtimes in parallel32- Determine the primary project type and secondary language/runtime artifacts33- Capture available tooling versions (node version, python version, docker availability)34- Output: `workspace-profile.json` — `{primary_stack: "node|python|docker|mixed", versions: {...}, markers: [...]}`3536### 3. Dynamic Matching37- Cross-reference the `workspace-profile.json` against the `registry-index.json`38- Scoring algorithm: for each skill, compute a match score based on:39 - Tag overlap between skill tags and detected stack markers40 - Category relevance (e.g., `backend` skills for server-side stacks, `data-science` for Python data workloads)41 - Explicit stack mentions in skill description42- Sort skills by match score (descending) to produce an optimal execution order43- Allow user overrides: permit the user to promote/demote specific skills via `--prioritize` / `--demote` CLI flags44- Output: `skill-order.json` — ordered list of skill IDs with match scores: `[{id, score, reason}]`4546### 4. Execution Report47- Execute skills in the order determined by `skill-order.json`48- For each skill:49 - Invoke the skill's primary functionality (or a representative summary if the skill has no executable main function)50 - Capture exit code, stdout, stderr, and generated artifacts51 - Track pass/fail status per skill52- After all skills execute, generate a comprehensive `readiness-summary.md` report including:53 - Which skills were selected and their match scores54 - Execution results per skill (pass/fail, key outputs)55 - Overall project readiness status56 - Recommendations for next steps (e.g., "run verify-orchestrator", "missing: Dockerfile")57- Output: `readiness-summary.md` — human-readable markdown report5859### 5. Fallback Behavior60If no skills match the detected workspace stack:61- List all skills with their match scores (even low ones)62- Prompt the user: "No high-match skills found. Proceed with lowest-match skill or manual selection?"63- If user chooses manual selection, present the ranked list and allow ID-based selection64- If user chooses lowest-match, execute the top-1 ranked skill with reduced expectations flag6566### CLI Interface67```68project-auto-builder [--list] [--prioritize <comma-separated-ids>] [--demote <comma-separated-ids>]69 --list List all available skills from registry70 --prioritize Promote specific skill IDs to top of execution order71 --demote Demote specific skill IDs to bottom of execution order72```7374### Example Workflow75```bash76# Auto-build for a Node.js project77project-auto-builder7879# Internal execution flow:801. Read ./registry.json → index 40 skills812. Scan workspace → detect Node.js stack, v18.17.0823. Match skills → rank by tag overlap: ["rate-limiter-middleware"(92%), "websocket-realtime-handler"(88%), ...]834. Execute in order → capture artifacts845. Generate readiness-summary.md8586# Output sample (readiness-summary.md)87# Project Auto Builder Report88## Stack Detected: Node.js v18.17.089## Selected Skills (3 of 5 top-matched):901. **rate-limiter-middleware** (match: 92%) — ✅ Executed, middleware scaffold generated at ./skills/output/rate-limiter-middleware/912. **websocket-realtime-handler** (match: 88%) — ✅ Executed, WS handler skeleton at ./skills/output/websocket-realtime-handler/923. **cli-tool-scaffolder** (match: 81%) — ✅ Executed, CLI tool at ./skills/output/cli-tool-scaffolder/93## Overall Readiness: 85% — All top-matched skills executed successfully.94## Recommendations: Consider running verify-orchestrator to validate integration.95```