change-reaudit

Re-audit code changes to identify side effects, regression risks, and unhandled edge cases before merging or deploying.

25 stars

Best use case

change-reaudit is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Re-audit code changes to identify side effects, regression risks, and unhandled edge cases before merging or deploying.

Teams using change-reaudit should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/change-reaudit/SKILL.md --create-dirs "https://raw.githubusercontent.com/ComeOnOliver/skillshub/main/skills/comsky/remy-skill-recipes/change-reaudit/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/change-reaudit/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How change-reaudit Compares

Feature / Agentchange-reauditStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Re-audit code changes to identify side effects, regression risks, and unhandled edge cases before merging or deploying.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# Skill: Change Re-Audit (Side Effects, Regression, Edge Cases)

**Type:** Execution

## Purpose

Perform a rigorous re-audit of the current changes.
Identify:

- Side effects introduced by the modification
- Hidden regression risks
- Unhandled edge cases
- Operational, performance, and security implications

The output must provide evidence-based findings and concrete mitigation steps.

---

## When to Use

- After code changes are complete and before merging to a shared branch
- After complex refactoring that touches multiple modules
- Before deploying a hotfix to production
- When a previous review missed edge cases or side effects

---

## When NOT to Use

- During initial implementation (code is still being written)
- Documentation-only or comment-only changes
- Auto-generated code changes (e.g., lock files, migration snapshots)
- Changes already fully audited through another review skill

---

## Inputs Required

Do not run this skill without:

- [ ] Full diff of current working changes
- [ ] List of modified files
- [ ] Affected entry points (API handlers, jobs, CLI, consumers, etc.)
- [ ] Existing related tests (unit/integration/e2e)

Optional but recommended:

- [ ] Architectural context (system diagram, dependency map)
- [ ] Deployment target information (staging, production, canary)

Without asking the user (unless unavailable), gather these inputs directly from the repository.

---

## Output Format

1. Change Units
2. Identified Risks (with evidence)
3. Edge Case Gaps
4. Required Actions (P0 / P1 / P2)
5. Suggested Fix Snippets (if applicable)

---

## Procedure

### Gate 0 – Change Mapping

Break the diff into logical Change Units.

For each Change Unit, summarize:

- Before behavior
- After behavior
- Intended purpose

---

### Gate 1 – Side Effect Analysis

> **EFFICIENCY RULE:** Before deep-analyzing each dimension, perform a
> quick relevance check based on the Change Units from Gate 0. If a
> dimension has zero intersection with the change scope (e.g., no
> database writes exist in any Change Unit → State mutations is
> not relevant), note "N/A — no relevant changes" and move to the next
> dimension. Do NOT skip the relevance check itself.
> "Zero intersection" means the Change Units contain no code that could
> possibly affect that dimension. If uncertain or indirect, treat as relevant.

For each Change Unit, explicitly evaluate:

- Public contract changes
  - Input schema
  - Output structure
  - Error types
  - HTTP status codes
  - Ordering or pagination behavior

- State mutations
  - Database writes
  - Transaction boundaries
  - Cache keys
  - Idempotency guarantees
  - Retry logic

- Concurrency & ordering
  - Async behavior
  - Race conditions
  - Locking
  - Event ordering

- Resource usage
  - N+1 queries
  - Increased memory footprint
  - Large payload buffering
  - CPU-heavy loops

- Security implications
  - Authorization checks
  - Input validation
  - Injection vectors
  - Secret or PII leakage in logs

- Observability impact
  - Log structure changes
  - Metric cardinality explosion
  - Missing tracing

- Operational risk
  - Rollback safety
  - Migration requirements
  - Feature flag need

Each risk must include:

- Evidence (file:line reference)
- Impact assessment
- Mitigation proposal

---

### Gate 2 – Edge Case Matrix

> **SCOPING RULE:** Apply edge case verification only to code paths
> that were **modified or newly introduced** in the current diff.
> Pre-existing edge case gaps in unchanged code are out of scope
> for this audit.

Explicitly verify handling of:

- Null / empty values
- Boundary values (min/max/overflow)
- Large inputs
- Partial failures (timeouts, downstream 5xx)
- Duplicate or out-of-order events
- Permission boundary violations
- Backward compatibility

For each:

- Expected behavior
- Actual behavior
- Gap analysis
- Fix proposal

---

### Gate 3 – Regression Proof

Identify:

- Covered scenarios (existing tests)
- Uncovered risk areas

Propose minimal additional tests (1–3 max) for high-risk gaps.

If adding tests is not feasible:

- Add guard clauses
- Add assertions
- Improve logging
- Provide safe fallback

---

### Gate 4 – Code Hygiene Check

Verify:

- No dead code
- No unnecessary abstraction
- No silent behavioral drift
- No inconsistent error handling
- No policy values hardcoded without documentation

---

## Guardrails

- Do not invent missing facts. Every risk must cite evidence (file:line).
- Explicitly state assumptions when context is incomplete.
- If context is insufficient to assess a risk area, ask for clarification.
- Respect constraints and non-goals stated in the change description.
- Do not inflate severity — use P0/P1/P2 classification honestly.
- Do not skip risk dimensions because they seem unlikely.

---

## Failure Patterns

Common bad outputs:

- Reviewing only the diff without considering the broader call chain
- Classifying all findings as P0 (no prioritization)
- Asserting risks without file:line evidence
- Skipping edge case matrix entirely
- Producing generic advice instead of change-specific findings
- Missing concurrency or state mutation risks in async code paths

