memory

$npx mdskill add codeaholicguy/ai-devkit/memory

Manage durable knowledge with the memory CLI for AI agents.

  • Solves the problem of retaining reusable knowledge across sessions.
  • Depends on the `npx ai-devkit@latest memory` CLI tool.
  • Searches memory before work and stores only verified, reusable knowledge.
  • Returns search results as context and updates stale entries automatically.

SKILL.md

.github/skills/memoryView on GitHub ↗
---
name: memory
description: AI DevKit · Use the memory CLI as a durable knowledge layer. Search before non-trivial work, store verified reusable knowledge, update stale entries, and avoid saving transcripts, secrets, or one-off task progress.
---

# AI DevKit Memory CLI

Use `npx ai-devkit@latest memory ...` as the durable knowledge layer.

## Workflow

1. For implementation, debugging, review, planning, or documentation tasks, search before deep work unless the task is trivial:
   ```bash
   npx ai-devkit@latest memory search --query "<task, subsystem, error, or convention>" --limit 5
   ```
   For broad or risky tasks, search multiple angles: subsystem, error text, framework, command, and task intent.

2. Use results as context:
   - Trust repo files, tests, fresh command output, and explicit user instructions over memory.
   - If memory conflicts with verified evidence, use the evidence and update the stale memory.
   - Mention memory only when it changes the plan or avoids asking the user again.

3. Search before storing:
   ```bash
   npx ai-devkit@latest memory search --query "<knowledge to store>" --table
   ```

4. Store or update only after the quality gate passes.

## Quality Gate

Before storing, all must be true:

- Future sessions are likely to reuse it.
- It is verified by code, docs, tests, command output, or explicit user instruction.
- It is not merely a restatement of obvious nearby files unless it prevents repeated agent mistakes.
- It is scoped narrowly enough.
- Existing memory does not already cover it.
- It contains no secrets, credentials, private customer data, personal data, raw logs, or temporary paths.

Store:
- Project conventions, user preferences, durable decisions.
- Reusable fixes, testing patterns, commands, setup gotchas.
- Non-obvious constraints, architecture rules, failure patterns.

Do not store:
- Task progress, transcripts, speculation, generic programming facts.
- Raw errors without diagnosis.
- Anything the user did not intend to persist.

## Commands

### Search

```bash
npx ai-devkit@latest memory search \
  --query "<query>" \
  --tags "<tags>" \
  --scope "<scope>" \
  --limit 5
```

Use `--table` to get IDs for updates:

```bash
npx ai-devkit@latest memory search --query "<query>" --table
```

Options: `--query/-q` required; `--tags`; `--scope/-s`; `--limit/-l` from 1-20; `--table`.

### Store

```bash
npx ai-devkit@latest memory store \
  --title "<actionable title, 10-100 chars>" \
  --content "<context, guidance, evidence, exceptions>" \
  --tags "<lowercase,tags>" \
  --scope "<global|project:name|repo:org/repo>"
```

Use this content shape when helpful:

```text
Context: Where this applies.
Guidance: What to do.
Evidence: File, command, test, or user instruction.
Exceptions: When not to apply it.
```

### Update

Find the ID with `search --table`, then update only changed fields:

```bash
npx ai-devkit@latest memory update \
  --id "<memory-id>" \
  --title "<updated title>" \
  --content "<updated content>" \
  --tags "<replacement,tags>" \
  --scope "<updated scope>"
```

`--tags` replaces all existing tags.

## Scoping

Use the narrowest useful scope:

- `repo:<org/repo>` for one repository.
- `project:<name>` for one app, product, or workspace.
- `global` only for knowledge that applies across unrelated projects.

If unsure, use a narrower scope.

## Troubleshooting

- CLI missing: run `npx ai-devkit@latest --version`.
- Duplicate title: search, then update the existing item if it is the same knowledge.
- Empty results: broaden terms, remove filters, or search symptoms and subsystem names separately.
- Validation error: check title/content lengths, query length, and `--limit` range.
- DB path: default is `~/.ai-devkit/memory.db`; project config can override it automatically.

More from codeaholicguy/ai-devkit

SkillDescription
agent-communicationAI DevKit · Exchange information with active Codex, Claude Code, and other AI agents using ai-devkit agent list, detail, and send. Use when an agent needs to find another active agent, read its recent context, send it information, or request information back.
agent-managementAI DevKit · Manage running AI agents with ai-devkit agent commands. Use when an agent needs to identify itself, list agents, start workers, inspect agent detail, assign work, group agents, resume sessions, stop agents, or delegate work to other agents.
agent-orchestrationAI DevKit · Supervise multi-agent workflows over repeated passes: poll progress, unblock waiting agents, coordinate dependencies, relay outputs, resolve conflicts, and verify completion. Use only for ongoing multi-agent coordination, not one-off list/detail/send/start/kill actions.
changelogAI DevKit · Update CHANGELOG.md Unreleased items from git commits since the latest release. Use when users ask to update changelog/release notes from recent commits, with one concise line per commit and commit/PR links.
dev-commitAI DevKit · Safe git commit workflow for AI coding agents. Use when the user asks to commit, prepare a commit, stage changes, create a PR-ready checkpoint, or finish work with a conventional commit while avoiding unrelated user changes.
dev-designAI DevKit · Design phase guidance for reviewing feature design against requirements. Use when the user wants to validate architecture, review design docs, resolve design trade-offs, or run dev-lifecycle phase 3.
dev-implementationAI DevKit · Implementation phase guidance for executing feature plans and checking implementation against design. Use when the user wants to implement planned tasks, update implementation docs, verify code matches design, or run dev-lifecycle phases 5 and 7.
dev-lifecycleAI DevKit · Orchestrator for structured SDLC phase skills. Use when the user wants to run the full lifecycle or choose the next phase across requirements, design, planning, implementation, testing, and review.
dev-planningAI DevKit · Planning phase guidance for creating and reconciling feature task plans. Use when the user wants to create an implementation plan, update planning docs, mark task progress, capture blockers or new tasks, or run dev-lifecycle planning work.
dev-prAI DevKit · Publish a ready feature branch for review. Use when the user wants to sync, push, and open or update a code review request on GitHub, GitLab, or another Git host.