chain-system
Skill40 starsChanged 8 months agoApache-2.0View on GitHub
Create, list, and load multi-session chain links that capture work context for later continuation. Use when you want to save current progress, resume a project from a prior session, or inspect chain history. Triggers: chain link, chain load, chain list, save context, resume work, continue later, session handoff.
We split this skill into the rules it gives an agent
12 rules. About 0 are common, 5 are distinctive, and 7 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈5
Distinctive · estimate
This author's own choices. Worth a look.
7
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 22
If the chain name is missing for link or load, ask the user for it.
- Very specific: line 26
Default to .claude/chains to remain compatible with the existing Claude chain-system plugin.
- Distinctive: line 32
Create a new chain link summarizing the current work.
- Distinctive: line 45
Create a slug (kebab-case) and a human readable title.
- Very specific: line 46
Create the directory: mkdir -p .claude/chains/<chain-name>.
- Very specific: line 48
Write the summary to: .claude/chains/<chain-name>/<timestamp>-<slug>.md
- Distinctive: line 50
Write only the summary (no analysis), then tell the user the file path and how to load it.
- Very specific: line 52
Use the same file format each time so load can extract summary and next step reliably.
- Very specific: line 61
If none, tell the user the chain does not exist and suggest list.
- Distinctive: line 62
Read the file fully and internalize it as working context.
- Distinctive: line 70
If any insufficiency flags exist, stop and clarify before proceeding.
- Very specific: line 83
If no chains exist, suggest link to start one.
≈ “Common” is an estimate: at least 1 in 5 of the 308,232 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Chain System
Overview
Capture durable, structured summaries of work so a later session can resume without re-discovery. Provide three subcommands under one skill: link, load, and list.
Usage
Invoke with a subcommand:
$chain-system link <chain-name>
$chain-system load <chain-name>
$chain-system listIf the chain name is missing for link or load, ask the user for it.
Chain Root
Default to .claude/chains to remain compatible with the existing Claude chain-system plugin. If the user explicitly wants Codex-only storage, switch to .codex/chains and confirm.
Subcommands
link
Create a new chain link summarizing the current work.
Steps:
- Build a concise but complete summary using this structure:
- Primary Request and Intent
- Key Technical Concepts
- Work Completed
- Decisions and Rationale
- Files and Code Changes (Created/Modified/Read)
- Unresolved Issues and Blockers (only if any)
- Pending Tasks
- Current Work
- Next Step
- Create a slug (kebab-case) and a human readable title.
- Create the directory:
mkdir -p .claude/chains/<chain-name>. - Generate timestamp in local time:
date '+%Y-%m-%d-%H%M'. - Write the summary to:
.claude/chains/<chain-name>/<timestamp>-<slug>.md - Write only the summary (no analysis), then tell the user the file path and how to load it.
Use the same file format each time so load can extract summary and next step reliably.
load
Load the most recent chain link for a named chain.
Steps:
- Find the most recent link:
ls .claude/chains/<chain-name>/*.md 2>/dev/null | sort -r | head -1
- If none, tell the user the chain does not exist and suggest
list. - Read the file fully and internalize it as working context.
- List the 5 most recent links:
ls .claude/chains/<chain-name>/*.md 2>/dev/null | sort -r | head -5
- Detect insufficiency and ask questions if needed:
- Missing context referenced by the link
- Ambiguous "Next Step"
- Stale link (>7 days old)
- Show the user: chain name, most recent link filename, short summary, next step, and the 5 most recent links.
- If any insufficiency flags exist, stop and clarify before proceeding.
list
List all chains with counts and most recent link.
Steps:
- Check for chains:
ls -d .claude/chains/*/ 2>/dev/null
- For each chain, show:
- chain name (directory)
- link count (
ls .claude/chains/<chain-name>/*.md 2>/dev/null | wc -l) - most recent link filename (
ls .claude/chains/<chain-name>/*.md 2>/dev/null | sort -r | head -1)
- If no chains exist, suggest
linkto start one.
In this repository14 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- 97-devSkill
- alpha-squadSkill
- anti-ai-slopSkill
- arxiv-searchSkill
- bug-huntersSkill
- cost-statusSkill
- datetimeSkill
- dev-expertsSkill
- golang-proSkill
- mft-research-expertsSkill
- polars-expertiseSkill
- venue-expertSkill
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

