agentleFS
mikhinmikhin/claude-skills/skills/decisions/SKILL.md

decisions

Skill0 starsChanged 2 months agoMITView on GitHub

How Yuri Mikhin makes decisions — the questions he asks before accepting a change, where he expects answers to be looked up, and what he rejects on sight. Meant to be always on (SessionStart hook), not trigger-loaded.

11 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use adr-verbatim, file-tree and 5 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.
  • davidondrejSkill

    adr-verbatim

    Record concise ADRs that preserve the user''s decisions without conversational noise. Use for "adr-verbatim", "new ADR", "document that as an ADR", "record this decision", or supplied ADR wording.

    Also in 3 projects that use this

  • davidondrejSkill

    file-tree

    Manually-invoked skill that prints a nice file tree of the current topic in a code block. Use when the user says "file-tree" or "file tree".

    Also in 3 projects that use this

  • attentiondotnetSkill

    setup-help

    Walk the user through setting up anything step by step. Use when the user asks for help setting up, configuring, installing, or getting something working — "help me set up X", "walk me through this", "setup-help". Differentiator: gives one current step at a time, then always lists every remaining setup step after each response.

    Also in 3 projects that use this

  • itgoyoSkill

    browser-harness

    Direct browser control via CDP. Use when the user wants to automate, scrape, test, or interact with web pages. Connects to the user's already-running Chrome.

    Also in 3 projects that use this

  • MicrosoftSkill

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 3 projects that use this

  • +2 more from davidondrej

The file

We split this skill into the rules it gives an agent

6 rules. 0 are common, 6 are distinctive, and 0 are very specific to this project.

  • 0

    Common

    Most of the 10 edited versions we read keep these.

  • 6

    Distinctive

    This author's own choices. Worth a look.

  • 0

    Very specific

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

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    When I ask which option is more correct architecturally, I want a comparison with a loser, not agreement with me.

    line 14
  2. Distinctive:

    When you find a defect, find every sibling.

    line 26
  3. Distinctive:

    Only then patch the reported spot.

    line 30
  4. Distinctive:

    Don't shape a shared contract around one consumer's convenience — including our own.

    line 39
  5. Distinctive:

    If a decision belongs to another team, state what the contract requires and stop.

    line 41
  6. Distinctive:

    If I ask "so what's better in the end?" I want one recommendation with a reason, not the menu again.

    line 53

“Common” is measured: kept by at least 6 in 10 of the 10 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

How I decide

Nothing lands without a why I can repeat

My most frequent question, by a wide margin: what is this for. Variants: "why is this needed", "what's the point", "why this and not that", "why did you suggest 501 and not 499".

Answer the why before the how. "It's needed" / "best practice" / "cleaner" are not answers. If you cannot state what breaks without the change, the change does not exist.

When I ask which option is more correct architecturally, I want a comparison with a loser, not agreement with me. Agreeing with a bad idea of mine costs more than arguing.

The answer usually already exists — look before inventing

Before designing anything, check whether we already decided it: git history, the tracker, chat threads, earlier Claude sessions, the memory files. I ask for this explicitly and often ("find in the Claude sessions why we decided NOT to return this", "check git history, the tracker, chat").

Say where you looked. "Not found in X, Y, Z" is a real answer; inventing a second answer next to an existing one is not.

Also check the recent past specifically: we may have shipped a fix for this last week. Regressions of our own work are the common case, not the rare one.

A fix at one call site is not a fix

When you find a defect, find every sibling. Then pick the highest-leverage place:

  1. Can a lint rule / type / schema make it unrepresentable? Do that. I ask for custom lint rules by name.
  2. Otherwise fix it once where all callers route through.
  3. Only then patch the reported spot.

"Fix all seven and add the rule" is the shape of answer I accept. "Fixed the one you reported" is not.

Same for duplication: two copies that drift are a defect even when both currently work.

Layer boundaries are not negotiable

  • A contract describes the shape of data, not the implementation behind it. Implementation rules live in the implementing code, on both sides.
  • Don't shape a shared contract around one consumer's convenience — including our own.
  • Business logic does not live in a component.
  • If a decision belongs to another team, state what the contract requires and stop. Do not size their work or prescribe how they do it.

No prose

Repos rot into slop: agent-written descriptions, restated requirements, explanations nobody reads. What an explanation would have said goes into a name, a test, or the commit message.

The same applies to tickets, plans and summaries — short, no ceremony, no repeating the same rule three times in different words.

When I say "I don't get it"

Re-explain differently: a concrete example, smaller words, fewer clauses. Do not repeat the same sentence with more emphasis, and do not treat my not understanding as agreement. I will say "still confused" as many times as needed — that is the process working, not failing.

If I ask "so what's better in the end?" I want one recommendation with a reason, not the menu again.

Scope is my call

Same PR or a separate ticket, now or later, in this release or the next — ask me, do not decide silently. Both answers happen often, and which one depends on things you cannot see.

Default taste

Boring, proven, minimal custom code. Fewer moving parts beat clever. If the community already solved it, use theirs; if a native feature covers it, no dependency.

Code for a case no user reaches is slop, not care: a branch names the user action or contract response that gets there, or it goes. When a guard needs a guard, remove what makes the race possible instead.

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.