behavior-mapping
Capturing existing behavior as scenarios before changing it.
Skill by ayeo-io
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/ayeo-io-behavior-mapping
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
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. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/behavior-mapping
What's inside
- Skill name
behavior-mapping- Description
- Capturing existing behavior as scenarios before changing it. Load on brownfield work with no written behavior.
- License
- Apache-2.0
- Instructions
- 87 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Behavior mapping The rule behind this skill is simple: **you cannot safely change behavior you have not first written down.** On `brownfield-unmapped` familiarity the routing policy makes this a routing guardrail floor - behavior mapping runs before any new scenario, before any change. On an atomic or small change with trivial or contained risk and no domain label it is advice (`RP-ADV-002`): pin what the code does now where the change touches it with a test. This skill is how you do it well. ## What behavior mapping produces A set of Given/When/Then scenarios that describe what the code **does now** - not what it should do, not what the ticket wants, what it *does today*. These go into `acceptance-criteria.md` marked as baseline scenarios. They become: - the regression baseline - the thing the Verifier runs to prove you did not break what was working; - the starting point the new scenarios are written against; - the first time this corner of the system has been described in the shared vocabulary every role reads. ## The procedure 1. **Bound the surface.** You are not behavior mapping the whole system - only the behavior the upcoming change will touch, plus its immediate risk. Use the manifest's `labels:` and the plan's intended change site to draw the boundary. Behavior mapping too wide wastes the time the delivery approach allowed; too narrow misses the regression you are about to cause. 2. **Find the interfaces.** Identify the inputs and outputs of the bounded surface - the function signatures, the endpoints, the events, the stored state. These are where your `When` and `Then` will attach. A new user-facing surface usually wants a `ui-contract.md`, from `/compass:design`. 3. **Read behavior, not intent.** Trace what the code actually does for each input class. Resist writing what you think it *should* do - that is the new spec's job, and conflating them is the central behavior mapping mistake. 4. **Characterize with tests where the code is opaque.** When you cannot read the behavior confidently, write a *characterization test*: assert whatever the code returns now, even if it looks wrong, and let the green tell you the truth. A characterization test that documents a bug is still correct behavior mapping - it captures reality. 5. **Write the baseline scenarios.** One behavior per scenario, same quality bar as any BDD scenario (see `bdd-specification`). Name them as the current outcome. Mark them baseline. 6. **Flag the surprises.** Behavior mapping almost always uncovers behavior nobody knew about - undocumented edge cases, latent bugs, dead branches. Record each in `requirements-review.md`: is it behavior other code depends on and must preserve, or a bug to fix as part of this change? That decision is made deliberately, not by accident of what the new code happens to do. ## Behavior-mapped vs. desired - keep them separate The most important discipline here. `acceptance-criteria.md` will end up holding two kinds of scenario: - **Baseline** - what the code does now. The regression baseline. - **Target** - what the change will make it do. The new acceptance criteria. Keep them labeled and distinct. When the change ships, some baseline scenarios are *intentionally* superseded by target scenarios - that is a recorded decision, not a silent overwrite. The baseline you are *not* changing must still pass at the verify stage; that is the proof you preserved what you meant to. ## When the behavior is genuinely a mess Sometimes the current behavior is inconsistent - the same input class does different things depending on undocumented state. Map it honestly anyway: write the scenarios that capture the inconsistency. The mess, written down, is something you can decide about. The mess, undescribed, is something that will surprise you at the verify stage or in production. ## Anti-patterns - **Behavior mapping the ideal.** Writing scenarios for what the code should do and calling it behavior mapping. Now you have no regression baseline and a spec that lies about the present. - **Mapping too much.** Behavior mapping far beyond the change's risk. The delivery approach did not allow for it and it delays the actual work. - **Skipping it because "I understand this code."** Understanding it is not the bar - *it being written down* is the bar. The floor is about the artifact, not your confidence. - **Silent supersession.** Letting a target scenario quietly replace a baseline one with no recorded decision about whether that behavior change was intended.
From ayeo-io/compass, Apache-2.0.
More from ayeo-io/compass
- 0.584score
tdd-discipline
ayeo-io
The red-green-refactor cycle as Compass runs it, including what to do when a change has no natural failing test.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
adaptive-routing
ayeo-io
Reading the three scored dimensions for the CLI.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
bdd-specification
ayeo-io
Writing and checking Given/When/Then acceptance scenarios.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
compass
ayeo-io
Use Compass stages and roles to deliver a change or resume an issue, using the shared kit and instructions.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
evidence-gates
ayeo-io
What counts as gate evidence, and how to clear a gate.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
flow-management
ayeo-io
Priorities across issues, blockers and the digest.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
governance-check
ayeo-io
Checking a design against the guardrails and strategies in force.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
receiving-code-review
ayeo-io
Answering review comments: check each against the code, push back with reasons, record the outcome.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
systematic-debugging
ayeo-io
Debugging from evidence: read the failure, form one hypothesis, test it.
SkillAFreshness: A★ 1Claude Code +9 - 0.577score
compass-runtime
ayeo-io
Which command runs each stage, which agent owns it, where issue state lives.
SkillAFreshness: A★ 1Claude Code +9 - 0.577score
plan-authoring
ayeo-io
Writing a technical design and its self-review.
SkillAFreshness: A★ 1Claude Code +9 - 0.577score
worktree-multiagent
ayeo-io
Creating, isolating and integrating parallel subtasks in git worktrees.
SkillAFreshness: A★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 0
- Open issues
- 23
- Last commit (this folder)
- Oct 20, 2026 (9 days ago)
- Last release
- Oct 20, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- Apache-2.0
- Repository
- github.com/ayeo-io/compass
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from ayeo-io
- 0.584score
tdd-discipline
ayeo-io
The red-green-refactor cycle as Compass runs it, including what to do when a change has no natural failing test.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
bdd-specification
ayeo-io
Writing and checking Given/When/Then acceptance scenarios.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
adaptive-routing
ayeo-io
Reading the three scored dimensions for the CLI.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
compass
ayeo-io
Use Compass stages and roles to deliver a change or resume an issue, using the shared kit and instructions.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
evidence-gates
ayeo-io
What counts as gate evidence, and how to clear a gate.
SkillAFreshness: A★ 1Claude Code +9 - 0.581score
flow-management
ayeo-io
Priorities across issues, blockers and the digest.
SkillAFreshness: A★ 1Claude Code +9
Cite this page
behavior-mapping skill. Agent Mart. https://agentmart.dev/skills/ayeo-io-behavior-mapping (last updated 2026-10-24)