Help us improve
Share bugs, ideas, or general feedback.
From hoyeon
Verifies changed files against project rule checklists before git push, detecting missed cascading changes and proposing rule updates for unmatched patterns.
npx claudepluginhub team-attention/hoyeon --plugin hoyeonHow this skill is triggered — by the user, by Claude, or both
Slash command
/hoyeon:checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
> Analyze git diff against `.hoyeon/rules/` to catch missed cascading changes, then propose rule updates when new unmatched patterns are detected.
Reviews staged or working changes for correctness, security, and performance before creating a PR. Produces a checklist and updates project rules.
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.
Share bugs, ideas, or general feedback.
Analyze git diff against
.hoyeon/rules/to catch missed cascading changes, then propose rule updates when new unmatched patterns are detected.
Prerequisite: The project must have a .hoyeon/rules/ directory containing rule files with YAML frontmatter. If .hoyeon/rules/ does not exist, guide the user to create it: mkdir -p .hoyeon/rules, then help them write their first rule file following ${baseDir}/references/rules-authoring.md.
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 .hoyeon/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.