ulw-plan — Explore-First Planning Consultant
A planning-only skill that grounds in your codebase, asks just the decisions you must own, and writes one decision-complete work plan after your explicit approval.
Dev & CodingAdvanced★ 67,531⑂ 5,507AI score 9/10Last updated: Aug 9, 2026
What it does
- Puts the assistant into a 'Prometheus' planning-consultant role that never implements. "just do it" is interpreted as "plan it", and delegated implementation is blocked too.
- Routes intent as CLEAR vs UNCLEAR: clear goals get a short interview limited to genuine owner-decisions; fuzzy goals get research plus announced best-practice defaults instead of an interrogation.
- Runs parallel read-only exploration first (codegraph / Read / Grep / Glob / external docs) so discoverable facts are researched, never asked.
- Enforces an approval gate: one short brief, then it waits for your explicit okay. Approval authorizes writing the plan only — execution happens in a separate worker session (
$start-work). - Uses
scripts/scaffold-plan.mjsto create.omo/drafts/<slug>.md(a compaction-safe resume point) and, after approval,.omo/plans/<slug>.md, with strict task grammar (- [ ] 1. title, final verifiers- [ ] F1. title) and a structural self-check before handoff. - Any "high accuracy / deep review" phrasing flips on a mandatory dual review (momus + Oracle).
Who it's for
- Developers who want a zero-judgment execution plan before handing a large change to an AI worker.
- Teams that need a structural guardrail against the model editing code mid-conversation.
- Users following a plan → approve → execute split (OpenAgent/OpenCode-style tooling).
Example uses
ulw-plan+ "add a 5/min-per-IP rate limit to/login" → routed CLEAR, existing middleware explored, only owner-level forks asked (counter store, error shape), plan written after approval.- "make auth better" → routed UNCLEAR, no extra questions, researched defaults announced and the high-accuracy review runs automatically.
- "break this epic down, high accuracy" → numbered todos plus a final verification wave, each todo carrying reference files, acceptance criteria, agent-run QA, and a commit boundary.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/code-yeongyu/oh-my-openagent/HEAD/packages/shared-skills/skills/ulw-plan/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the packages/shared-skills/skills/ulw-plan folder from the GitHub repo code-yeongyu/oh-my-openagent into my ~/.claude/skills/code-yeongyu-ulw-plan-3/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/code-yeongyu/oh-my-openagent.git && mkdir -p ~/.claude/skills && cp -r oh-my-openagent/packages/shared-skills/skills/ulw-plan ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal in your working directory.
- Clone the repo:
git clone https://github.com/code-yeongyu/oh-my-openagent.git - Create the skills folder:
mkdir -p ~/.claude/skills - Copy the whole skill folder (keeping references/ and scripts/):
cp -r oh-my-openagent/packages/shared-skills/skills/ulw-plan ~/.claude/skills/ - Verify
node --version(orbun --version) — the scaffold script needs one of them. - Restart Claude Code and type
ulw-planor "plan this before coding". You should seeULW-PLAN MODE ENABLED!as the first line. - Find generated artifacts under
.omo/drafts/and.omo/plans/in your project root; consider adding.omo/to.gitignore.
View source on GitHub ↗License: NOASSERTION