원클릭으로
checkpoint
Save a lightweight session checkpoint.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Save a lightweight session checkpoint.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Deploy or share generated HQ artifacts through hq-deploy.
Mark a company as HQ Pro cloud-backed and sync its team setup.
Send HQ Sync direct messages, prompts, details, or scheduled notes to teammates.
Run a full bidirectional sync for cloud-backed HQ companies.
Scaffold a new HQ company AND optionally take it all the way to operational — business-discovery interview, seeded knowledge/workers/skills/projects, brand design packs (generated from website/PDF/Drive and bound to deploys via policy), connected integrations, org groups + ACL rules, teammate invites, and optional cloud agents.
Resolve HQ Sync conflicts by choosing local, cloud, or discard.
| name | checkpoint |
| description | Save a lightweight session checkpoint. |
| allowed-tools | Write, Bash, Read |
Save current work state as a thread to survive context loss.
Task ID (optional): $ARGUMENTS
/learn for each before proceeding. Skip if nothing novel was learned. See CLAUDE.md ## Session Learnings for guidance.0c. Extract session insights (lightweight)
Same as /handoff step 0c but briefer — max 2 insights.
Skip if session just started or no explanatory content generated.
Call /learn with source: "session-insight" for each.
Check for recent auto-checkpoint (upgrade instead of duplicate)
# Find auto-checkpoints from last 5 minutes
find workspace/threads -name "T-*-auto-*.json" -mmin -5 2>/dev/null | sort -r | head -1
If found: upgrade that file in-place (add full fields: initial_commit, commits_made, remote_url, knowledge_repos, worker, next_steps; change type to "checkpoint"; rename file to remove -auto-). Then continue from step 7 (INDEX updates).
Generate thread ID if not provided
T-{YYYYMMDD}-{HHMMSS}-{slug}mrr-report, email-fix)Capture git state
git rev-parse --abbrev-ref HEAD # branch
git remote get-url origin 2>/dev/null # remote
git rev-parse --short HEAD # current commit
git log --oneline -5 # recent commits
git diff --name-only HEAD~3 # recently touched files
git status --porcelain # dirty check
Capture knowledge repo git states Knowledge folders are separate git repos (symlinked or embedded). For any knowledge path in files_touched, capture its repo state:
# For each knowledge repo with changes:
bash -c '
shopt -s nullglob
for symlink in core/knowledge/public/* core/knowledge/private/* personal/knowledge/* companies/*/knowledge; do
[ -L "$symlink" ] || [ -d "$symlink/.git" ] || continue
repo_dir=$(cd "$symlink" && git rev-parse --show-toplevel 2>/dev/null) || continue
dirty=$(cd "$repo_dir" && git status --porcelain)
[ -z "$dirty" ] && continue
echo "$symlink: $(cd "$repo_dir" && git rev-parse --short HEAD) (dirty)"
done
'
Include dirty knowledge repos in the thread JSON under git.knowledge_repos.
Gather session state
5.5. Close active session journal (if any)
Spec: core/knowledge/public/hq-core/journal-spec.md. If a journal was opened earlier in this session by /brainstorm, /deep-plan, /prd, or /plan, close it now:
.claude/skills/_shared/journal.sh close "{project_dir}" "{one-line synthesis, ≤120 chars}"
Pass the resolved project directory that owns this session's journal. Fail-soft: no-op if no owned active journal pointer exists. Use the same one-line summary you used for conversation_summary below.
Write thread to workspace/threads/{thread_id}.json (include knowledge_repos from step 3):
{
"thread_id": "T-20260123-143052-mrr-report",
"version": 1,
"created_at": "ISO8601",
"updated_at": "ISO8601",
"workspace_root": "~/",
"cwd": "current/working/dir",
"git": {
"branch": "main",
"remote_url": "git@github.com:...",
"initial_commit": "abc1234",
"current_commit": "def5678",
"commits_made": ["hash: message"],
"dirty": false,
"knowledge_repos": {
"knowledge-{company}": {"commit": "abc1234", "dirty": true},
"knowledge-ralph": {"commit": "def5678", "dirty": false}
}
},
"worker": {
"id": "worker-id or null",
"skill": "skill-name or null",
"state": "completed"
},
"conversation_summary": "1-2 sentence summary",
"files_touched": ["relative/paths"],
"next_steps": ["remaining tasks"],
"metadata": {
"title": "Human-readable title",
"tags": ["searchable", "tags"]
}
}
Also write legacy checkpoint to workspace/checkpoints/{task-id}.json for backward compat
Update INDEX files and recent threads
workspace/threads/recent.md with last 15 threads (table format)INDEX.md timestamp only (do NOT regenerate full content — it's now slim)workspace/threads/INDEX.md (all threads, full table)companies/*/knowledge/ paths — if found, regenerate that company's knowledge/INDEX.mdcore/knowledge/public/hq-core/index-md-spec.md for INDEX format8b. Document release
Run /document-release — the skill resolves company + project context on its own.
Best-effort — skip silently on failure.
Thread saved: workspace/threads/{thread_id}.json
Summary: {summary}
Git: {branch} @ {commit} ({dirty ? "dirty" : "clean"})
Files: {count} files touched
Next: {next_steps or "Work complete"}
To hand off to fresh session: /handoff
| Feature | Thread (new) | Checkpoint (legacy) |
|---|---|---|
| Git context | Full (branch, commits, dirty) | Minimal |
| Worker state | Captured | Not captured |
| Location | workspace/threads/ | workspace/checkpoints/ |
| Format | Rich JSON | Simple JSON |
/handoff/search/handoff — a full continuation package/journal — durable working memory