kramme-cc-workflow/skills/kramme:docs:solution-note/SKILL.md
Create a reusable solved-problem note in docs/solutions/ after a bug fix, migration, repeated workflow, tricky refactor, or implementation lesson. Captures problem context, failed approaches, final approach, code references, verification, and reuse cautions so future sessions can apply the pattern. Use when the lesson should outlive chat or PR context. Not for long-lived architecture decisions (use kramme:docs:adr), domain vocabulary (use kramme:docs:ubiquitous-language), feature specs, or rejected enhancement scope.
npx skillsauth add abildtoft/kramme-cc-workflow kramme:docs:solution-noteInstall 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.
Create a reusable solved-problem note in docs/solutions/<slug>.md. A solution note records what failed, what worked, when to reuse it, and when not to.
Use this skill when a completed or mostly-understood problem produced a reusable lesson:
Route elsewhere if:
/kramme:docs:adr; ADRs record decisions and alternatives, not repeatable solved-problem playbooks./kramme:docs:ubiquitous-language; glossaries define terms, not implementation lessons./kramme:docs:feature-spec./kramme:docs:out-of-scope.docs/solutions/<slug>.md from assets/solution-note-template.md.docs/solutions/ for prior solved problems./kramme:docs:solution-refresh when referenced files move, code behavior changes, verification ages, or a related bug proves the note incomplete./kramme:docs:solution-refresh after explicit user confirmation to delete or consolidate stale notes.$ARGUMENTS as the proposed title, problem summary, or source context.[a-z0-9-], collapse repeated hyphens, trim leading/trailing hyphens.MISSING REQUIREMENT and ask for a concrete problem or lesson name before writing.Read only the context needed to make the note accurate:
$ARGUMENTS first.git diff --stat, focused git diff, or changed files named by the user).ls docs/solutions/ and rg -n "<key terms>" docs/solutions/ if the directory exists.If the note would rest on unverified claims, mark them inline with UNVERIFIED: rather than presenting them as facts.
Before writing, confirm the note has these minimum ingredients:
UNVERIFIED: gap.Emit MISSING REQUIREMENT and ask for the missing item when any load-bearing ingredient is absent.
If docs/solutions/ already exists:
CONFUSION and ask whether to update that note, create a new narrower note, or stop.NOTICED BUT NOT TOUCHING with its path and why the new note remains separate.Never overwrite an existing solution note without explicit user confirmation.
assets/solution-note-template.md.docs/solutions/ if missing.TODO, angle-bracket placeholders, or invented file paths.title: human-readable note title.date: today's absolute date.status: active for reusable current notes; draft only when the user explicitly asks for an incomplete note.source: current-session, bug-fix, migration, review, incident, refactor, or another short source label.related_files: YAML list of repo-relative files, or [].last_checked: today's absolute date.docs/solutions/<slug>.md.Emit a concise PLAN: block before writing when the note will touch an existing file or when the lesson spans more than one subsystem.
If the solution note introduces or clarifies project-specific domain terms, emit an optional handoff:
NOTICED BUT NOT TOUCHING: this note introduces domain terms that may belong in UBIQUITOUS_LANGUAGE.md: <terms>
Why skipping: solution notes record repeatable solved-problem knowledge; use /kramme:docs:ubiquitous-language for canonical vocabulary.
Do not edit the glossary inside this workflow unless the user explicitly asks.
Use these markers exactly when they apply:
MISSING REQUIREMENT: the note lacks a load-bearing section or slug.CONFUSION: duplicate notes, unclear scope, or "one note or several" ambiguity.UNVERIFIED: factual claim, command result, metric, or code behavior has not been checked.NOTICED BUT NOT TOUCHING: related docs, terms, or adjacent lessons are outside this note.PLAN: multi-file or existing-note edits need an edit plan before writing.ASK FIRST: updating an existing note, renaming an existing note, or changing committed reuse guidance.Before declaring the note done, self-check:
docs/solutions/.title, date, status, source, related_files, and last_checked.docs/solutions/ already existed./kramme:docs:adr instead of being buried only in the note.tools
Requires Linear MCP. Implements one Linear issue end to end, selects applicable code-review, convention, and PR-refactor gates, runs them to bounded convergence, verifies, and optionally opens the PR and iterates on CI and review feedback until green. Use when the user wants a single Linear issue taken from implementation through a clean Pull Request. Not for implementation-only work, SIW-tracked issues, stacked PRs, existing PR updates, or post-merge rollout.
development
Reviews PR and local changes for convention drift and overcaution against documented rules and mined peer-file practice. Use for new patterns, dependencies, abstractions, or defensive complexity that departs from established practice; every finding cites evidence. Supports --inline. Not for general code quality (use kramme:pr:code-review) or spec review (use kramme:siw:spec-audit --team).
testing
Charts huge or foggy initiatives into a local `.context` decision map and resolves one typed frontier ticket per session until the work is ready for SIW or another execution workflow. Use when the route to a destination cannot fit in one agent session or parallel workspaces need coordinated planning state. Not for clear specs, ordinary issue decomposition, implementation, or Linear-native tracking.
development
Investigates a question against primary sources and saves one cited Markdown artifact. Use for reading legwork: official docs/API facts, source-code or spec checks, standards, and first-party service behavior before planning or implementation. Not for making product or architecture decisions, implementing code, broad web search, secondary blog summaries, or uncited answers.