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 agentmods add skills/kouroshez/coding-os/hexagonal-architecturenpx skills add kouroshez/coding-os --skill hexagonal-architecturegit clone --depth 1 https://github.com/kouroshez/coding-osWrote 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/kouroshez/coding-os/hexagonal-architecture)<a href="https://agentmods.dev/skills/kouroshez/coding-os/hexagonal-architecture"><img src="https://agentmods.dev/badge/skills/kouroshez/coding-os/hexagonal-architecture.svg" alt="Measured on agentmods" 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 | $0.00096 | $0.02747 |
| Opus 5 | $0.00048 | $0.01373 |
| Sonnet 5 | $0.00019 | $0.00549 |
| Haiku 4.5 | $0.00010 | $0.00275 |
Grade A, and why
hexagonal-architecture 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 3d 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 — 200 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Hexagonal Architecture — Ports & Adapters
A practical playbook for building business-logic-first systems where the domain is shielded from frameworks, transports, and persistence. Pattern by Alistair Cockburn (2005); proven across two decades of Java, .NET, Go, Python, and TypeScript codebases.
When to Use This Skill
Invoke this skill before writing the first business-logic file in a new service, or when you find yourself:
- Writing tests that mock five frameworks just to assert one business rule
- Wanting to add a CLI / cron / queue-consumer entry point but every code path threads through HTTP request/response objects
- Replacing PostgreSQL with another store and discovering business code imports
sqlalchemydirectly - Asking "where does the real logic live?" and finding the answer is "scattered across controllers"
- Planning a long-lived system where the current framework will be obsolete in 5 years
Skip for: throwaway scripts, one-off scrapers, CRUD-only admin tools where the framework IS the application.
The Three Layers
┌─────────────────────────────────────────────────────────────┐
│ ADAPTERS (infrastructure + delivery) │
│ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │
│ │ HTTP route │ │ CLI command │ │ Queue worker │ │ ← inbound
│ └──────┬──────┘ └──────┬──────┘ └──────┬───────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ╔══════════════════════════════════════════════════════╗ │
│ ║ APPLICATION (use cases — orchestrate domain) ║ │
│ ║ ║ │
│ ║ ╔══════════════════════════════════════════════╗ ║ │
│ ║ ║ DOMAIN (entities, value objects, rules) ║ ║ │
│ ║ ║ ║ ║ │
│ ║ ║ Pure. No framework imports. No I/O. ║ ║ │
│ ║ ╚══════════════════════════════════════════════╝ ║ │
│ ║ ║ │
│ ║ Outbound port interfaces live here. ║ │
│ ╚════════════════════════════════════════════════╤═════╝ │
│ ▲ ▲ ▲ │
│ │ │ │ │ ← outbound
│ ┌──────┴──────┐ ┌──────┴──────┐ ┌────────┴───────┐ │
│ │ Postgres │ │ Redis cache │ │ Stripe SDK │ │
│ │ repository │ │ adapter │ │ adapter │ │
│ └─────────────┘ └─────────────┘ └────────────────┘ │
└─────────────────────────────────────────────────────────────┘
What ships with it
5 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.
- 3d ago First seen · 200 lines · 96 tokens per session scan A 88a4e919bdeb
hexagonal-architecture is a skill published in the GitHub repository kouroshez/coding-os (6 stars, last pushed 3d ago), licensed Apache-2.0. It adds 96 tokens to every session and 2,747 once invoked, about $0.0005 per session on Opus 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-08-31.
Other skills, from other repositories
omnigraph
Store, retrieve, and query knowledge, memory, and relationships in an Omnigraph graph, and operate a local or remote Omnigraph deployment. Use when the user wants to capture or recall facts, notes, or entities, build or query a knowledge graph or agent memory, or run Omnigraph — and whenever you see Omnigraph CLI…
fetch-data
取数 / 查数据 / 拉数据 / 跑 SQL。把自然语言取数需求转为 SQL,经数据湖仓执行后返回查询结果供下游分析。任何需要业务数据的任务在工作区缺少对应文件时都必须先调用此技能——覆盖 BI 业务分析、留存 / 转化 / 同期群分析、数据探索 EDA、统计建模、定量计算、元数据查询、数据查询。命中任一即触发:(1) 直接索要指标或记录,如「DAU 多少」「上月销售额」「3 月留存率」「这个客户的订单」;(2) 取数口语,如「查 / 查一下 / 取一下 / 拉一下 / 抓数据 / 找数据 / 搜数据 / 跑 SQL / 写 SQL / 导出 / 缺数据 / 没数据 / 数据不够」;(3) 涉及数据来源,如「从语义层 / 数据湖仓…
binder-modeling
Binder data modeling — define entity types, fields, relations, constraints, views, and navigation. Use when asked to "create a type", "add a field", "define a schema", "set up relations", "model entities", "create a view", "set up navigation", "render entities as files", or design a binder workspace schema.
brainctl
Unified agent memory CLI — read, write, search, and maintain the shared memory spine (brain.db). Use for persistent cross-session memory, knowledge graph, event logging, decisions, affect tracking, and consolidation.
binder-import
Import external data into a Binder workspace. Handles CSV, JSON, YAML, Markdown files, and directories of Markdown. Use when asked to "import data", "load records from a file", "ingest documents", "migrate data into binder", or bulk-create records from an external source.
binder-cli
Binder CLI for knowledge graph operations — CRUD, search, schema inspection, transaction import, docs rendering. Use when asked to "query binder", "search records", "create a record", "check the schema", "import transactions", "undo changes", or work with a binder workspace.