Skip to content

Very interesting project! #4

@philipmuir

Description

@philipmuir

I went down a pretty similar pathway that you have, born out of frustration in April when Claude was producing terrible results/code during all the regressions they had, to the point it was ignoring specific project rules in CLAUDE.md :/

I have settled on these:

User agents (/Users/x/.claude/agents)
    domain-cartographer · claude-opus-4-6
    go-tactical-modeler · claude-opus-4-6
    python-tactical-modeler · claude-opus-4-6
    reviewer-refactorer · inherit
    strategic-architect · claude-opus-4-6
    tactical-modeler · inherit
    test-steward · inherit
    uat-api-tester · sonnet · project memory

My hypothesis was that the LLM was trained with these books (or maybe not) but there is a lot of noise around DDD / architecture, and a lot of what the LLM was trained on via the internet is probably bad interpretations at best. So build the agent files to direct the LLM on the original authoritative source material. Then I found that distilling some specific books into Go and Python variants has helped a lot to force the LLM to use specific language conventions.

Interestingly:

  • when running code reviews the original tactical-modeler built on just DDD knowledge finds more then the language specific versions.
  • I run 3 agents post task Implementation for reviews (test-steward, reviewer-refactorer, strategic-architect) and usually find ~10 things to fix up.

I feel like the learnings in the pragmatic programmer are next - I am constantly telling these agents (and the LLM) there is no tomorrow, there is no future where all your defered issues are fixed, we do not walk past broken windows and build up tech debt, the time to fix everything is now.

DDD Agents — Usage Guide

A set of six agents that together cover Domain-Driven Design end to end. Each agent owns one kind of thinking, not one phase of work. They are deliberately split so strategic decisions cannot be crowded out by tactical ones, and tests cannot be written to match the code instead of the language.

The agents

Agent Mode of thinking Model Touches code?
Domain Cartographer Problem space — language, subdomains, glossary claude-opus-4-6 Reads only
Strategic Architect Solution space — boundaries, relationships, contracts, distillation claude-opus-4-6 Reads only
Tactical Modeler Implementation in any language — aggregates, VOs, use cases inherited Writes
Go Tactical Modeler Same as above, Go-specific idioms claude-opus-4-6 Writes
Test Steward All four test layers; UL test naming inherited Writes tests
Reviewer / Refactorer Independent review; anti-patterns; refactors inherited Blocks / refactors

All agents share _shared-operator-protocol.md as their constitution for when and how to escalate to the human operator.

...snip...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions