/forgetful-cli-setup
Set up the Forgetful CLI and connect from a terminal — install, local or remote mode, auth, and verification. Use when connecting a human or headless agent via shell, wiring CI with token auth, or operating a local server (serve, database selection, feature flags, re-embedding).
$ npx -y skills add ScottRBK/forgetful --skill forgetful-cli-setup --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/forgetful-cli-setup
Context preview
The summary Claude sees to decide when to auto-load this skill.
Set up the Forgetful CLI and connect from a terminal — install, local or remote mode, auth, and verification. Use when connecting a human or headless agent via shell, wiring CI with token auth, or operating a local server (serve, database selection, feature flags, re-embedding).
SKILL.md
forgetful-cli-setup.SKILL.mdname: forgetful-cli-setup
description: >-
Set up the Forgetful CLI and connect from a terminal — install, local or remote mode,
auth, and verification. Use when connecting a human or headless agent via shell, wiring
CI with token auth, or operating a local server (serve, database selection, feature
flags, re-embedding). Also covers the machine contract: --json output, exit codes, and
the discovery ladder.
license: MIT
disable-model-invocation: true
tags: [cli, setup, auth, operations, terminal]
allowed-tools:
- Bash(forgetful:*)
Setting up the Forgetful CLI
The CLI is the shell-native surface: same tool registry as MCP, reachable by anything that can run a command. Setup ends with a verified round-trip, not an installed binary.
Install
uvx forgetful-ai --version # ephemeral, no install
pip install forgetful-ai # or: uv tool install forgetful-ai
Both `forgetful` and `forgetful-ai` invoke the same CLI.
Choose a mode
Connection precedence: `--local` > `--server URL` > `FORGETFUL_SERVER` env > local default.
- **Local** (default): runs in-process against the locally configured database — zero
config, no server needed. Right for a personal knowledge base on one machine.
- **Remote**: drives a deployed server. Interactive use: `forgetful auth login --server
<url>` (browser OAuth; tokens cached under `~/.config/forgetful/`, server written to the user config). Headless/CI use: set `FORGETFUL_SERVER` and `FORGETFUL_TOKEN` (bearer) in the environment — no browser involved.
Config merges shell env over `~/.config/forgetful/.env`. Check state anytime with `forgetful auth status`.
Verify — the completion criterion
forgetful tools list # registry categories come back
forgetful project list --json # one real call round-trips
Done when: both succeed against the intended target (local or the remote URL).
The machine contract
For scripts and agents, pass `--json` on data commands — `tools`, `call`, `memory`, and `project` verbs: results are machine JSON, errors arrive as `{"error": ...}` on stderr. `auth` subcommands are human-oriented and don't take `--json`. Exit codes are contractual — `0` success, `1` tool or runtime error, `2` usage error. Parse output, branch on exit code.
The discovery ladder
1. **Curated verbs** for the common paths: `forgetful memory search|save|get|recent`, `forgetful project list`. 2. **`forgetful tools list [--category <c>]`** to discover every registry operation. 3. **`forgetful tools info <operation>`** for the schema. 4. **`forgetful call <operation> --args '<JSON>'`** to invoke anything the registry has.
The judgment for what to store, query, and link lives in the domain skills (`forgetful-remember`, `forgetful-recall`, ...) — the ladder is how the CLI reaches the same operations.
Operating a local server
- `forgetful serve --transport http --host 0.0.0.0 --port 8020` (or `--transport stdio`
for MCP clients that spawn a process).
- Database via env: `DATABASE=SQLite` with `SQLITE_PATH` (file) or `SQLITE_MEMORY=true`
(ephemeral), or `DATABASE=Postgres` with `POSTGRES_HOST/PORT/DB/USER/PASSWORD`.
- Feature flags (default off): `SKILLS_ENABLED`, `FILES_ENABLED`, `PLANNING_ENABLED` —
discovery reflects whatever is enabled.
- After changing embedding provider or model: `forgetful re-embed --dry-run` to preview,
then `forgetful re-embed` (batch size tunable via `--batch-size`).
Done when: `/health` answers (HTTP) or an MCP client lists the three meta-tools (stdio).
Read more
name: forgetful-cli-setup description: >- Set up the Forgetful CLI and connect from a terminal — install, local or remote mode, auth, and verification. Use when connecting a human or headless agent via shell, wiring CI with token auth, or operating a local server (serve, database selection, feature flags, re-embedding). Also covers the machine contract: --json output, exit codes, and the discovery ladder. license: MIT disable-model-invocation: true tags: [cli, setup, auth, operations, terminal] allowed-tools: - Bash(forgetful:*)
Setting up the Forgetful CLI
The CLI is the shell-native surface: same tool registry as MCP, reachable by anything that can run a command. Setup ends with a verified round-trip, not an installed binary.
Install
uvx forgetful-ai --version # ephemeral, no install pip install forgetful-ai # or: uv tool install forgetful-ai
Both `forgetful` and `forgetful-ai` invoke the same CLI.
Choose a mode
Connection precedence: `--local` > `--server URL` > `FORGETFUL_SERVER` env > local default.
- **Local** (default): runs in-process against the locally configured database — zero
config, no server needed. Right for a personal knowledge base on one machine.
- **Remote**: drives a deployed server. Interactive use: `forgetful auth login --server
<url>` (browser OAuth; tokens cached under `~/.config/forgetful/`, server written to the user config). Headless/CI use: set `FORGETFUL_SERVER` and `FORGETFUL_TOKEN` (bearer) in the environment — no browser involved.
Config merges shell env over `~/.config/forgetful/.env`. Check state anytime with `forgetful auth status`.
Verify — the completion criterion
forgetful tools list # registry categories come back forgetful project list --json # one real call round-trips
Done when: both succeed against the intended target (local or the remote URL).
The machine contract
For scripts and agents, pass `--json` on data commands — `tools`, `call`, `memory`, and `project` verbs: results are machine JSON, errors arrive as `{"error": ...}` on stderr. `auth` subcommands are human-oriented and don't take `--json`. Exit codes are contractual — `0` success, `1` tool or runtime error, `2` usage error. Parse output, branch on exit code.
The discovery ladder
1. **Curated verbs** for the common paths: `forgetful memory search|save|get|recent`, `forgetful project list`. 2. **`forgetful tools list [--category <c>]`** to discover every registry operation. 3. **`forgetful tools info <operation>`** for the schema. 4. **`forgetful call <operation> --args '<JSON>'`** to invoke anything the registry has.
The judgment for what to store, query, and link lives in the domain skills (`forgetful-remember`, `forgetful-recall`, ...) — the ladder is how the CLI reaches the same operations.
Operating a local server
- `forgetful serve --transport http --host 0.0.0.0 --port 8020` (or `--transport stdio`
for MCP clients that spawn a process).
- Database via env: `DATABASE=SQLite` with `SQLITE_PATH` (file) or `SQLITE_MEMORY=true`
(ephemeral), or `DATABASE=Postgres` with `POSTGRES_HOST/PORT/DB/USER/PASSWORD`.
- Feature flags (default off): `SKILLS_ENABLED`, `FILES_ENABLED`, `PLANNING_ENABLED` —
discovery reflects whatever is enabled.
- After changing embedding provider or model: `forgetful re-embed --dry-run` to preview,
then `forgetful re-embed` (batch size tunable via `--batch-size`).
Done when: `/health` answers (HTTP) or an MCP client lists the three meta-tools (stdio).
Forgetful is a storage and retrieval tool for AI Agents. Designed as a Model Context Protocol (MCP) server built using the FastMCP framework.
Repo: ScottRBK/forgetful
Other skills on forgetful.
- /forgetful-context-gather
Gather deep context before planning or implementing — one pass that turns a task description into a cited context pack: relevant decisions, patterns, constraints, code pointers, procedures, and explicit gaps. Runs recall from several angles, explores the graph around the
Open skill - /forgetful-encode-repo
Encode a repository into the Forgetful knowledge base — bootstrap the project, its entities, memories, and documents from the codebase itself. Use when bringing a new repo under Forgetful or refreshing a stale encoding. Re-encoding is an update pass: query-before-create makes it
Open skill - /forgetful-entities
Model the things knowledge attaches to — people, organisations, devices, products, system components. Use when a new thing surfaces that memories will reference, when relationships between things need recording (owns, depends on, part of), or when another skill routes a
Open skill - /forgetful-explore
Explore the Forgetful knowledge graph when flat search isn't enough — cross-project investigations, "what do we know about X", entity-centred questions, tracing how decisions connect. Use when recall returns fragments that reference entities or trail across domains. Walks
Open skill - /forgetful-files
File binary content into the knowledge base — screenshots, PDFs, diagrams, fonts, assets. Use when a binary artifact is worth keeping alongside knowledge, or when a stored procedure needs a bundled asset. The description is the entire search surface: say what the file shows and
Open skill - /forgetful-mcp-setup
Set up an MCP client for Forgetful — wire Claude Code, Cursor, Copilot, Codex, Gemini, or OpenCode to the server and verify the connection behaves. Covers stdio vs HTTP transport, auth and scopes, the three meta-tools every client sees, and delegation to subagents.
Open skill

