Skill

boundary-generation

Install
1
Install the plugin
$
npx claudepluginhub incubyte/claude-plugins --plugin bee

Want just this skill?

Add to a custom plugin, then install with one command.

Description

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.

Tool Access

This skill uses the workspace's default tool permissions.

Skill Content

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

  1. Parse the Module Structure section from the discovery document — extract each module name, its owned concepts, and its allowed dependencies.

  2. 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"

  3. If the developer consents, generate .claude/BOUNDARIES.md in 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 boundaries
    

    Populate the Modules section from the discovery document's Module Structure entries.

  4. If .claude/BOUNDARIES.md already 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"

  5. If CLAUDE.md exists in the target project and doesn't already reference BOUNDARIES.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.

  6. 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.

Stats
Stars3
Forks0
Last CommitFeb 22, 2026
Actions

Similar Skills