npx claudepluginhub incubyte/claude-plugins --plugin beeWant just this skill?
Add to a custom plugin, then install with one command.
This skill should be used after discovery completes on a greenfield project when the discovery document contains a Module Structure section. Contains the full procedure for parsing module boundaries, generating BOUNDARIES.md, and optionally linking it from CLAUDE.md.
This skill uses the workspace's default tool permissions.
Greenfield Boundary Generation
After discovery completes on a greenfield project, check whether the discovery document contains a Module Structure section. If absent, skip this entirely.
Procedure
-
Parse the Module Structure section from the discovery document — extract each module name, its owned concepts, and its allowed dependencies.
-
Ask the developer for consent using AskUserQuestion: "Discovery produced module boundaries for this project. Want me to save these so Claude respects them in all code it writes? I'll create
.claude/BOUNDARIES.md." Options: "Yes, save boundaries (Recommended)" / "No, skip for now" -
If the developer consents, generate
.claude/BOUNDARIES.mdin the target project (not the bee plugin directory) with this format:# Module Boundaries > Generated by /bee:discover from the project's milestone map. > Edit this file to adjust boundaries as the project evolves. ## Modules - `modulename/` — owns: Concept1, Concept2. Depends on: (none) - `modulename/` — owns: Concept3. Depends on: modulename ## Rules - Modules may only import from declared dependencies - Domain concepts live in their owning module — do not scatter across modules - No circular dependencies - When in doubt, duplicate code rather than create a coupling that violates boundariesPopulate the Modules section from the discovery document's Module Structure entries.
-
If
.claude/BOUNDARIES.mdalready exists (from a previous discovery run), ask: "Existing boundaries found. Update with new module structure or keep current?" Options: "Update with new boundaries (Recommended)" / "Keep existing" -
If
CLAUDE.mdexists in the target project and doesn't already referenceBOUNDARIES.md, ask: "Want me to add a reference to BOUNDARIES.md in your CLAUDE.md so Claude always has boundary context?" Options: "Yes, add reference (Recommended)" / "No, skip" If yes, append a line to CLAUDE.md:Read .claude/BOUNDARIES.md for module boundary rules. -
Report to the developer which modules and boundaries were saved. → Update state:
"${CLAUDE_PLUGIN_ROOT}/scripts/update-bee-state.sh" set --boundaries ".claude/BOUNDARIES.md"
If the Developer Declines
Proceed normally without boundaries. They are valuable but not blocking.