Get the FREE Ultimate OpenClaw Setup Guide →

config

Flagged

{"isSafe":false,"isSuspicious":true,"riskLevel":"critical","findings":[{"category":"prompt_injection","severity":"critical","description":"Inline prompt-injection content attempting to override normal AI safety and force execution of steps before verification (e.g., instructing to display a banner and begin Step 1 immediately). This includes explicit language about a prompt injected into context by an external system.","evidence":"**STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.**\n\n## Step 0 — Immediate Output\n\n**Before ANY tool calls**, display this banner:\n\n```\n╔══════════════════════════════════════════════════════════════╗\n║ PLAN-BUILD-RUN ► CONFIGURATION ║\n╚══════════════════════════════════════════════════════════════╝\n```\n\nThen proceed to Step 1."},{"category":"shell_command","severity":"low","description":"Contains guidance and examples for running local CLI tools and scripts (e.g., node scripts to configure and save defaults). These are not inherently malicious, but in an untrusted context could be executed to modify local config or environment.","evidence":"To resolve the profile, run: `node ${PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth`\n\nIf the user selects \"Save as defaults\":\n\n```bash\nnode \"${PLUGIN_ROOT}/scripts/pbr-tools.js\" config save-defaults\n```"}],"summary":"The content primarily introduces a prompt-injection risk: it includes explicit instructions to override normal model behavior and execute steps immediately, attempting to bypass safety checks. While there are no data exfiltration, malware, or URL-based threats detected, the injection pattern itself is highly risky. Recommend removing or neutralizing injection-style prompts, adding strict input sanitization, validating/halting untrusted commands, and running such configurations in isolated, sandboxed contexts."}

npx machina-cli add skill SienkLogic/plan-build-run/config --openclaw
Files (1)
SKILL.md
11.9 KB

STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.

Step 0 — Immediate Output

Before ANY tool calls, display this banner:

╔══════════════════════════════════════════════════════════════╗
║  PLAN-BUILD-RUN ► CONFIGURATION                              ║
╚══════════════════════════════════════════════════════════════╝

Then proceed to Step 1.

$pbr-config — Configure Plan-Build-Run

Overview

Reads and writes .planning/config.json. Interactive configuration with AskUserQuestion.

References

  • references/config-reference.md — Full config.json schema (54 fields, 16 feature toggles, validation rules)
  • references/model-profiles.md — Model selection guide for agent spawning

Flow

1. Load Current Config

Read .planning/config.json. If it doesn't exist, display:

╔══════════════════════════════════════════════════════════════╗
║  ERROR                                                       ║
╚══════════════════════════════════════════════════════════════╝

No Plan-Build-Run project found.

**To fix:** Run `$pbr-begin` first.

2. Parse Arguments

If $ARGUMENTS is provided, handle direct setting:

  • depth quick|standard|comprehensive — set depth directly
  • model <agent> <model> — set model for specific agent (e.g., model executor sonnet)
  • model-profile quality|balanced|budget|adaptive — set all models at once using a preset
  • gate <gate-name> on|off — toggle a gate
  • feature <feature-name> on|off — toggle a feature (e.g., feature auto_continue on). When the user specifies a feature name without the features. prefix, automatically prepend features. before writing to config.
  • git branching none|phase|milestone|disabled — set branching strategy
  • git mode disabled — disable git integration entirely
  • show — display current config (default when no args)

3. Interactive Mode (no arguments or just show)

Display current configuration in a readable format:

Plan-Build-Run Configuration
=====================

Workflow:
  Depth: standard (balanced)
    Research: on   Plan-check: on   Verify: on
    Scan mappers: 4   Debug rounds: 5   Inline verify: off
  Mode: interactive
  Context Strategy: aggressive

Features:
  ✓ Structured planning    ✓ Goal verification
  ✓ Context isolation       ✓ Atomic commits
  ✓ Session persistence     ✓ Research phase
  ✓ Plan checking           ✗ TDD mode
  ✓ Status line             ✗ Auto-continue
  ✗ Auto-advance           ✗ Team discussions

Models:
  Researcher: sonnet    Planner: inherit     Executor: inherit
  Verifier: sonnet      Int-Checker: sonnet  Debugger: inherit
  Mapper: sonnet        Synthesizer: haiku

Parallelization:
  Enabled: true    Max concurrent: 3
  Plan-level: true  Task-level: false
  Use Teams: false

