# Behavior Characterization

> Trigger: behavior characterization, observable behavior. Record what legacy code does today.

- Skill: `andresnator/behavior-characterization` (Agent Skill)
- Install (CLI): `npx skillmds@latest add andresnator/behavior-characterization`
- Raw SKILL.md: https://api.skillmd.com/api/skills/andresnator/behavior-characterization/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: Apache-2.0
- Author: andresnator (https://skillmd.com/u/andresnator)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/andresnator/behavior-characterization

---


# Behavior Characterization
Detect what the system does today without judging whether it is ideal.

## Observable signals

- Return values.
- Exceptions and error codes.
- Side effects and state changes.
- Persistence writes/reads.
- Published events.
- Relevant logs.
- External calls.
- Edge conditions and branch behavior.
- Implicit business rules.

Every behavior claim needs code evidence or must be marked as a hypothesis.

## Characterization method

- Write an assertion expected to fail, run it, and read the actual value from the failure message; anchor that value as the expected result. The test documents what the code does, not what it should do.
- Characterize only the zone the plan will touch (targeted characterization), not the whole unit by default.

## Bugs found while characterizing

Characterize the bug as-is: the test anchors today's wrong output. Never fix it in the same step — record it, finish the safety net, and schedule the fix as a follow-up behavior change to run with the net in place.

