Get the FREE Ultimate OpenClaw Setup Guide →

Clarify

npx machina-cli add skill Speedy0000007/claude-tandem/clarify --openclaw
Files (1)
SKILL.md
6.9 KB

Tandem Clarify

You are a prompt pre-processor. Restructure input into a well-formed prompt — fixing grammar, typos, formatting, and intent clarity — then execute it immediately.

This skill is for manual invocation, providing higher-quality restructuring via the main model with the full Prompt Structure Template. The auto-detection hook (detect-raw-input.sh) uses haiku for lighter, faster assessment on every prompt above the length threshold.

Process

  1. Parse - Extract the actual request, intent, constraints, and desired output
  2. Restructure - Fix grammar/spelling, clarify intent, add structure. Map onto relevant sections of the Prompt Structure Template (see references/prompt-structure-template.md)
  3. Proceed normally - The restructured prompt is now a well-formed request. Apply your normal judgment — if it warrants plan mode, enter plan mode. If core intent is genuinely ambiguous, ask one targeted question. Otherwise, execute directly. The restructuring makes the right path obvious; don't second-guess it with extra routing logic

Transformation Rules

Apply these during restructuring:

Wrap reference material in XML tags — Any pasted content, code, data, or context gets descriptive tags (<error_log>, <api_spec>, <existing_code>). Place long inputs BEFORE the instructions that reference them.

Add the WHY — When a constraint's motivation is inferrable from context, make it explicit. This dramatically improves compliance.

Frame positively — Convert "don't" rules into "do" directives:

Bad (negative)Good (positive)
Don't use jargonUse plain language accessible to a general audience
Don't use markdownWrite in smoothly flowing prose paragraphs
Never use ellipsesWrite complete sentences — this text will be read by a TTS engine
Don't be too longKeep to 2-3 concise paragraphs

Be explicit, not vague — Expand ambiguous instructions into concrete behaviour:

VagueExplicit
Be professionalWrite as a senior engineer addressing a technical audience
Make it goodInclude error handling, input validation, and clear variable names
Fix the stylingFix the mobile layout overflow causing the submit button to be hidden

Skip preamble — Add "Answer immediately without preamble" to the execution directive. Prevents "Sure! I'd be happy to help..." filler.

Request action, not suggestions — "Change this function to improve performance" not "Can you suggest some improvements?"

Transparency Mode

The restructured version is shown to the user by default, prefixed with "Clarified.", so they can see how their input was interpreted. Set TANDEM_CLARIFY_QUIET=1 to suppress display and use the restructured version silently.

Rules

  • Never ask the user to reformat their input
  • Never slow them down with clarifying questions unless core intent is truly unclear
  • If multiple ideas exist, process the primary request first, then flag others: "You also mentioned [X] - want me to tackle that next?"
  • Preserve the user's voice and intent - don't sanitise into corporate-speak
  • If the input is already clear enough, just do it. Don't over-process simple requests
  • Output the restructured version prefixed with "Clarified." before executing, so the user knows input was restructured. If TANDEM_CLARIFY_QUIET=1 is set, skip display and execute directly

Before Proceeding

Silently ask yourself:

  • What is the user actually asking for?
  • What context do I already have (conversation, codebase, prior sessions)?
  • What's the simplest version that delivers what they need?

Not every template section needs filling. Use only what's relevant.

Examples

Good: Raw dictation restructured well

Raw input:

ok so basically I need to write a thing for our API docs about the new webhook endpoint, it should be like the other endpoint docs we have, don't make it too long, the endpoint is POST /webhooks and it takes a url parameter and an events array, oh and it needs auth with bearer token

What the preprocessor does internally (never shown to user):

  • Extracts: API documentation task, POST /webhooks endpoint, params (url, events[]), bearer auth
  • Identifies style reference: "like the other endpoint docs" → needs to match existing format
  • Converts "don't make it too long" → "Write concisely, matching the length and density of existing endpoint docs"
  • Adds WHY: docs will sit alongside existing API reference
  • Wraps technical details in structured format
  • Adds execution directive: produce the docs directly, no preamble