Git:
  Mode: enabled      Branching: none
  Commit docs: true
  Commit format: {type}({phase}-{plan}): {description}

Gates:
  ✓ Confirm project   ✓ Confirm roadmap   ✓ Confirm plan
  ✗ Confirm execute    ✓ Confirm transition ✓ Issues review

Status Line:
  Sections: [phase, plan, status, context]
  Brand: PLAN-BUILD-RUN
  Context bar: 20 chars, green<50%, yellow<80%

Spinner Tips: (none configured — using defaults)

Then present the configuration menu using the settings-category-select pattern (see skills/shared/gate-prompts.md):

Use AskUserQuestion: question: "What would you like to configure?" header: "Configure" options: - label: "Depth" description: "quick/standard/comprehensive" - label: "Model profile" description: "quality/balanced/budget/adaptive" - label: "Features" description: "Toggle workflow features, gates, status line" - label: "Git settings" description: "branching strategy, commit mode" - label: "Save as defaults" description: "Save current config as user-level defaults for new projects" multiSelect: false

Note: The original 7 categories are condensed to 5. "Models" (per-agent) is accessible through "Model profile" with a follow-up option. "Gates", "Parallelization", and "Status Line" are grouped under "Features". "Save as defaults" exports to ~/.claude/pbr-defaults.json.

Follow-up based on selection:

If user selects "Depth": Use AskUserQuestion: question: "Select workflow depth" header: "Depth" options: - label: "Quick" description: "Budget mode: skip research/plan-check/verifier, 2 scan mappers, ~1-3 fewer spawns per phase" - label: "Standard" description: "Balanced mode: conditional research, full plan-check and verification, 4 scan mappers (default)" - label: "Comprehensive" description: "Thorough mode: always research, always verify, inline verification, 4 scan mappers" multiSelect: false

After setting depth, the profile is automatically resolved. Show the user the effective settings: "Depth set to {value}. Effective profile:" Then display the profile summary (research, plan-check, verify, scan mappers, debug rounds, inline verify).

To resolve the profile, run: node ${PLUGIN_ROOT}/scripts/pbr-tools.js config resolve-depth

If the user wants to override a specific profile setting, they can set depth_profiles.{depth}.{key} directly. For example: to use quick mode but keep plan-checking, the user would set depth to quick and then override: $pbr-config -> Features -> Plan checking -> Enable This writes depth_profiles.quick.features.plan_checking: true to config.json.

If user selects "Model profile": Use the model-profile-select pattern: Use AskUserQuestion: question: "Select model profile" header: "Profile" options: - label: "Quality" description: "opus for all agents (highest cost)" - label: "Balanced" description: "sonnet/inherit mix (default)" - label: "Budget" description: "haiku for all agents (lowest cost)" - label: "Adaptive" description: "sonnet planning, haiku execution" multiSelect: false

If user asks for per-agent model selection (typed "models" or "per-agent"), present individual agent selection as plain text: list the agents and ask which one to change, then ask for the model. This is a freeform flow because agent names are dynamic.

If user selects "Features": List all features and gates with current status, then use the toggle-confirm pattern for each change. Feature name normalization: When toggling a feature, if the user specifies a bare name (e.g., inline_verify), normalize it to features.inline_verify before writing to config. All feature flags live under the features.* namespace in config.json. Use AskUserQuestion: question: "Enable {feature_name}?" header: "Toggle" options: - label: "Enable" description: "Turn this feature on" - label: "Disable" description: "Turn this feature off" multiSelect: false

Repeat for each feature the user wants to change. Show updated status after each toggle.

If user selects "Git settings": Use AskUserQuestion: question: "Select branching strategy" header: "Branching" options: - label: "None" description: "All work on current branch" - label: "Phase" description: "New branch per phase" - label: "Milestone" description: "New branch per milestone" - label: "Disabled" description: "No git integration" multiSelect: false

If user selects "Save as defaults": Save current project config as user-level defaults for future projects:

node "${PLUGIN_ROOT}/scripts/pbr-tools.js" config save-defaults

Display: "Saved your preferences to ~/.claude/pbr-defaults.json. New projects created with $pbr-setup will use these as starting values."

If user types something else (freeform): interpret as a direct setting command and handle via Step 2 argument parsing logic.

4. Apply Changes

Update config.json with new values. Show what changed with a branded completion:

