user-scope-skills/check/SKILL.md
This skill should be used when the user wants to verify their changes before pushing, or update the project's rule checklists. Phase 1: validate changed files against .dev/rules/ checklists and report PASS/WARN. Phase 2 (conditional): propose rule additions when unmatched patterns are detected. Essential before git push. Trigger phrases: "check", "checklist", "verify changes", "what did I miss", "pre-push check", "cascading changes", "any more changes needed", "update checklist", "update rules", "rules update", "체크", "체크리스트", "변경 확인", "빠뜨린 거 없나", "push 전 확인", "뭐 더 건드려야 해?", "연쇄 변경 확인", "규칙 갱신".
npx skillsauth add onejaejae/skills checkInstall 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.
Analyze git diff against
.dev/rules/to catch missed cascading changes, then propose rule updates when new unmatched patterns are detected.
| Skill | Purpose | Input | Output |
|-------|---------|-------|--------|
| /check | Verify changes against project-specific rule checklists | git diff + .dev/rules/ | PASS/WARN per rule + rule evolution proposals |
| /tribunal | Adversarial 3-perspective review (Risk/Value/Feasibility) | Any artifact | Verdict (APPROVE/REVISE/REJECT) with scores |
| /council | Multi-perspective deliberation with tradeoff mapping | Decision or design | Tradeoff map + contention points |
| /rulph | Rubric-based scoring with autonomous improvement loop | Any artifact + rubric | Iterative score improvement until threshold |
Use /check when you want a pre-push safety net based on codified project rules. Use /tribunal or /council for subjective design decisions. Use /rulph for iterative quality improvement against a rubric.
.dev/rules/ directoryif .dev/rules/ does not exist:
Output: "No .dev/rules/ directory found. /check requires project-specific
rule files to validate against."
Guide: "Run `mkdir -p .dev/rules` and create your first rule file.
See ${baseDir}/references/rules-authoring.md for the authoring guide."
STOP — do not proceed to Phase 1.
.dev/rules/if .dev/rules/ exists but contains no .md files with YAML frontmatter:
Output: "Found .dev/rules/ but it contains no rule files.
Create your first rule following ${baseDir}/references/rules-authoring.md."
STOP — do not proceed to Phase 1.
Run the git diff commands (see Step 1). If CHANGED_FILES is empty after deduplication:
Output: "Nothing to check — working tree is clean and no recent commits
differ from HEAD~1. Make some changes and run /check again."
STOP — do not proceed to Phase 1.
Two-phase structure:
# Gather committed + uncommitted changes
git diff --name-only HEAD~1..HEAD
git diff --name-only --cached
git diff --name-only
Deduplicate and store as CHANGED_FILES.
Read YAML frontmatter from all .dev/rules/*.md files to construct the rule graph. Refer to references/rules-authoring.md ("Structure" section) for the frontmatter schema.
Matching order:
CHANGED_FILES against every rule's triggers patternsdepends_on edges from matched rules to pull in related rules (1-depth only)UNMATCHED_FILES (used in Phase 2)Note: Meta documents (e.g., RULES.md) are excluded from matching.
Spawn one subagent per active rule using the Agent tool (subagent_type="general-purpose") and run them in parallel.
Pass each subagent:
CHANGED_FILES listgit diff)Each subagent:
Collect all subagent results and output them grouped by category: domain rules first, then concern rules, then pipeline rules.
## Phase 1: Verification Results
### PASS (N items)
#### domain
- [billing] schema.ts changed -> migration file created
#### concern
- [infra] .env changed -> terraform synced
#### pipeline
- [api-codegen] swagger changed -> types regenerated
### WARN (N items)
#### concern
- [ux] en.json changed -> ko.json not updated
### Not Applicable (N items)
- [docs] no docs/ changes
If active rules have agents or commands fields:
pnpm generate:api).For each WARN item:
Phase 2 trigger conditions — Execute Phase 2 if ANY of the following is true:
UNMATCHED_FILEScontains at least one meaningful source file (.ts,.tsx,.json,.yaml,.tf, etc.) — exclude meta files (.md, lock files, etc.)- Any WARN from Phase 1 indicates a rule gap (not a rule violation)
Skip condition: If
UNMATCHED_FILESis empty AND no WARNs indicate rule gaps, skip Phase 2 and proceed directly to follow-up actions (step 9).Distinguishing rule gaps from rule violations: If a WARN was caused by violating an existing checklist item, it is a rule violation (handled in Phase 1). If no checklist item exists anywhere that could have caught the WARN in advance, it is a rule gap — this triggers Phase 2.
Analyze UNMATCHED_FILES and Phase 1 WARN results to identify:
triggersRead references/rules-authoring.md for authoring guidelines, then classify findings:
category field (domain | concern | pipeline)## Phase 2: Rule Update Proposals
1. [subscriptions.md] Add sync check for URL detection functions across 3 apps
- Reason: isSubstackUrl() duplicated in 3 locations, only 2 updated
2. [New file: webhook.md] Add sync check for webhook event changes
- category: domain
- Reason: new domain with no existing rule coverage
Confirm each proposal with AskUserQuestion:
Apply approved items to the corresponding rule files. For new rule files, create them with frontmatter (category and triggers are required).
After adding or modifying rules, verify that the frontmatter triggers patterns correctly match the intended files.
Consolidate WARNs from Phase 1 and rule updates from Phase 2 into a follow-up change list.
If one or more WARN items exist, present the list and use AskUserQuestion to ask the user:
When "Fix All" or "Select" is chosen, apply the fixes in order and display the updated results.
${baseDir}/references/rules-authoring.md — Rule authoring principles, frontmatter schema, category classification, and abstraction-level guidelines. Consult when creating or updating rules.testing
CLAUDE.md 기반 환경 안전 체크. 작업 시작 전에 프로젝트의 안전 규칙, 컨벤션, 환경 설정을 자동 검증하여 CLEAR/WARNING/BLOCKED 상태를 보고한다. /check가 "변경 후 검증"이라면, /pre-flight는 "작업 전 환경 검증"이다. Use PROACTIVELY before starting work, especially after switching branches, pulling changes, or resuming a session. Also use when explicitly asked: "/pre-flight", "프리플라이트", "환경 체크", "작업 전 점검", "안전 체크", "environment check", "pre-flight check", "시작해도 돼?", "환경 괜찮아?", "safety check", "DB 확인", "설정 확인", "config check".
tools
PR 리뷰 워크플로우와 체크리스트를 제공하는 스킬. "PR 리뷰해줘", "코드 리뷰 해줘", "이 PR 봐줘", "review this PR" 등 PR 리뷰 요청 시 사용. GitHub/GitLab PR URL 또는 로컬 브랜치 diff를 기반으로 체계적이고 일관된 리뷰를 수행. 코드 품질, 안정성/보안, 성능, 테스트, 문서화 관점에서 건설적인 피드백 제공.
documentation
PR review comments를 체계적으로 처리하는 skill. Use when: (1) PR에 동료의 리뷰가 달렸을 때, (2) 여러 리뷰를 한 번에 처리하고 싶을 때, (3) 수정 후 commit 링크가 포함된 reply를 자동으로 추가하고 싶을 때
tools
PR diff를 받아 코드 리뷰 자동 요약을 생성하는 스킬. 핵심 변경점을 3줄로 요약하고, 변경 파일별로 what changed / why it matters / risk level을 정리. Use when: "PR 요약", "diff 요약", "PR 변경점 정리", "코드 변경 요약", "summarize PR", "PR summary", "diff summary", "what changed in this PR", "변경점 요약해줘", "PR 핵심 정리", "리뷰 요약"