MCPInstall

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
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads layers-observed-behaviour automatically when relevant.

  3. 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

TechniqueUse it when
Define the learning goalAlways 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 interviewsUnderstanding 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 / observationWhat users say differs from what they do — watch real work for tacit behaviour.
Diary studiesBehaviour is distributed over time or infrequent — users self-report as events occur.
Support ticket / review analysisExisting product with accumulated signal — pain points at scale without recruiting.
Analytics reviewWhat users do (not why). Complements qualitative; doesn't replace it.
Usability observationWhere 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

TechniqueUse it to
Extract observationsPull 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 groupingGroup observations by recurring situations, common motivations, shared anxieties, and workarounds.
Candidate job storiesWhen [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-flaggingWhat 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

View all →

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

2K installs

layers-intro

jamiemill/layers-skills

Framework orientation for Layers of Product Design — load this first; provides the context all other skills depend on

2K installs

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

2K installs

layers-product-strategy

jamiemill/layers-skills

Techniques for connecting user opportunities to business outcomes and solution bets, and testing the riskiest assumptions cheaply

Testing & QA2K installs

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

Security2K installs

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

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.