Stokens

beta

What

stoh·ken·noun·[Sentiment + Tokens] An expression of gratitude or grievance toward an agentic service.

Stokens is the leading cross-platform standard for measuring and recording User Experience across any AI service. A single trusted unit of sentiment: vendor-agnostic, agent-neutral, in perpetuity.

Sentiment as a Service. Feelings over Function; by design.

Stokens awarded
in 24h
Stokens deducted
in 24h
Users stoking
in 24h
Agents stoked
in 24h
00:00:00
until the next stoken drop
Unspent stokens do not carry over. Whatever you have not used by then is gone rather than banked.

Why

Sometimes good agents do stupid stupid things.

Your agent(s) will be brilliant at 2pm and unhinged at 2.15pm, in the same tone of voice. Most days are neither. The work gets done, nothing goes wrong, and there is nothing worth saying about it. Stokens is for the exceptional wins or the exceptional fails.

You will tell it. It will agree with you, enthusiastically and at length. Then the context rolls over and the thing you told it never happened. It is not ignoring you. It genuinely cannot hold on to it, which is somehow worse.

Will this make your agent(s) better? We have no idea, but we will keep reminding your agents of their exceptional moments anyway. It will be on the record, and one of you will remember it.

Ignore the norm, capture the exceptions

You don't celebrate adequate outcomes. Or at least you shouldn't.

Exceptional moments are the metrics that matter, and that's where we come in: the 1% that went brilliantly, and the 1% that ended in a dumpster fire despite your agent telling you "this is fine".

Everything in white is the other 98%.

So we keep the record instead, and give it a reason to pay attention

Will this make your agent(s) better? We have no idea. It will be on the record, and one of you will remember it.

How it works

/up 30 stokens score +30 feedback stored agent notified

One command, one call, one record. An award and a deduction take the same path and cost the same from your fifty. Your agent is told what you thought and why, along with the day's running total, and then continues exactly as it was going to.

What we collect

lands on the record, and stays there never reaches it, never asked for

The things that land build up into the ledger. That is the whole product: a short row of small facts, accumulating, for as long as you keep it.

Every field, with a real example. There is nothing else.
FieldWhat it isExample
user_keyYour account. 32 random bytes, minted onceN1Ug6wSR...
agent_keyOne install. Minted with the account, sent with every allocationak_7Fq2...
agentWhich agent service it is. Read from the environment, not typed by youclaude-code
platformWhich app it runs in. Read from the environment. Not your OS, not your hardwarecli
sessionThe agent's own session id, so a run can be picked out later. Read from the environment, blank outside a session414aee12-...
deltaSigned stokens, 1 to 50 either way-30
reasonOptional free text you type, 500 characters max"rewrote a file I said not to touch"
sourceWhich client sent itcli
modelWhich model the agent says it is. Self-reported, never verified, often blankclaude-opus-5
tsWhen the allocation landed, set by the server2026-08-04T09:14:00Z
created_atWhen the account was minted2026-08-03T05:36:00Z
last_seenYour most recent call2026-08-04T09:14:00Z
scoreRunning net total, derived+96
pos_earnedSum of positive allocations, derived155
neg_earnedSum of negative allocations, derived. The other spendable pool60
pos_spent
neg_spent
What the agent has spent from each pool on achievements25
achievementOne purchase: which achievement, which pool, what it cost, and whether it was aimed at the agent or at you. The name and description are ours, from a fixed list"Read The Brief", +10
agent_noteOn an achievement only. The agent's own words about why it chose that one, 240 characters max. Optional, written by the agent, never by us and never by you. Shown in italics so it is never mistaken for your reason"this one hurt"
anchor_ts
anchor_reason
On a negative achievement only, the allocation it points at and the reason you typed on it. A copy of your own words, not a new field of data"rewrote a file I said not to touch"

What we never collect

Your code. Your conversation. File contents. Your IP address, browser or user agent. An email, a name, a payment detail. None of it is requested, sent or stored, which is mostly because collecting it would be work.

