kramme-cc-workflow/skills/kramme:code:source-driven/SKILL.md
(experimental) Ground framework and library decisions in official documentation with explicit citation. Use when touching any external framework, library, CLI tool, or cloud service — especially recent versions where training data may be stale. Fetches via Context7 MCP or direct URLs, implements against documented patterns, and cites deep links with quoted passages when decisions are non-obvious.
npx skillsauth add abildtoft/kramme-cc-workflow kramme:code:source-drivenInstall 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.
Ground framework and library decisions in official documentation. Training data goes stale silently — a pattern that was idiomatic two versions ago is often deprecated, renamed, or actively harmful today. This skill turns "I think I remember how this works" into an explicit workflow: detect the stack, fetch the current docs, implement against them, and cite what you used so a reviewer can check your work.
kramme:code:migrate.Skip for: generic programming concepts, internal project code, and well-established language-level features that haven't changed in years.
Read whichever of these exist:
package.json (Node/JS/TS)composer.json (PHP)requirements.txt / pyproject.toml / Pipfile (Python)go.mod (Go)Cargo.toml (Rust)Gemfile (Ruby)pom.xml / build.gradle (Java/Kotlin)Extract the libraries in play and their pinned versions. Then emit:
STACK DETECTED: <framework> <version>, <library> <version>, ...
Versions matter — React 18 and React 19 have materially different APIs.
If none of these files exist (global CLI tool, unversioned cloud service, ad hoc script), ask the user for the framework and version. If they can't supply one, emit UNVERIFIED rather than guessing.
Try Context7 MCP first if it's connected in the current harness (mcp__context7__resolve-library-id → mcp__context7__query-docs). It returns version-matched documentation directly.
If Context7 MCP is unavailable or doesn't cover the library, fall back to the harness's web-fetch capability (e.g., WebFetch) against direct URLs from the Source Hierarchy in references/source-hierarchy.md. Be precise — fetch the exact page you need, not the homepage.
If no fetch capability is available at all, emit UNVERIFIED instead of implementing from memory.
If two authoritative sources disagree, emit:
CONFLICT DETECTED: <source A> says X; <source B> says Y
Resolution: <which you followed and why>
Use the patterns the docs describe. If you cannot find documentation for a claim you need to make, stop and emit:
UNVERIFIED: <the claim that has no source>
Do not proceed silently with unverified claims and do not paper over them with a disclaimer. Either find a source, or surface the gap and ask.
Disclaimers don't help; flag or verify. Saying "this might be outdated" does not make the code correct — it just shifts the bug forward. Flag it with UNVERIFIED so a reviewer can see it, or go find the source.
For any non-obvious decision, include in the commit message, PR description, or inline comment:
Citations let a reviewer re-derive your decision. If they can't, the citation isn't doing its job.
Fetch the exact page, not the neighborhood.
Imprecise fetches return pages of navigation and marketing; precise fetches return the answer.
STACK DETECTED — emitted after the DETECT step; anchors every subsequent decision to a specific version.CONFLICT DETECTED — emitted when two authoritative sources disagree. Name both sources and the resolution.UNVERIFIED — emitted when a claim cannot be source-backed. Blocks silent passage of guesswork.kramme:code:migrate — version migrations are the highest-value use case for this skill. The migration target version is the stack you need current docs for.These are the lies you will tell yourself to skip the source step. Each one has a correct response:
STACK DETECTED and at minimum skim the changelog.UNVERIFIED or verify.CONFLICT DETECTED and name your resolution. Silent picks are unreviewable.If you notice any of these, stop and re-ground:
UNVERIFIED markers accumulating without being resolved before the PR opens.CONFLICT DETECTED marker.Before declaring done, ask one question: would a reviewer who follows each citation arrive at the same code you wrote? If not, fix the gap — usually an unresolved UNVERIFIED, a CONFLICT DETECTED with no recorded resolution, or a citation that points at a page that doesn't actually say what you claim.
development
Compare an existing PR's title and body against the actual branch diff and report drift — false claims, missing major changes, stale scope, missing risk callouts. Use after pushing changes to a branch with an open PR, or before requesting review. Read-only by default; add --fix to delegate to kramme:pr:generate-description for an updated description. Complements kramme:pr:code-review (which checks description accuracy as one signal among many code-quality checks) by being a fast, focused, single-purpose check that runs in seconds.
tools
Reviews plugin skills for focused scope, progressive disclosure, portability, safety, retry behavior, and documentation quality. Use when auditing a SKILL.md, skill directory, or proposed skill text against skill-authoring standards. Not for creating new skills, editing skills, or reviewing ordinary application code.
tools
Reviews recent agent session transcripts to find repeated manual workflows or repeated user asks, then proposes and optionally scaffolds only useful new skills or custom subagents. Use when the user asks to inspect recent sessions, find automation opportunities, or create reusable workflows from repeated work. Not for summarizing one session, general retrospectives, or codebase refactoring.
data-ai
Remove all DONE issues and renumber remaining issues within each prefix group. Not for editing live issue content, archiving still-open issues, or moving issues between prefix groups.