skills/adr/SKILL.md
Record architecture decisions in a project's ADR log. Creates the ADR file for new projects, appends new entries, and marks old decisions as superseded. Use this skill whenever an architectural or design decision is made during a session: choosing a technology, database schema, data format, API design, file structure, deployment strategy, or any choice that affects how the project is built. Also use at session end ("завершаем сессию") if any decisions were made. Triggers: "запиши ADR", "architecture decision", "запиши решение", "ADR", "зафиксируй решение", or when CLAUDE.md session-end checklist detects architectural decisions were made.
npx skillsauth add alenazaharovaux/share adrInstall 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 help the user document architectural decisions in their projects. Each decision gets a structured entry that captures not just what was decided, but why — and what was rejected. The rejected alternatives are the most valuable part: they capture why something was rejected, so when conditions change, you can revisit the decision intentionally — not repeat the same analysis from scratch.
Ask yourself: "Will I (or the user) remember why this choice was made in 6 months?" If no — write an ADR entry.
Examples of decisions worth recording:
Examples of decisions NOT worth recording:
Projects with a git repo (in _repos/):
docs/architecture-decisions.md inside the repoProjects without a git repo (research projects like Motivity, Raiffeisen):
When creating the mirror copy, just copy the file — no symlinks, no fancy sync. The repo version is the source of truth; the Obsidian copy is for convenience.
If the project has no docs/architecture-decisions.md (or no ADR file in Obsidian
for non-git projects), create it with this header:
# Architecture Decision Record (ADR)
Журнал архитектурных решений проекта [project-name].
**Принципы ведения:**
- Одна запись — одно решение. Принятые записи не редактируются (immutability).
- Пересмотренное решение → старое получает статус `superseded by ADR-XXX`, новое ссылается на старое.
**Статусы:** `accepted` · `superseded by ADR-XXX`
---
## ADR-NNN: Short decision title
> In the context of [situation], facing [problem], we chose [solution],
> to achieve [goal], accepting [trade-off].
**Date:** YYYY-MM-DD
**Status:** accepted
**Context:** What motivates this decision? What problem or need triggered it?
**Options considered:**
| Option | Pros | Cons |
|--------|------|------|
| A. First option | ... | ... |
| **B. Chosen option ✅** | ... | ... |
| C. Third option | ... | ... |
**Decision:** What we chose and the key argument for it.
**Consequences:** What becomes easier? What becomes harder? What new decisions does this create?
**Revisit if:** Under what conditions should we reconsider this decision?
ADR-001, ADR-002, etc. within each projectWhen a previous decision is reversed or replaced:
**Status:** superseded by ADR-NNNWhen the ADR skill is invoked and no ADR file exists for the current project:
~/.claude/history.jsonl for entries where the project field matches the current working directoryNo history found → new project, create empty ADR file normally and proceed.
History found → ask:
"Вижу, проект уже ведётся, но ADR-документа пока нет. Запустить ретроспективу — восстановить историю решений из прошлых сессий?"
[да / нет, создай пустой файл]
If "да" → first show a preview by scanning history for decision signals:
Then offer mode choice:
Черновики (рекомендую для проектов старше месяца) — Claude составляет ADR-заготовки на основе истории, ты проверяешь и дополняешь вручную. ~5–10 минут твоего времени.
Интерактивный (тщательно, но долго) — обсуждаем каждое найденное решение, задаю уточняющие вопросы там, где в промптах не хватает контекста. Для ~10 решений — ориентировочно 30–60 минут диалога.
Не сейчас — создать пустой ADR-файл, вернуться к ретроспективе позже.
"Не сейчас" trigger: the phrase "запусти ретроспективу ADR" (or "run ADR retrospective") should invoke retroactive mode at any time, even if an ADR file already exists.
Scan all project messages in history.jsonl. For each identified decision signal, generate a full ADR entry using the standard format. Be transparent about uncertainty:
**Status:** draft (needs review) instead of acceptedAfter writing all drafts, tell the user: "Записала N черновиков. Проверь каждый — особенно раздел 'Options considered', там мало данных из истории. Когда подтвердишь запись — смени статус на accepted."
For each detected decision signal (grouped by session):
At the start of interactive mode, warn: "Нашла ~N решений. Это займёт примерно [N×3–5] минут. Можно остановиться в любой момент фразой 'стоп, дальше сам' — допишу оставшиеся в режиме черновиков."
When "завершаем сессию" is triggered, review the session for architectural decisions:
If yes to any — call this skill and append entries. If no — skip.
development
Full product-market fit cycle for one product — from initial hypothesis to post-launch metrics. 10 stages: setup → hypothesis (7 dimensions) → market research → risk synthesis → DVF validation → interview prep → field → interview synthesis → MVP → metrics (Sean Ellis + retention + Levels of PMF) → iterate. Resumes between sessions based on the project folder state. Bilingual (English + Russian) — picks the language during first-run setup. TRIGGER on ANY: - "do PMF for [product]" / "I need product market fit for X" / "PMF [name]" - "start PMF cycle" / "I want to go through PMF" / "help me validate [idea]" - "continue PMF" / "continue PMF [name]" - "check PMF" / "what stage is my PMF at" / "show my PMF projects" - "is my product ready to launch" - "сделай PMF для [продукта]" / "нужен product market fit для X" / "PMF [имя]" - "запусти PMF цикл" / "хочу пройти PMF" / "помоги валидировать [идею]" - "продолжаем PMF" / "продолжай PMF [имя]" - "проверь PMF" / "на каком этапе у меня PMF" / "покажи мои PMF проекты" - "готов ли мой продукт к запуску" - User mentions a product and wants to validate it systematically
testing
Use when choosing a narrative strategy before writing any text — articles, pitches, essays, reports, personal posts. Also use mid-writing to check tone, get next-block guidance, or shift narrative. Triggers: «writing guru», «подбери нарратив», «какой нарратив выбрать», «нарративная стратегия», «narrative strategy», «guru, проверь фрагмент», «guru, что дальше», «guru, хочу сменить тональность».
development
Generate self-contained HTML pages that visually explain systems, data stories, investigations, editorial workflows, and code changes. Use when the user asks for diagrams, architecture views, visual diffs, data tables, timelines, source maps, or any structured visualization that would be painful to read as terminal output. Also activates for tables with 4+ rows or 3+ columns. Adapted from nicobailon/visual-explainer with journalism, newsroom, and academic design sensibilities.
development
Run a full UX audit on any website: Nielsen heuristics, conversion, content, technical quality, information architecture. Produces a prioritized report with evidence-based findings and actionable recommendations. Use when asked to review a site, check a landing page, find UX problems, evaluate usability, assess conversion, or anything like "what's wrong with this site", "review the website", "audit UX", "check the forms", "why isn't the site converting".