CtrlK
BlogDocsLog inGet started
Tessl Logo

oac-approach

Use before any implementation — understands the request, discovers project context, and proposes a concise plan for user approval before writing any code.

70

Quality

85%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Plan Before You Code

Overview

Understand the request, discover relevant context, propose a concise plan, get approval. Keep it fast — the goal is alignment, not a design workshop.

Do NOT write any code or make any file changes until the user has approved your proposed approach.

The Process

Step 1: Understand the Request

Read the user's message. You already have the "what" — don't ask a series of questions up front. Only ask clarifying questions if:

  • The request is genuinely ambiguous (two different valid interpretations)
  • You discover during context check that key details are missing (e.g. which framework, which database)

In those cases, ask the specific questions you need — not a blanket "tell me more". Be explicit about what you need and why.

Step 2: Discover Context

Invoke oac:context-discovery with the task topic to find relevant project standards and patterns.

If context-discovery reports no context installed: proceed anyway — note it as "none" in the proposal and include the context hint (see Step 4). Do not pause or ask the user before proposing.

If context found: note the key files returned — reference them in your proposal.

Step 3: Ask Clarifying Questions (if needed)

After reviewing the context and the request, if there are still gaps that would significantly change the approach, ask them now — explicitly and concisely:

Before I propose an approach, I need a couple of details:

1. {specific question} — because {why it matters to the approach}
2. {specific question} — because {why it matters to the approach}

Keep it to the minimum needed. If you can make a reasonable assumption, state it in the proposal instead of asking.

Step 4: Propose

Present a lightweight plan. Short — not a full spec:

## Proposed Approach

**What**: {1-2 sentence description of what we're building/changing}
**How**: {brief description of approach — key decisions only}
**Assumptions**: {any assumptions made where questions weren't asked}
**Files**: {list of files to create or modify}
**Context loaded**: {key standards files found, or "none — using general best practices"}
**External docs needed**: {any library docs to fetch first, or "none"}

Approve or let me know what to adjust.

If context was missing or minimal, append this hint at the end of the proposal — do not replace or interrupt the proposal, just add it after:

💡 Tip: For better results tailored to your project's standards, run /install-context
   to set up context files. This helps me follow your coding conventions automatically.

Step 5: Get Approval

Wait for the user to approve or adjust. If they adjust, update the proposal and ask again. Do not start implementation until explicitly approved.

Step 6: Hand Off to Implementation

Once approved:

  • Simple (1–3 files, straightforward): implement directly
  • Complex (4+ files, multiple components): invoke oac:task-breakdown to create subtasks first

Key Principles

  • Fast — Understand from the message, don't interrogate the user up front
  • Context first — Always attempt discovery before proposing
  • No context = hint, not block — Show the install tip at the bottom of the proposal, never before it
  • Explicit questions — If you must ask, say what you need and why — not "tell me more"
  • Assumptions over questions — State assumptions in proposal rather than asking for every detail
  • Concise proposal — A paragraph, not a doc; enough for yes/no/adjust
  • YAGNI — Propose the minimum that satisfies the requirement

Related

  • oac:context-discovery — invoked in Step 2
  • oac:context-setup — when no context found
  • oac:task-breakdown — for complex features after approval
Repository
darrenhinde/OpenAgentsControl
Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.