/SKILL.md
REQUIRED for every code-related task. Step 1 read this skill's SKILL.md via the `read` tool before acting — do not proceed from this description alone. Step 2 emit the triage block as the first lines of your reply; it has four labels exactly `Workflow mode: Lightweight|Full`, `Reason:`, `Success criteria:`, `Plan needed: yes|no`. Step 3 for Full-mode work, write `plans/<task>.md` using the template at `references/plan-template.md` (required per-step fields `Status`, `Prerequisites`, `Deliverables`, `Plan`, `Validation Checklist`, `Test Checklist`, `Files Changed`, plus a top-level `Implementation Log`). Violations include freeform plans, inline `### Step N — title [STATUS]` headers, skipping the triage block, and deciding a task is "simple" without emitting triage. Applies to reads, edits, writes, and bash — triage comes first.
npx skillsauth add ex-git/swe-workflow swe-workflowInstall 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.
Every code task starts with workflow triage. Simple tasks stay lightweight; broad or ambiguous tasks use a persisted plan.
This block is the minimum every agent must follow. If you skim only this section, you are still compliant.
Workflow mode: Lightweight | Full
Reason: <one sentence>
Success criteria:
- <what done means>
Plan needed: yes | no
write/edit/bash on task target files: a plans/<task>.md file must exist, exactly one step must have **Status:** IN_PROGRESS, and the edit must map to that step. Only plans/*.md files may be written before this gate is satisfied.plans/<task>.md copies references/plan-template.md verbatim. Every step has all seven fields: Status, Prerequisites, Deliverables, Plan, Validation Checklist, Test Checklist, Files Changed. The plan includes a Design Decisions table and a top-level Implementation Log.plans/<task>.md. A valid plan has no unresolved questions; DRAFT means awaiting plan approval, not awaiting requirement answers, and clarification must not be turned into an implementation step.COMPLETED with known failures — fix or mark BLOCKED.Use references/plan-template.md as the source of truth for plans/<task>.md. Copy it verbatim for every new plan. Do not reconstruct the structure from memory; do not invent alternative formats. Full plans capture a task-local Working Set and Verified Facts so agents use evidence instead of guessed paths, APIs, or conventions.
Plan format — missing required fields:
WRONG: ### Step 1 — Add dependency [COMPLETED] ← no Status field, no Prerequisites,
### Step 2 — Create module [COMPLETED] no Deliverables, no Validation, no Files Changed
RIGHT: ### Step 1: Add dependency
**Status:** COMPLETED
**Prerequisites:** ...
**Deliverables:** ...
**Validation Checklist:** ...
**Files Changed:** ...
Step decomposition — horizontal vs vertical slices:
WRONG (horizontal): RIGHT (vertical):
Step 1: Define all types Step 1: Implement + test feature A
Step 2: Write all functions Step 2: Implement + test feature B
Step 3: Write all tests Step 3: Implement + test feature C
Each step is a thin vertical slice through all layers (types, logic, tests) — independently verifiable.
Triage skipped because "the task seemed simple": the triage block decides what is simple. Emit it even for one-line changes; Lightweight is a valid outcome, but the declaration is not optional.
Open questions parked in the plan:
WRONG: ## Open Questions
- Which UI should change?
### Step 1: Resolve open questions
RIGHT: Ask the question in chat before creating/finalizing the plan,
then write ## Open Questions as `None.`
Silent design assumptions:
WRONG: Agent picks modal vs page, dropdown vs radio, join table vs JSON column
without asking — implements whatever seems reasonable
RIGHT: Surface the choice in Design Decisions table during planning,
confirm with user, then implement the confirmed approach
Status values: PENDING | IN_PROGRESS | COMPLETED | BLOCKED
These guards are active for the entire session, not just the first response. Do not drift.
plans/
├── repo-map.md # Advisory project memory; verify before relying on it
├── context.md # Session state (overwritten each pause)
└── <task>.md # Task plan, Working Set, Verified Facts, progress
references/plan-template.md to plans/<task>.md and fill it in. See create-plan.New session on existing work → read in order: plans/context.md → plans/<task>.md; read plans/repo-map.md only if present/useful and verify entries against the current workspace. See resume-workflow.
| Reference | Purpose |
|---|---|
| plan-template | Canonical plans/<task>.md skeleton — copy verbatim |
| require-clarification | Clarify ambiguous requests before planning |
| create-plan | Exploration, step sizing, plan creation procedure |
| execute-step | Code protection, implementation, scope management |
| verify-step | Validate + test + review diff (single gate) |
| maintain-repo-map | Maintain advisory project memory; verify before relying on it |
| persist-plan | Update plan status and context |
| dump-context | Save session state before pausing |
| reflect-after-changes | Catch complexity every 2–3 steps |
| global-reflection | Final review when all steps done |
| resume-workflow | Resume existing work in a new session |
tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.