Receber por email
← Voltar para o catálogo

atuin-memory

Verifique, armazene e recupere memórias de projeto do atuin kv. Use ao iniciar um projeto, relembrar contexto anterior, armazenar planos ou especificações, ou quando o usuário mencionar memória, atuin ou contexto de projeto.

54estrelas
Atualizado há 8 meses

Ver no GitHub ↗

Como adicionar

/plugin marketplace add diegosouzapw/awesome-omni-skill

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/atuin-memory-diegosouzapw/svg)](https://www.skillteca.com.br/skills/atuin-memory-diegosouzapw)

Alerta por categoria

Receba novas skills de Design e Frontend toda segunda

1 email curto, só com as skills novas de Design e Frontend. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

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

<memory-actions> <on-retrieval>

  • Check if stored plan/spec/todo still matches git state and current goals
  • 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

</on-retrieval> <on-completion>

  • Update stored state after completing work so next session can resume cleanly

</on-completion> </memory-actions>

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) |

<constraints>

  • Store artifacts in atuin, not local markdown files
  • Use /tmp for any temporary files needed during storage
  • Never commit metadata files to git

</constraints>

Compartilhar X LinkedIn