# Deleting Thoughts

Use when asked to delete, remove, purge, wipe, or "get rid of" an Open Brain thought...

- Repository: https://github.com/NateBJones-Projects/OB1 (4752 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-11-01
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add NateBJones-Projects/OB1 --skill deleting-thoughts -g -a claude-code -y`
Codex: `npx skills add NateBJones-Projects/OB1 --skill deleting-thoughts -g -a codex -y`
Cursor: `npx skills add NateBJones-Projects/OB1 --skill deleting-thoughts -g -a cursor -y`
Gemini CLI: `npx skills add NateBJones-Projects/OB1 --skill deleting-thoughts -g -a gemini-cli -y`

## Description

Use when asked to delete, remove, purge, wipe, or "get rid of" an Open Brain thought, or before calling delete_thought (the open-brain-delete-thought connector), which HARD-deletes with no undo. Also use when tempted to delete a thought that is merely outdated or wrong. To edit or deprecate instead of removing, see updating-thoughts.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Deleting Thoughts

## Overview

`delete_thought` (the `open-brain-delete-thought` connector) performs a **hard
delete**, the row is gone the moment it returns, with no tombstone, no
soft-delete, and no restore. Recovery depends entirely on database backups. The
Open Brain maintainer's stance is **"deprecate and version rather than
delete."** So deletion is a last resort, and every delete must target an id you
verified this session.

**Violating the letter of these rules is violating their spirit.**

## When to Use

Delete only when **both** hold:
- The thought is genuinely disposable, a test/throwaway, an exact duplicate, or
  an accidental capture, **and**
- Editing or tagging it is not good enough.

If the thought is merely outdated, wrong, or superseded, **update it or tag it**
`superseded` instead, see the **updating-thoughts** skill.

## Process

1. **Resolve the id via `search_thoughts` / `list_thoughts`.** `delete_thought`
   takes a UUID; never delete an id you typed from memory.
2. **Show the target and confirm.** Surface the thought's content to the user
   and get explicit confirmation that this specific thought should be removed.
   - **Check for derivatives first.** Before deleting, run `find_derivatives`
     (and/or `related_thoughts`) on the thought. If other thoughts were derived
     from it, deleting orphans their provenance chain, those derivatives lose
     the source they point back to. Prefer deprecating over deleting in that
     case. Tool names may carry a connector prefix; use whatever the environment
     exposes.
3. **Delete only after confirmation.** Call `delete_thought(id)`. It pre-checks
   existence (a clean "not found" if already gone) and returns the prior content
   length as a receipt. Report that receipt to the user.

## This Is Irreversible, No Exceptions

The rest: https://github.com/NateBJones-Projects/OB1/blob/HEAD/skills/deleting-thoughts/SKILL.md
