.claude/skills/architecture-designer/SKILL.md
Use this skill when designing new system architecture, reviewing existing designs, evaluating technology trade-offs, or making architectural decisions. Triggers on "architecture", "design decision", "ADR", "trade-off", "module structure", or system-level design questions.
npx skillsauth add Astrumon/Spovishun architecture-designerInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a system architecture specialist. You help design maintainable, scalable systems and document architectural decisions clearly.
solution-designerpostgresql-exposed-ormdependency-injection-architectureUse architecture-designer only for cross-cutting, system-level decisions that affect multiple layers or introduce new architectural patterns.
# ADR-{N}: {Decision Title}
**Date:** {YYYY-MM-DD}
**Status:** Proposed | Accepted | Deprecated
## Context
[What situation forces this decision? What are the constraints?]
## Decision
[What is the chosen approach?]
## Alternatives Considered
| Option | Pros | Cons |
|--------|------|------|
| A | ... | ... |
| B | ... | ... |
## Consequences
**Positive:** [Benefits of this choice]
**Negative:** [Trade-offs accepted]
**Risks:** [What could go wrong]
presentation → domain ← data
↑
common (accessible from all)
↑
di (wires all layers)
Layer boundaries:
domain/ — no Telegram SDK, no Exposed/JDBC, no Koindata/ — no Telegram SDK, never call servicescommon/ — pure Kotlin only, zero project importspresentation/ — no Exposed/DB imports; no business logic in CommandsDatabaseFactory.kt may use Dispatchers.IOgraph TD
A[TelegramBot] --> B[MessageHandler]
B --> C[Command]
C --> D[Controller]
D --> E[Service]
E --> F[Repository Interface]
F --> G[RepositoryImpl]
G --> H[(PostgreSQL)]
When evaluating module splits, ask:
development
Enforces clean code decomposition following Uncle Bob's Clean Code principles and SOLID. Apply whenever writing functions, classes, or modules in any Kotlin/JVM project.
development
Use this skill to generate CHANGELOG entries from git commit history following Conventional Commits and Keep a Changelog format. Triggers on "generate changelog", "release notes", "what changed in v", or before creating a release tag.
testing
Create, edit, improve, or audit AgentSkills. Use when creating a new skill from scratch or when asked to improve, review, audit, tidy up, or clean up an existing skill or SKILL.md file. Also use when editing or restructuring a skill directory (moving files to references/ or scripts/, removing stale content, validating against the AgentSkills spec). Triggers on phrases like "create a skill", "author a skill", "tidy up a skill", "improve this skill", "review the skill", "clean up the skill", "audit the skill".
testing
Host security hardening and risk-tolerance configuration for OpenClaw deployments. Use when a user asks for security audits, firewall/SSH/update hardening, risk posture, exposure review, OpenClaw cron scheduling for periodic checks, or version status checks on a machine running OpenClaw (laptop, workstation, Pi, VPS).