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
  • 2 views
  • 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…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.