diff --git a/.claude/skills/commit.commit_and_push/SKILL.md b/.claude/skills/commit.commit_and_push/SKILL.md
index 61e17763..3dbb5d74 100644
--- a/.claude/skills/commit.commit_and_push/SKILL.md
+++ b/.claude/skills/commit.commit_and_push/SKILL.md
@@ -1,6 +1,6 @@
---
name: commit.commit_and_push
-description: "Review changed files, commit, and push to remote"
+description: "Verify changed files, commit, and push to remote"
user-invocable: false
hooks:
Stop:
@@ -8,8 +8,8 @@ hooks:
- type: prompt
prompt: |
Verify the commit is ready:
- 1. Changed files list was reviewed with user
- 2. User confirmed the files match expectations
+ 1. Changed files list was reviewed by the agent
+ 2. Files match what was modified during this session (or unexpected changes were investigated)
3. Commit was created with appropriate message
4. Changes were pushed to remote
If ALL criteria are met, include `✓ Quality Criteria Met`.
@@ -29,17 +29,17 @@ Before proceeding, confirm these steps are complete:
## Instructions
-**Goal**: Review changed files, commit, and push to remote
+**Goal**: Verify changed files, commit, and push to remote
# Commit and Push
## Objective
-Review the changed files with the user, create a commit with an appropriate message, and push to the remote repository.
+Review the changed files to verify they match the agent's expectations, create a commit with an appropriate message, and push to the remote repository.
## Task
-Present the list of changed files for user review, ensure they match expectations, then commit and push the changes.
+Check the list of changed files against what was modified during this session, ensure they match expectations, then commit and push the changes.
### Process
@@ -49,31 +49,26 @@ Present the list of changed files for user review, ensure they match expectation
```
Also run `git diff --stat` to see a summary of changes.
-2. **Present changes to the user for review**
+2. **Verify changes match expectations**
- Use the AskUserQuestion tool to ask structured questions about the changes:
+ Compare the changed files against what you modified during this session:
+ - Do the modified files match what you edited?
+ - Are there any unexpected new files?
+ - Are there any unexpected deleted files?
+ - Do the line counts seem reasonable for the changes you made?
- Show the user:
- - List of modified files
- - List of new files
- - List of deleted files
- - Summary of changes (lines added/removed)
+ If changes match expectations, proceed to commit.
- Ask them to confirm:
- - "Do these changed files match your expectations?"
- - Provide options: "Yes, proceed with commit" / "No, let me review first" / "No, some files shouldn't be included"
+ If there are unexpected changes:
+ - Investigate why (e.g., lint auto-fixes, generated files)
+ - If they're legitimate side effects of your work, include them
+ - If they're unrelated or shouldn't be committed, use `git restore` to discard them
-3. **Handle user response**
-
- - If user confirms, proceed to commit
- - If user wants to review first, wait for them to come back
- - If user says some files shouldn't be included, ask which files to exclude and use `git restore` or `git checkout` to unstage them
-
-4. **Stage all appropriate changes**
+3. **Stage all appropriate changes**
```bash
git add -A
```
- Or stage specific files if user excluded some.
+ Or stage specific files if some were excluded.
5. **View recent commit messages for style reference**
```bash
@@ -102,8 +97,8 @@ Present the list of changed files for user review, ensure they match expectation
## Quality Criteria
-- Changed files list was presented to user
-- User explicitly confirmed the files match expectations
+- Changed files list was reviewed by the agent
+- Files match what was modified during this session (or unexpected changes were investigated and handled)
- Commit message follows project conventions
- Commit was created successfully
- Changes were pushed to remote
@@ -111,7 +106,7 @@ Present the list of changed files for user review, ensure they match expectation
## Context
-This is the final step of the commit workflow. It ensures the user has reviewed and approved the changes before they are committed and pushed. This prevents accidental commits of unintended files or changes.
+This is the final step of the commit workflow. The agent verifies that the changed files match its own expectations from the work done during the session, then commits and pushes. This catches unexpected changes while avoiding unnecessary user interruptions.
### Job Context
diff --git a/.claude/skills/commit/SKILL.md b/.claude/skills/commit/SKILL.md
index 247ca8ef..6e00ae7a 100644
--- a/.claude/skills/commit/SKILL.md
+++ b/.claude/skills/commit/SKILL.md
@@ -25,7 +25,7 @@ Steps:
1. **test** - Pull latest code and run the test suite until all tests pass
2. **lint** - Format and lint code with ruff using a sub-agent (requires: test)
-3. **commit_and_push** - Review changed files, commit, and push to remote (requires: lint)
+3. **commit_and_push** - Verify changed files, commit, and push to remote (requires: lint)
## Execution Instructions
diff --git a/.deepwork/jobs/commit/job.yml b/.deepwork/jobs/commit/job.yml
index e33923bf..73ea468b 100644
--- a/.deepwork/jobs/commit/job.yml
+++ b/.deepwork/jobs/commit/job.yml
@@ -1,5 +1,5 @@
name: commit
-version: "1.0.0"
+version: "1.0.1"
summary: "Run tests, lint, and commit code changes"
description: |
A workflow for preparing and committing code changes with quality checks.
@@ -14,6 +14,8 @@ description: |
3. commit_and_push - Review changes and commit/push
changelog:
+ - version: "1.0.1"
+ changes: "Changed file review from user confirmation to agent self-verification - agent now checks files match its own expectations instead of asking user every time"
- version: "1.0.0"
changes: "Initial job creation"
@@ -56,7 +58,7 @@ steps:
- id: commit_and_push
name: "Commit and Push"
- description: "Review changed files, commit, and push to remote"
+ description: "Verify changed files, commit, and push to remote"
instructions_file: steps/commit_and_push.md
inputs: []
outputs: []
@@ -66,8 +68,8 @@ steps:
after_agent:
- prompt: |
Verify the commit is ready:
- 1. Changed files list was reviewed with user
- 2. User confirmed the files match expectations
+ 1. Changed files list was reviewed by the agent
+ 2. Files match what was modified during this session (or unexpected changes were investigated)
3. Commit was created with appropriate message
4. Changes were pushed to remote
If ALL criteria are met, include `✓ Quality Criteria Met`.
diff --git a/.deepwork/jobs/commit/steps/commit_and_push.md b/.deepwork/jobs/commit/steps/commit_and_push.md
index d82d60f4..86d996cc 100644
--- a/.deepwork/jobs/commit/steps/commit_and_push.md
+++ b/.deepwork/jobs/commit/steps/commit_and_push.md
@@ -2,11 +2,11 @@
## Objective
-Review the changed files with the user, create a commit with an appropriate message, and push to the remote repository.
+Review the changed files to verify they match the agent's expectations, create a commit with an appropriate message, and push to the remote repository.
## Task
-Present the list of changed files for user review, ensure they match expectations, then commit and push the changes.
+Check the list of changed files against what was modified during this session, ensure they match expectations, then commit and push the changes.
### Process
@@ -16,31 +16,26 @@ Present the list of changed files for user review, ensure they match expectation
```
Also run `git diff --stat` to see a summary of changes.
-2. **Present changes to the user for review**
+2. **Verify changes match expectations**
- Use the AskUserQuestion tool to ask structured questions about the changes:
+ Compare the changed files against what you modified during this session:
+ - Do the modified files match what you edited?
+ - Are there any unexpected new files?
+ - Are there any unexpected deleted files?
+ - Do the line counts seem reasonable for the changes you made?
- Show the user:
- - List of modified files
- - List of new files
- - List of deleted files
- - Summary of changes (lines added/removed)
+ If changes match expectations, proceed to commit.
- Ask them to confirm:
- - "Do these changed files match your expectations?"
- - Provide options: "Yes, proceed with commit" / "No, let me review first" / "No, some files shouldn't be included"
+ If there are unexpected changes:
+ - Investigate why (e.g., lint auto-fixes, generated files)
+ - If they're legitimate side effects of your work, include them
+ - If they're unrelated or shouldn't be committed, use `git restore` to discard them
-3. **Handle user response**
-
- - If user confirms, proceed to commit
- - If user wants to review first, wait for them to come back
- - If user says some files shouldn't be included, ask which files to exclude and use `git restore` or `git checkout` to unstage them
-
-4. **Stage all appropriate changes**
+3. **Stage all appropriate changes**
```bash
git add -A
```
- Or stage specific files if user excluded some.
+ Or stage specific files if some were excluded.
5. **View recent commit messages for style reference**
```bash
@@ -69,8 +64,8 @@ Present the list of changed files for user review, ensure they match expectation
## Quality Criteria
-- Changed files list was presented to user
-- User explicitly confirmed the files match expectations
+- Changed files list was reviewed by the agent
+- Files match what was modified during this session (or unexpected changes were investigated and handled)
- Commit message follows project conventions
- Commit was created successfully
- Changes were pushed to remote
@@ -78,4 +73,4 @@ Present the list of changed files for user review, ensure they match expectation
## Context
-This is the final step of the commit workflow. It ensures the user has reviewed and approved the changes before they are committed and pushed. This prevents accidental commits of unintended files or changes.
+This is the final step of the commit workflow. The agent verifies that the changed files match its own expectations from the work done during the session, then commits and pushes. This catches unexpected changes while avoiding unnecessary user interruptions.
diff --git a/.gemini/skills/commit/commit_and_push.toml b/.gemini/skills/commit/commit_and_push.toml
index 5b69a2af..b9016b6d 100644
--- a/.gemini/skills/commit/commit_and_push.toml
+++ b/.gemini/skills/commit/commit_and_push.toml
@@ -1,10 +1,10 @@
# commit:commit_and_push
#
-# Review changed files, commit, and push to remote
+# Verify changed files, commit, and push to remote
#
# Generated by DeepWork - do not edit manually
-description = "Review changed files, commit, and push to remote"
+description = "Verify changed files, commit, and push to remote"
prompt = """
# commit:commit_and_push
@@ -20,17 +20,17 @@ Before proceeding, confirm these steps are complete:
## Instructions
-**Goal**: Review changed files, commit, and push to remote
+**Goal**: Verify changed files, commit, and push to remote
# Commit and Push
## Objective
-Review the changed files with the user, create a commit with an appropriate message, and push to the remote repository.
+Review the changed files to verify they match the agent's expectations, create a commit with an appropriate message, and push to the remote repository.
## Task
-Present the list of changed files for user review, ensure they match expectations, then commit and push the changes.
+Check the list of changed files against what was modified during this session, ensure they match expectations, then commit and push the changes.
### Process
@@ -40,31 +40,26 @@ Present the list of changed files for user review, ensure they match expectation
```
Also run `git diff --stat` to see a summary of changes.
-2. **Present changes to the user for review**
+2. **Verify changes match expectations**
- Use the AskUserQuestion tool to ask structured questions about the changes:
+ Compare the changed files against what you modified during this session:
+ - Do the modified files match what you edited?
+ - Are there any unexpected new files?
+ - Are there any unexpected deleted files?
+ - Do the line counts seem reasonable for the changes you made?
- Show the user:
- - List of modified files
- - List of new files
- - List of deleted files
- - Summary of changes (lines added/removed)
+ If changes match expectations, proceed to commit.
- Ask them to confirm:
- - "Do these changed files match your expectations?"
- - Provide options: "Yes, proceed with commit" / "No, let me review first" / "No, some files shouldn't be included"
+ If there are unexpected changes:
+ - Investigate why (e.g., lint auto-fixes, generated files)
+ - If they're legitimate side effects of your work, include them
+ - If they're unrelated or shouldn't be committed, use `git restore` to discard them
-3. **Handle user response**
-
- - If user confirms, proceed to commit
- - If user wants to review first, wait for them to come back
- - If user says some files shouldn't be included, ask which files to exclude and use `git restore` or `git checkout` to unstage them
-
-4. **Stage all appropriate changes**
+3. **Stage all appropriate changes**
```bash
git add -A
```
- Or stage specific files if user excluded some.
+ Or stage specific files if some were excluded.
5. **View recent commit messages for style reference**
```bash
@@ -93,8 +88,8 @@ Present the list of changed files for user review, ensure they match expectation
## Quality Criteria
-- Changed files list was presented to user
-- User explicitly confirmed the files match expectations
+- Changed files list was reviewed by the agent
+- Files match what was modified during this session (or unexpected changes were investigated and handled)
- Commit message follows project conventions
- Commit was created successfully
- Changes were pushed to remote
@@ -102,7 +97,7 @@ Present the list of changed files for user review, ensure they match expectation
## Context
-This is the final step of the commit workflow. It ensures the user has reviewed and approved the changes before they are committed and pushed. This prevents accidental commits of unintended files or changes.
+This is the final step of the commit workflow. The agent verifies that the changed files match its own expectations from the work done during the session, then commits and pushes. This catches unexpected changes while avoiding unnecessary user interruptions.
### Job Context
diff --git a/.gemini/skills/commit/index.toml b/.gemini/skills/commit/index.toml
index e4794158..3b53e542 100644
--- a/.gemini/skills/commit/index.toml
+++ b/.gemini/skills/commit/index.toml
@@ -31,7 +31,7 @@ Steps:
Command: `/commit:test`
2. **lint** - Format and lint code with ruff using a sub-agent (requires: test)
Command: `/commit:lint`
-3. **commit_and_push** - Review changed files, commit, and push to remote (requires: lint)
+3. **commit_and_push** - Verify changed files, commit, and push to remote (requires: lint)
Command: `/commit:commit_and_push`
## Execution Instructions