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 khalilbenaz/claude-skills-collection --skill clean-architecture-guidegit clone --depth 1 https://github.com/khalilbenaz/claude-skills-collectionWrote 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/khalilbenaz/claude-skills-collection/clean-architecture-guide)<a href="https://agentmods.dev/skills/khalilbenaz/claude-skills-collection/clean-architecture-guide"><img src="https://agentmods.dev/badge/skills/khalilbenaz/claude-skills-collection/clean-architecture-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/khalilbenaz/claude-skills-collection/clean-architecture-guide"><img src="https://agentmods.dev/badge/skills/khalilbenaz/claude-skills-collection/clean-architecture-guide.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector warn
SkillSpector: 1 finding, up to medium
These are SkillSpector’s own severities. On a checked sample its high-severity flags on skills were ~96% false positives — a documented command, a public API, a “never do X” rule — so we show them as a caution to read, not a verdict. Why →
- medium MCP Rug Pull · line 235 npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.Fix: Pin the version: npx @scope/[email protected]
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.00063 | $0.01914 |
| Opus 5 | $0.00032 | $0.00957 |
| Sonnet 5 | $0.00013 | $0.00383 |
| Haiku 4.5 | $0.00006 | $0.00191 |
Grade A, and why
clean-architecture-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 9d 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 — 237 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Clean Architecture Guide
Critères de décision : quand l'appliquer
| Signal | Recommandation |
|---|---|
| CRUD simple, faible logique métier | Non — over-engineering garanti |
| Logique métier complexe, longue durée de vie | Oui — justifié |
| Plusieurs canaux d'entrée (API REST + CLI + message queue) | Oui — ports & adapters |
| Équipe > 3 devs, domaines bornés distincts | Oui — séparation forte |
| Prototype / MVP court terme | Non — préférer une architecture plate modulaire |
Workflow en étapes
1. Modéliser le domaine (cercle intérieur)
Pas de framework, pas de DTO externe, pas de ORM mapping ici. Uniquement des classes métier pures.
// Domain/Entities/Order.cs (.NET)
public class Order
{
public Guid Id { get; private set; }
public Money Total { get; private set; }
public OrderStatus Status { get; private set; }
public void Confirm()
{
if (Status != OrderStatus.Pending)
throw new DomainException("Order already processed.");
Status = OrderStatus.Confirmed;
AddEvent(new OrderConfirmedEvent(Id));
}
}
Checklist domaine :
- Zéro
usingvers des frameworks (EF, ASP.NET, NestJS…) - Value Objects pour les concepts sans identité (
Money,Email) - Domain Events pour les effets de bord métier
- Validations métier dans les entités, pas dans les controllers
2. Définir les ports (interfaces)
Les ports sont des contrats dans la couche Application ou Domain. Ils décrivent ce dont on a besoin, pas comment c'est implémenté.
// Application/Ports/IOrderRepository.ts (TypeScript)
export interface IOrderRepository {
findById(id: string): Promise<Order | null>;
save(order: Order): Promise<void>;
}
export interface IPaymentGateway {
charge(amount: Money, token: string): Promise<PaymentResult>;
}
3. Implémenter les Use Cases (Application Services)
Un use case = une classe, une méthode publique, un résultat.
// Application/UseCases/ConfirmOrder/ConfirmOrderUseCase.ts
export class ConfirmOrderUseCase {
constructor(
private readonly orders: IOrderRepository,
private readonly payment: IPaymentGateway,
private readonly events: IEventBus,
) {}
async execute(cmd: ConfirmOrderCommand): Promise<void> {
const order = await this.orders.findById(cmd.orderId);
if (!order) throw new NotFoundException('Order not found');
order.confirm();
await this.payment.charge(order.total, cmd.paymentToken);
await this.orders.save(order);
await this.events.publish(order.pullEvents());
}
}
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.
- 9d ago First seen · 237 lines · 63 tokens per session scan A 8ee0c8f5a9c8
clean-architecture-guide is a skill published in the GitHub repository khalilbenaz/claude-skills-collection (22 stars, last pushed 19d ago), licensed MIT. It adds 63 tokens to every session and 1,914 once invoked, about $0.0003 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-09-03.
Other skills, from other repositories
api-patterns
API design: naming, versioning, pagination, idempotency, OpenAPI, error contracts and safe retries. Triggers: API design, REST, GraphQL, OpenAPI, Swagger, error response, HTTP status, rate limit.
csharp-patterns
C#/.NET: LINQ, async/await, DI, records, nullable refs, ASP.NET Core, EF Core, MediatR. Triggers: C#, .NET, dotnet, ASP.NET, EF Core, LINQ, record type, IServiceCollection.
java-patterns
Java: Spring Boot, CompletableFuture, records, sealed types, JPA/Hibernate, virtual threads. Triggers: Java, Spring, JPA, Hibernate, Maven, Gradle, virtual thread, sealed class.
medplum-rules
Medplum (FHIR healthcare) coding rules: style, patterns, security, testing. Triggers: medplum.config.mts, medplum.config.ts, FHIR, Medplum, Bot, Subscription, Questionnaire.
api-design
REST API contract designer and reviewer. ALWAYS use when designing new endpoints, reviewing existing API contracts, planning API versioning, or standardizing error models. Covers resource modeling (URL/naming), HTTP method semantics, status code selection, error model consistency, pagination/filtering/sorting…
kafka-event-driven-design
Kafka event-driven architecture designer and reviewer, at the application/client layer. ALWAYS use when designing, reviewing, or troubleshooting how a service produces or consumes Kafka events — topic and partition-key design, producer and consumer client configuration, consumer group topology, event schema definition…