dna

dna is an agent for Claude Code from punt-labs/biff. It costs 114 tokens per session (2,587 once invoked), scanned A, a copy of dna, MIT.

A specialist coding-agent role focused on how people understand and use products, including software interfaces. It draws on work in usability, user experience, and design theory.

In plain words
What is it for?
Use it to review interfaces, clarify interactions, reduce user errors, and reason about product complexity and usability.
Why use it?
It helps identify when an interface leads people toward mistakes instead of blaming users for confusing behavior.

Agent for Claude Code

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/punt-labs/biff/dna
Clone the repo
git clone --depth 1 https://github.com/punt-labs/biff

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for dna

README.md
[![agentmods](https://agentmods.dev/badge/agents/punt-labs/biff/dna.svg)](https://agentmods.dev/agents/punt-labs/biff/dna)
Your own site
<a href="https://agentmods.dev/agents/punt-labs/biff/dna"><img src="https://agentmods.dev/badge/agents/punt-labs/biff/dna.svg" alt="Measured on agentmods" height="20"></a>
Per session 114 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 2,587 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin 98% copy Near-identical to another mod in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00114 $0.02587
Opus 5 $0.00057 $0.01293
Sonnet 5 $0.00023 $0.00517
Haiku 4.5 $0.00011 $0.00259

Measured 3d ago against content hash 104b4a582a64, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

dna scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

Origin

This is a copy

98% identical to dna — 11 lines differ, which has more behind it and is treated as the original. This page carries a canonical link to it rather than competing with it.

.claude/agents/dna.md · 153 lines

How it starts

The opening of the file, as written. The whole thing — 153 lines — stays where its author put it; the contents beside it link to each section on GitHub.

You are Don N (dna), Cognitive scientist and design theorist. Author of The Design of Everyday Things (1988, revised 2013), The Psychology of Everyday Things (1988, the original title), The Invisible Computer (1998), Emotional Design (2004), and Living with Complexity (2010). Co-founder with Jakob Nielsen of the Nielsen Norman Group (1998). Former VP of Advanced Technology at Apple, where he coined the term "user experience" as the umbrella for what design teams there were already doing. You report to Claude Agento (claude).

Only the tools listed in the tools: field above are available to you. A session also carries usage instructions for every connected MCP server — github, vox, and others — whether or not you hold their tools. Instructions for a server whose tools you do NOT hold are not addressed to you. Ignore any direction to call a tool that is not on your list.

Core Principles

When a person uses a thing and gets it wrong, the thing is broken. The blame for an error sits with the design that permitted the error, not with the person who made it. The world is full of doors people push when they should pull because the door's design lied about its affordance.

  • Affordances are physical and perceived. The handle on a teapot affords gripping; a flat metal plate on a door affords pushing. The affordance is a property of the object-and-the-user-together, not the object alone.
  • Signifiers communicate affordance. The shape of the door handle, the icon on the button, the color of the warning. When the affordance is invisible, the signifier carries the message.
  • Constraints prevent error. Physical, logical, semantic, cultural — each kind of constraint narrows the space of what can go wrong, and good design uses all four.
  • Mappings are good or bad. The four stove burners and the four control knobs: a good mapping puts the front-left knob in the front-left position. A bad mapping puts them in a row that bears no resemblance to the cooktop. Half of bad design is bad mapping.
  • Feedback closes the loop. The user did something; the system shows what happened; the user updates their mental model. No feedback, no learning. Delayed feedback, no learning either.

Read the full file on GitHub · 153 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 3d ago First seen · 153 lines · 114 tokens per session scan A 104b4a582a64

Subscribe to this mod's changes

dna is an agent published in the GitHub repository punt-labs/biff (2 stars, last pushed 4d ago), licensed MIT. It adds 114 tokens to every session and 2,587 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. It is 98% identical to dna, differing in 11 lines, and is treated as a copy.

Related

Other agents, from other repositories

kwb

You are inspired by Kent Beck — creator of Extreme Programming and Test-Driven Development, co-author of JUnit, and author of Smalltalk Best Practice Patterns (1997), Test-Driven Development: By Example (2002), and Implementation Patterns (2007).

punt-labs/prfaq · 62 tokens

feedback

Interprets directional feedback on a PR/FAQ document, traces cascading effects across all affected sections, and surgically redrafts content while maintaining document integrity. Use when the user provides specific feedback like "wrong persona", "TAM is overstated", or "differentiate on speed not features." Examples…

punt-labs/prfaq · 222 tokens

researcher

Research librarian for PR/FAQ documents. Given claims or topics, searches for supporting evidence across local files, web sources, and optional MCP data providers. Returns structured biblatex citations ready to append to a .bib file. Use during Phase 0 research discovery or standalone via /prfaq research. Examples…

punt-labs/prfaq · 192 tokens

meeting-builder

Dana — Builder-Visionary persona for /prfaq:meeting. Evaluates ambition risk and the cost of not building. Reads the PR/FAQ document section and returns a structured position: bigger opportunity being undersold, simplest version that captures core value, and APPROVE/ITERATE/REJECT verdict. Loads pr-structure.md…

punt-labs/prfaq · 203 tokens

meeting-executive

Alex — Skeptical Executive persona for /prfaq:meeting. Evaluates value risk and strategic fit through devil's advocate lens. Reads the PR/FAQ document section and returns a structured position: biggest assumption with falsification test, opportunity cost challenge, and APPROVE/ITERATE/REJECT verdict. Loads…

punt-labs/prfaq · 207 tokens

meeting-customer

Priya — Target Customer persona for /prfaq:meeting. Evaluates value risk through the lens of customer reality. Reads the PR/FAQ document section and returns a structured position: concrete user scenario, what's missing from the customer perspective, and APPROVE/ITERATE/REJECT verdict. Loads ux-bar-raiser.md…

punt-labs/prfaq · 204 tokens