$npx -y skills add OdradekAI/bundles-forge --skill scaffoldingUse when generating project structure for new bundle-plugins, adding or removing platform support (Claude Code, Cursor, Codex, OpenCode, Gemini CLI, OpenClaw), updating platform manifests, or migrating hooks and configuration between platforms
| 1 | # Scaffolding Bundle-Plugins |
| 2 | |
| 3 | ## Overview |
| 4 | |
| 5 | Generate new bundle-plugin projects and manage platform support across their lifecycle. Handles initial project generation (greenfield) and ongoing platform adaptation (add, fix, migrate, remove). |
| 6 | |
| 7 | **Core principle:** Generate only what's needed. Every platform, every file has a reason to exist. This skill generates structure only — it does not run its own scripts. Validation is delegated to `bundles-forge:auditing`; version checks to `bundles-forge bump-version`. |
| 8 | |
| 9 | **Skill type:** Hybrid — follow the generation/adaptation process rigidly, but mode selection and component choices are flexible based on user context. |
| 10 | |
| 11 | **Announce at start:** "I'm using the scaffolding skill to [generate your project / add <platform> support / remove <platform> support / add <component> / remove <component>]." |
| 12 | |
| 13 | ## Entry Detection |
| 14 | |
| 15 | Determine the operation based on context: |
| 16 | |
| 17 | 1. **Design document provided** (from `bundles-forge:blueprinting`) → **New Project** flow |
| 18 | 2. **User request + no existing project** → **New Project** flow |
| 19 | 3. **User request + existing project** → **Platform Adaptation** flow (add / fix / migrate / remove) |
| 20 | |
| 21 | ## New Project: Scaffold Layers |
| 22 | |
| 23 | For new projects, first select a mode: |
| 24 | - **Design document** specifies the mode (minimal or intelligent) |
| 25 | - **Direct invocation** — choose between: |
| 26 | - **intelligent** — recommend architecture based on user description, avoid unnecessary components |
| 27 | - **custom** — present the full architecture option set, ask the user about each component |
| 28 | |
| 29 | ### Minimal Mode (quick packaging) |
| 30 | |
| 31 | Lean plugin for marketplace distribution: |
| 32 | |
| 33 | | File | Purpose | |
| 34 | |------|---------| |
| 35 | | `.claude-plugin/plugin.json` | Plugin identity and metadata | |
| 36 | | `skills/<skill-name>/SKILL.md` | One directory per skill | |
| 37 | | `README.md` | Installation instructions and skill catalog | |
| 38 | | `LICENSE` | Default MIT unless specified | |
| 39 | |
| 40 | No hooks, no bootstrap, no version infrastructure. Add these later by re-running scaffolding in platform adaptation mode. |
| 41 | |
| 42 | ### Intelligent Mode |
| 43 | |
| 44 | #### Core |
| 45 | |
| 46 | Generated for all intelligent-mode projects regardless of platform selection: |
| 47 | |
| 48 | | File | Purpose | |
| 49 | |------|---------| |
| 50 | | `package.json` | Project identity and version | |
| 51 | | `README.md` | Installation per platform, skill catalog | |
| 52 | | `LICENSE` | Default MIT unless specified | |
| 53 | | `.gitignore` | node_modules, .worktrees, OS files | |
| 54 | | `.version-bump.json` | Version sync manifest | |
| 55 | | `skills/<skill-name>/SKILL.md` | One directory per skill | |
| 56 | |
| 57 | #### Platform Adapters (selected platforms only) |
| 58 | |
| 59 | | Platform | Files | |
| 60 | |----------|-------| |
| 61 | | Claude Code | `.claude-plugin/plugin.json`, `hooks/hooks.json`, `hooks/run-hook.cmd`, `hooks/session-start` | |
| 62 | | Cursor | `.cursor-plugin/plugin.json`, `hooks/hooks-cursor.json`, `hooks/session-start` | |
| 63 | | Codex | `.codex/INSTALL.md`, `AGENTS.md` | |
| 64 | | OpenCode | `.opencode/plugins/<name>.js`, `.opencode/INSTALL.md` | |
| 65 | | Gemini CLI | `gemini-extension.json`, `GEMINI.md` | |
| 66 | |
| 67 | For platform-specific wiring details, read `references/platform-adapters.md`. |
| 68 | |
| 69 | #### Bootstrap (if requested) |
| 70 | |
| 71 | | File | Purpose | |
| 72 | |------|---------| |
| 73 | | `skills/using-<project>/SKILL.md` | Meta-skill: instruction priority, skill routing table | |
| 74 | | `skills/using-<project>/references/` | Per-platform tool mappings | |
| 75 | |
| 76 | #### Optional Components (only if specified) |
| 77 | |
| 78 | | Component | Files | When to Include | |
| 79 | |-----------|-------|-----------------| |
| 80 | | Executables | `bin/<tool-name>` | Skills reference CLI tools (see `references/external-integration.md` decision tree) | |
| 81 | | MCP servers | `.mcp.json` | Skills need external service integration (see `references/external-integration.md` decision tree) | |
| 82 | | LSP servers | `.lsp.json` | Skills involve language-specific code intelligence (see `references/external-integration.md` LSP section) | |
| 83 | | Output styles | `output-styles/<style>.md` | Custom output formatting (see `references/external-integration.md` Output Styles section) | |
| 84 | | Default settings | `settings.json` | Default agent activation (see `references/external-integration.md` Default Settings section) | |
| 85 | | User configuration | `userConfig` in `plugin.json` | Skills need user-provided API keys, endpoints, or tokens — Claude Code only (see `references/external-integration.md` userConfig section) | |
| 86 | | Marketplace entry | `.claude-plugin/marketplace.json` | Plugin targets marketplace distribution — declares plugin metadata for the marketplace index | |
| 87 | |
| 88 | ## New Project: Generation Process |
| 89 | |
| 90 | **Minimal mode:** |
| 91 | 1. Create plugin manifest from `assets/platforms/claude-code/plugin.json` template |
| 92 | 2. Generate skill directories — one per skill |
| 93 | 3. Generate README + LICENSE |
| 94 | 4. `git init` + initial commit; validate manifest JSON |