save · diff
git:20261009.7098595 to git:20261018.fe87669
8 added, 5 removed. Audit B to B.
---
- description: Save the forge to git — the light check, then commit and push; no renders
- argument-hint: '[project-slug] [-m "message"] [--tag name]'
+ description: Save the forge to git — the light check, then commit and push; no renders; --quick leaves the check out
+ argument-hint: '[project-slug] [-m "message"] [--tag name] [--quick]'
disable-model-invocation: true
---
Save the forge to git: the light check, then commit and push on
whatever branch is checked out, nothing more (POS.1100). The
`project` and `engine` checks and the renders belong to `/release`
(`.claude/skills/release/SKILL.md`, POS.0570). The engine and every project are repositories of their
own (POS.0940); what the save does per repository is stated in the
help header of `scripts/forge-save.py`, and CLAUDE.md (Persistence)
carries the one-line summary (POS.1070).
Arguments (`[slug]`, `-m "message"`, `--tag <name>`) are passed
- through to the script; a project without a repository is a property,
+ through to the script; `--quick` is this skill's alone, leaves the
+ check out and nothing else (POS.1100), and is never passed on; a project without a repository is a property,
not a defect (CLAUDE.md, Persistence) — relay the script's note in
the report.
1. Determine scope from `python scripts/forge-status.py` (the scripts are
the only door to git — CLAUDE.md, Persistence). It reports the
engine and each project
separately, with the branch each is on. A project "not under git"
with changes is named in the report and otherwise left alone.
- 1a. Run the `light` check on every repository in scope and settle
+ 1a. Unless `--quick` was given, run the `light` check on every
+ repository in scope and settle
its report through the `/check` procedure
(`.claude/skills/check/SKILL.md`; the engine's project is
`forge`); a save never waits on a finding the principal has not
asked to fix (POS.0430).
2. Unless `-m` was supplied, draft a one-line English commit message
summarising the round — from the records the round appended to
the touched documents' histories, the primary record of every
round (CLAUDE.md, Versioning & status) — and propose it to the
principal; commit with the confirmed or adjusted wording. When
more than one repository has changes, one message per repository
is drafted, or the save is run per slug. The script's
auto-generated file list is used only if the principal says so.
3. A tag is set only on the principal's word: `--tag <name>` given, or
asked for in words. A tag needs one repository, so a slug. When he
asks for a tag without naming it, propose `v<intent version>` of
that repository's intent and take his word or his own name — any
name git accepts (`pre-save-release-split` as readily as a
number). The one fixed name, `v<major>` at an approved major, is
`/release`'s rule; it runs this command with it (POS.1100).
- 4. Only then run `python scripts/forge-save.py $ARGUMENTS` and report the
+ 4. Only then run `python scripts/forge-save.py $ARGUMENTS`, `--quick`
+ left out, and report the
outcome — the script itself prints the commit's file summary and
the tag; no direct git verification afterwards.