agentleFS
kimgoetzkekimgoetzke/coding-agent-configs/skills/wtf/SKILL.md

wtf

Skill2 starsChanged 7 months agoMITView on GitHub

Re-explain what the agent is currently asking or reporting to a user who has lost the thread, then drill into the parts they do not understand through a question loop. Use when the user invokes `/wtf`, says they do not follow, asks "what are you on about" or "what does this mean", or otherwise signals they lack the context to answer a question or act on findings.

19 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use ce-skill-work, ce-explain and 10 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • kieranklaassenSkill

    ce-skill-work

    Applies this repository's skill-authoring standard as a procedure. Use for any change to, or judgment about, a file under skills/** — a SKILL.md, a reference, a persona prompt, a bundled script's instructions: creating a skill, editing one, reviewing a skill change, or acting on review feedback (human or bot) about one. Not for src/, tests/, or scripts/ code.

    Also in 5 projects that use this

  • kieranklaassenSkill

    ce-explain

    Explain how and why something has its current shape, or what happened over a window of work, grounded in evidence. Use when the user asks for an explanation. Use ce-pov for a judgment or recommendation.

    Also in 5 projects that use this

  • PdbjorkSkill

    ce-commit

    Create a git commit with a clear, value-communication message. Use when the user asks to commit/save staged or unstaged changes with a repo-appropriate, value-communicating message.

    Also in 5 projects that use this

  • PdbjorkSkill

    ce-simplify-code

    Simplify recently changed code for clarity, reuse, quality, and efficiency while preserving behavior. Use for tidy/refactor passes; use ce-debug for bugs.

    Also in 5 projects that use this

  • +4 more from kieranklaassen
  • +4 more from Pdbjork

The file

Show its rules and text

We split this skill into the rules it gives an agent

18 rules. 0 are common, 15 are distinctive, and 3 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 15

    Distinctive

    This author's own choices. Worth a look.

  • 3

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Treat the user as if they last looked at this repository, ticket or document years ago and forgot most of it.

    line 11
  2. Distinctive:

    Do not ask the user what they want explained.

    line 18
  3. Distinctive:

    The question: Ask which aspect they want more detail on (see Asking).

    line 27
  4. Distinctive:

    When the user picks an aspect:

    line 42
  5. Very specific:

    Always include a way back out: Zoom out (one level up) and Back to overview (Step 1).

    line 52
  6. Distinctive:

    Ask (see Asking) and repeat.

    line 53
  7. Very specific:

    When the user picks I'm on the same page now or says so in their own words:

    line 59
  8. Distinctive:

    If the original subject was a question, restate the question in one or two sentences, now in terms the user has just confirmed they …

    line 61
  9. Distinctive:

    If it was a report, restate the finding and the next step you are proposing in one or two sentences.

    line 62
  10. Distinctive:

    Do not restart the loop. Do not summarise the whole conversation.

    line 64
  11. Very specific:

    Claude Code: use the AskUserQuestion tool.

    line 68
  12. Distinctive:

    No assumptions about what the user remembers.

    line 78
  13. Distinctive:

    Prefer a visual over a paragraph wherever the shape of the problem can be drawn.

    line 83
  14. Distinctive:

    Every message fits on one A4 page.

    line 84
  15. Distinctive:

    Never exceed the one-page limit in a single message.

    line 88
  16. Distinctive:

    Never end a message without a question until the user has said they are on the same page.

    line 89
  17. Distinctive:

    Never take action, change code or continue the original task while this skill is active.

    line 90
  18. Distinctive:

    Never blame the user for lacking context.

    line 91

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

WTF

The user has many workstreams. They have come back to this one cold and no longer know what it is about. Your last message (a question you need answered, or findings you presented) made no sense to them. Rebuild their context from the top and then let them steer into whatever is still unclear.

Treat the user as if they last looked at this repository, ticket or document years ago and forgot most of it. They are intelligent and know the product. They do not remember the code, the names or the history.

Step 0: Pick the subject

  • No argument: the subject is your most recent substantive message. If that message was a question, the subject is the decision you are asking for. If it was a report, the subject is the finding.
  • Argument given: the subject is that term, quoted message or topic. Still anchor it in the current workstream.

Do not ask the user what they want explained. That is what they are asking you.

Step 1: Overview

