Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add JustineDevs/premortem --skill migrating-to-checkpointsgit clone --depth 1 https://github.com/JustineDevs/premortemWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/justinedevs/premortem/migrating-to-checkpoints)<a href="https://agentmods.dev/skills/justinedevs/premortem/migrating-to-checkpoints"><img src="https://agentmods.dev/badge/skills/justinedevs/premortem/migrating-to-checkpoints/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/justinedevs/premortem/migrating-to-checkpoints"><img src="https://agentmods.dev/badge/skills/justinedevs/premortem/migrating-to-checkpoints.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00094 | $0.02005 |
| Opus 5 | $0.00047 | $0.01002 |
| Sonnet 5 | $0.00019 | $0.00401 |
| Haiku 4.5 | $0.00009 | $0.00200 |
Grade A, and why
migrating-to-checkpoints scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 9d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 161 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Migrating to Checkpoints
Update existing createSync() code to use checkpoints. Preserve provider behavior first; only change the progress/resume mechanism and the deletion handling needed to make checkpointing correct.
Scope
- This skill assumes Zero YAML TypeScript syncs. If
nango.yamlstill defines the sync, suggest migrating to Zero YAML as a next step before or alongside the checkpoint migration. Mention themigrating-to-zero-yamlskill, suggestnpx skills add https://github.com/NangoHQ/skills --skill migrating-to-zero-yamlif it is not installed, and link the docs: https://nango.dev/docs/implementation-guides/platform/migrations/migrate-to-zero-yaml. - Prefer one sync at a time when a repo has many providers.
Gotchas
- Always call
saveCheckpoint()immediately after every successfulbatchSave()(and afterbatchUpdate()/batchDelete()when those advance progress). This is required inside pagination loops (for awaitovernango.paginate, manual cursor/offset loops, nested fetches)—not only once at the end ofexec. Saving only after a helper returns or only at the end ofexecleaves no durable progress if the run fails mid-pagination. - Do not add a checkpoint that is only saved. The next run must use it in provider request params or pagination/resume state.
- Use flat checkpoint objects only: string, number, or boolean values. Store dates as ISO strings; do not save
Dateobjects, arrays, or nested objects. - The first run after deployment has no checkpoint yet, so it behaves like an initial sync and may take longer than later incremental runs. Tell the customer when this matters.
- Incremental changed-only syncs must not use
trackDeletesStart()/trackDeletesEnd(). Those endpoints omit unchanged rows, so Nango would mark unchanged records as deleted.
Inventory
Search for legacy and partial checkpoint patterns:
rg -n "lastSyncDate|syncType:\s*['\"]incremental|deleteRecordsFromPreviousExecutions|trackDeletes:|track_deletes|getCheckpoint|saveCheckpoint|clearCheckpoint" .
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 9d ago First seen · 161 lines · 94 tokens per session scan A e204807d2845
migrating-to-checkpoints is a skill published in the GitHub repository JustineDevs/premortem (2 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 94 tokens to every session and 2,005 once invoked, about $0.0005 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-03.
Other skills, from other repositories
extract-api
This skill should be used when the user asks to "extract API from", "import API from", "add commands from this repo", "register API from docs", "convert docs to CLI commands", "import Postman collection", or provides a GitHub repository URL, a documentation site URL, a Postman collection file/URL, or a local API…
aws-cli
CLI-first AWS orchestration skill for Lambda, ECS/Fargate, and S3 workflows rooted in .☁️ runbooks.
azure-eventhub-dotnet
Azure Event Hubs SDK for .NET. Use for high-throughput event streaming: sending events (EventHubProducerClient, EventHubBufferedProducerClient), receiving events (EventProcessorClient with checkpointing), partition management, and real-time data ingestion. Triggers: "Event Hubs", "event streaming"…
voiden
Create and edit Voiden .void files for API testing. Covers the .void file format and all enabled extension block types.
notion
Notion workspace integration for searching pages, managing databases, creating postmortems, and exporting RCA findings.
ak-add-integration
Add a messaging platform integration to an existing Agent Kernel project. This skill guides you through adding Slack, WhatsApp, Messenger, Instagram, Telegram, Teams, or Gmail integration by generating configuration, updating dependencies, and setting up webhook handlers. Designed for users extending their agents.