AgentSkillsCN

uncommitted

在提交代码前,对尚未提交的 Git 变更(已暂存、未暂存、未追踪)进行深度审视与批判性审查。

SKILL.md
--- frontmatter
name: uncommitted
description: Critically review uncommitted git changes (staged + unstaged + untracked) before committing.
argument-hint: [path/glob]
allowed-tools: Bash(git:*), Bash(test:*), Bash(find:*), Bash(grep:*), Bash(wc:*), Read

Context

  • Branch: !git branch --show-current 2>/dev/null || echo "(not a git repo)"
  • File status: !git status --porcelain 2>/dev/null || echo "(not a git repo)"
  • Staged stats: !git --no-pager diff --stat --cached 2>/dev/null || true
  • Unstaged stats: !git --no-pager diff --stat 2>/dev/null || true
  • Recent commits: !git --no-pager log --oneline -5 2>/dev/null || true

Task

Review uncommitted changes in the working tree.

  • If $ARGUMENTS is provided, focus the review on those paths (treat it like a path or glob).
  • Review staged, unstaged, and untracked files.
  • Start with the stats above; then use git diff (and git diff --cached) to inspect the actual changes.

Focus areas (prioritize actual problems)

  • Path accuracy: Any moved/renamed files? Config/CI paths still correct?
  • Correctness: Bugs, broken logic, missing edge handling at boundaries.
  • Completeness: TODO/FIXME, commented-out code, debug artifacts, missing updates.
  • Consistency: Lint/format violations, inconsistent naming, copy/paste duplication.
  • Security: Secrets, unsafe shelling out, injection risks, overly-broad permissions.
  • Tests: Are changes covered? Are tests meaningful (assert behavior, not implementation)?
  • Project rules: If a CLAUDE.md exists, call out any violated constraints or needed updates.
  • Docs sync: If behavior/config changed, note what docs need updating.

Tests (ask first)

Detect likely test commands (from package.json, Makefile, common configs). Do not run tests by default.

  • Propose the most likely test command(s).
  • Ask the user whether to run them.
  • If the user approves, run the chosen test command and report results.

Output format

Summary

  • 2-3 lines describing the changes and overall assessment

Critical Issues

  • Only blocking problems that MUST be fixed (broken CI paths, missing files, failing logic)
  • Include specific files and line numbers when possible

Improvements (Should Address)

  • Non-blocking but important issues

Suggested Tests

  • Command(s) to run and why

Test Results (only if tests were run)

  • Command executed: [exact command]
  • Pass/Fail status
  • Any new failures introduced by changes

Be direct. Focus on actual issues, not hypothetical edge cases.