UML-to-code plugin using the DisC (Design is Code) methodology
npx claudepluginhub mossgreen/design-is-code-pluginTransform UML sequence diagrams into working Java code using the DisC (Design is Code) methodology: first generate tests from UML, then derive implementation from the tests.
Claude Code marketplace entries for the plugin-safe Antigravity Awesome Skills library and its compatible editorial bundles.
Production-ready workflow orchestration with 79 focused plugins, 184 specialized agents, and 150 skills - optimized for granular installation and minimal token usage
Browser automation for AI agents
A methodology where design generates tests, and tests constrain AI-generated code.
In software, the real work is design. Code is the consequence.
DisC applies London-school TDD (Freeman & Pryce, 2009) to AI code generation. Mockist tests specify exact call structure, order, and arguments — leaving no room for AI interpretation. There is only one implementation that passes.
What you design is what you get.
AI code generation has two root causes of failure:
Every generation of software engineering raised the abstraction level while preserving formal notation — machine code → assembly → structured programming → OOP. Each step made intent more expressible without sacrificing precision. Natural language breaks that contract. It's expressive, but not formal.
This is not a tooling problem. It's a specification problem.
If the specification is ambiguous, everything downstream inherits that ambiguity — the tests, the implementation, the architecture. You can't review your way out of a bad contract. You can only fix it at the source.
Design is the source.
A precise design artifact eliminates interpretation before code is written. This changes where human effort belongs. Peer collaboration, architectural debate, edge case reasoning — all of it should happen at design time, not in code review. Reviewing code that AI generated from an agreed design is spot-checking. Reviewing code that AI generated from a natural language prompt is archaeology.
DisC works with any design representation that meets this precision bar. UML sequence diagrams are the current supported format.
The key mechanism:
Design Artifact (UML Sequence Diagram, etc.)
|
v
Phase 1: Design → Tests
|
v
Phase 2: Tests → Implementation (Implementation is driven by tests not the design)
|
v
Working Code (Reviewed designs don't need code review)
DisC constrains interaction structure — how components collaborate. It does not constrain non-functional properties: performance, readability, or error handling style.
Two kinds of components behave differently:
Algorithmic code — ML pipelines, trading algorithms, game engines — falls outside the methodology entirely.
| What | Who | Why |
|---|---|---|
| Component interactions (UML arrows) | Developers | Architecture decisions require engineering judgment |
| Pure function test cases (decision tables) | Product team | Business rules require domain knowledge |
| Implementation | AI | Mechanical — forced by the tests |
Currently supports Java with UML sequence diagrams (PlantUML format). Support for additional languages and design formats is planned.
/disc 01_hello-world.puml in Claude Code sessionclaude plugin marketplace add mossgreen/design-is-code-plugin
claude plugin install design-is-code@mossgreen-design-is-code --scope user
design/ folder/design-is-code:disc <filename> in Claude CodeVerify it's working: open Claude Code in any project and run /design-is-code:disc.
Third-party marketplaces have auto-update disabled by default. To manually pull the latest version:
/plugin marketplace update mossgreen-design-is-code