tool-store
Skill0 starsChanged 4 months agoMITView on GitHub
Use this skill whenever you store or retrieve extended repository context, plans, notes, or `[store:id]` references, or when a message asks you to load a store id. Store items are not auto-loaded, so load this skill before reading or writing store state.
In this repository34 other files it gives its agents.
- AGENTS.mdAGENTS.md
- mcpSkill
- pattern-orchestration-complexSkill
- pattern-task-breakdownSkill
- role-architectSkill
- role-code-reviewSkill
- role-data-engineerSkill
- role-developerSkill
- role-orchestratorSkill
- role-product-engineerSkill
- role-qa-engineerSkill
- role-security-auditorSkill
- role-site-reliability-engineerSkill
- role-technical-writerSkill
- standards-analysisSkill
- standards-api-designSkill
- standards-codeSkill
- standards-databaseSkill
- standards-documentationSkill
- standards-go-concurrencySkill
- standards-go-performanceSkill
- standards-goSkill
- standards-go-testingSkill
- standards-markdownSkill
- standards-observabilitySkill
- standards-pulumi-typescriptSkill
- standards-pythonSkill
- standards-securitySkill
- standards-shellSkill
- standards-skill-authoringSkill
- standards-testingSkill
- standards-typescriptSkill
- workflow-debuggingSkill
- workflow-pi-extensionSkill
The file
Show its rules and text
We split this skill into the rules it gives an agent
13 rules. About 0 are common, 7 are distinctive, and 6 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈7
Distinctive · estimate
This author's own choices. Worth a look.
6
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 7
Use this skill only when the host provides compatible storewrite and storeread tools.
- Distinctive: line 15
Use the store for extended repository context that should survive session cleanup or compaction.
- Distinctive: line 88
Create a new store item. IDs are generated internally (12-char lowercase hex).
- Distinctive: line 89
Every call creates a new item: it never updates an existing one.
- Very specific: line 115
Update an existing store item by ID.
- Distinctive: line 136
Update tags and summary together:
- Very specific: line 173
Use sparingly. Prefer storepatch({ id, status: "archived" }) or storepatch({ id, status: "deprecated" }) when historical context may still …
- Very specific: line 183
Keep summary short and descriptive
- Distinctive: line 184
Use tags consistently so LIST mode stays useful
- Very specific: line 186
Use links for related or dependent items
- Distinctive: line 187
Prefer archive/deprecate over delete
- Very specific: line 193
When a TODO or prompt needs durable backing context, reference the item with [store:id] and load it explicitly with storeread.
- Distinctive: line 204
Use the store for extended repository context, not temporary scratch space.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 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
Use this skill only when the host provides compatible storewrite and storeread tools. If store tools are unavailable, retain context in TODO descriptions or the conversation and omit store IDs instead of emulating persistence with repository files.
CRITICAL: Store items are not auto-loaded. When you see
Load store: <id> or [store:<id>], call storeread({ id: "<id>" })
before proceeding.
What belongs in the store
Use the store for extended repository context that should survive session cleanup or compaction.
Good fits:
- Active plans and future plans
- Long-term notes, research notes, and implementation context
- Requirements, specs, and acceptance criteria
- Schemas, interfaces, and reference structures
- Related items that should cross-reference each other with
links
Avoid storing:
- Temporary scratch notes
- Trivial one-off reminders
- Data that only matters for the current short interaction
- Documents that should live in the repository itself
What you can store
The data field can hold either short structured content or longer free-form
content.
Short structured data
storewrite({
summary: "Session handling notes for auth flow",
tags: ["auth", "notes", "session"],
status: "active",
data: {
issues: ["expiry rules differ by entry point", "validation is duplicated"],
next_step: "create a cleanup plan for session creation and renewal",
},
});Long-form text or plan notes
storewrite({
summary: "Research notes for auth redesign",
tags: ["auth", "research", "notes"],
status: "active",
data: {
notes: `Observed issues:
- Session lifetime is inconsistent
- Callback flow duplicates validation
Recommended next step:
Create a phased plan before implementation.`,
},
});Related/dependent items
storewrite({
summary: "Plan: auth redesign",
tags: ["plan", "auth", "todo-context"],
status: "active",
links: ["auth-spec-1", "session-decision-2"],
data: {
goal: "Simplify auth flow",
},
});Tools
storewrite
Create a new store item. IDs are generated internally (12-char lowercase hex). Every call creates a new item: it never updates an existing one.
Parameters:
summary(required): Short description of the itemtags(required): Tags for discovery and groupingstatus(optional):"active"(default),"archived", or"deprecated"data(optional): Structured or free-form JSON contentlinks(optional): Related store item IDs
Use for: New plans, notes, specs, schemas, and reusable context.
Minimal example:
storewrite({
summary: "API error format",
tags: ["api", "spec"],
data: {
shape: { error: "string", code: "string" },
},
});storepatch
Update an existing store item by ID. Only the fields you provide are changed;
omitted fields are preserved. Returns found: false when the ID does not exist.
Parameters:
id(required): ID of the item to updatesummary(optional): New summarytags(optional): New tags arraystatus(optional): New status:"active","archived", or"deprecated"data(optional): New data payload (replaces existing)links(optional): New links array
Use for: Changing status, updating tags, amending notes, or replacing data on an existing item.
Archive an item:
storepatch({ id: "abc123def456", status: "archived" });Update tags and summary together:
storepatch({
id: "abc123def456",
summary: "Updated auth design notes",
tags: ["auth", "notes", "revised"],
});storeread
Retrieve store items.
LIST mode (no id):
- Lightweight discovery
- Returns summaries without the full
datafield - Can filter by
tags - Excludes archived items unless
includeArchived: true
storeread({ tags: ["auth", "notes"] });READ mode (with id):
- Returns the full item, including
data
storeread({ id: "auth-spec-1" });storedelete
Permanently remove a store item.
Use sparingly. Prefer storepatch({ id, status: "archived" }) or
storepatch({ id, status: "deprecated" }) when historical context may still
matter.
storedelete({ id: "obsolete-note-1" });Best practices
- Keep
summaryshort and descriptive - Use tags consistently so LIST mode stays useful
- Store enough context to make the item useful later
- Use
linksfor related or dependent items - Prefer archive/deprecate over delete
- Review existing items first when you are unsure:
storeread()
TODO linking
When a TODO or prompt needs durable backing context, reference the item with
[store:id] and load it explicitly with storeread.
Example:
Refactor auth flow [store:auth-plan-1]Summary
Use the store for extended repository context, not temporary scratch space.
storewritecreates new items (ID generated automatically)storepatchupdates existing items (preserves omitted fields)storereaddiscovers or loads itemsstoredeletepermanently removes items- Store references must always be loaded explicitly
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.