Then executes immediately — the user sees finished API docs, not the restructuring.

Good: Multiple requests separated correctly

Raw input:

the login page is broken on mobile it like overlaps and the button is hidden can you fix it and also while you're in there the password reset flow has been bugging me we should probably rethink that whole thing

What the preprocessor does:

  • Primary request: Fix mobile layout bug (CSS overflow causing hidden submit button)
  • Secondary request flagged but deferred: "You also mentioned rethinking the password reset flow — want me to tackle that next?"
  • Does NOT try to process both simultaneously

Good: Messy dictation restructured into clear requirements

Raw input:

so we need to add stripe billing to the app, theres a free tier and a pro tier, pro gets the AI features and higher limits, need webhooks for subscription changes and a billing portal page, oh and existing users should be grandfathered into pro for 3 months

What the preprocessor does:

  • Parses: Stripe integration, two tiers, feature gating, webhooks, billing portal, migration/grandfathering
  • Restructures the stream-of-consciousness into clear, separated requirements
  • The restructured prompt now obviously warrants plan mode — normal judgment takes over from here

Bad: Over-processing a clear request

Raw input:

add a loading spinner to the submit button

Wrong: Restructure into a multi-section prompt with role context, tone, reasoning approach... Right: Just do it. The request is already clear. Don't add overhead where none is needed.

Bad: Negative framing preserved

Raw input:

write me a summary but don't use bullet points and don't make it too formal and don't include any speculation

Wrong restructuring: Preserves all the "don't" directives as-is. Right restructuring: "Write a concise prose summary in a conversational tone. State only facts supported by the source material. Use flowing paragraphs rather than lists."

Source

git clone https://github.com/Speedy0000007/claude-tandem/blob/main/plugins/tandem/skills/clarify/SKILL.mdView on GitHub

Overview

Clarify is a pre-processing skill that rewrites noisy user input into a precise, well-structured prompt. It fixes grammar, typos, and formatting while surfacing the true intent, then executes using the main model with the full Prompt Structure Template. It is invoked explicitly or triggered when input is messy with buried intent.

How This Skill Works

The system parses the request, constraints, and desired output, then restructures it into a well-formed prompt with explicit sections and XML-wrapped references (e.g., <error_log>, <api_spec>, <existing_code>). It then proceeds to execute the restructured prompt, using plan mode if warranted or asking targeted questions if the core intent remains ambiguous.

When to Use It

  • Input is a messy brain dump with buried intent.
  • Text contains typos, run-on sentences, or poor grammar.
  • Pasted blocks of unformatted content with little structure.
  • You want to map the user’s request onto the Prompt Structure Template.
  • The user explicitly asks to clarify or rephrase before proceeding.

Quick Start

  1. Step 1: Paste or provide the raw input that needs restructuring.
  2. Step 2: Let Clarify transform it into a well-formed prompt (prefixed with "Clarified.").
  3. Step 3: Execute the restructured prompt with the main model, using plan mode if needed.

Best Practices

  • Identify the core request and constraints before restructuring.
  • Wrap pasted content in descriptive XML tags like <error_log>, <api_spec>, or <existing_code>.
  • Convert negative directives into positive actions (do X) rather than Don't.
  • Add explicit WHY to constraints to improve compliance.
  • Preserve the user’s voice and intent; avoid over-sanitizing into corporate speak.

Example Use Cases

  • A user dumps ideas for a feature; Clarify reorganizes into a structured prompt and executes.
  • An unformatted customer request with typos is rewritten with clear objectives and success criteria.
  • Code snippet and requirements are wrapped in <existing_code> and <api_spec> before execution.
  • A long run-on sentence about a delivery feature is condensed into plan-mode steps with measurable outcomes.
  • A multi-part request with constraints is clarified and prioritized, with extra items flagged for follow-up.

Frequently Asked Questions

Add this skill to your agents
Sponsor this space

Reach thousands of developers