Help us improve
Share bugs, ideas, or general feedback.
From pqa
Scaffold a complete plugin directory from architecture plans and specs. Creates all files, then validates structure. Trigger: build plugin, scaffold plugin, create plugin directory, assemble plugin, generate plugin files.
npx claudepluginhub javimontano/jm-adk --plugin plugin-qaHow this skill is triggered — by the user, by Claude, or both
Slash command
/pqa:build-plugin-scaffoldThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
> "A scaffold is not the building -- it is the promise that a building will stand."
Guides technical evaluation of code review feedback: read fully, restate for understanding, verify against codebase, respond with reasoning or pushback before implementing.
Share bugs, ideas, or general feedback.
"A scaffold is not the building -- it is the promise that a building will stand."
Assembles a complete Claude Code plugin directory from architecture plans and specification packages. Creates all structural files (plugin.json, settings.json, hooks.json), writes agent and command files from specs, generates documentation (CLAUDE.md, README.md), copies the LICENSE, and runs a validation smoke test.
<architecture-plan-path>. [Read][Read]<target-directory> already exists. [Glob][Bash]skills/, commands/, agents/, hooks/.[Glob].claude-plugin/ directory. [Bash]plugin.json from the architecture plan data, using assets/plugin-json-template.json from build-moat-assets as the base template. [Write]{placeholder} values with actual data from the plan.[Bash].md file to agents/{agent-name}.md. [Write].md to commands/{command-name}.md. [Write].md to commands/{alias-name}.md. [Write]alias-of field pointing to its canonical.hooks/hooks.json with the hook configuration object (keyed by event name). [Write]{"hooks": {}}.[Bash]settings.json at the plugin root with the default agent from the architecture plan. [Write]{"agent": "{default-agent-name}"}.assets/claude-md-template.md as the base. [Write]assets/readme-template.md as the base. [Write]assets/license-template.md as the base. [Write]{year} with the current year and {author} with the plugin author.validate-structure against the newly created plugin directory..claude-plugin/plugin.json exists, required directories exist, naming conventions, file layout.Output a comprehensive build report:
## Build Report: {plugin-name}
| Category | Count |
|----------|-------|
| Agents | {N} |
| Skills | {N} |
| Commands (canonical) | {N} |
| Commands (aliases) | {N} |
| Total files created | {N} |
### Validation Results
{smoke test summary}
### Files Created
{full file list with line counts}
validate-structure with zero CRITICAL findings.audit-content-quality for that.assets/*-template.*) are expected to exist in the build-moat-assets skill directory. If templates are missing, the skill will generate defaults but with less polish.Bad build report:
Plugin created at /path/to/plugin.
Missing: no file counts, no validation results, no file list.
Good build report:
## Build Report: my-plugin
| Category | Count |
|----------|-------|
| Agents | 2 |
| Skills | 8 |
| Commands (canonical) | 10 |
| Commands (aliases) | 5 |
| Total files created | 32 |
### Validation Results
validate-structure: PASS (0 CRITICAL, 0 WARNING, 1 INFO)
### Files Created
agents/code-analyzer.md (45 lines)
agents/report-generator.md (38 lines)
commands/validate.md (12 lines)
...
Includes: category counts, validation summary, per-file list with line counts.
hooks/hooks.json with empty hooks object: {"hooks": {}}. Do not skip the hooks directory.commands/ directory per spec requirements.