From hoyeon
Validates git changes against .hoyeon/rules/ checklists, reports PASS/WARN for missed cascading changes, and proposes new rules for unmatched patterns before push.
npx claudepluginhub team-attention/hoyeon --plugin hoyeonThis skill uses the workspace's default tool permissions.
> Analyze git diff against `.hoyeon/rules/` to catch missed cascading changes, then propose rule updates when new unmatched patterns are detected.
Creates isolated Git worktrees for feature branches with prioritized directory selection, gitignore safety checks, auto project setup for Node/Python/Rust/Go, and baseline verification.
Executes implementation plans in current session by dispatching fresh subagents per independent task, with two-stage reviews: spec compliance then code quality.
Dispatches parallel agents to independently tackle 2+ tasks like separate test failures or subsystems without shared state or dependencies.
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.