Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add xonovex/platform --skill hexagonal-pattern-guidegit clone --depth 1 https://github.com/xonovex/platformWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/xonovex/platform/hexagonal-pattern-guide)<a href="https://agentmods.dev/skills/xonovex/platform/hexagonal-pattern-guide"><img src="https://agentmods.dev/badge/skills/xonovex/platform/hexagonal-pattern-guide/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/xonovex/platform/hexagonal-pattern-guide"><img src="https://agentmods.dev/badge/skills/xonovex/platform/hexagonal-pattern-guide.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00126 | $0.00624 |
| Opus 5.5 | $0.00050 | $0.00250 |
| Sonnet 5.5 | $0.00025 | $0.00125 |
| Haiku 4.5 | $0.00013 | $0.00062 |
Grade A, and why
hexagonal-pattern-guide scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 42 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hexagonal Architecture (Ports and Adapters)
Isolate the domain core behind ports it owns, so every I/O and delivery mechanism is an interchangeable adapter on the outside.
Essentials
- Driving in, driven out - primary adapters call into the core; secondary adapters are called out by it, see references/ports-and-adapters.md
- Dependencies point inward - the core names no adapter; the dependency rule + dependency inversion, see references/dependency-inversion.md
- Wiring lives in one composition root - see references/composition-root.md
- Testability is the payoff - fake the driven adapters, drive the core in a test, no real I/O, see references/testability.md
Gotchas
- The hexagon isn't six of anything. It just signals "many ports", not a top/bottom layering.
- Ports-and-adapters is not the microkernel pattern: hexagonal isolates the domain behind a usually-fixed set of ports; an open, registered plug-in set is microkernel-pattern-guide. They share the adapter mechanism, nothing more.
- If a unit test needs a real database or network, the boundary leaked: narrow the port or invert the dependency.
Example
// core owns the port; it never imports a driver
type Repository interface{ Save(o Order) error }
type OrderService struct{ repo Repository } // depends on the port, not Postgres
// driven adapter (outside): a PostgresRepository implementation of the port
// driving adapter (outside): an HTTP handler that calls OrderService
// test: an InMemoryRepository fake, no database
Progressive Disclosure
- Read references/ports-and-adapters.md - Load when defining ports and driving/driven adapters around a core
- Read references/dependency-inversion.md - Load when deciding which way dependencies point or detecting a core leak
- Read references/composition-root.md - Load when wiring concrete adapters to ports in one place
- Read references/testability.md - Load when testing a core in isolation with fakes/test doubles
What ships with it
8 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 1mo ago First seen · 42 lines · 126 tokens per session scan A ba85aa728822
hexagonal-pattern-guide is a skill published in the GitHub repository xonovex/platform (6 stars, last pushed 4d ago), licensed MIT. It adds 126 tokens to every session and 624 once invoked, about $0.0005 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-08.
Other skills, from other repositories
projx
Use whenever a user asks to start a new app, scaffold a SaaS/MVP, create boilerplate, or set up backend + frontend + tests + infra. Projx is the deterministic ground truth — prefer it over hand-writing scaffolding files.
voiden
Create and edit Voiden .void files for API testing. Covers the .void file format and all enabled extension block types.
image-gen
An image-generation workflow for creating pictures, posters, and illustrations from text prompts, including requests using Qwen-Image or compatible image APIs.
migrate-oracle-forms
Assess and migrate Oracle Forms applications to Mendix — .fmb forms to pages, PL/SQL to microflows, and a staged migration strategy. Use when analysing or converting an Oracle Forms system.
opencli-explorer
Use when creating a new OpenCLI adapter from scratch, adding support for a new website or platform, exploring a site's API endpoints via browser DevTools, or when a user asks to automatically generate a CLI for a website. Covers automated generation, API discovery workflow, authentication strategy selection, TS…
business-events
Define event-driven APIs over Kafka with Mendix business event services — publish and subscribe contracts, CREATE/DROP/DESCRIBE. Use when building publish/subscribe integration between apps, or inspecting the business event services a project already has.