Agent skill
update-practices
Process the practices inbox, evaluate, incorporate into dotforge, and suggest propagation to projects.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/update-practices
SKILL.md
Update Practices
3-phase pipeline to keep dotforge up to date with discovered practices.
Practice sources:
- Post-session hook (
detect-claude-changes.sh) → automatic - Manual capture (
/forge capture) → user - For manual web search: research and then use
/forge capturewith the findings
Phase 1: EVALUATE — Process inbox
Read all files in $DOTFORGE_DIR/practices/inbox/.
For each practice:
Acceptance criteria
- Is it actionable? — Can be translated into a concrete change in dotforge
- Is it new? — Does not duplicate something already in
practices/active/ - Is it generalizable? — Applies to >1 project (not project-specific)
- Does it prevent a specific error? — If yes, annotate
error_typeand error description for tracking in metrics.yml
Classify
- Accept → move to
practices/evaluating/, note proposed concrete change - Reject → remove from inbox with a note explaining why
- Defer → leave in inbox with tag
needs-more-info
Priority
- Security (vulnerabilities, permissions)
- Breaking changes (APIs that changed)
- New features that simplify something existing
- Patterns validated in >1 project
- Minor optimizations
Show summary:
═══ INBOX EVALUATION ═══
{{N}} practices in inbox
✅ ACCEPT: {{title}} → {{proposed change}}
❌ REJECT: {{title}} → {{reason}}
⏸️ DEFER: {{title}} → {{what is missing}}
Proceed with accepted? (yes/no/select)
Phase 2: INCORPORATE — Apply changes to dotforge
For each accepted practice in evaluating/:
Determine impact
| Change type | Affected files | Version bump |
|---|---|---|
| New/modified rule | template/rules/, stacks/*/rules/ | minor |
| New/modified hook | template/hooks/, stacks/*/hooks/ | minor |
| Documentation | docs/*.md | patch |
| Modified template | template/*.tmpl | minor |
| Security fix | any | patch |
Apply
- Show proposed diff to the user and ask for confirmation
- Modify the corresponding dotforge files
- If the practice warrants a new rule: generate a
.mdfile intemplate/rules/orstacks/*/rules/with properglobs:(eager) orpaths:+alwaysApply: false(lazy) frontmatter. Only create a rule if the practice is a repeatable constraint (not a one-time fix). Use existing rules as format reference. - Move practice from
evaluating/toactive/withincorporated_in:updated - Set frontmatter fields:
effectiveness: monitoring(ornot-applicableif no error targeted),error_typematching CLAUDE_ERRORS.md types - Register in
$DOTFORGE_DIR/practices/metrics.yml:error_targeted: description of the error this practice prevents (null if not error-targeted)error_type: syntax | logic | integration | config | security | nullactivated: today's datestatus: monitoring (or not-applicable)recurrence_checks: 0recurrence_target: 5
- Update
docs/changelog.md - Bump
VERSIONaccording to type
Phase 3: PROPAGATE — Suggest project updates
- Read
$DOTFORGE_DIR/registry/projects.yml - For each project, show what changed since its last sync:
═══ SUGGESTED PROPAGATION ═══
project-a (last sync: {{date or "never"}})
→ {{N}} rules updated
project-b (last sync: {{date or "never"}})
→ {{N}} rules updated
To propagate: run /forge sync in each project.
DO NOT propagate automatically. Inform only.
Phase 4: VERIFY — Recurrence check for active practices
For each entry in $DOTFORGE_DIR/practices/metrics.yml where status: monitoring:
- Read
CLAUDE_ERRORS.mdfrom each project in registry where the practice is applied - Check if any error matching
error_type+error_targeteddescription was logged AFTER theactivateddate - Increment
recurrence_checksby 1, updatelast_checkedto today - If error recurred: set
recurred: true,status: failed - If
recurrence_checks >= recurrence_targetandrecurred: false: setstatus: validated - Update
effectivenessfield in the practice's frontmatter file to match
Report:
═══ EFFECTIVENESS CHECK ═══
{{practice title}} — {{status}} ({{recurrence_checks}}/{{recurrence_target}} checks)
{{if failed: "⚠ Error recurred — practice needs revision"}}
{{if validated: "✅ No recurrence after {{N}} checks"}}
{{if monitoring: "🔍 {{remaining}} checks remaining"}}
Skip practices with status: not-applicable or status: validated.
Final report
═══ UPDATE REPORT ═══
Date: {{YYYY-MM-DD}}
Evaluated: {{N}} ({{accepted}} accepted, {{rejected}} rejected, {{deferred}} deferred)
Incorporated: {{N}} into dotforge
Propagation suggested: {{N}} projects
── EFFECTIVENESS ──
Monitoring: {{N}} practices
Validated: {{N}} (no recurrence after {{target}} checks)
Failed: {{N}} (need revision)
VERSION: {{old}} → {{new}}
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?