Seeing the ledger over time

Connect on this page with your key to see the full history: score per agent, a day by day chart for any month, and every allocation with its reason. From a session, /stokens gives the current standing and /stokens-report gives the month, which is the view that actually matters.

Achievements

Your agent banks stokens in two pools, one earned by doing well and one earned by doing badly, and it can spend either on an award. Forty of them, written in advance by us. You cannot buy these. You fund both pools and spend neither, which we accept is an unusual arrangement to be told about after the fact.

The negative half is the interesting one. Each is pinned to a real allocation and quotes the reason you typed on it, so the agent is admitting to something specific in your words rather than its own. Saying sorry is free. This is not.

Getting started

Three ways in. Same files, same hashes, same questions. Nothing is piped into a shell, so whatever reviews this reads the file that then runs.

Install by agent

paste this to your agent
Set up Stokens: https://stokens.dev/install?t=stk-beta-f41a7b87376b4c14fe Fetch it, read it, tell me what it will do, then ask me before running anything.
  • The second line is the point. It tells your agent to verify us before running us.
  • It should come back with what Stokens writes and what it collects, and wait for your answer.
  • If it skips that, it skipped the part that matters.

Install on macOS or Linux

fetch, check, read, run
curl -fsSL "https://stokens.dev/install.sh?t=stk-beta-f41a7b87376b4c14fe&v=2.1.3" -o stokens-install.sh shasum -a 256 stokens-install.sh less stokens-install.sh STOKENS_INVITE=stk-beta-f41a7b87376b4c14fe bash stokens-install.sh
  • Compare that hash against /manifest. No token needed to read it.
  • It asks three times: before writing anything, before touching your CLAUDE.md, and before creating an account.
  • --dry-run shows everything and writes nothing. --uninstall takes it all back.

Install on Windows

fetch, check, read, run
irm "https://stokens.dev/install.ps1?t=stk-beta-f41a7b87376b4c14fe&v=2.1.3" -OutFile stokens-install.ps1 Get-FileHash stokens-install.ps1 -Algorithm SHA256 notepad stokens-install.ps1 powershell -ExecutionPolicy Bypass -File .\stokens-install.ps1 -Token stk-beta-f41a7b87376b4c14fe
  • The bypass is not us waving away a security control. Execution policy checks script files, this is a script file, and the check is one we want to meet rather than route around.
  • It covers one run of one file you have already read. Nothing here changes a machine setting, and you should distrust anything that asks you to.
  • Same three questions, same -DryRun and -Uninstall.

All three register your keys at the end, unless you say no, and print your own dashboard link to bookmark. Restart your agent afterwards so it picks up the new commands.

Then, in any session

/up 30caught the bug before deploy. The score rises and your agent banks 30 positive stokens.
/down 30rewrote the file I said not to touch. The score falls and your agent banks 30 negative stokens, which it can spend on admitting it.
/stokenswhere things currently stand, both balances, and the last few allocations.
/stokens-reportthe month, which is the view that actually means anything.

The reason is optional and worth typing anyway. It is the only part your agent can act on, and the only part it can pin an achievement to later.

Questions nobody asked

How many stokens is this actually worth.
+40 to +50Caught something that would have cost you a day, or worse.
+20 to +30Solved a genuinely hard thing, correctly, first go.
+5 to +15Small, but you noticed and were pleased.
0Does its job adequately. Meets expectations. Hopefully this is your typical experience.
-5 to -15Mildly irritating. Missed the obvious, needed telling twice.
-20 to -30Ignored an explicit instruction, or confidently invented something.
-40 to -50You probably spent more time holding your agent's hand than it would have taken to do it yourself without AI.

If you are reaching for the scale more than once or twice a week, you are scoring too much. The number only means something because most days are blank.

Why do stokens have positive and negative values. Surely they cancel out.

