name: bulk-update
A one-shot orchestration to keep the project's documentation, scope record, and version control in sync after a round of code changes. Designed to be run at the END of a meaningful unit of work (a feature, a bugfix series, a refactor), NOT after every tiny edit.
Before launching any sub-agents, the main thread MUST collect:
Recent change summary — review the conversation transcript and git status / git diff --stat for the changes since the last commit. Write a 5-10 line plain-English summary of WHAT changed and WHY. This summary is passed to every sub-agent so they don't duplicate the investigation.
New files inventory — git status --porcelain | awk '/^\?\?/ {print $2}' plus any modified top-level files. Identify any new top-level documentation files (Methodology.md was an example) that need to be referenced from CLAUDE.md and the project README.
Remote configured? — git remote -v. If origin is set, the push step runs; otherwise it's skipped and reported.
PROJECT_SCOPE.md exists? — if not, this skill is the wrong tool; tell the user to run the PM agent in design mode first.
Run as three sequential phases. Within each phase, parallel sub-agents fan out where independent.
Spawn the PM agent with the change summary and instructions to:
PROJECT_SCOPE.md.PM is the ONLY agent allowed to edit PROJECT_SCOPE.md (per global CLAUDE.md rule). Do NOT spawn a programmer for this file.
Spawn programmer agents in parallel — one per doc target. Always include:
CLAUDE.md — keep under its declared line cap (check the file's "Maintenance Rules" section); update Stack / Architecture Decisions / Pipeline / Data Layout / Frontend Pages / Conventions / Known Issues sections as relevant. Prune outdated lines; one-line-per-decision style.
DOCUMENTATION.md (if present) — update affected sections only. Common targets: §8 file layout (new scripts/files), §9 regeneration commands (new build steps), §11 change log (always append).
Methodology.md (if present) — update only if the methodology actually changed (new metric, classifier change, new data source). Pure UI changes or refactors do NOT touch Methodology.md.
README.md inside the shipping artifact (if results/<N>/README.md exists and build_app.py regenerates it) — usually skipped because build_app.py overwrites on every build. Only edit if the change affects the embedding contract.
Any other top-level .md file discovered in the new-files inventory — needs a routing decision: is it a one-off note (leave it), a permanent reference (link from CLAUDE.md + DOCUMENTATION.md §8), or a deferred-concerns log (link from CLAUDE.md "Known Issues")?
Each programmer agent gets:
If origin is configured, run inline (no sub-agent — git operations are quick and the orchestrator has the context):
git status --short to confirm only expected files changed.git diff --stat for the commit-message subject material.git add -A (the .gitignore is trusted to exclude secrets and build outputs).Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>GIT_AUTHOR_NAME / GIT_AUTHOR_EMAIL / GIT_COMMITTER_*) if local git config user.email is unset — DO NOT modify git config.git push origin <branch> (current branch, usually master or main).! git push origin master). Do NOT try to bypass.If origin is NOT configured, skip Phase 3 entirely and tell the user that the commit was made locally only.
A compact 4-6 line summary covering:
! git push.