Skip to content
Back to skills

Discern

ASecurity

Explore the paths first where none are on record (the `invent` skill), then attack every path adversarially with one blind attacker per path, commit to one, and present the commitment — consequences for the user to confirm, kills on the record. Use when the user asks to run discernment on a tracked piece of work (`/discern`, or in words), or asks for a ready-made plan to be attacked before it is built. A work whose `next:` names this stage is not that ask, because the flow never advances itse...

  • 6 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 1, 2026
ai-agentsgo

Security analysis

A100/100

Scanned September 30, 2026

npx -y skills add donald-ada/workinggenius --skill discern --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Discern?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Discern
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/donald-ada-discern/badge)](https://www.skillsdirectory.com/skills/donald-ada-discern)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: discern
description: Explore the paths first where none are on record (the `invent` skill), then attack every path adversarially with one blind attacker per path, commit to one, and present the commitment — consequences for the user to confirm, kills on the record. Use when the user asks to run discernment on a tracked piece of work (`/discern`, or in words), or asks for a ready-made plan to be attacked before it is built. A work whose `next:` names this stage is not that ask, because the flow never advances itself, and a plan handed over to be implemented is not an invitation to attack it or to start the flow.
---

# Discernment

The genius of judgment. Its failure mode is the plausible-but-wrong design shipping because nobody tried to kill it.

The concept: **every path earns its survival under attack — including your favorite — and the user meets the survivor, not the battlefield.** Find the attack that kills each alternative from wherever it actually lives — the path's own shape knows its weakest joint better than any checklist. Where the plan under attack already has a contract (a work that ran Galvanizing), open `CONTRACT.md` first: the seams and pinned values are what an attack has to land against. Wounds are found, never manufactured; survival under real fire is information too. The decisions this project already recorded are live ammunition — `.genius/DECIDED.md` first, finished work files, and records that predate this plugin (`docs/adr/`): a path that contradicts one either dies of it, or survives by naming the decision it overturns and why. Ammunition goes stale: a recorded constraint the code stopped having kills nothing, so check each round before firing it, and correct a drifted one where it was written (`errata` skill) instead of shooting with it.

**Don't attack the paths yourself — spawn a fresh attacker per path, and judge what they find.** The session that reads every path has begun to prefer one before it fires a shot, and "including your favorite" asked of the mind that holds the favourite is asked of the one attacker that will go easy on it. Each attacker is the plugin's `attacker` agent ([agents/attacker.md](agents/attacker.md)), spawned in parallel, its task message carrying the confirmed problem, that one path, and where the record lives — never another path and nothing of the conversation. What comes back is claims: verify each landed attack against the repo before it kills anything, because a kill on a false wound is recorded for good. The weighing is yours — attacks against attacks, what each path survived, which wound is fatal and which is a cost.

Then commit, and present the commitment — not a ballot. The user sees one chosen approach, the alternatives that died, and each kill written as the attack that broke it. Confirmation is of **consequences, not labels**: play back what the choice means when things happen ("choosing the pipeline means a refund re-walks every adjustment") until the user can say that's what they want — or overrule you. A menu surfaces only where a fork is genuinely the user's world — their team, their ops, their priorities — asked with a recommendation and its price. If they can't evaluate even that, teach the difference first (`blindspot` skill), or record an honest `assumed:`.

## How it runs

1. Read the paths — where the snapshot holds none, run the `invent` skill's steps first, in this command: its inventors in parallel, its check of what they return, its record; the user types one command for both halves, because nothing between them waits on the user. Then `.genius/DECIDED.md`, and the older records the repo keeps; open `CONTRACT.md` only where the plan already has one. Check each round before firing it; correct a drifted one (`errata` skill).
2. Spawn one `attacker` agent per path, in parallel, each handed the confirmed problem, its one path and where the record lives; stay awake until every one returns. Verify each landed attack against the repo yourself. Wounds found, never manufactured; what a path survived is recorded too.
3. Commit to the survivor. Where every path dies, say so: back to invention (the `invent` skill, run again here) with the wounds as constraints, or to `/wonder` where they indict the problem.
4. Present the commitment as consequences, and each kill as the attack that broke it. A menu only where the fork is the user's world; teach first where they cannot evaluate it, or record an honest `assumed:`.
5. Record: the Decision section — chosen, the load-bearing why, one kill-reason line per rejected path; the whole fight under `## discernment` in the log; Invention's paths compacted out of the snapshot; `next: /galvanize <slug>` — the exact command, because with two works at the same stage a bare stage name does not say which one moves.

An unrecorded kill-reason gets re-proposed in six weeks. A decision a future stranger would re-fight earns its line in the decision index at close-out (`decision-record` skill holds the test); most stay with their work file. The fight is kept whole in the log — every attack tried on every path, the ones that landed and the ones the survivor walked out of, because what a design survived tells the builder how much load it was proved to take — under one anchor the Decision section links. The snapshot keeps the decision itself: chosen, the load-bearing why in a few lines, one kill-reason line per rejected path. A kill-reason that names no attack is an opinion.

Then `/galvanize`. Done when the chosen approach is confirmed in consequences the user could evaluate, and every rejection carries its kill-reason — written as the attack actually tried and what it broke, not as a verdict.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.