Some Agent Skills
Quarkus, Python, and DDD
I've been continually improving the skills that use and am happy with the latest revisions. I recently reworked my Domain-Driven Design skills, splitting what I had into multiple, smaller skills. I did the same for the Quarkus and Python skills that I've been using.
Skills, briefly
In case you haven't used skills yet, a skill is just a directory with a SKILL.md in it. A SKILL.md is just a markdown file containing rules, workflow, examples, and instructions on when is should be used. Your agent loads it when a task matches and follows the playbook instead of improvising. Claude Code supports them natively, and the same content works fine as guidance for Codex and most other agents.
Agentic Skills for DDD
I am a fan of Domain-Driven Design (where appropriate) and have been kicking around the idea that DDD is well-suited to agentic development. I think Domain-Driven Design and agents are a good fit because of how DDD separates isolates business logic, which is the part of the app most likely to be coded by a person, from infrastructure, which agents are great at generating.
This repo is an opinionated DDD playbook split into five skills:
- ddd-foundations — the layering model: where every kind of type belongs (domain, application, infrastructure, api)
- ddd-aggregates — aggregate roots, named factories,
rehydrate(...), invariants, referencing other aggregates by ID, optimistic locking - ddd-value-objects — immutable values, constructor validation, typed IDs like
OrderId - ddd-services — application services vs. domain services, transaction ownership, event dispatch after commit
- ddd-persistence — repository interfaces in the domain layer, implementations in infrastructure, no ORM entities leaking out
The foundations skill tells the agent where things belong, value objects and aggregates tell the agent how to model the objects, services tells the agent how to orchestrate, persistence tells the agent how to cross the storage boundary safely. Each skill includes anti-patterns and a checklist, so the agent can flag boundary violations during a review in addition to generating code.
Agentic Skills for Quarkus
The Quarkus repo is more practical and covers two jobs:
- quarkus-app bootstraps and maintains Quarkus applications: the right platform version, build tool, extensions, and Java version — including Red Hat Build of Quarkus when you needed. I have had agents pull the wrong extension versions and ignore built-in functionality, and this skill addresses those problems.
- quarkus-ddd scaffolds DDD and Hexagonal Architecture components inside a Quarkus project: bounded contexts, aggregates, value objects, commands, domain events, application services, REST endpoints, and repositories, all in a Ports and Adapters structure.
The quarkus-ddd skill is obviously for use in conjunction with the general DDD skill and teaches the agent how Quarkus fits with Domain-Driven Design.
Agentic Skills for Python
The python-app skill enforces the particular stack that I've been using:
- uv
- ruff
- pytest
- mypy
I don't claim to have the best stack and am always open to checking out what's new. The python-ddd skill is obviously for use in conjunction with the general DDD skill and teaches the agent how Python fits with Domain-Driven Design.
A resemblance
The Quarkus and Python repos follow the same skeleton including specifying when to use, numbered core rules, workflow steps, canonical examples, companion-skill handoffs. Both can be used with or without the DDD skills.
A TypeScript version is in the works.
Please try them at home!
If you try them out, I'd love to hear what works and what doesn't. Issues and PRs welcome, or contact me directly!
Clone a repo, drop a skill into .claude/skills/ (or ~/.claude/skills/ to use it everywhere), and just ask for what you want in natural language.
The Picture
This picture is New York from a dinner cruise. I love New York and will be there later this month which is probably why I chose this photo.