ワンクリックで
inc-os-save-system
Save your work to the system. Review local changes, walk the user through any merge conflicts, then push to origin/main.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Save your work to the system. Review local changes, walk the user through any merge conflicts, then push to origin/main.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Add a new resource to your system. Takes a raw source (article, transcript, notes, YouTube URL, or attachment), preserves binary originals in the raw layer when the repo has one, and routes the content to the right place (the wiki for stable knowledge, clients/{slug}/ for client-specific material). Then summarizes and cross-references.
Improve your system. Improves skills from iteration, captures experiences, reviews session history for knowledge, audits for rot, and sets up foundation content. Routes automatically based on context.
Use when the user wants to build or automate something — "I want to automate X", "can we build a tool for Y", "help me plan this automation" — before any building starts. Interviews them to find the real problem and produces a written minimum viable solution plan.
Update your system. Pull latest changes from main and summarize what's new. Syncs skills, knowledge, frameworks, and shared Claude Code settings so your system stays current.
| name | inc-os:save-system |
| description | Save your work to the system. Review local changes, walk the user through any merge conflicts, then push to origin/main. |
Review local changes against main, flag anything risky, then sync with origin/main and push.
Optional argument shortcuts:
| Argument | Effect |
|---|---|
everything | Save all pending work, skip the scope question in Step 1.5 |
chat | Save only this chat's work, skip the scope question |
quick | Save everything AND skip the per-file risky review in Step 3 (still show the summary) |
No argument → run the full flow.
Check the repo layout before any path work:
knowledge/wiki/ exists → knowledge layout: WIKI = knowledge/wiki/, RAW = knowledge/raw/.WIKI = wiki/. There is no raw layer.clients/ exists only in some repos. Run client-routing steps only when the clients/ folder exists; otherwise skip them and route everything through WIKI.Every WIKI/... path below means the resolved folder (e.g. knowledge/wiki/offers/ in knowledge layout, wiki/offers/ in flat layout).
| Area | Path patterns | Why it's risky |
|---|---|---|
| Website (auto-deploys to production) | app/**, public/** | Pushes go live on Vercel on merge to main |
| Brand voice (foundation) | WIKI/brand-voice/** | Every downstream draft reads from this |
| Offers (foundation) | WIKI/offers/** | Every proposal and report reads from this |
| Audience (foundation) | WIKI/audience/** | Every buyer-facing draft reads from this |
| Frameworks | WIKI/frameworks/** | Core methodology patterns |
| Proposal templates | WIKI/proposals/** | Templates feed every client proposal |
| Report templates | WIKI/reports/** | Templates feed every client report |
| Consultants | WIKI/consultants/** | Changes advisor panel feedback |
| Skills | .claude/skills/** | Core workflows |
| Shared settings | .claude/settings.json | Affects Claude Code behavior |
Docs (docs/**) are not risky; client folders (clients/**, when present) likewise, since they churn constantly with working data.
knowledge/raw/** is not risky (immutable additions), but deletions or modifications of existing raw files MUST be flagged. Raw is append-only.
Everything else is not risky and can be pushed without review.
When a risky file matches a foundation path (WIKI/brand-voice/**, WIKI/offers/**, WIKI/audience/**), label it in the summary as (foundation).
Run in parallel:
git status --shortgit diff HEAD (unstaged + staged changes)git log --oneline -5 (recent commits for message style)git rev-list --count origin/main..HEAD (unpushed commits)If there are no changes (clean working tree AND no unpushed commits), tell the user there's nothing to push and stop.
The diff above includes every uncommitted change in the working tree, not just what this chat touched. Default to saving everything. Never ask the user to pick individual files.
Always show a summary of what's been worked on — describe the work, not the files. Group changes into short bullets like "what was being worked on", inferred from the diff (file purpose, commit-style verbs). Skip file paths in this summary.
Work pending save:
This chat:
• Added scope prompt to save-system skill
Earlier, unpushed:
• Tax return email tweaks
• Hogan 360 framework edits
• Stale build artifact
Rules:
Then ask (only if the split is known, and no scope argument was given) with the AskUserQuestion tool:
"Save everything, or only this chat's work?"
- Everything (Recommended) — save all pending work
- Just this chat — earlier unpushed work stays local for now
Everything → proceed to Step 2 with all changes.
Just this chat → narrow the change set to files Claude edited this conversation. At Step 4 stage only those paths (git add <paths>), not git add -A. Earlier unpushed changes stay in the working tree. Mention this in Step 7's confirmation.
Use the risky-path table above. Split every changed file into two buckets:
Present a summary:
Changes to push:
SAFE (N files)
• clients/acme/sessions/2026-05-12.md — new session log
• docs/playbooks/intake-call.md — playbook tweak
RISKY (N files)
• knowledge/wiki/audience/icp.md — (foundation)
• knowledge/wiki/brand-voice/voice.md — (foundation)
• knowledge/wiki/frameworks/hogan-360/scoring.md — modified framework
• .claude/skills/ingest-source/SKILL.md — changed ingest workflow
• app/page.tsx — website change, auto-deploys on merge
If there are no risky files, skip to Step 4.
If the quick argument was given, show the risky summary but skip the per-file review and proceed to Step 4.
Otherwise, for each risky file:
git checkout -- <file> to undo that specific fileAfter resolving all risky files, re-run git status to confirm the final state.
If there are uncommitted changes:
git add <paths>), leave the rest alonegit log)Before pushing, check if origin/main has moved ahead:
git fetch origin main --quiet
BEHIND=$(git rev-list --count HEAD..origin/main)
If BEHIND = 0, proceed directly to Step 6.
If BEHIND > 0, origin is ahead — walk through the divergence interactively:
Show the user what's on origin that we don't have:
git log HEAD..origin/main --oneline
Offer to rebase:
"Origin/main has N commit(s) we don't have locally. I'll rebase your local commits on top of origin/main. Want to proceed?"
On confirmation, run:
git pull --rebase --autostash origin main
If rebase succeeds cleanly, proceed to Step 6.
If rebase hits conflicts, stop immediately. Show the conflict state:
git status
git diff --diff-filter=U
Then walk through each conflicted file one at a time:
git add <file> and move to the next conflictgit rebase --continue"This conflict in
<file>needs manual resolution. Open it in your editor, fix the conflict markers, then rungit add <file> && git rebase --continue. Let me know when you're done and I'll resume."
NEVER use git push --force or git push --force-with-lease. If the push would require a force, stop and explain why, then help the user understand what diverged.
git push origin main
If push is denied by a permission rule (e.g., "Direct push to main"):
"Push got denied by a permission rule. Auto mode is on, so I can't get an interactive approval. Switch off auto mode (shift+tab), then say 'retry' and I'll push again."
Pushed to main (N commits).
Changes:
• <grouped summary of what shipped>
git push origin main again after checking credentials.git rebase --abort to restore the pre-rebase state. Nothing is lost./inc-os:update-system for a pure sync.