skills/defining-issues/SKILL.md
Converts vague requests into precise issue definitions grounded in the codebase, then researches and designs a solution for complex tasks. Produces definition.md (always) and design.md (for L-scope). Use when an issue needs to be clarified, scoped, or prepared before implementation — such as unclear requirements, vague feature requests, ambiguous bug reports, or undefined scope boundaries. Also triggers on: "what should we build", "scope this", "write up an issue", "define the problem", "clarify requirements", "design this", "how should we build this", "research solutions", "design doc". For implementation after definition, see executing-tasks.
npx skillsauth add boojack/skills defining-issuesInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Explores the codebase and converts a vague request into a grounded definition. For complex tasks, researches industry solutions and produces a design.
Does NOT implement code, create PRs, or make architectural changes. Output is definition (always) and design (L-scope only).
NO SOLUTION LANGUAGE — DEFINE THE PROBLEM, NOT THE FIX
Glob or Read)When in doubt, mark it a non-goal.
Each item must include a default so downstream work can proceed.
Format: Question? (default: answer)
Assess the size of the work:
State the scope with a one-sentence justification referencing the current state.
| Check | Criteria |
|---|---|
| Background & Context | Factual, no editorializing or solution advocacy |
| Issue Statement | Precise, single paragraph, no solution words ("should", "need to", "by adding X") |
| Current State | Real file paths verified with Glob/Read, current behavior only |
| Non-Goals | Specific exclusions, conservative scope |
| Open Questions | Each has a (default: answer) |
| Scope | S/M/L with justification referencing current state |
If any check fails, return to the failing step and revise.
Save to docs/plans/YYYY-MM-DD-<slug>/definition.md:
## Background & Context
## Issue Statement
## Current State
## Non-Goals
## Open Questions
## Scope
Missing any section invalidates the output.
If scope is S or M: definition is complete. Proceed to executing-tasks.
If scope is L: continue to Phase 2.
NO DESIGN DECISION WITHOUT A CITED REFERENCE
Prioritize primary sources from companies that have solved this at scale. Use at least 3 distinct search queries.
Rules:
WebFetch before including — if verification fails after 2 attempts, note as "unverified" and move onDesign Goals — derive from issue statement, order by priority. Each must be verifiable: a measurable metric or testable assertion.
Non-Goals — inherit all from definition, add any discovered during research.
| Check | Criteria | |---|---| | References | 3+ entries with URLs (verified or marked "unverified") | | Industry Baseline | Cites references by title, no speculation | | Design Goals | Verifiable, trace to issue statement | | Non-Goals | All inherited items from definition included | | Proposed Design | Every decision traces to a goal, no implementation code |
If any check fails, return to the failing step and revise.
Save to docs/plans/YYYY-MM-DD-<slug>/design.md:
## References
## Industry Baseline
## Research Summary
## Design Goals
## Non-Goals
## Proposed Design
Missing any section invalidates the output.
Solution language test: Re-read the Issue Statement. If removing it would make a reader think "so what?", it describes a problem. If removing it would make a reader think "OK, so we won't build that" — it describes a solution. Rewrite.
keys.filter(k => ...) → ✓ "Collect keys ending with suffix"WebFetchIf you catch yourself thinking:
All of these mean: STOP. Revisit the step and follow the process.
executing-tasks — next stage: plans and executes tasks from definition/designsyncing-linear — push artifacts to Linear at any pointdevelopment
Use when rough engineering or product context needs to become a concise design doc, RFC, technical proposal, architecture decision, or design review artifact. Triggers on feature requests, bug reports, defined issues, vague ideas, architecture questions, approach comparisons, scoping, goals/non-goals, current-code research, comparable-product research, or written recommendations for a design decision. Not for implementation-only tasks.
testing
Syncs issue artifacts (definition, design, plan, execution) to Linear. Creates or updates a Linear issue with a summarized title and structured description, and uploads full artifacts as linked documents. Use after any pipeline stage to push current state to Linear. Also triggers on: "sync to linear", "push to linear", "create linear issue", "update the ticket", "track this in linear". Reads artifacts produced by defining-issues and executing-tasks.
development
Plans and executes implementation from a defined issue. Reads definition.md (and design.md if present), breaks work into tasks, then executes each task with validation. Use when a definition exists in docs/plans/ and implementation work should begin. Also triggers on: "build it", "implement this", "execute the plan", "start implementing", "do the work", "plan and execute", "break this into tasks and build it". Requires definition.md from defining-issues. For L-scope, also requires design.md. For syncing results to Linear, see syncing-linear.
development
Maintainer-only workflow for handling GitHub Secret Scanning alerts on OpenClaw. Use when Codex needs to triage, redact, clean up, and resolve secret leakage found in issue comments, issue bodies, PR comments, or other GitHub content.