---

## Example 1 (Minimal Context)

**Input:**

Single function change: `getUserById` in `services/user.ts` now returns `null` instead of throwing `NotFoundError` when user is not found.

**Output:**

1. Change Units: 1 unit — `getUserById` return type change
2. Identified Risks:
   - P0: All callers expecting `NotFoundError` will now receive `null` without handling it (`routes/user.ts:45`, `middleware/auth.ts:23`)
   - P1: API response may change from 404 to 200 with null body if caller does not check
3. Edge Case Gaps: caller with `try/catch` only — null passes through silently
4. Required Actions: P0 — update all 3 callers to handle null return; P1 — add null-check test for each caller
5. Suggested Fix: add `if (!user) throw new NotFoundError()` guard in each route handler

---

## Example 2 (Realistic Scenario)

**Input:**

8 files changed: new caching layer added to `services/product.ts`, cache invalidation on `PUT /products/:id`, new Redis dependency in `config/cache.ts`. Existing tests cover CRUD but not cache behavior.

**Output:**

1. Change Units: 3 units — (a) cache read in getProduct, (b) cache invalidation on update, (c) Redis config setup
2. Identified Risks:
   - P0: Cache key uses `product:${id}` but bulk endpoints use different ID format — stale cache risk (`services/product.ts:78`)
   - P1: No TTL set — cache entries persist indefinitely (`config/cache.ts:12`)
   - P1: Redis connection failure has no fallback — entire product API will 500 (`services/product.ts:34`)
   - P2: Cache invalidation only on PUT, not on DELETE (`routes/product.ts:92`)
3. Edge Case Gaps: concurrent PUT requests may cause cache race condition; no handling for Redis timeout
4. Required Actions: P0 — normalize cache key format; P1 — add TTL and Redis fallback; P1 — add DELETE invalidation; P2 — add cache-miss metric
5. Suggested Fix: wrap Redis calls in try/catch with DB fallback, add `EX 3600` to SET commands

---

## Notes

**FAST MODE** (only if explicitly requested):

- Limit to top 5 likely risks
- Require at least one regression safeguard

Related Skills

changelog-orchestrator

25
from ComeOnOliver/skillshub

Draft changelog PRs by collecting GitHub/Slack/Git changes, formatting with templates, running quality gates, and preparing a branch/PR. Use when generating weekly/monthly release notes or when the user asks to create a changelog from recent merges. Trigger with "changelog weekly", "generate release notes", "draft changelog", "create changelog PR".

changelog-creator

25
from ComeOnOliver/skillshub

Changelog Creator - Auto-activating skill for DevOps Basics. Triggers on: changelog creator, changelog creator Part of the DevOps Basics skill category.

change-request-generator

25
from ComeOnOliver/skillshub

Change Request Generator - Auto-activating skill for Enterprise Workflows. Triggers on: change request generator, change request generator Part of the Enterprise Workflows skill category.

recipe-watch-drive-changes

25
from ComeOnOliver/skillshub

Subscribe to change notifications on a Google Drive file or folder.

../../../c-level-advisor/change-management/SKILL.md

25
from ComeOnOliver/skillshub

No description provided.

req-change-workflow

25
from ComeOnOliver/skillshub

Standardize requirement/feature changes in an existing codebase (especially Chrome extensions) by turning "改需求/需求变更/调整交互/改功能/重构流程" into a repeatable loop: clarify acceptance criteria, confirm current behavior from code, assess impact/risk, design the new logic, implement with small diffs, run a fixed regression checklist, and update docs/decision log. Use when the user feels the change process is chaotic, when edits tend to sprawl across files, or when changes touch manifest/service worker/OAuth/storage/UI and need reliable verification + rollback planning.

changelog-maintenance

25
from ComeOnOliver/skillshub

Maintain a clear and informative changelog for software releases. Use when documenting version changes, tracking features, or communicating updates to users. Handles semantic versioning, changelog formats, and release notes.

wiki-changelog

25
from ComeOnOliver/skillshub

Analyzes git commit history and generates structured changelogs categorized by change type. Use when the user asks about recent changes, wants a changelog, or needs to understand what changed in the repository.

changelog-automation

25
from ComeOnOliver/skillshub

Automate changelog generation from commits, PRs, and releases following Keep a Changelog format. Use when setting up release workflows, generating release notes, or standardizing commit conventions.

changelog

25
from ComeOnOliver/skillshub

Maintains IdeaVim changelog (CHANGES.md) and build.gradle.kts changeNotes. Use when updating changelog, documenting releases, or reviewing commits/PRs for changelog entries.

product-changelog

25
from ComeOnOliver/skillshub

Product changelog and release notes that users actually read. Covers categorization, user-facing language, visuals, and distribution. Use for: release notes, changelogs, product updates, feature announcements, versioning. Triggers: changelog, release notes, product update, version notes, what's new, feature announcement, product changelog, update log, release announcement, version release, product release, ship notes

gate-exchange-spot

25
from ComeOnOliver/skillshub

Gate spot trading and account operations skill. Use this skill whenever the user asks to buy/sell crypto, check account value, cancel/amend spot orders, place conditional buy/sell plans, verify fills, or perform coin-to-coin swaps in Gate spot trading. Trigger phrases include 'buy coin', 'sell coin', 'monitor market', 'cancel order', 'amend order', 'break-even price', 'rebalance', 'spot trading', 'buy/sell', or any request that combines spot order execution with account checks.