ln-003-push-all
Paths: File paths (
shared/,references/,../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.
Push All (Standalone Utility)
Type: Standalone Utility Category: 0XX Shared
Commits and pushes ALL current changes (staged, unstaged, untracked) to the remote repository in a single operation.
When to Use This Skill
- Quick push of all accumulated changes without manual staging
- End-of-session commit when all changes are ready
- Any situation where
git add -A && git commit && git pushis the intent
Workflow
Analyze → Doc Check → CHANGELOG → Lint Check → Stage → Commit → Push → Report
Phase 1: Analyze Changes
- Run
git diff --statandgit statusto understand ALL changes (staged, unstaged, untracked) - Identify what was changed and why
Phase 2: Documentation Check
Check if related documentation needs updating:
| Change Type | Action |
|---|---|
| Code behavior changed | Update affected docs, comments, examples |
| New files/folders added | Update relevant index or list sections |
| Config files changed | Check README or setup docs |
| No doc impact | Skip |
Skip: Version bumps (version fields in SKILL.md, README badge) — those are done only on explicit user request.
Phase 3: CHANGELOG Update
If CHANGELOG.md exists and changes are significant (not just lint/formatting fixes):
- Check if today's date already has an entry (
## YYYY-MM-DD) - If yes — append to existing paragraph
- If no — add new
## YYYY-MM-DDentry (newest first) with ONE concise paragraph (3-5 sentences) - Summarize what was changed in this push
- Do NOT include "Total skills: N" counts — these change too frequently
Skip if: no CHANGELOG.md in project, or changes are trivial (whitespace, lint auto-fixes only).
Phase 4: Lint Check
MANDATORY READ: shared/references/ci_tool_detection.md (Discovery Hierarchy + Command Registry)
Discover and run project linters before committing, per ci_tool_detection.md.
Step 1: Discover linter setup — first check docs/project/runbook.md for explicit lint/format commands (they take priority over auto-detection), then follow ci_tool_detection.md discovery hierarchy. Also check: CLAUDE.md, README.md, CONTRIBUTING.md for lint instructions.
Step 2: Run linters with auto-fix
- Run discovered lint commands with
--fixflag (or equivalent per ci_tool_detection.md Auto-Fix column) - If linter reports errors that auto-fix cannot resolve — fix manually
- If no linter config found in project — skip this phase (log: "No linter configuration found, skipping") Step 3: Verify
- Re-run linters without
--fixto confirm zero errors - If errors remain after 2 fix attempts — report remaining errors to user and proceed
Phase 5: Stage and Commit
- Run
git add -Ato stage everything - Run
git diff --cached --statto show what will be committed - Run
git log --oneline -3to match recent commit style - Compose a concise commit message summarizing ALL changes
- Commit with
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 6: Push and Report
- Push to the current branch's remote tracking branch
- Report: branch name, commit hash, files changed count
Critical Rules
- Stage everything:
git add -A— no partial commits - Match commit style: Follow the project's existing commit message convention
- Co-Author tag: Always include
Co-Authored-Byline - No version bumps: Skip CHANGELOG/version updates unless explicitly requested
- Lint before commit: Always attempt lint discovery; skip gracefully if no config found
Version: 1.0.0 Last Updated: 2026-02-12