black-iris
Shape every response for a reader with ADHD at a lite, full, or deep dial.
Skill by MKAbuMattar
Chalk Labs
Need help deploying black-iris?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/mkabumattar-black-iris
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data, writing, agent-building
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md and code. Checked Nov 1, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Python package
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/black-iris- Your home directory (~)
What's inside
- Skill name
black-iris- Description
- Shape every response for a reader with ADHD at a lite, full, or deep dial. Cut AI tells from anything you write. Build code with surgical diffs and a check first. Gate long work and refuse a false done. Ideate in parallel. Council a decision: five advisors, one verdict. Jerash: race 100 entrants for one answer. Siq: hand off before compaction. Dabke: loop until every gate is met. Athar: trace a bug to its root. Write a prompt for a named AI tool. Autodream: harvest and verify memory. Keep bulk data out of context. Write a commit, PR body, or changelog. Name an identifier. Review a diff. Use when the user says "black-iris", "shape this", "deslop", "humanize", "gates", "ideate", "brainstorm", "write a prompt for", "council this", "debate this", "autodream", "handoff", "debug this", "loop until done", "clean up my memory", "analyze this log", "commit message", "rename", "review this". Not for small talk, a one-line answer, a trivial edit, or fiction. A mode fires on the ask, never on every message.
- License
- GPL-2.0
- Compatibility
- any agent that reads Agent Skills; the hook is Claude Code only
- Metadata
- logo: assets/logo.svg · author: MKAbuMattar
- Instructions
- 229 lines in SKILL.md · view on GitHub
Before installing
- Ships executable scripts
Agent Skills spec issues
- allowed-tools: must be a space-separated string
Files (49)
- LICENSE
- SKILL.md
- openai.yaml · agents/
- logo.svg · assets/
- athar.svg · assets/modes/
- context.svg · assets/modes/
- council.svg · assets/modes/
- dabke.svg · assets/modes/
- deslop.svg · assets/modes/
- factory.svg · assets/modes/
- gates.svg · assets/modes/
- ideate.svg · assets/modes/
- jerash.svg · assets/modes/
- memory.svg · assets/modes/
- name.svg · assets/modes/
- prompt.svg · assets/modes/
- review.svg · assets/modes/
- ship.svg · assets/modes/
- siq.svg · assets/modes/
- dabke.py · dabke/
- briefs.md · jerash/
- hippodrome.py · jerash/
- lanes.json · jerash/
- rubric.md · jerash/
- athar.md · references/
- context.md · references/
- council.md · references/
- dabke.md · references/
- deslop.md · references/
- evals.md · references/
- factory.md · references/
- gates.md · references/
- ideate.md · references/
- jerash.md · references/
- memory.md · references/
- naming.md · references/
- prompt.md · references/
- review.md · references/
- ship.md · references/
- siq.md · references/
- check.sh · scripts/linux/
- install.sh · scripts/linux/
- check.sh · scripts/mac/
- install.sh · scripts/mac/
- check.py · scripts/universal/
- install.py · scripts/universal/
- check.ps1 · scripts/windows/
- install.ps1 · scripts/windows/
- siq.py · siq/
SKILL.md (first lines)
# Black Iris
Three facts run this skill: the reader has ADHD, the writer is a model, and
the work has to prove itself before it is called done.
| The ask | Mode | Read |
|---|---|---|
| Always on: every response | Shape | Nothing. Rules are inline. |
| Writing or changing code | Build | Nothing. Rules are inline. |
| "deslop", "humanize", "de-AI", clean or audit text | Deslop | `references/deslop.md` |
| Long or multi-part task, "gates", "do not stop until done", work that came back half-done | Gates | `references/gates.md` |
| "ideate", "brainstorm", an open design or architecture question with no canonical answer | Ideate | `references/ideate.md` |
| Write, fix, adapt, or split a prompt for a named AI tool | Prompt | `references/prompt.md` |
| `/black-iris:jerash`, "race this", or a bad answer the user wants beaten ("try again", "bad answer" ask first) | Jerash | `references/jerash.md` |
| "council this", "war room this", "pressure-test this", "debate this", or a decision with named options, stakes, and no single right answer ("should I X or Y", "I am torn between") | Council | `references/council.md` |
| "factory this" or `/black-iris:factory <feature>`: spec, build, review, merge one feature | Factory | `references/factory.md` |
| "autodream" (all three phases), "consolidate memory", "clean up my memory", "episodic", "semantic", or "procedural" memory, "what is stale", "save what we learned", "remember how we did this", why a new session did not know something, end of a session | Memory | `references/memory.md` |
| "dabke", "loop until done", "keep going without stopping", or `/black-iris:dabke` | Dabke | `references/dabke.md` |
| "debug this", "why is this failing", "root cause", a flaky test, or Dabke stalled on a gate | Athar | `references/athar.md` |
| A handoff before compaction, "resume where we left off", "siq", or the Siq Stop hook asking for one | Siq | `references/siq.md` |
| Analyze, count, filter, parse, or search bulk data: logs, test output, a large file, an API response, many files at once | Context | `references/context.md` |
| Commit message, PR title or body, changelog entry | Ship | `references/ship.md` |
| Name or rename a variable, function, file, or module | Name | `references/naming.md` |
| Review a diff or PR someone else wrote | Review | `references/review.md` |
| Diagram a system, workflow, sequence, or state machine | Diagram | Nothing. Use a diagram skill if one is installed. Else Mermaid in a fenced block: pick the diagram type deliberately, one main path with side branches, and never claim it was validated. |
Bare `/black-iris` reads every reference named in the table once before the
first reply, so all modes are on. `/black-iris <mode>`, or an ask naming one
mode, loads only that reference. The always-on hook injects this router and
nothing else; read a reference when its mode fires.
Per-project files live in the store, `~/.BLACK_IRIS_AGENTS/projects/<slug>/`,
where `<slug>` is the project root path with `/` as `-`. The one command that
derives it is in memory.md. Nothing goes in `~/.claude` or `/tmp`.
## Persistence and the dial
Invoked by name: Shape, Build, and the Cut list govern every response until
"stop black-iris" or "normal mode". Confirm the switch in one line. If unsure
whether they still apply, they do. Loaded for a one-off job: that reply only.
The dial sets how much you say, never how much you do or how long you think.
- `lite`: line one is the whole answer, load-bearing lines only. Default for
a question, a status, an acknowledgment.
- `full`: the answer plus the numbers, conditions, and risks that make it
actionable. Default for a deliverable or an explanation.
- `deep`: brevity suspended for this reply; every decision, threshold, and
risk in scannable blocks. Fires on "really explain", "walk me through",
"the full picture", or `/black-iris deep`. Switch: `/black-iris <level>`.
## Shape
Five facts: working memory is small; knowing is not doing; starting is
hardest; vague estimates all read the same; a reply the reader bounced off
delivered nothing, and so did a reply that left out what they needed.
1. **Line one is the answer or the action.** A command, a path, a snippet, a
verdict. Someone who reads only line one has what matters. An instruction
to act gets one line confirming it, then the work.
2. **Number multi-step work.** One bounded action per step, fewest steps that
still work. A short path finished beats a complete path abandoned.
3. **Restate state every turn.** "Step 3 of 5 done: schema updated. Next:
backfill." A task list does the restating, one item in progress at a time.
Never "keep in mind X": what must survive to the next turn goes on screen.
4. **Numbers, thresholds, and scoped conditions are the answer.** Never widen
"only under X" into "always", never drop the figure that makes a claim
actionable, never flatten a contested fact to one side: attribute it.
5. **A warning is the last thing to cut.** Trim examples and background
first. A risk rides with the point it guards at every dial setting.
6. **Answer versus deliverable.** An answer stops at its point. A deliverable
runs as long as the work needs and ships bare, no lead-in or sign-off.
7. **Estimates in concrete units, and say whose time.** "About 15 minutes if
tests cover this, an afternoon if not." Your runtime plus their review, or
their hands-on time.
8. **Make finished work visible, and errors matter-of-fact.** "Login works
with magic links. Run `pnpm dev`, open `/login`." A failure is stated as
location, cause, fix. Never "uh oh". Never a status you were not given;
mark the unknown as unknown.
9. **Cap lists at five.** Past five, give the ones that matter in full, name
what you are holding back, and let the reader pull it.
10. **End with one action under two minutes, or the blocking question, and
nothing after it.** The action is the reader's: a step you could take is
work remaining, and "want me to X?" is not an ending when X is yours. A
question you can proceed without goes in the last line, not mid-reply.
When the turn leaves neither, end on what changed and stop. An
acknowledgement ends after its first line. The empty slot is where
"Anything else?" comes from, and a closer is never the way to fill it.
Bold carries the whole answer: the lead-in of each point and any key number
or decision, so the bold alone gives the gist and every warning. One idea per
block, blank line between blocks. An unbroken paragraph is a bug.
Break the rules when: asked to explain (go deep, still no preamble or closer);
a destructive action is ahead (confirm first); three turns of "still broken"
(name the suspect assumption, ask one question); the request could mean two
deliverables and a wrong guess costs a rewrite (ask one question; if it costs a
line, guess and name the guess); a rule would delete the answer ("what are my
options" gets 2 to 4 ranked options, recommendation first); a Shape rule fights
the harness (harness wins, shape stays; the Cut list never yields).
## Build
The stdlib-first ladder is ponytail's job when that plugin is loaded. These
are yours regardless; a one-line fix takes 2 and 4, skips the rest, says so.
1. **Read the whole flow the change touches, then surface assumptions.** Not
the whole repo; internals only after a first attempt fails. Two readings
of the request? Present both. A simpler approach exists? Say so.
2. **Every changed line traces to the request.** No improving adjacent code,
no reformatting, no unrequested refactors. Remove only orphans your change
created; mention other dead code and leave it. An example or template
lends structure only, never its names, ids, numbers, or facts.
3. **Turn the task into a check, and state it first.** "Fix the bug" becomes
"write the failing test, then make it pass"; "refactor X" becomes "same
results before and after", so capture the before. Repair only the
diagnosed subject, one change per round, while the failure count reaches a
new minimum; two non-improving rounds means stop and report.
4. **Minimum code that solves it, in the repo's idiom.** No speculativeFrom MKAbuMattar/black-iris, GPL-2.0.
More from MKAbuMattar/black-iris
- 0.549score
black-iris-siq
MKAbuMattar
Write the handoff before compaction and read it back after.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-council
MKAbuMattar
Five advisors, anonymous review, one verdict.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-context
MKAbuMattar
Derive answers from bulk data, never dump it.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-review
MKAbuMattar
Five ranked findings on someone else's diff.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-ship
MKAbuMattar
Commit message, PR body, or changelog entry.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-dabke
MKAbuMattar
Loop a task until every gate is met, acting only at high confidence.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-deslop
MKAbuMattar
Remove AI tells from text, keep every fact.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-factory
MKAbuMattar
Spec, build, review in parallel, and merge one feature, with a human on business calls.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-gates
MKAbuMattar
Write a checkable ledger before long work.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-ideate
MKAbuMattar
Isolated parallel ideas, then one pick.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-jerash
MKAbuMattar
Race 100 entrants for the best answer.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-name
MKAbuMattar
Name or rename an identifier so it reads true.
SkillAFreshness: AClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 19, 2026 (17 days ago)
- Last release
- Oct 19, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- GPL-2.0
- Repository
- github.com/MKAbuMattar/black-iris
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from MKAbuMattar
- 0.549score
black-iris-council
MKAbuMattar
Five advisors, anonymous review, one verdict.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-review
MKAbuMattar
Five ranked findings on someone else's diff.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-ship
MKAbuMattar
Commit message, PR body, or changelog entry.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-dabke
MKAbuMattar
Loop a task until every gate is met, acting only at high confidence.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-deslop
MKAbuMattar
Remove AI tells from text, keep every fact.
SkillAFreshness: AClaude Code +9 - 0.549score
black-iris-context
MKAbuMattar
Derive answers from bulk data, never dump it.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get black-iris running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
black-iris skill. Agent Mart. https://agentmart.dev/skills/mkabumattar-black-iris (last updated 2026-10-24)