claude-code-plugin-ref…
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops;…
Applies hexagonal architecture isolating domain from infrastructure. Use when designing systems where testability and port/adapter separation are priorities.
Claude Code
$ npx -y skills add athola/claude-night-market --skill architecture-paradigm-hexagonal --agent claude-code
Codex
$ npx skills add athola/claude-night-market --skill architecture-paradigm-hexagonal -a codex -y
Cursor
$ npx skills add athola/claude-night-market --skill architecture-paradigm-hexagonal -a cursor -y
Gemini CLI
$ npx skills add athola/claude-night-market --skill architecture-paradigm-hexagonal -a gemini-cli -y
GitHub Copilot
$ npx skills add athola/claude-night-market --skill architecture-paradigm-hexagonal -a github-copilot -y
OpenCode
$ npx skills add athola/claude-night-market --skill architecture-paradigm-hexagonal -a opencode -y
Windsurf
$ npx skills add athola/claude-night-market --skill architecture-paradigm-hexagonal -a windsurf -y
name: architecture-paradigm-hexagonal role: library description: Applies hexagonal architecture isolating domain from infrastructure. Use when designing systems where testability and port/adapter separation are priorities. alwaysApply: false category: architectural-pattern tags: - architecture - hexagonal - ports-adapters - infrastructure-independence - testability dependencies: [] tools: [] usage_patterns: - paradigm-implementation - refactoring-guidance - adr-support - infrastructure-migration complexity: intermediate estimated_tokens: 1200
1. **Define Domain Ports**: Identify all interactions with the core domain. Define inbound "driver ports" for actors that initiate actions (e.g., UI, CLI, automated jobs) and outbound "driven ports" for services the application consumes (e.g., database, message bus, external APIs). Express these ports as formal interfaces. 2. **Implement Adapters at the Edge**: For each external technology, create an "adapter" that implements a port's interface. Keep the core domain entirely ignorant of the specific frameworks or libraries used in the adapters. 3. **Aggregate Use Cases**: Organize the application's functionality into services that are built around business capabilities. These services orchestrate calls to the domain through the defined ports. 4. **Implement Contract Testing**: validate that each adapter correctly honors the expectations of the port it implements. Use contract tests or consumer-driven contract tests to validate this behavior. 5. **Enforce Dependency Rules**: The most critical rule is that only adapters may have dependencies on external frameworks. Enforce this with automated architecture tests or static analysis rules.
Vocabulary for the tools and abstractions an implementation of this paradigm tends to carry. Not dependencies, and not ``tools:`` frontmatter.
aliases) and stored inside the core domain module, not in adapter directories.
adapter implementations and dependency policies.
directly reference another adapter or the core's internal implementation.
expectations before the adapter is merged.
A plugin marketplace for Claude Code. Install only the plugins you need to run git workflows, code review, spec-driven development, and autonomous agents from inside your Claude Code session.
Explain plugin, skill, command, agent, and hook mechanics used here. Use when authoring or debugging plugins. Do not use for ops;…
States load-bearing decisions, invariants, and weak points. Use when judging a design change. Do not use for gating; use…
Rebuild the dev environment: uv, Python tiers, pins, traps. Use when onboarding or toolchain breaks. Do not use for daily…
Classify, gate, and review changes. Use when landing a PR, releasing, or amending rules. Do not use for failure triage; use…
Search and record project memory (Discussions, journal, ADRs). Use before re-investigating anything. Do not use for settled…
Bind loop 'done' to unfakeable gates. Use to harden egregore/herald loops or promote completion_integrity. Not for QA gates; use…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.