Claude Code Plugins

Community-maintained marketplace

Feedback

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 Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name atuin-memory
description 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.
allowed-tools Bash(atuin *), Bash(git rev-parse *), Bash(git branch *), Bash(basename *), Read

Project Memory with Atuin

Store and retrieve project context using atuin kv to persist across sessions.

Before Starting Work

PROJECT=$(basename "$(git rev-parse --show-toplevel 2>/dev/null || pwd)")
BRANCH=$(git branch --show-current 2>/dev/null)
BRANCH=${BRANCH:-main}

echo "=== $PROJECT ($BRANCH) ==="

# List all memories for this project
atuin kv list --namespace "project-metadata" | grep -F "$PROJECT-" || echo "(none)"

# Retrieve specific memories
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

Check if stored plan/spec/todo still matches git state and current goals. Flag staleness (>7 days) or drift from implementation. Briefly summarize what you found so user can correct misunderstandings. Raise blockers, gaps, or open questions before proceeding. Don't assume—ask. Pick up from first incomplete todo item. If none exist, start fresh. Update stored state after completing work so next session can resume cleanly.

Storing Memories

# Store a plan
atuin kv set -n "project-metadata" -k "$PROJECT-$BRANCH-plan" "content"

# Store from temp file, verify content, then delete
content="$(cat spec.md)" && \
  atuin kv set -n "project-metadata" -k "$PROJECT-$BRANCH-spec" "$content" && \
  [[ "$(atuin kv get -n "project-metadata" "$PROJECT-$BRANCH-spec")" == "$content" ]] && rm spec.md

Key Naming

Key Pattern Purpose
{project}-{branch}-plan Implementation plans
{project}-{branch}-spec Specifications/designs
{project}-{branch}-todo Task state
{project}-{branch}-session-YYYY-MM-DD Session summaries (last wins)

Branch slashes preserved (e.g., feature/foo). Same-day sessions overwrite.

Store artifacts in atuin, not local markdown files Delete temp files immediately after storing contents Never commit metadata files to git