From workflow-toolkit
Pre-flight checklist for open source contributions. Validates code changes against project rules, PR size limits, commit format, linting, and type-checking. Does NOT push or create PRs — only reports issues.
How this skill is triggered — by the user, by Claude, or both
Slash command
/workflow-toolkit:contribution-checkThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Validates your working changes against common open-source contribution guidelines before you push. This skill is **read-only** — it never pushes code, creates PRs, or modifies anything on GitHub.
Validates your working changes against common open-source contribution guidelines before you push. This skill is read-only — it never pushes code, creates PRs, or modifies anything on GitHub.
Run each check below in order. Report results as a checklist with pass/fail status.
# Count changed lines (excluding lockfiles, generated files, docs)
git diff --stat HEAD | tail -1
git diff --numstat HEAD -- . ':!yarn.lock' ':!package-lock.json' ':!pnpm-lock.yaml' ':!*.generated.*' ':!*.lock' | awk '{ added += $1; removed += $2; files += 1 } END { print files " files, +" added " -" removed " lines" }'
Rules:
git log --format="%s" -5
Rules:
feat:, fix:, refactor:, chore:, test:, docs:, perf:, ci:If the user specified an issue number (via $ARGUMENTS or conversation context):
gh issue view <NUMBER> --json labels,state
Rules:
needs approval label: WARN — may need to wait for maintainer approvalScan changed files for naming violations:
git diff --name-only HEAD
Rules:
Read each changed file and check for common issues:
index.ts re-exports) — if the project discourages them--skip-lint)Detect the project's linter and run it:
# Try common linters in order
# biome, eslint, prettier, etc.
FAIL if linting reports errors.
--skip-types)Detect the project's type checker and run it:
# Try common type checkers
# tsc, pyright, mypy, etc.
FAIL if type errors found.
Check if there are test files related to changed code. WARN if changed source files have no corresponding tests.
Present a final summary:
## Contribution Check Results
| Check | Status | Notes |
|------------------------|--------|--------------------------------|
| Diff size | PASS | 12 files, +234 -45 lines |
| Commit format | PASS | feat: add timezone handling |
| Issue eligibility | PASS | #123 - bug, safe to start |
| File naming | PASS | |
| Code quality | WARN | 1 potential issue found |
| Lint | PASS | |
| Type check | PASS | |
| Tests | WARN | 2 files missing test coverage |
### Action Items
- [ ] Fix identified issues
- [ ] Add tests for uncovered files
IMPORTANT: This skill NEVER pushes code, creates branches, creates PRs, or modifies anything on GitHub. It only reads and reports.
npx claudepluginhub dougwithseismic/workflow-toolkit --plugin workflow-toolkitEnforces pre-commit checklist with dead code checks (vulture), linting (ruff, pyright), shellcheck, code health review, coverage (pytest-cov), and git commit message standards including co-authorship.
Reviews local changes, PRs/MRs, or branch diffs against project coding guidelines using 5-7 parallel review agents (bug detection, security/logic, guideline compliance, code simplification, test coverage, contract quality). High-signal findings only.
Reviews uncommitted git changes with full file context, producing a structured report with severity levels, actionable fixes, and an approval verdict.