Skip to content
Back to skills

Cocopod

ASecurity

Write a structured recovery snapshot to lifecycle/checkpoint.md before context reset — captures phase, stage, decisions, and pending items so $pod resume can restore precise context

  • 724 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added June 5, 2026
ai-agentsgit

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned June 5, 2026

npx -y skills add Snowflake-Labs/cocoplus --skill cocopod --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cocopod?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cocopod
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/snowflake-labs-cocopod/badge)](https://www.skillsdirectory.com/skills/snowflake-labs-cocopod)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: pod-checkpoint
description: Write a structured recovery snapshot to lifecycle/checkpoint.md before context reset — captures phase, stage, decisions, and pending items so $pod resume can restore precise context
version: 1.0.2
user-invocable: true
command: $pod checkpoint
author: "CocoPlus"
tags:
  - cocoplus
feature: CocoHealth (Feature 27) — CocoPod subcommand
---

# $pod checkpoint

Write a structured recovery snapshot to `.cocoplus/lifecycle/checkpoint.md`. Use this before `$clear` to ensure `$pod resume` can restore your exact position.

## Preconditions

- `.cocoplus/` directory must exist (run `$pod init` first)
- No arguments accepted

## Step-by-Step Behavior

1. **Verify initialization:** Check `.cocoplus/` exists. If not, output: "CocoPlus not initialized. Run `$pod init` first." and exit.

2. **Read current lifecycle phase:** Read `.cocoplus/lifecycle/meta.json`. Extract: current phase, phase ID, completion timestamps.

3. **Read in-progress flow stage:** Read `.cocoplus/flow.json`. Find the stage with `status: "running"` or the next `status: "pending"` stage. Extract: stage ID, stage name, checkpoint validation status.

4. **Read last 5 decisions:** Read `.cocoplus/memory/decisions.md`. Extract the 5 most recent entries (newest first) — capture ID, brief description, date.

5. **Read open must-fix items:** Read `.cocoplus/lifecycle/review.md` if it exists. Extract any must-fix findings that have not been resolved.

6. **Read active HITL stages:** Read `.cocoplus/flow.json`. Find all stages with `"hitl": true` and `status: "pending"` awaiting developer approval.

7. **Read triggered seeds:** Scan `.cocoplus/seeds/*.yaml` for entries with `status: triggered`.

8. **Read CocoHarvest status:** Read `.cocoplus/harvest/` directory for any `*-tasks.json` files with in-progress stages. Extract harvest ID and agent summary.

9. **Assess context utilization:** Read `.cocoplus/meter/current-session.json` if it exists. Approximate utilization from token accumulation. If context utilization data is unavailable, omit this field gracefully.

10. **Write checkpoint file:** Write all gathered state to `.cocoplus/lifecycle/checkpoint.md` (overwrite if it exists):

```markdown
---
checkpoint_date: [ISO8601]
lifecycle_phase: [phase name]
phase_id: [phase-id or null]
context_utilization: [percentage or "unavailable"]
---

# CocoPlus Checkpoint — [ISO8601]

## Lifecycle State
- **Phase:** [current phase] (ID: [phase-id])
- **Last completed:** [last phase completed with timestamp]

## In-Progress Flow Stage
- **Stage:** [stage-id] — [stage name]
- **Persona:** [assigned persona]
- **Checkpoints validated:** [N / total]
- **Status:** [running / pending]

## Last 5 Decisions
1. [[decision-id]] [brief description] — [date]
2. ...

## Pending Must-Fix Items
[List from review.md, or "None"]

## HITL Stages Awaiting Approval
[List of hitl: true stages with pending status, or "None"]

## Active CocoHarvest Run
- **Harvest ID:** [run-id or "None active"]
- **Agents:** [summary of in-progress agents]

## Triggered Seeds Ready for Promotion
[List of triggered seeds, or "None"]
```

11. **Confirm to developer:**
```
✓ Checkpoint saved to lifecycle/checkpoint.md
  Phase: [current phase]
  Stage: [in-progress stage or "none"]
  Decisions captured: [N]

Next steps:
  1. Run $clear to reset the context window
  2. Run $pod resume to continue from this checkpoint
```

12. **Recovery Decision Matrix (when context is at/near 70%):** If context utilization is ≥70% or if checkpoint is triggered by CocoHealth alert, additionally evaluate the following and append the recommended action:

| Uncommitted Changes | Recent Phase Commits | Checkpoint Exists | Recommended Action |
|---|---|---|---|
| No | Yes | Any | `Resume from last commit` — no work at risk; start new session |
| Yes (< 20 lines) | Any | Yes | `Commit partial + resume` — commit current state, resume from checkpoint |
| Yes (≥ 20 lines) | Any | Yes | `Checkpoint + new session` — run `$clear` then `$pod resume` |
| Yes | No | No | `Emergency commit` — commit all modified files with `chore(recovery): emergency state preservation` |
| No | No | No | `Clean restart` — `.cocoplus/` state files are the recovery source |

Run `git status --porcelain` and `git log --oneline -5` to assess the matrix row. Output the recommendation alongside the checkpoint confirmation.

## Output Format

```
✓ Checkpoint saved to .cocoplus/lifecycle/checkpoint.md

  Phase: [current phase]
  In-progress stage: [stage-id: stage-name] or "none"
  Decisions captured: [N]
  Must-fix items: [N]
  HITL stages pending: [N]
  Seeds ready: [N]

Recovery recommendation: [action from matrix, or "Run $clear then $pod resume"]

Run $clear to reset context, then $pod resume to continue.
```

## Error Cases

- **`.cocoplus/` not initialized:** Output message and exit; do not create checkpoint
- **`meta.json` missing:** Note "lifecycle phase unavailable" in checkpoint; continue
- **`flow.json` missing:** Note "no pipeline active" in checkpoint; continue
- **Cannot write checkpoint file:** Output filesystem error; do not create partial file

## Exit Criteria

This skill is complete when:
- `lifecycle/checkpoint.md` is written with all available state
- Developer has received the confirmation message and recovery recommendation

## Anti-Rationalization

Do NOT:
- Create a git commit for the checkpoint (checkpoint is committed with the next CocoBrew phase commit)
- Skip writing the file if some state sections are unavailable — write what is available, note what is missing
- Block the developer from continuing work after checkpoint is written

Files in this skill

  • pod-checkpoint.skill.md5.5 KB
  • pod-init.skill.md9 KB
  • pod-kb.skill.md2.7 KB
  • pod-resume.skill.md3 KB
  • pod-status.skill.md4.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…