Prompt anatomy
What 1,106 prompts reveal about working with AI
February 2026
The parent article introduced the tools and showed the summary. This page digs into what the numbers actually mean. Every stat here comes from real prompt data extracted from Claude Code session logs on this machine using uroboro prompt-profile --extract.
Brevity bias
A quarter of all prompts are ten words or fewer. The median prompt is 23 words. The average is 56 — pulled up by a long tail of detailed plans and code-heavy messages. The distribution is heavily front-loaded toward short.
What do the ultra-short prompts look like? Confirmations, course corrections, and pointers:
Short prompts are load-bearing. A file path does contextual work that three sentences of description can't. An "add it to X as well" relies on shared session context. The brevity is compression. Both sides have enough context that more words would be noise.
The question split
41.5% of prompts are questions. 16.5% are imperative. The rest are contextual statements, continuations, and compound messages that defy clean classification. The gap between these numbers is wider than the parent article suggested — an earlier version of the classifier was more liberal with imperative detection.
The question rate is the headline. It means Claude Code is used as much for understanding code as for writing it. "Why is this returning nil?" and "does this service handle concurrent requests?" happen almost as often as "fix the auth bug" and "add a delete endpoint."
The 21% file path rate matters too. One in five prompts points at a specific location in the codebase. A file path compresses paragraphs of description into a few characters — instead of "the main routing configuration in the header component," just src/components/layout/Header.tsx. Direct reference over description.
How it opens
The vocabulary of prompts follows distinct patterns. The top imperative openers:
"Let's" and "we" dominate the imperative openers. Not "fix this" or "do that" — collaborative framing. The prompting style treats the AI as a pair programmer, not a subordinate. "Let's add routing" rather than "add routing." The distinction matters for how the model responds.
The top question openers tell the other side:
"Can" leads because "can you..." is the most common way to frame a request as a question. "Great," appears because responses often start with acknowledgment before pivoting to a question — "great, now can we also handle the error case?" The "i" opener is mostly "is this..." or "i see the..." patterns.
Session shapes
Not all sessions are equal. 45% of sessions are three prompts or fewer — surgical strikes. Open, direct, done. But ten sessions exceed thirty prompts, deep collaborative building sessions that can run for hours.
This bimodal distribution tells a story about two modes of work. The short sessions are targeted fixes, quick questions, single-purpose tasks. The long sessions are feature builds, deep debugging, or architectural exploration. There's no dominant mode — both patterns serve different needs.
The session arc
Within longer sessions, prompt length follows a distinct arc. Opening prompts average 58 words — enough context to set the stage. Mid-session (positions 3–6) prompts stretch to 73 words — this is where the detailed specification happens, where you describe exactly what you want after understanding the landscape. Late-session prompts (position 7+) contract back to 49 words — by then, context is established and terse corrections suffice.
Orient → Specify → Steer. The opening sets context, the middle does the heavy lifting, and the tail is course corrections. This arc mirrors how pair programming works in person: you start by explaining the problem, work through the details together, then fine-tune.
How sessions begin
The first message of each session reveals how you choose to prime a conversation. Of 125 session openers:
42% of first messages reference specific files. Sessions start with pointing, not describing. "Look at internal/distill/git.go" orients the model to a specific part of the codebase before anything else. This is higher than the overall 21% file-reference rate — first messages are twice as likely to include a file path, because the opener needs to establish scope that later messages can assume.
40% of sessions start with a question. Not a command, not a plan — a question. "What does this function do?" or "Why is this failing?" The first instinct when opening a new AI session is frequently to understand something, not to build something.
When it happens
Two distinct work blocks. The morning plateau runs 08:00–13:00 with steady output around 100–117 prompts per hour. Then 14:00 spikes to 154 — the post-lunch peak. After 15:00, a gradual taper through the afternoon. A dead zone at 19:00–21:00 (dinner, unwinding), then a small late-night burst at 22:00–00:00.
Tuesday dominates. Friday is a secondary peak — wrapping up work before the weekend. Saturday drops to 37% of Tuesday's output. Sunday nearly vanishes. This is a workweek tool with an occasional weekend side-project session.
The 19:00–21:00 dead zone is the clearest signal. It's not a gradual fade — activity drops from 52 prompts at 17:00 to 4 at 19:00. Work stops. Then the 22:00 bump suggests a separate "night mode" session — personal projects, side experiments, the kind of work that happens after the day job ends and the house is quiet.
Where the work goes
Half the prompts go to one project — a work-related web application UI. The split between paid work (webapp-ui + rpa-api = 71%) and personal projects (qryzone + uroboro = 26%) is roughly 3:1. This is a tool that's primarily used for professional development, with personal projects filling the gaps.
The long tail of five projects with single-digit percentages represents experiments, one-off explorations, and projects that might grow or might not. They account for 39 prompts total — enough to start, not enough to establish.
On the numbers
A note on classification accuracy. The prompt-profile tool uses heuristic detection — first-word matching against verb lists and phrase patterns. It's not perfect. "Can you fix this?" registers as both imperative (via "can you") and question (via "can" + "?"). "Great, now add routing" starts with "great," which isn't an imperative verb, so it misses the imperative classification despite clearly being a directive.
The parent article showed 50.7% imperative. This page shows 16.5%. The tool's classification logic was tightened between those measurements — the earlier version was more generous with what counted as imperative. Neither number is wrong. The 42% that falls into "other" in the current version is mostly compound messages, continuations, and acknowledgments-with-direction that resist binary classification.
The tool evolving its own accuracy while being used to measure patterns is part of the point. You build the instrument, you measure, you refine the instrument, you measure again. The data changes because the lens got sharper.