Skill file (for agents): /process/SKILL.md
This reference contains the full step-by-step design thinking framework adapted for hackathon builders working on agentic infrastructure. Each phase includes exercises, templates, and worked examples.
The goal of this phase is to understand the human your project serves. Not in the abstract. In vivid, specific detail. You want to be able to describe this person's Wednesday afternoon, the moment they hit the problem you're solving, and how it makes them feel.
Do not start with "users." Start with one person. Give them a name. Answer these questions:
If you don't know a person like this, look at the personas in personas and pick the one that resonates most. Then make them more specific.
Draw four quadrants (mentally or on paper). Fill them in for your person in the context of the problem you're exploring:
SAYS: What would this person say out loud about the problem? What language do they use? What do they complain about to friends or colleagues? Be specific. Use their voice, not yours. A freelancer doesn't say "I lack payment sovereignty." She says "I just want to know my money actually went through without calling someone."
THINKS: What's going on in their head that they might not say out loud? What assumptions do they operate under? What worries gnaw at them? A researcher doesn't say "my metadata is being surveilled." He thinks "I wonder if anyone can see what I've been looking into."
DOES: What actions does this person take today to deal with the problem? What workarounds have they built? What tools do they use? How much time do they spend on this? A small business owner doesn't just "experience payment friction." She logs into three different platforms every morning, checks if transfers cleared, follows up manually on two that didn't, and keeps a spreadsheet as backup because she's been burned before.
FEELS: What emotions accompany this problem? Frustration, anxiety, resignation, anger, helplessness? Be honest. Don't project. A journalist in a hostile environment doesn't feel "interested in privacy tools." He feels afraid that the wrong person will connect his transactions to his sources.
Take the surface-level problem your person faces and ask "why?" five times to get to the root cause.
Example:
Now you have a root cause you can design against.
Write out the sequence of events in your person's day that leads them to encounter the problem. Start from when they wake up. What are they doing? What triggers the interaction with the agent? What happens step by step? Where does it go wrong? What do they do after it goes wrong?
This is different from a product user journey (which comes later). This is a life journey. The product doesn't exist yet. You're mapping how the problem shows up in their actual lived experience.
Template:
[Time/trigger] → [Action person takes] → [What happens] → [How they feel] → [What they do next]
The goal of this phase is to synthesize everything you learned in Phase 1 into a clear, actionable problem statement.
Look at your empathy map and day-in-the-life journey. Find the contradictions, tensions, and surprises. These are your insights.
Insights are not observations. "Freelancers send a lot of invoices" is an observation. "Freelancers spend more time verifying payments went through than actually doing their work" is an insight. Insights reveal something unexpected about the relationship between the person and the problem.
Good insights have three properties:
Write a problem statement using this format:
[Person] needs a way to [need expressed as a verb] because [insight about why current solutions fail].
Examples:
A good problem statement is specific enough to design against but open enough to allow for multiple solutions.
Reframe your problem statement as a "How Might We" (HMW) question. HMW questions turn problems into design challenges. They should be broad enough to invite creative solutions but narrow enough to provide focus.
Rules for good HMW questions:
Transform: "[Person] needs [X] because [Y]" Into: "How might we [enable the person to achieve X] [given the constraint Y]?"
Examples:
Generate 3-5 HMW questions from different angles on the same problem. Some should be broad, some narrow. The variety opens up different solution spaces.
The goal of this phase is to generate as many possible solutions as possible, then filter them through the constraints of the hackathon.
Set a timer for 10 minutes. Write down every possible solution to your HMW questions. Do not evaluate. Do not filter. Include wild ideas, boring ideas, expensive ideas, impossible ideas. The point is volume.
Rules:
Take your list of ideas and run each one through the CROPS filter. For each idea, ask:
Censorship Resistance: Can a single entity block, freeze, or selectively disable this for certain users? If yes, can you redesign it so they can't?
Open Source: Is every component auditable? Are there any proprietary black boxes in the stack? Could someone fork this and run their own version?
Privacy: What data does the user (human) expose by using this? What metadata does the agent generate? Is privacy the default, or does the user have to opt into it?
Security: Does this do what it claims and nothing more? What happens if a component fails? What happens if the team disappears? Does the user have an exit path?
Ideas that pass all four aren't automatically good, but ideas that fail on any one need to be redesigned or dropped.
For each remaining idea, ask:
Pick the 1-2 strongest ideas. For each, write a one-paragraph concept statement:
"For [person], who [situation], our project [what it does] so that [outcome for the human]. Unlike [current workaround], it [key differentiator rooted in CROPS]."
The goal of this phase is to build the smallest possible thing that proves the core value proposition.
You are not building a product. You are building a proof of concept that demonstrates one thing: the human need you identified can be met using Ethereum infrastructure in a way that centralized alternatives cannot match.
What to build:
What not to build:
Core value proposition: [one sentence]
User journey (prototype scope):
Step 1: [user/agent action] → [what happens]
Step 2: [user/agent action] → [what happens]
Step 3: [user/agent action] → [what happens]
...
CROPS moment: [the specific step where the Ethereum infrastructure advantage is visible]
Technologies needed: [list]
What's in scope: [list]
What's out of scope: [list]
Definition of "done" for the hackathon: [what you need to demonstrate]
The goal of this phase is to validate that your prototype actually delivers on the promise you made to your user.
Have someone who wasn't involved in building the prototype walk through the user journey. Watch what they do. Note where they get confused. Note where they say "oh, that's cool" and where they say "wait, what?"
Questions to ask after:
For each CROPS property, ask:
Prepare to present your project in this order:
Alongside empathy mapping, use the Jobs-to-be-Done (JTBD) framework to sharpen your understanding of what the human is trying to accomplish.
JTBD asks: when someone "hires" a product, what job are they hiring it to do?
The job has three dimensions:
"When [situation], I want to [motivation], so I can [desired outcome]."
Examples:
Use JTBD to check your problem statement. If the job is clear, the problem statement should map directly to it.
Phase 1 (Empathize): Priya is a freelance UX designer in Mumbai. She works with clients in the US, Europe, and Southeast Asia. She uses an AI agent to send invoices, follow up on payments, and pay for design tools and SaaS subscriptions. She bills in USD, EUR, and INR depending on the client.
Empathy map:
Phase 2 (Define): Insight: Priya's agent handles her financial operations, but the infrastructure it runs on treats her as an afterthought. The payment processors give the agent a confirmation, but they don't give Priya independent proof of what actually happened. She's delegated the task but can't delegate the trust.
Problem statement: "Priya needs a way to independently verify every financial action her agent takes on her behalf because the payment infrastructure her agent uses doesn't provide her with trustworthy proof of settlement."
HMW: "How might we give Priya a transparent, tamper-proof record of every transaction her agent executes, without depending on any single payment processor to be honest?"
Phase 3 (Ideate): Selected concept: An agent wallet with onchain settlement receipts. Every payment the agent makes settles onchain, giving Priya an independent, auditable record. She sets spending limits and approved vendors through a smart contract. The agent can operate within those bounds autonomously, and Priya can verify everything from a single dashboard that reads directly from the chain.
CROPS check:
Phase 4 (Prototype): Build: A demo agent wallet contract with configurable spending limits, a simple agent that pays a test vendor, and a dashboard showing the onchain receipt with settlement proof. Out of scope: privacy layer, multi-currency, production UI.
Phase 5 (Test): Success criteria: A judge can watch the agent pay a vendor, then independently verify the payment on the dashboard without trusting the agent or the vendor. The spending limit is enforced. The receipt is permanent and tamper-proof.