besimple-broccoli-blin…
Non-interactive wrapper: plan-sketch -> auto-pick recommended options -> plan-write -> plan-critique-loop -> implement-from-plan -> claude-simplify-wrapper ->…
Do bounded research (official docs first) and produce a high-level implementation sketch in `sketch/<generated-name>.md`. Use when you want an approach and step ordering before implementation.
$ npx -y skills add besimple-oss/broccoli --skill plan-sketch --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/plan-sketchContext preview
The summary Claude sees to decide when to auto-load this skill.
Do bounded research (official docs first) and produce a high-level implementation sketch in `sketch/<generated-name>.md`. Use when you want an approach and step ordering before implementation.
name: plan-sketch description: "Do bounded research (official docs first) and produce a high-level implementation sketch in `sketch/<generated-name>.md`. Use when you want an approach and step ordering before implementation."
`plan-sketch` must produce:
1. A sketch markdown file (usually under `sketch/`, or an explicit `--output` path if provided). 2. A small, parseable **Questions for user** block in the subagent's stdout output so wrapper skills can ask the user without reading the sketch content into context. 3. A machine-readable JSON Questions block in stdout so wrapper skills can parse choices programmatically.
The Questions block must cover:
Format requirements (strict):
Typically runs 15–45 minutes. Callers should allow the full `--timeout` (default 3600s) before interrupting.
If you use `--progress-log`, do **not** `tail -f` it into the main context unless you must debug; prefer checking progress via log line counts (for example: `wc -l <progress-log>`) and/or the heartbeat counters.
Run the sketch as a standalone CLI invocation:
resolve_skill_dir() {
local name="$1"
local repo_root=""
repo_root="$(git rev-parse --show-toplevel 2>/dev/null || pwd)"
local candidates=(
"$repo_root/.agents/skills/$name"
"$repo_root/.claude/skills/$name"
"$HOME/.agents/skills/$name"
"$HOME/.codex/skills/$name"
"$HOME/.claude/skills/$name"
)
for d in "${candidates[@]}"; do
if [[ -d "$d" ]]; then
echo "$d"
return 0
fi
done
echo "Error: skill '$name' not found in repo-scoped or user-scoped skill dirs." >&2
return 1
}
PLAN_SKETCH_SKILL_DIR="$(resolve_skill_dir plan-sketch)"
python3 "$PLAN_SKETCH_SKILL_DIR/scripts/run_plan_sketch.py" "user's rough idea"Flags:
Default behavior:
The script prints the output file path to stdout on success.
1. Open `references/prompts/plan-sketch.md`. 2. Execute it using the user's rough idea as `$ARGUMENTS`. 3. Do **bounded** web research (official docs first) for unstable facts:
4. Write a **new** sketch file under `sketch/` with a meaningful kebab-case filename and report the final path.
AI teammates for your engineering loop. Broccoli turns Linear tickets into shipped PRs — powered by Claude and Codex, running on your own Google Cloud.
Repo: besimple-oss/broccoli
Non-interactive wrapper: plan-sketch -> auto-pick recommended options -> plan-write -> plan-critique-loop -> implement-from-plan -> claude-simplify-wrapper ->…
Small-change wrapper: implement → run repo checks → atomic commit → run dedup (BASE_SHA..HEAD).
Run Claude's built-in /simplify skill on BASE_SHA..HEAD, validate checks, and commit.
Iterative review+fix loop for BASE_SHA..HEAD: generate findings, apply accepted fixes, run checks, commit, and re-review up to 3 iterations or until clean.
Dedupe-only pass for BASE_SHA..HEAD: remove duplicate code introduced by the diff or reuse existing shared utils; applies changes + commits.
Implement an approved plan doc step-by-step in application or systems codebases, including Node/TS, Python, and C/C++ repos (build/lint/test per step, atomic…