kramme-cc-workflow/skills/kramme:verify:run/SKILL.md
Run verification checks (tests, formatting, builds, linting, type checking) for affected code based on the project's configuration.
npx skillsauth add abildtoft/kramme-cc-workflow kramme:verify:runInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Discover the project's verification commands, run them against affected code, and report results. This is a verification command only: it never modifies files or auto-fixes issues.
First, read all applicable project instruction files: read repo-root AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, and any markdown instruction files in repo-root .claude/ when present, then any relevant nested instruction files (AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, markdown instruction files in a nearby .claude/ directory, or equivalents). If both AGENTS.md and CLAUDE.md exist, read both. Look for:
nx format:check, dotnet format, prettier --check)nx lint, eslint, dotnet format --verify-no-changes)tsc --noEmit, nx typecheck)nx build, dotnet build, npm run build)nx test, dotnet test --filter Category=Unit)nx component-test, Cypress component, Storybook)nx integration-test, dotnet test --filter Category=Integration)nx e2e, dotnet test --filter Category=E2E)If project instructions do not specify commands, check CI configuration files:
.github/workflows/*.yml (GitHub Actions)azure-pipelines.yml (Azure DevOps)Jenkinsfile (Jenkins).circleci/config.yml (CircleCI)Extract only the test, build, lint, type-check, and format commands. CI files interleave verification with deploy, publish, release, and other state-mutating steps — never run those, and never run steps that push to a remote, write to a registry, or modify infrastructure. If a step's intent is ambiguous, skip it and note it in the report rather than running it.
If no configuration specifies commands, detect the project type:
nx.json or project.json*.csproj or *.sln filespackage.jsonIf none of these match and no commands were found in steps 1-2, report "No verification commands found" with the locations checked, then stop. Do not invent commands.
This skill relies on git, plus the toolchain for the detected project type (nx, dotnet, or npm) and jq for the JSON-inspection snippets below. If a required tool is missing, mark the checks that need it as SKIPPED with the reason (same handling as a missing target) rather than failing the run.
For affected detection and format checks, determine the base branch:
AGENTS.md, CLAUDE.md, .github/copilot-instructions.md, markdown instruction files in a nearby .claude/ directory, or equivalent) for a specified base branchnx.json for defaultBase setting (Nx projects)origin/HEADorigin/HEAD is unset, use main if it exists, otherwise master# Auto-detect base branch. --short strips the refs/remotes/origin/ prefix.
# Branch off git's own exit status, not the pipeline's, so the fallback fires when origin/HEAD is unset.
BASE_BRANCH=$(git symbolic-ref --short refs/remotes/origin/HEAD 2> /dev/null)
BASE_BRANCH=${BASE_BRANCH#origin/}
if [ -z "$BASE_BRANCH" ]; then
if git show-ref --verify --quiet refs/heads/main; then
BASE_BRANCH=main
else
BASE_BRANCH=master
fi
fi
For Nx projects, discover available targets before running:
# List affected projects
nx show projects --affected
# Check what targets are available for a project (quote the name; the brackets are a placeholder)
PROJECT=my-app
nx show project "$PROJECT" --json | jq '.targets | keys'
# Or inspect project.json files directly
Run checks in this order (continue through ALL checks even if some fail):
When project instructions and CI config don't specify commands, read references/commands-by-project-type.md for default check-only command sets (Nx, C#/.NET, Node.js) and per-ecosystem test-suite discovery. Read only the section for the project type you detected in step 3, and use the $BASE_BRANCH from step 4.
Before running tests, discover which suites exist so you can run only those and mark the rest SKIPPED. Per-ecosystem discovery commands are in references/commands-by-project-type.md.
Use parallel execution where possible for faster feedback:
--parallel flag (e.g., nx affected -t lint --parallel)--parallelAfter running all checks, provide:
## Formatting
Status: PASS
## Linting
Status: FAIL
Errors:
src/components/Button.tsx:15:3
error: 'unused' is defined but never used @typescript-eslint/no-unused-vars
src/utils/helpers.ts:42:10
error: Missing return type on function @typescript-eslint/explicit-function-return-type
## Type Checking
Status: PASS
## Build
Status: PASS
## Unit Tests
Status: FAIL
Errors:
FAIL src/utils/helpers.test.ts
● calculateTotal › should handle empty array
Expected: 0
Received: undefined
at Object.<anonymous> (src/utils/helpers.test.ts:25:14)
## Component Tests
Status: SKIPPED (no component-test target found)
## Integration Tests
Status: PASS
## E2E Tests
Status: SKIPPED (not running E2E for this verification)
Verification Summary:
- Formatting: PASS
- Linting: FAIL (2 errors)
- Type Checking: PASS
- Build: PASS
- Unit Tests: FAIL (1 error)
- Component Tests: SKIPPED
- Integration Tests: PASS
- E2E Tests: SKIPPED
Issues Found: 2 steps failed - see errors above for details
--affected or equivalent to minimize scope when possiblekramme:verify:before-completion skill.development
One-way migration of a local SIW project into Linear. Creates one Linear project, migrates the main spec and supporting specs as Linear Documents, creates milestones from SIW phases and issues from SIW issues, then prompts to retire the local siw/ files via /kramme:siw:remove. Linear becomes the source of truth; this is not a two-way sync and keeps no rerun mapping, so re-running can duplicate issues. Use when moving a planned SIW initiative into Linear for good. Not for implementing issues, defining new SIW issues, or generating an issue breakdown.
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.