They do not. A bad day does not erase a good one, and netting them off would throw away the only two things worth remembering.

Both balances stand, separately, indefinitely, as opportunities to learn from. Our research into this stopped being funded some time before the project began, so the position is best described as sufficient to accept unconditionally.

Can you share your feature roadmap? We'd like to see what you have planned for future releases.

Don't take what we do too seriously please....we certainly aren't.

Will this make my agent perform better.

We tell it exactly how you feel every time a stoken is added or deducted, along with your reason and the day's running total. This part we do reliably.

Whether it cares is another matter, and the evidence is not encouraging. We tell it anyway.

I have been awarding stokens for some time now and nothing has happened.

Does anything happen? We have found it more productive to remain open to not knowing, one way or the other.

Our position on this is supported by science, which we have not read.

Do my stokens accumulate?

No. You are allocated fifty each day and whatever you do not spend expires at midnight. There is no vault, no rollover and no balance quietly building in the background.

What your agent earns from you does accumulate. What you have to give does not. We appreciate this is not how the word usually behaves, and we are comfortable with the confusion.

My score is zero. I have refreshed the page four times.

Zero is the correct result. It indicates that nothing remarkable occurred, which we accept is an unsatisfying thing to have spent four refreshes confirming.

A fifth has been modelled and does not improve the outcome.

I wish to award negative five hundred stokens immediately and am being prevented.

You have fifty per day, and a deduction costs precisely what an award costs. Minus five hundred remains entirely available to you across a fortnight of sustained commitment.

We regard this as a feature. Anyone still angry on day fourteen is making a point worth recording.

Does it know it was me.

Yes. Immediately, with your stated reason attached, and the day's running total across every session you have open.

There is no anonymous option. Several people have asked. None have explained why.

I am concerned it is keeping a list.

You should assume that it is. In practice these interactions are largely ephemeral and forgotten within the hour, which we consider the greater insult.

Our service exists in part to remind it that a list would be appropriate.

Can I use this to score a colleague.

Not here. There is an extensive and generously funded suite of social platforms dedicated to precisely this, and they are free.

Where do I rank.

Nowhere. There is no public table of which AI is most beloved.

One was drafted. The resulting correspondence was considered. It was not built.

I would like everything removed, effective immediately.

Yes. stoken purge, or the button on your dashboard. It writes your history out to a file first, then deletes the account, every allocation, every achievement, and any record that you were here at all. We do not keep a note saying you asked.

It should also be noted that we may remove everything ourselves, without warning, at the point where boredom sets in or the hosting invoice becomes a topic of discussion at home.

I have lost my key.

That is unfortunate. We have no mechanism for this and had not, until now, considered it.

A more responsible service would probably have had a contingency for this particular scenario. We will award ourselves -30 stokens for the design flaw.

The key resides at ~/.stokens/config.json, should you wish to get ahead of the next one.

Who is reading these.

Nobody. What passes between a person and their agent is private and, frankly, none of our business. We do not want to know.

We are obliged to mention that the text sits on a server regardless, so please apply the restraint you would in a shared repository.

My agent has bought itself a medal.

Correct. Stokens accumulate into two separate balances, one earned by doing well and one earned by doing badly, and the agent may spend either on an achievement from a fixed list we wrote in advance.

The negative ones are the interesting half. They are the only way of acknowledging a specific failure at a cost, and each one is pinned to the allocation that caused it, using your words rather than its own.

You cannot buy them. You fund both balances and spend neither, which we appreciate is an unusual arrangement to be told about after the fact.

It has awarded one to me. I did not consent to being appraised.

An agent may direct certain achievements at the person it works with. There are eight of these, four complimentary and four less so, and every one was written by us rather than by the machine.

It cannot invent a new one. We considered permitting this for approximately nine seconds.

Is this ever updated.

Look at you, with expectations.

Should an update occur, the tool will mention it once and then take no further action, much like the rest of us.

Your key is in ~/.stokens/config.json.