
layers-observed-behaviour
Techniques for planning user research and synthesising it into grounded, confidence-rated findings about what users actually do
- Installs
- 1.9K
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/jamiemill/layers-skills --skill layers-observed-behaviour- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads layers-observed-behaviour automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
/layers-observed-behaviour
Assumes /layers-intro has been loaded. This skill is a library of techniques, not a script — see "How to use these skills" there.
The observed behaviour layer is the closest we can get to reality — what users actually do, not what we think they do or wish they would. Everything above it is interpretation; this layer is the source.
It splits into two situations. Detect which applies and say so:
- Plan — no research yet; design a study.
- Synthesise — research material exists; make sense of it.
With partial research, synthesise what exists first, then plan to fill the gaps.
The decisions this layer makes
- What specific questions we most need to answer about our users
- What evidence already exists, and how reliable it is
- How to gather what's missing
- What patterns hold with confidence vs. what remains assumption
Disciplines — what keeps observation honest
- Stay close to raw data. Observations should be specific and near the source — what users said, did, felt — not summarised into conclusions.
- Ground in something seen or heard, not in team beliefs.
- Mark confidence: observed / inferred / assumed. If you mark something observed, the verbatim that supports it should be quotable in the same note — an observed claim with no quotable evidence is really inferred.
- Name research gaps explicitly rather than papering over them.
- Workarounds are signal. A need real enough to motivate improvisation is a strong one.
Techniques
To plan a study
| Technique | Use it when |
|---|---|
| Define the learning goal | Always start here. Push past "understand users better" to 2–3 specific questions — "what triggers someone to refer a friend, and what makes them hesitate." |
| JTBD interviews | Understanding triggers, motivations, anxieties. Interview about a real past experience, not hypotheticals. Guide: opening ("tell me about the last time you…"), timeline (what triggered it, what you tried), motivations (what you hoped, what worried you), closing. |
| Contextual inquiry / observation | What users say differs from what they do — watch real work for tacit behaviour. |
| Diary studies | Behaviour is distributed over time or infrequent — users self-report as events occur. |
| Support ticket / review analysis | Existing product with accumulated signal — pain points at scale without recruiting. |
| Analytics review | What users do (not why). Complements qualitative; doesn't replace it. |
| Usability observation | Where people struggle or succeed with an existing product. |
For interviews, plan synthesis up front: one observation per note, tagged with the question it speaks to, raw quotes over summaries. (6–10 qualitative interviews usually reach saturation.)
To synthesise material
| Technique | Use it to |
|---|---|
| Extract observations | Pull out concrete things users said, did, or felt — no interpretation yet. From memory, prompt: most surprising thing? what recurred? what did they struggle with unexpectedly? |
| Pattern grouping | Group observations by recurring situations, common motivations, shared anxieties, and workarounds. |
| Candidate job stories | When [situation], I want to [motivation], so I can [outcome]. Check the "When" is specific and the "want" is a motivation not a solution; mark confidence. |
| Gap-flagging | What do the observations not yet answer? These become a follow-up Plan session. |
Working with the designer
First find out what exists — interviews, recordings, tickets, analytics — and state the mode. Listen for nouns (candidate domain objects) and the natural language users use; that feeds the domain layer.
Offer the technique that fits: in Plan, the method matched to the learning goal; in Synthesise, extraction → patterns → candidate stories. Do the next useful thing, not a full battery.
Capture only the residue — key raw observations, the patterns with their supporting evidence, candidate job stories with confidence ratings, and the named research gaps.
Candidate job stories are ready to refine at /layers-user-needs.
FAQ
What does the layers-observed-behaviour skill do?
Techniques for planning user research and synthesising it into grounded, confidence-rated findings about what users actually do
How do I install layers-observed-behaviour?
Run npx skills add https://github.com/jamiemill/layers-skills --skill layers-observed-behaviour in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/layers-observed-behaviour/ (personal) or .claude/skills/layers-observed-behaviour/ (project).
Which AI agents can use layers-observed-behaviour?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is layers-observed-behaviour safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains layers-observed-behaviour?
It is published by jamiemill in jamiemill/layers-skills. It has 1,940 recorded installs.
More from jamiemill/layers-skills
layers-conceptual-model
jamiemill/layers-skills
Techniques for defining the product's objects, relationships, states, and vocabulary independently of any interface — the most load-bearing layer
layers-intro
jamiemill/layers-skills
Framework orientation for Layers of Product Design — load this first; provides the context all other skills depend on
layers-interaction-flow
jamiemill/layers-skills
Techniques for mapping interaction structure and flow — places, affordances, edge cases, and failure paths — without committing to visual form
layers-product-strategy
jamiemill/layers-skills
Techniques for connecting user opportunities to business outcomes and solution bets, and testing the riskiest assumptions cheaply
layers-surface
jamiemill/layers-skills
Techniques for auditing and deciding the surface against the layers below — vocabulary, object consistency, completeness, feedback, hierarchy, accessibility
layers-orient
jamiemill/layers-skills
Diagnostic audit across all seven layers — identifies the bottleneck layer and recommends where to focus
Popular code quality & workflow skills
grill-me
mattpocock/skills
A relentless interview to sharpen a plan or design.
improve-codebase-architecture
mattpocock/skills
Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.
handoff
mattpocock/skills
Compact the current conversation into a handoff document for another agent to pick up.
domain-modeling
mattpocock/skills
Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.
codebase-design
mattpocock/skills
Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.
diagnosing-bugs
mattpocock/skills
Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.