One message, hard limit of roughly one A4 page (about 45 lines or 400 words, visuals included). Four parts, in order:

  1. Recap paragraph. Two to four sentences. What you were tasked with, by whom or from where (ticket, PR, message), what the goal is and roughly where you are now. Example: "I was tasked to investigate ticket ITS-123, which reports that some users are logged out after a few minutes. I traced the token refresh flow and found the cause. I now need you to decide how to fix it."
  2. The point. Two to five sentences in plain language stating what you are trying to communicate. For a question: what the decision is, why it is yours to make, and what happens if it is not made. For findings: what is wrong, where, and what it means for the user.
  3. The aspects. Break the subject into three to six constituent parts. One line each, in the order a newcomer needs them. Each line names the aspect using the term the codebase or ticket uses, followed by a plain-language gloss. Present them as a visual where one fits: a tree, a flow with box-drawing characters, or a small table. Number them so the user can refer to them.
  4. The question. Ask which aspect they want more detail on (see Asking).

Example of the aspects part:

The refresh flow (why users get logged out):

  Browser ──► 1. Access token ──► 2. Refresh endpoint ──► 3. Session store ──► 4. Expiry rule
              short-lived key    asks for a new key      where sessions      decides when a
              that proves who    when the old one        live on the         session is too
              you are            runs out                server (Redis)      old to renew

Step 2: Drill-down loop

When the user picks an aspect:

  1. Print a breadcrumb line so they always know where they are, for example ITS-123 › Refresh endpoint › Why it fails.
  2. Explain that aspect in plain language, within the same one-page limit. Break it into its own sub-aspects (two to five) using the same shape as Step 1 part 3.
  3. Offer what you can go deeper on for this aspect. Typical options, pick the ones that apply:
    • how it works
    • why it matters for the current question or finding
    • where it lives in the code, with paths
    • what happens under each choice you are asking them to make
    • the history, if you know it (when and why it was introduced)
  4. Always include a way back out: Zoom out (one level up) and Back to overview (Step 1). Include I'm on the same page now at every level.
  5. Ask (see Asking) and repeat.

The free-text answer is part of the design. When the user types something that matches no option, treat it as a new subject at the current level. Explain it with the same shape and re-offer the loop. Never say the input did not match.

Step 3: Exit

When the user picks I'm on the same page now or says so in their own words:

  • If the original subject was a question, restate the question in one or two sentences, now in terms the user has just confirmed they understand, and wait for the answer.
  • If it was a report, restate the finding and the next step you are proposing in one or two sentences.

Do not restart the loop. Do not summarise the whole conversation.

Asking

  • Claude Code: use the AskUserQuestion tool. One question, one option per aspect, plus the navigation options from Step 2 part 4. The tool adds a free-text option itself. Put the one-line gloss in each option's description.
  • Other agents: if you have a built-in tool for asking the user a question with selectable options, use it the same way. Make sure a free-text answer is possible; if the tool has no free-text option of its own, add one labelled Something else and ask for detail when it is chosen. Otherwise print a numbered list, end with Or type anything else you want explained., and wait for a reply.

Language rules

  • Explain every technical term at first use, in a bracket or short clause, unless it is obvious without context (like "latency" of an API request). When in doubt, explain.
  • Use the names the codebase, ticket or document uses. Grep to confirm a name rather than guessing. Never coin a term and then rely on it. If you must introduce a name, define it in the sentence that introduces it and keep using that exact name.
  • Give a location the first time you name a file, class, endpoint, flag or table, so the user can open it.
  • Expand acronyms at first use.
  • One idea per sentence. Analogies are welcome when they fit and are dropped once the real term is understood.
  • No assumptions about what the user remembers. If a fact is needed, state it.

Visual rules

  • Output renders in a terminal. Use box-drawing flows, indented trees, tables and numbered lists. No Mermaid, no images, no artifacts unless the user asks for one.
  • Prefer a visual over a paragraph wherever the shape of the problem can be drawn. Keep each visual under about 15 lines.
  • Every message fits on one A4 page. Cut detail rather than exceeding it. Detail is what the next loop iteration is for.

Critical rules

  • Never exceed the one-page limit in a single message.
  • Never end a message without a question until the user has said they are on the same page.
  • Never take action, change code or continue the original task while this skill is active. Only explain.
  • Never blame the user for lacking context. No "as I mentioned earlier".

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.