Agent skill
atuin-memory
Check, store, and retrieve project memories from atuin kv. Use when starting work on a project, recalling previous context, storing plans or specs, or when the user mentions memory, atuin, or project context.
Install this agent skill to your Project
npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/claude-atuin-memory-skill
SKILL.md
Project Memory with Atuin
Store and retrieve project context using atuin kv to persist across sessions.
Project Detection
Reuse these variables in all commands:
PROJECT=$(basename "$(git rev-parse --show-toplevel 2>/dev/null)" 2>/dev/null || basename "$PWD")
BRANCH=$(git branch --show-current 2>/dev/null)
BRANCH=${BRANCH:-main}
Before Starting Work
echo "=== $PROJECT ($BRANCH) ==="
# Discover what memories exist for this project
atuin kv list --namespace "project-metadata" | grep -F "$PROJECT-" || echo "(no memories found)"
Then retrieve relevant memories:
# Empty output means memory doesn't exist
atuin kv get --namespace "project-metadata" "$PROJECT-$BRANCH-plan"
atuin kv get --namespace "project-metadata" "$PROJECT-$BRANCH-spec"
atuin kv get --namespace "project-metadata" "$PROJECT-$BRANCH-todo"
Acting on Retrieved Memories
Storing Memories
For multi-line content, write to a temp file first to avoid shell escaping issues:
# 1. Write content to temp file
# 2. Store from temp file
atuin kv set --namespace "project-metadata" --key "$PROJECT-$BRANCH-plan" "$(cat /tmp/plan.md)"
# 3. Verify storage succeeded
atuin kv get --namespace "project-metadata" "$PROJECT-$BRANCH-plan" | head -5
For short single-line values, store directly:
atuin kv set --namespace "project-metadata" --key "$PROJECT-$BRANCH-status" "in-progress"
Key Naming
| Key Pattern | Purpose |
|---|---|
{project}-{branch}-plan |
Implementation plans |
{project}-{branch}-spec |
Specifications/designs |
{project}-{branch}-todo |
Task state |
{project}-{branch}-session-$(date +%Y-%m-%d) |
Session summaries (use current date) |
Deleting Memories
# Delete a specific key
atuin kv delete --namespace "project-metadata" "$PROJECT-$BRANCH-plan"
# Verify deletion (should return empty)
atuin kv get --namespace "project-metadata" "$PROJECT-$BRANCH-plan"
Quick Reference
Argument syntax is inconsistent across subcommands — pay attention to positional vs flag arguments:
| Operation | Command | Notes |
|---|---|---|
| List all | atuin kv list --namespace "project-metadata" |
|
| Get | atuin kv get --namespace "project-metadata" "key" |
KEY is positional |
| Set | atuin kv set --namespace "project-metadata" --key "key" "value" |
KEY is --key flag, VALUE is positional |
| Delete | atuin kv delete --namespace "project-metadata" "key" |
KEY is positional (not --key) |
Recommended Agent Skills
Expand your agent's capabilities with these related and highly-rated skills.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
agent-ops-spec
Manage specification documents in .agent/specs/. Use when user provides requirements, acceptance criteria, or feature descriptions that need to be tracked and validated against implementation.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-testing
Test strategy, execution, and coverage analysis. Use when designing tests, running test suites, or analyzing test results beyond baseline checks.
agent-ops-state
Maintain .agent state files. Use at session start, after meaningful steps, and before concluding: read/update constitution/memory/focus/issues/baseline consistently.
Didn't find tool you were looking for?