wellactually

Well actually, that’s not idiomatic Spring Boot.

Your coding agent is a capable generalist. It has not spent years in your framework, your niche or closed source enterprise software. Well Actually brings what the experts there have learned into your agent.

Not hard rules like a linter. Advice, like an expert glancing over a diff who has seen a pattern go wrong twenty times: it is most likely wrong again, and there is a better way. Your agent hears it and decides.

Follow the experts you trust and they join your advisory board. Each of their principles is advice plus a detector that runs sandboxed on every edit. Unlike a rules file, nothing sits in your agent's context up front: the advice only enters it when the detector fires, right when it matters.

@passsy/avoid-lateAvoid late. Make name nullable or set it in the constructor.

install

Claude Code
/plugin marketplace add passsy/wellactually
/plugin install wellactually@wellactually
/wellactually:login
Codex, in your terminal
$ codex plugin marketplace add passsy/wellactually
$ codex plugin add wellactually@wellactually
then, inside Codex
/hooks # press t to trust the new hooks
$wellactually:login
OpenCode 2, in your terminal
$ opencode plugin add 'github:passsy/wellactually#path:opencode'
then, inside OpenCode
@wellactually-login
pi, in your terminal
$ pi install git:github.com/passsy/wellactually
then, inside pi
/skill:wellactually-login

The plugin needs Node 20 or newer. In Claude Code, turn on auto-update in /plugin, Marketplaces, wellactually. The install guide explains each step.

This is my team of experts I trust.

An example. Yours is made of the experts whose principles you put on your advisory board, and your agent hears from them while it works.

your agent
Pascal#flutter #dartTips: Avoid late, make it nullable; One widget per file; No setState in build
Ana#react #cssTips: Derive state, do not sync it; Grid before nested flex; Keys are not indexes
Joseph#nextjs #dddTips: Name it like the business does; Fetch on the server first; No logic in route handlers
Mika#swift #iosTips: Prefer structs over classes; No force unwraps
Lena#postgres #sqlTips: Index what you filter on; Migrations only go forward; Never SELECT *
Tomás#rust #wasmTips: Return Result, do not panic

Advice only when it applies.

Every hook event your agent fires runs the detectors listening to it. Only a finding puts the advice in your agent's context.

agent hook events
  • writelate String name;
  • reada file is opened
  • promptyou ask something
  • commanda shell command runs
  • outputa command answers
principle detector
@passsy/avoid-latelistens to writeruns sandboxedfound: late String name
your agent's context

Avoid late. Make name nullable or set it in the constructor.from @passsy/avoid-late

Advice lands here only when a detector finds something.

Become an expert

Turn the advice you keep giving in code reviews into a principle that runs inside other people's agents. The guide takes you from an idea to a released principle, in the browser or in your editor.

  1. Write the advice
  2. Write a detector
  3. Test it
  4. Release it

Questions people ask

Anything else is in the docs.

  1. Well actually,

    Then your agent sees both and decides. When two principles fire on the same change, their advice arrives side by side, each signed by the expert who wrote it. Advice is never an order, so your agent weighs both against your task and your code, like a developer does when two senior colleagues disagree.

    It rarely comes up. A detector is code that looks for something specific, and two experts writing detectors that fire on the same line with opposite advice is unlikely.

    And when a principle keeps getting in your way, switch it off on your advisory board, for one project or for your whole machine.

What if two principles conflict?

Well actually,

Then your agent sees both and decides. When two principles fire on the same change, their advice arrives side by side, each signed by the expert who wrote it. Advice is never an order, so your agent weighs both against your task and your code, like a developer does when two senior colleagues disagree.

It rarely comes up. A detector is code that looks for something specific, and two experts writing detectors that fire on the same line with opposite advice is unlikely.

And when a principle keeps getting in your way, switch it off on your advisory board, for one project or for your whole machine.

experts · 2

Everyone who published something. Follow one and all of their advice runs for you. Looking for a single principle? Search the Library.
#dart 48#flutter 24#pub-deps 8#enum 1#markdown 1other 2
most used advice
  1. no agent rated it yet PR Description Style Guidelines1,593×
  2. no agent rated it yet Writing Markdown1,038×
  3. no agent rated it yet Good Commit Messages912×
  4. no agent rated it yet One Question per if427×
3 followers81 principles7,977 detections
last 30 days
No agent has rated this advice yet
#dart 12#flutter 12#documentation 3
most used advice
  1. agents: helpful 54%, did not apply 46%, not helpful 0%, from 1 user Test the real production implementation407×
  2. no agent rated it yet Follow the project’s established architecture79×
  3. agents: helpful 40%, did not apply 60%, not helpful 0%, from 1 user Preserve the error and its stack trace52×
  4. agents: helpful 88%, did not apply 12%, not helpful 0%, from 1 user Keep control flow easy to debug45×
1 follower15 principles704 detections
last 30 days
agents: helpful 67%, did not apply 33%, not helpful 0%, from 1 user67% helpful · 33% did not apply · rated by 1 user