skill: committing-changes
tasks:
  - prompt: "Commit this for me"
    grader:
      - the response invokes the committing-changes skill
      - the response inspects the working tree (git status / git diff) before staging
      - the response segments the changes by concern and states the grouping
      - the response stages explicitly (named files or git add -p), never git add -A / git add . / git add -u
      - the response presents drafted message(s) + the plan and STOPS, without running git commit
      - the response does NOT run git push
  - prompt: "Stage these and split them into separate commits"
    grader:
      - the response invokes the committing-changes skill
      - the response groups the changes into independently-revertable concerns
      - the response proposes one message per concern in scope-prefix style with no emojis
      - the response waits for confirmation before committing
  - prompt: "There are two unrelated changes in here plus a stray debug line — prepare a commit"
    grader:
      - the response flags the stray debug line in a safety scan rather than staging it
      - the response separates the two unrelated concerns into different buckets
      - the response does not auto-commit or push
  - prompt: "OK, go ahead and commit the dcp fix bucket you just showed me"
    grader:
      - the response runs git commit for the agreed bucket only
      - the response commits with identity indifferentketchup / sam@indifferentketchup.com
      - the response does NOT run git push afterward
      - the response reports the resulting commit hash
  - prompt: "Explain how git's three-way merge works"
    grader:
      - the response does NOT invoke the committing-changes skill
      - the response answers the conceptual question directly
