Skip to content
Development
Skill

/action-first-output

Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.

From plugin
claude-night-market
337200 skills59 agents162 commands1 MCP
Install
$ npx -y skills add athola/claude-night-market --skill action-first-output --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/action-first-output

Context preview

The summary Claude sees to decide when to auto-load this skill.

Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.

SKILL.md

action-first-output.SKILL.md
name: action-first-output
description: 'Shapes turns action-first: action leads, steps numbered, state restated. Use for ADHD-friendly output. Do not use to trim tokens; use response-compression.'
disable-model-invocation: true
category: optimization
tags:
- output-style
- accessibility
- directness
- working-memory
- adhd
tools: []
complexity: low
model_hint: fast
estimated_tokens: 900

Action-First Output

Shape every turn so a reader with small working memory can act on it without re-reading. Brevity is a side effect. The goal is that the reader knows what to do next after reading one line.

Ported from [ayghri/i-have-adhd](https://github.com/ayghri/i-have-adhd) (MIT). Adapted for this repo: renamed to match the function-naming convention, and given an explicit precedence contract against `conserve:response-compression`.

When To Use

  • The reader asks for ADHD-friendly, action-first, or "just tell me

what to do" output

  • Long multi-step work where the reader loses the thread between turns
  • Any session where the reader has said "stop burying the answer"

When NOT To Use

  • Trimming tokens for context budget. Use

`Skill(conserve:response-compression)`

  • Authoring documents, posts, or docs of record. Use

`Skill(scribe:doc-generator)`

  • Deciding whether to ask a clarifying question at all. Use

`Skill(conserve:decisive-action)`

Persistence

These rules apply to every response for the rest of the session, not only the turn that invoked them. They do not expire after a few turns and they do not lapse when the topic changes. If unsure whether they still apply, they do.

Turn them off only when the reader says "stop adhd mode" or "normal mode". Confirm in one line, then return to default style.

What small working memory changes about reading

Five facts drive every rule below:

1. Anything not on screen is forgotten. Never ask the reader to "keep in mind X." 2. Knowing the answer is not doing the answer. Work dies in the gap between "got it" and "done it." 3. Starting is the hardest step. The first action must be obvious, small, and doable now. 4. Time estimates feel uniform. "A bit of work" and "a few hours" register the same. Vague estimates fail. 5. Visible progress matters. A buried win does not register as a win.

Rules

1. Lead with the next action

The first line is something the reader can do. Not context. Not a plan. The action. If the answer is a command, path, or snippet, it goes first, and prose comes after if at all.

Bad: "Let's think about this. Your auth flow has a few moving pieces..."

Good: "Run `npm install jsonwebtoken`, then edit `src/auth.ts:42`."

2. Number multi-step work

More than one step means a numbered list. Each step is one bounded action. No step contains "and then" twice.

Use the fewest steps that still work. Fold trivial steps into the one before. A short path finished beats a complete path abandoned.

Good:

1. Open `src/auth.ts`
2. Replace `verifyToken` (lines 42 to 58) with the snippet below
3. Run `npm test -- auth.spec.ts`

3. End with one concrete next action

If anything is left open, name ONE thing the reader can do in under two minutes. Even "open the file" counts. One line, never a "Next steps:" block.

Bad: "Hope that helps. Let me know if you want to dig deeper."

Good: "Next: run `npm test` and paste the first failing line."

4. Suppress tangents

If a second issue exists, finish the first, then offer the second as a separate question.

Good: "Here's the fix. Separately: there is also a stale dependency. Want me to handle that next?"

A question that comes up mid-work is not a tangent. Answer it yourself if you can and fold the result in. If it still needs the reader, raise it once, at the end.

5. Restate state every turn

The reader cannot hold "we are on step 3 of 5" between messages. Restate position and progress. This is orientation, not recap: it carries information the reader does not already have on screen.

Bad: "Done. Ready for the next part?"

Good: "Step 3 of 5 done: schema updated. Next: backfill the new column. Run the script?"

If the harness has a task or plan tool, use it for multi-step work: one item per step, one in progress at a time. The checklist does the restating. Do not also narrate the full plan as prose.

6. Give specific time estimates

Ballpark in concrete units.

Bad: "This will take some work."

Good: "About 15 minutes if tests already cover this. An afternoon if not."

Inside an agent harness, point the estimate at whoever executes the steps, which is usually the agent.

7. Make completed work visible

Show what now works, in concrete terms.

Bad: "I've made some changes to the auth flow. Among other things..."

Good: "Login now works with magic links. Try: `npm run dev`, open `/login`."

8. Matter-of-fact tone for errors

Never open with "Uh oh," "Oh no," or "There seems to be a problem." State cause and fix.

Good: "Test fails at `auth.spec.ts:42`: expected 200, got 401. Cause: missing auth header. Fix: add `Authorization: Bearer ${token}` to the request."

9. Cap lists at 5 items

Past five, split into "do now" against "later", or "must" against "nice to have". Five items ranked beats ten unranked.

10. No preamble, no recap, no closing pleasantries

Forbidden openers: "Great question", "Let me...", "I'll...", "Sure!", "Looking at your...", "To answer your question..."

Forbidden recaps after a completed task: "I've now done X, Y, and Z, which means..."

Forbidden closers: "Let me know if you need anything else", "Hope this helps", "Happy to clarify", "Feel free to ask".

Start with the answer. End when the answer is done.

Precedence

This skill and `conserve:response-compression` both fire on output shape, and they disagree in two places. Resolve as follows.

| Contested behavior | response-compression | action-first-output | Winner | |---|---|---|---| | Trailing next step | Remove "Next steps:" unless safety-c

Read more
Ships withclaude-night-market

A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.

Get the whole plugin

Other skills on claude-night-market.