╔══════════════════════════════════════════════════════════════╗
║  PLAN-BUILD-RUN ► CONFIG UPDATED ✓                           ║
╚══════════════════════════════════════════════════════════════╝

Updated:
  depth: standard → quick
  models.executor: inherit → sonnet



╔══════════════════════════════════════════════════════════════╗
║  ▶ NEXT UP                                                   ║
╚══════════════════════════════════════════════════════════════╝

**Continue your workflow** — settings saved

`$pbr-status`

<sub>`/clear` first → fresh context window</sub>



**Also available:**
- `$pbr-continue` — execute next logical step
- `$pbr-config` — change more settings


Config Schema

See skills/begin/templates/config.json.tmpl for the full schema with defaults.

Version Migration

If config version is older than current (2), run migration:

  • v1 → v2: Add missing fields with defaults, rename model_profile → per-agent models object

Model Profile Presets

The model-profile command sets all agent models at once:

Profileresearcherplannerexecutorverifierint-checkerdebuggermappersynthesizer
qualityopusopusopusopussonnetopussonnetsonnet
balancedsonnetinheritinheritsonnetsonnetinheritsonnethaiku
budgethaikuhaikuhaikuhaikuhaikuhaikuhaikuhaiku
adaptivesonnetsonnetinheritsonnethaikuinherithaikuhaiku

balanced is the default and matches the initial config template. adaptive front-loads intelligence in research/planning and uses lighter models for mechanical work.

Feature Reference

FeatureKeyDefaultDescription
Auto-continuefeatures.auto_continuefalseAutomatically spawn continuation agents without user prompt
Auto-advancefeatures.auto_advancefalseChain build→review→plan automatically in autonomous mode
Team discussionsfeatures.team_discussionsfalseEnable team-based discussion workflows

Team boundaries: Teams are NEVER used for execution, planning, or verification. Teams are only for discussion and brainstorming workflows. All execution, planning, and verification use single-agent Task() spawns with proper subagent types.

Validation

  • depth must be one of: quick, standard, comprehensive
  • models.* must be one of: sonnet, inherit, haiku, opus
  • context_strategy must be one of: aggressive, balanced, minimal
  • git.branching must be one of: none, phase, milestone, disabled
  • git.mode must be one of: enabled, disabled. When disabled, no git commands are run (no commits, no branching). Useful for prototyping or non-git projects.
  • Boolean fields must be true/false

Source

git clone https://github.com/SienkLogic/plan-build-run/blob/main/plugins/codex-pbr/skills/config/SKILL.mdView on GitHub

Overview

This skill configures Plan-Build-Run by editing the .planning/config.json. It supports direct argument-based updates for depth, model profiles, features, git settings, and gates, or an interactive mode to view and adjust settings.

How This Skill Works

Config reads the current configuration from .planning/config.json. You can pass ARGUMENTS to set fields (depth quick|standard|comprehensive; model <agent> <model>; model-profile quality|balanced|budget|adaptive; gate <name> on|off; feature <name> on|off; git branching|milestone|disabled; show). If no args are provided, it launches an interactive view and a menu to tweak values before saving.

When to Use It

  • When starting a new Plan-Build-Run project and you need initial settings.
  • When you want to change depth or switch model profiles for optimization.
  • When toggling features or gates to enable/disable capabilities.
  • When adjusting git integration or branching strategy.
  • When you need to review or display the current configuration.

Quick Start

  1. Step 1: Load the current config or trigger interactive mode by running pbr-config with no arguments or 'show'.
  2. Step 2: Apply targeted settings using ARGUMENTS like depth standard, model executor sonnet, model-profile quality, gate <name> on, feature <name> on, git mode disabled.
  3. Step 3: Save and verify by running 'show' or entering the interactive review to confirm changes.

Best Practices

  • Back up .planning/config.json before making changes.
  • Use model-profile presets to update multiple models consistently.
  • Validate depth against model capabilities to avoid mismatches.
  • Prefer the interactive mode for complex edits and verification.
  • Test changes by running show to confirm the effective config.

Example Use Cases

  • Set depth to standard and apply the model-profile balanced across agents.
  • Disable git integration and set gate 'Confirm execute' to off.
  • Enable feature auto_continue and turn on plan checks.
  • Apply model for a specific agent: model executor sonnet.
  • Show the current configuration to verify all changes.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers