Get the FREE Ultimate OpenClaw Setup Guide →

brewcode:setup

npx machina-cli add skill kochetkov-ma/claude-brewcode/setup --openclaw
Files (1)
SKILL.md
10.8 KB
<instructions>

Phase 1: Project Structure Analysis

Agent: Explore | Action: Scan project and gather intelligence

Context: BC_PLUGIN_ROOT is available in your context (injected by pre-task.mjs hook).

Scan Commands

EXECUTE using Bash tool — gather project info:

bash "scripts/setup.sh" scan && echo "✅ scan" || echo "❌ scan FAILED"

STOP if ❌ — check script exists and plugin is installed.


Phase 2: Intelligence Analysis

Agent: Plan | Action: Consolidate findings and create adaptation strategy

Create Adaptation Plan

# Adaptation Plan

## Tech Stack
- Language: [Java/Node.js/Python/Go/Rust]
- Framework: [Spring Boot/Express/Django/etc]
- Build: [Maven/Gradle/npm/pip/cargo]

## Testing
- Framework: [JUnit 5/pytest/Jest/Go testing]
- Assertion: [AssertJ/Hamcrest/Chai/assert]
- Mocking: [Mockito/unittest.mock/Sinon]
- Data: [DBRider/Testcontainers/fixtures]

## Database
- Type: [PostgreSQL/MySQL/MongoDB/Redis/ClickHouse]
- Access: [JOOQ/JPA/Hibernate/Sequelize/SQLAlchemy]

## Project Agents
- agent-name: purpose (model)

## Key Patterns (from CLAUDE.md)
- Pattern 1
- Pattern 2
- Pattern 3

## Template Adaptations
- Update AGENTS section with project agents
- Add tech-specific constraints
- Customize verification checklists
- Add database-specific final review agent

Phase 3: Template Generation

Agent: developer | Action: Generate adapted template at .claude/tasks/templates/PLAN.md.template

Create Structure

EXECUTE using Bash tool:

bash "scripts/setup.sh" structure && echo "✅ structure" || echo "❌ structure FAILED"

STOP if ❌ — verify .claude/tasks directory is writable.

Copy/Update Templates

EXECUTE using Bash tool — sync templates from plugin (always overwrites if changed):

bash "scripts/setup.sh" sync && echo "✅ sync" || echo "❌ sync FAILED"

STOP if ❌ — verify plugin templates exist.

Note: Templates synced from plugin. Rules created once (never overwritten). Review skill adapted by AI.

Template Modifications

SectionAdaptation
AgentsAdd project-specific agents from .claude/agents/
Reference ExamplesFill with project's reference files (controllers, services, tests)
Phase V agentsCustomize reviewer focus for detected testing/code patterns
Final ReviewAdd project agents (db_expert, etc.) if relevant tech detected

Required Sections

Preserve universal structure. Key sections to adapt:

## Agents — Add project agents above Core Agents
## Reference Examples — R1..RN with project's canonical files
## Phases — Each phase has: Agent, Status, Context (C#), Refs (R#)
## Phase NV: Verification — 2+ agents, one checks patterns compliance
## Final Review — 3+ agents parallel
## Context Index — C1..CN task-specific files

Phase 3.5: Copy and Adapt Review Skill

Agent: developer | Action: Copy review skill template and adapt for project

Create Review Skill Directory and Copy Template

EXECUTE using Bash tool — create directory and copy review skill template:

bash "scripts/setup.sh" review && echo "✅ review" || echo "❌ review FAILED"

STOP if ❌ — verify review template exists in plugin.

Adapt Review Skill

Replace placeholders based on Phase 2 analysis:

PlaceholderSourceExample
{PROJECT_AGENTS_TABLE}.claude/agents/ scan| db_expert | PostgreSQL | DB layer |
{TECH_SPECIFIC_CHECKS}Detected tech stackSee Tech-Specific Checks below
{PROJECT_RULES}CLAUDE.md patternsAssertJ rules, Lombok, logging
{MAIN_AGENT}Project agent or reviewerreviewer
{TEST_AGENT}Project agent or testertester
{DB_AGENT}Project agent or sql_expertdb_expert
{CUSTOM_GROUPS}Additional review groupsSecurity, API validation
{CODEBASE_BLOCKS}Detected source patternssrc/main/**, src/test/**

Tech-Specific Checks Templates

Java/Spring:

| Category | Checks |
|----------|--------|
| DI | Constructor injection, no field injection, @RequiredArgsConstructor |
| Transactions | @Transactional scope, rollback rules, isolation levels |
| Null-safety | Optional usage, @NonNull/@Nullable, null checks |
| N+1 | Eager vs lazy loading, batch fetching, entity graphs |
| Security | @PreAuthorize, input validation, SQL injection |
| Lombok | @Value, @Builder, @Slf4j usage |

Node.js/TypeScript:

| Category | Checks |
|----------|--------|
| Async | Promise handling, unhandled rejections, async/await |
| Types | Strict null checks, type guards, generics |
| Validation | Input sanitization, schema validation (Zod/Joi) |
| Security | XSS prevention, CSRF tokens, helmet.js |
| Imports | ESM vs CJS, barrel exports, circular deps |

Python:

| Category | Checks |
|----------|--------|
| Type hints | Function signatures, return types, generics |
| Exceptions | Specific exception types, context managers |
| Async | asyncio patterns, event loop handling |
| Security | SQL parameterization, input validation |
| Style | PEP8, docstrings, comprehensions |

Go:

| Category | Checks |
|----------|--------|
| Error handling | Error wrapping, sentinel errors, error types |
| Concurrency | Goroutine leaks, channel patterns, sync primitives |
| Memory | Slice capacity, pointer semantics, defer usage |
| Security | SQL injection, input validation |
| Interfaces | Small interfaces, composition |

Validation

EXECUTE using Bash tool — verify review skill:

test -f .claude/skills/brewcode-review/SKILL.md && echo "✅ Review skill created" || echo "❌ Review skill MISSING"
grep -q "Tech-Specific\|tech-specific\|Category.*Checks" .claude/skills/brewcode-review/SKILL.md && echo "✅ Tech checks" || echo "❌ Tech checks MISSING"

STOP if any ❌ — review skill must be created before continuing.


Phase 3.6: Copy Configuration

Agent: developer | Action: Copy configuration template for runtime settings

EXECUTE using Bash tool — copy/update config template:

bash "scripts/setup.sh" config && echo "✅ config" || echo "❌ config FAILED"

STOP if ❌ — verify .claude/tasks/cfg directory exists.

Configuration Options

SettingDefaultDescription
knowledge.maxEntries100Max KNOWLEDGE.jsonl entries after compaction
knowledge.maxTokens500Max tokens in ## K block injected to agents
knowledge.priorities["❌","✅","ℹ️"]Priority order for knowledge entries
stop.maxAttempts20Stop attempts before escape mechanism triggers
agents.system[...]System agents (don't receive ## K injection)

Hooks-only architecture: No external runtime. All context management via Claude Code hooks.


Phase 4: Validation

Agent: developer | Action: Verify template structure

EXECUTE using Bash tool — ALL must pass:

bash "scripts/setup.sh" validate && echo "✅ validate" || echo "❌ validate FAILED"

STOP if any ❌ — go back to "Copy Templates" step and fix.

Validation Report

CheckStatus
PLAN template.claude/tasks/templates/PLAN.md.template
SPEC template.claude/tasks/templates/SPEC.md.template
KNOWLEDGE template.claude/tasks/templates/KNOWLEDGE.jsonl.template
Config file.claude/tasks/cfg/brewcode.config.json
Project agents[N] from .claude/agents/
Reference Examples[N] canonical files populated
Tech-specific adaptationsTesting framework, DB patterns
Review skill.claude/skills/brewcode-review/SKILL.md

Phase 5: Update Global CLAUDE.md Agents

Agent: developer | Action: Update agents section in global CLAUDE.md

Step 1: Collect Agents

EXECUTE using Bash tool:

bash "scripts/setup.sh" agents > /tmp/agents-section.md && cat /tmp/agents-section.md

Output = Ready-to-insert content. Script collects system + global + plugin agents. Internal agents (bc-coordinator, bc-grepai-configurator, bc-knowledge-manager) are automatically excluded.

Step 2: Analyze Existing CLAUDE.md

READ ~/.claude/CLAUDE.md using Read tool.

LLM Analysis — find ALL agent-related sections:

  • ## Agents, ## Agent Selection, ### Core Agents, ### Global Utility Agents
  • Any tables with columns like Agent | Model | Purpose
  • Any lists of agent names (developer, tester, reviewer, etc.)

Identify boundaries:

  • Start line number of agent section(s)
  • End line number (before next unrelated ## heading)

Step 3: Ask User

ASK USER with AskUserQuestion:

  • Question: "Found agent sections in ~/.claude/CLAUDE.md. Replace with optimized LLM-friendly format?"
  • Options:
    • "Yes — replace all agent sections"
    • "No — keep current format"

Step 4: If YES — Replace

CRITICAL: Use EXACTLY the content from /tmp/agents-section.md. DO NOT add agents manually — the script already filters internal agents. Internal agents (bc-coordinator, bc-grepai-configurator, bc-knowledge-manager) are excluded by design.

Using Edit tool:

  1. Read /tmp/agents-section.md to get the exact replacement content
  2. Find the ## Agents — DELEGATE! section in ~/.claude/CLAUDE.md
  3. Replace that section with the EXACT content from /tmp/agents-section.md
  4. Preserve ### Global Skills subsection if it exists (append after agents table)
  5. Preserve all non-agent content

Key: LLM determines section boundaries, not grep. Content comes from script output.

</instructions>

Output Format

# Template Adaptation Complete

## Detection

| Field | Value |
|-------|-------|
| Arguments | `{received args or empty}` |
| Mode | `full` |

## Tech Stack

| Category | Value |
|----------|-------|
| Language | [detected] |
| Framework | [detected] |
| Testing | [framework] |
| Database | [type/access] |
| Project Agents | [N]: `agent1`, `agent2` |

## Adaptations

| Section | Changes |
|---------|---------|
| Agents | +[N] project agents |
| Reference Examples | [N] canonical files |
| Phase V | Reviewers for [tech] patterns |
| Final Review | +[db_expert/project agents] |
| Review Skill | Tech-specific checks, project rules |

## Templates

**Plan template:** `.claude/tasks/templates/PLAN.md.template`
**Review skill:** `.claude/skills/brewcode-review/SKILL.md`

## Usage

/brewcode:spec "Implement feature X"
/brewcode:review "Check null safety"

Source

git clone https://github.com/kochetkov-ma/claude-brewcode/blob/main/brewcode/skills/setup/SKILL.mdView on GitHub

Overview

brewcode:setup analyzes the project structure and tech stack to produce a tailored PLAN.md.template in .claude/tasks/templates/. It follows a three-phase workflow—scan, analyze, and generate/adapt—to ensure CLAUDE tasks reflect the actual project. This enables consistent planning templates across environments and teams.

How This Skill Works

Phase 1 scans the repository using scripts/setup.sh scan to gather project data. Phase 2 consolidates findings into an adaptation plan describing tech stack, agents, and template adaptations. Phase 3 generates or updates .claude/tasks/templates/PLAN.md.template and prepares the review Skill for project-specific adjustments.

When to Use It

  • Starting CLAUDE integration for a new project and needs a plan template tailored to the stack.
  • Project structure changes and templates must reflect updated tech, frameworks, or databases.
  • Onboarding a new team requiring project-specific agents and reference examples in PLAN.md.template.
  • Standardizing PLAN.md.template across multiple microservices with differing tech stacks.
  • Preparing an audit-ready PLAN.md.template that includes database and testing specifics.

Quick Start

  1. Step 1: Run a project scan: bash "scripts/setup.sh" scan
  2. Step 2: Generate the adaptation plan structure: bash "scripts/setup.sh" structure
  3. Step 3: Sync/update the PLAN template and review: bash "scripts/setup.sh" sync

Best Practices

  • Run the scan in a clean workspace to avoid stale or conflicting data.
  • Ensure scripts/setup.sh exists, is executable, and accessible in the repository.
  • Verify .claude/tasks/templates/PLAN.md.template is writable before generation.
  • Review and align the plugin-synced templates with your project’s CLAUDE.md patterns.
  • Update placeholders like {PROJECT_AGENTS_TABLE} and {TECH_SPECIFIC_CHECKS} with real project data.

Example Use Cases

  • A Java Spring Boot monolith with PostgreSQL uses the tool to generate a PLAN.md.template reflecting JPA/Hibernate and Testcontainers patterns.
  • A Node.js Express API updates the PLAN.md.template to include MongoDB usage and Jest-based testing.
  • A Django project creates a tailored PLAN.md.template incorporating pytest and fixture patterns.
  • A Go microservice stack generates a PLAN.md.template with Go testing conventions and PostgreSQL access.
  • A multi-service backend with Spring Boot, PostgreSQL, and Redis produces a unified PLAN.md.template with cross-service agent references.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers