Skip to main content

The utopia-skills ecosystem

utopia_hooks gives a codebase a fixed shape: Screen, State, View, with state and logic in known places. That is the architecture. On its own, an architecture only constrains the humans who already know it. A coding agent that has never seen your conventions will write past them on the first prompt.

The utopia-skills ecosystem is the layer that closes that gap. It is the agent layer: utopia_cli plus a set of Claude Code skills that carry the same discipline the architecture encodes, so an agent writing in your repo follows the conventions instead of averaging its training data. In the operating model UtopiaSoftware ships with, the architecture is the P, S, and V; the skills are the A. The packages and the skills are peers, two halves of one stack.

Encoded discipline, not a blank prompt

The point of a skill is that an agent does not improvise off a blank prompt. Left to itself, an agent asked to add a screen produces an average of every Flutter screen it has seen. With the skill loaded, it reads a published convention set first: the Screen/State/View split as a rule, the hook catalog, the non-negotiable rules, and a self-audit gate it runs against its own output. The discipline that lives in a senior engineer's head is written down, and every agent applies the same version of it.

That is what makes the output uniform. The screen an agent writes on Monday and the screen it writes a month later are the same shape, because both were written against the same encoded rules rather than two different best guesses.

Radical transparency

The skills are open source, published on a Claude Code marketplace. A reviewer can read exactly how the agents are guided before trusting their output, and the same skill a team adopts during an engagement is the one it keeps afterward. The conventions are not a vendor's private prompt; they are files anyone can read, the same files the agent reads.

The catalog

The ecosystem is one CLI and a set of skills, installed from the Utopia-USS/utopia-flutter-skills marketplace.

utopia_cli - the deterministic backend the skills run on. One command scaffolds a Utopia Flutter app; from then on it keeps agents honest. It inspects a project (utopia describe), scaffolds the Screen/State/View triad (utopia add screen), validates conventions per edit (utopia hooks analyze), and audits a repo (utopia doctor). The same rule engine serves Claude Code's edit hook, shell agents, an MCP server, and CI, so guidance and enforcement never drift apart. JSON-first, published on pub.dev.

The marketplace offers five plugins:

  • utopia-hooks - turns an agent into a utopia_hooks expert: the Screen/State/View pattern, the full hook catalog, global state, async and pagination, the non-negotiable rules, and a self-audit gate machine-checked through utopia_cli. See the skill page.
  • utopia-cms - builds admin panels and back-office UIs on utopia_cms (Firebase, Supabase, Hasura, or any GraphQL backend) from a small config instead of a hand-rolled table plus service plus loading triplet.
  • utopia-ai-arch - sets up and maintains a project's .claude/ layer itself: agents, skills, slash commands, enforcement hooks, settings, and the architecture decision log.
  • utopia-hooks-migrate-bloc - migrates a BLoC or Cubit codebase to utopia_hooks one screen per commit, with a fixed exit gate and automated sub-agents.
  • utopia-dart-lsp - gives Claude Code live analyzer diagnostics, hover, goto-definition, and find-references for Dart and Flutter, with FVM awareness.

How it fits with the library

Read this page as the companion to the AI-friendly page. That page argues the library is built so an agent has the least to infer. This one is about what supplies the rest: the skills hand the agent the conventions the library does not state in its own type signatures, and utopia_cli confirms the result against the same engine CI uses. The library makes correct code easy to write; the agent layer makes the agent write it.

Installation

Activate the CLI, then add the marketplace and install the skills you need:

dart pub global activate utopia_cli
/plugin marketplace add Utopia-USS/utopia-flutter-skills
/plugin install utopia-hooks@utopia-flutter-skills

Install any of the other four plugins the same way, swapping the plugin name (for example /plugin install utopia-cms@utopia-flutter-skills). The skill page covers the utopia-hooks plugin in detail.

See also



Crafted for you by UtopiaSoftware 👾