📚 Never commit the plan file with the implementation

The implement-plan flow asked to commit the closed plan together with
the code, so the resulting commit looked like it was missing a piece.

State the rule in the three places that describe it: the implement-plan
skill, the commit workflow memory and the agents README. A plan is
session bookkeeping, not part of the change, and its absence from the
commit is correct rather than a missing piece.

AI-assisted-by: deepseek-v4.1-flash
This commit is contained in:
Andrey Antukh 2026-10-18 18:39:50 +00:00
parent 16ea1ab3cd
commit 49f746ddd8
3 changed files with 21 additions and 8 deletions

View File

@ -410,6 +410,10 @@ append-only `Review Log` (UTC ISO 8601, one line per entry):
A plan approved with no changes goes `draft` → `done` directly.
A plan is never staged or committed: the `done` status and its
`Review Log` are session bookkeeping, not part of the change. Their
absence from the commit is expected.
## 7. Connecting `gh` CLI with a token
The `create-issue` and `create-pr` flows need an authenticated `gh`

View File

@ -107,12 +107,15 @@ When the implementation is complete, close the plan file first: flip its
with the issue URL when one exists (standalone mode, e.g.
`https://github.com/penpot/penpot/issues/NNNN`); in continue/direct
mode with no issue, just `done` with no invented identifier. Never
record commit hashes. Then load the **`create-commit`** skill
and follow its workflow to commit the changes together with the
closed plan file, so plan and code land in the same commit. Provide a brief summary
of what was implemented and why, the issue reference (`issue-NNNN`) when
there is one, and the model name you are running as so the
`AI-assisted-by` trailer is set correctly.
record commit hashes.
**The plan file is never staged or committed.** It is session
bookkeeping, not part of the change: the commit carries the code and
the tests. Then load the **`create-commit`** skill and follow its
workflow to commit them. Provide a brief summary of what was
implemented and why, the issue reference (`issue-NNNN`) when there is
one, and the model name you are running as so the `AI-assisted-by`
trailer is set correctly.
### Step-by-step mode (on request)
@ -124,8 +127,8 @@ per task" — loop one task at a time:
one commit per task, never two tasks in one commit. Same inputs as
always: what and why, the issue reference, your model name.
- After the final task, close the plan file (`Status: done`, one
`Review Log` line with the issue URL when one exists) and include
it in that last commit.
`Review Log` line with the issue URL when one exists). It is never
staged: session bookkeeping does not go into the commit.
- Show the user the result (what changed, files touched, how it was
verified).
- WAIT for the user's confirmation before starting the next task.

View File

@ -2,6 +2,12 @@
Commit only on explicit request. Before commit: `git status`; exclude unrelated user changes.
**Never stage a plan file.** A plan is session bookkeeping, not part of the
change: the commit carries the code and the tests. The `implement-plan` flow
still closes the plan (`Status: done` plus one `Review Log` line with the issue
URL); that is not a file to ship, and its absence from the commit is correct,
not a missing piece.
Do not guess or hallucinate git author information (Name or Email). Never include the
`--author` flag in git commands unless specifically instructed by the user for a unique
case; assume the local environment is already configured. Allow git commit to