본문으로 건너뛰기
cccskills
무료GitHub에 공개

change-reaudit

Re-audit code changes to identify side effects, regression risks, and unhandled edge cases before merging or deploying. Use after a change is complete and before merging to a shared branch, before deploying a hotfix, after complex multi-module refactoring, or when a previous review may have missed side effects in async, state-mutating, or security-sensitive code paths.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

연동 도구Redis
설치 방법 보기

포함된 파일(3)

  • SKILL.md7.8 KB
  • README.ko.md1.4 KB
  • README.md1.2 KB

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

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 — a dimension may be marked N/A only through the Gate 1 relevance check, never on intuition.

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

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Generate architecture and design documents for implemented code changes with risk-based depth selection. Automatically evaluates risk signals, layer spread, and change magnitude to choose documentation level (A/B/C). Use after completing a feature, before merging a PR that touches multiple layers or sensitive areas (auth, infra, migrations, payments), or when an implemented change needs a design record or ADR.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

comsky/remy-skill-recipes122026년 7월 15일 업데이트

Verify that the current Git branch, upstream state, and dirty working tree match the user's intended task before staging, committing, pushing, or continuing work from another session. Use this to detect stale branch reuse, leftover dirty files from previous sessions, unrelated commits on the current branch, cases where work should be split into a new branch or worktree, and post-publish cleanup decisions after push, PR creation, or PR merge.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

comsky/remy-skill-recipes122026년 7월 15일 업데이트

Diagnose and fix CJK (Korean, Japanese, Chinese) text-wrapping issues in web UIs. Systematically traces mid-syllable breaks, orphaned glyphs, and awkward line splits through a layered fix strategy covering global CSS cascade, component-library overrides, headline balancing, and translation-level phrase binding. Produces an evidence-based diagnosis and verification report before any code change is applied.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

comsky/remy-skill-recipes122026년 7월 15일 업데이트

Research and compare how competing products implement a similar feature at the UX and interaction level. Provides structured comparison tables and strategic differentiation recommendations.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

comsky/remy-skill-recipes122026년 7월 15일 업데이트

Finalize documentation changes for production readiness by discovering existing conventions, verifying code-doc alignment, reviewing format/terminology/tone consistency, verifying branch/worktree intent, and structuring clean commits with a post-publish branch/worktree cleanup decision. Counterpart of finalize-and-commit for documentation projects.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

comsky/remy-skill-recipes122026년 7월 15일 업데이트

Finalize code changes for production readiness by removing duplicate logic, auditing hardcoded values, verifying branch/worktree intent, verifying build integrity, structuring clean commits with Conventional Commits format, and forcing a post-publish branch/worktree cleanup decision.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

comsky/remy-skill-recipes122026년 7월 15일 업데이트

comsky의 스킬 모두 보기

이 스킬의 문제 신고