agentCLAWHUBUnverified

clipboard-memory

Recall what the user copied on this Mac via the local clipmem archive — text, commands, URLs, file paths, HTML, images, PDFs. Triggers on requests like "what was that command I copied?", "the URL I copied from Safari", "find that snippet before I restarted", or any paraphrase involving copy, paste, or clipboard. Offers ranked recall, chronological timeline, lexical / FTS search, raw-byte export for binary content, cursor pagination, and filters by app, kind, time window, and content shape. Use before reaching for generic web or repo search whenever the user is trying to recover something they previously had on the clipboard.

OpenClaw

Rank

62

Safety

84

Downloads

1.8k

Updated

Oct 10, 2026

Version

1.3.9

Source

CLAWHUB

About

What it does, and when to use it.

Capability contract not published. No trust telemetry is available yet. 1.8K downloads reported by the source. Last updated 10/10/2026.

Avoid when

  • Contract metadata is missing or unavailable for deterministic execution.

Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing

Public facts

Every fact links back to the source it came from.

Vendor
Clawhubvendor · observed Oct 10, 2026
Protocol compatibility
OpenClawcompatibility · observed Oct 10, 2026
Adoption signal
1.8K downloadsadoption · observed Oct 10, 2026
Latest release
1.3.9release · observed Sep 13, 2026
Handshake status
UNKNOWNsecurity

Install and run

Setup complexity: low.

clawhub skill install s17c3xv8wvvzzbj84z9vcj498n83gnkp:clipboard-memory
  1. Install using `clawhub skill install s17c3xv8wvvzzbj84z9vcj498n83gnkp:clipboard-memory` in an isolated environment before connecting it to live workloads.
  2. No published capability contract is available yet, so validate auth and request/response behavior manually.
  3. Review the upstream CLAWHUB listing at https://clawhub.ai/tristanmanchester/clipboard-memory before using production credentials.

Contract: missing

curl -s "https://www.xpersona.co/api/v1/agents/clawhub-tristanmanchester-clipboard-memory/snapshot"

Documentation

CLAWHUB

149,146 characters of source documentation, loaded on request.

Extracted files

5 files captured from the source.

SKILL.md

---
name: clipboard-memory
description: Recall what the user copied on this Mac via the local clipmem archive — text, commands, URLs, file paths, HTML, images, PDFs. Triggers on requests like "what was that command I copied?", "the URL I copied from Safari", "find that snippet before I restarted", or any paraphrase involving copy, paste, or clipboard. Offers ranked recall, chronological timeline, lexical / FTS search, raw-byte export for binary content, cursor pagination, and filters by app, kind, time window, and content shape. Use before reaching for generic web or repo search whenever the user is trying to recover something they previously had on the clipboard.
license: MIT
metadata: {"openclaw":{"emoji":"📋","os":["darwin"],"requires":{"bins":["clipmem"]},"install":[{"id":"brew","kind":"brew","label":"Install clipmem (brew)","bins":["clipmem"],"formula":"clipmem","tap":"tristanmanchester/tap"},{"id":"cargo","kind":"cargo","label":"Install clipmem (cargo)","bins":["clipmem"],"package":"clipmem"}],"version":"1.3.9"}}
---

Recall what the user copied on this Mac before reaching for generic search. `clipmem` maintains a local, privacy-preserving SQLite archive of every clipboard state macOS emits, and exposes a JSON-first CLI built for agents. This package is installed by `clipmem agents openclaw install-skill`; the canonical cross-agent source lives under `skills/clipboard-memory/`.

## Use this skill when

The user asks things like:

- "what was that command I copied?"
- "show me the URL I copied from Safari earlier"
- "find that snippet, path, note, or link I copied yesterday"
- "give me the exact text I copied, not a summary"
- "what did I copy before I restarted?"
- "paste me back that SQL I was looking at"
- "get the PDF I copied last week"
- "show me everything I copied from Xcode today"

## Do not use this skill for

- web search or current-events lookups
- searching the repository or local files the user never copied
- content the user typed but never copied to the clipboard
- anything on a non-macOS machine (`clipmem` captures `NSPasteboard` only)

## Prerequisites

Before querying, confirm the setup is healthy — otherwise empty results may be a stale watcher, not a true miss:

1. Background capture must be running. `clipmem setup` is the canonical fix; Homebrew users can also use `clipmem service start`.
2. The binary `clipmem` must be on PATH with write access to `~/Library/Application Support/clipmem/clipmem.sqlite3`.
3. Run [`scripts/check-setup.sh`](scripts/check-setup.sh) once per session when results look wrong. It exits `0` on a healthy host, `1` if the watcher is stale, `2` if the binary is missing, `3` if `clipmem doctor` fails. The prose equivalent is in [references/setup-check.md](references/setup-check.md).
4. If OpenClaw cannot see the binary, run `clipmem agents openclaw doctor` and follow its remediation lines.

## Command ladder

Always pick the narrowest command that answers the question, and always pass `--format json

_meta.json

{
  "ownerId": "kn762fvz617r91c4h7qr9bdbp97zar1g",
  "slug": "clipboard-memory",
  "version": "1.3.9",
  "publishedAt": 1789298560819
}

references/commands.md

# Clipboard Memory — Commands Reference

Full flag and subcommand reference for `clipmem`. This file is kept byte-identical across the OpenClaw-native and portable skill packages.

---

## Decision ladder

Pick the narrowest command that answers the question. Always pass `--format json` (or `--format toon` for plain enumeration) when parsing programmatically.

1. `clipmem recall "<query>" --format json` — best-first ranked answer with alternatives. **Start here.**
2. `clipmem timeline --hours <N> --format json` — chronological capture events. Use when the user says "today", "yesterday", "in order", or "every time".
3. `clipmem recent --hours <N> --format json` — deduplicated recent snapshots. Use for "recent unique things".
4. `clipmem search "<query>" --format json` — direct lexical / FTS match. Use when you need precise substring hits.
5. `clipmem get <snapshot_id> --format json` — nested item/representation detail for a snapshot you already have.
6. `clipmem restore <snapshot_id>` — restore the full stored representation set for a snapshot back onto the macOS clipboard.
7. `clipmem export <snapshot_id> --item <n> --uti <uti> --out <path> [--force]` — raw bytes for binary/image/PDF payloads.
8. `clipmem forget <snapshot_id>` — hard-delete one snapshot and its capture history.
9. `clipmem purge --older-than <duration> [--dry-run]` — prune by `last_observed_at`.
10. `clipmem storage compact [--dry-run] --format json` — reclaim SQLite/WAL disk space without changing content.
11. `clipmem storage image-candidates --format json` — inspect image rows eligible for optimization without rewriting bytes.
12. `clipmem storage optimize-images [--dry-run] [--no-compact] [--limit N] [--format json|--progress jsonl]` — convert eligible stored images to lossless WebP and compact by default.
13. `clipmem service providers --format json` — inspect service provider availability without starting or stopping capture.
14. `clipmem service revision --format json` — read archive revision counters without probing service providers.
15. `clipmem settings show --format json` — inspect persistent capture policy.
16. `clipmem app settings show --format json` — inspect menu bar app preferences.
17. `clipmem app settings set KEY VALUE --format json` / `clear KEY --format json` — change app-local preferences and bump app preference revision.
18. `clipmem app launch-at-login show|set|clear --format json` — inspect or change the app-owned launch-at-login preference bridge.
19. `clipmem app update-check show|run|clear --format json` — inspect, run, or clear app update-check state.
20. `clipmem app quit --format json` — request the menu bar app to quit.
21. `clipmem agents context --format json` — one-call agent context: generated_at, service health, settings, app state, recent activity metadata, revision, stats, privacy guidance, and capability summary.
22. `clipmem ocr status --format json` — inspect local OCR queue and result counts.
23. `clipmem ocr candidates --format json` 

references/examples.md

# Clipboard Memory — Worked Examples

Concrete input → output walkthroughs. Byte-identical across skill packages.

Each example shows the user's question, the command to run, the shape of the response, and the next step.

---

## Example 1 — "What was that URL I copied from Safari yesterday?"

The user gave a time cue (yesterday) and a source (Safari). Use `recall` with a `--prefer-recent` bias, an `--app` filter, and a generous `--hours` window.

```bash
clipmem recall "url" --prefer-recent --app safari --has-url --hours 48 --format json --limit 5
```

Response (trimmed):

```json
{
  "schema_version": 2,
  "command": "recall",
  "best_candidate": {
    "snapshot_id": 812,
    "best_text": "https://developer.apple.com/documentation/appkit/nspasteboard",
    "urls": ["https://developer.apple.com/documentation/appkit/nspasteboard"],
    "app_name": "Safari",
    "observed_at": "2026-04-16T17:45:00Z",
    "why_matched": "url filter + recency bias"
  },
  "best_match_confidence": "high",
  "alternatives": [ /* ... */ ],
  "next_cursor": null
}
```

Report `best_candidate.urls[0]`. If `best_match_confidence` were `"low"`, enumerate `alternatives` instead.

---

## Example 2 — "Show me everything I copied today, in order"

The user wants chronological events, not deduplicated recent snapshots. Use `timeline` and `toon` for efficient enumeration.

```bash
clipmem timeline --hours 24 --format toon --sort asc --limit 50
```

TOON output (one row per line, tab-separated scalar fields):

```
snapshot_id	observed_at	app_name	kind	best_text
812	2026-04-17T08:02:11Z	Safari	url	https://developer.apple.com/…
813	2026-04-17T08:04:03Z	Terminal	text	git status
813	2026-04-17T08:11:59Z	Terminal	text	git status
...
```

Notice snapshot `813` appears twice — `timeline` shows each capture event, not each unique snapshot. If `truncated` shows more rows exist, re-run with the last row's time as `--until` or request `--format json` and page via `--cursor`.

---

## Example 3 — "Pull the image I copied from that screenshot tool"

Images have no text projection. Use `recall` to find the snapshot, then `get` to discover the representation `uti` and byte size, then `export` to write raw bytes.

```bash
# 1. find the snapshot
clipmem recall "screenshot" --kind image --hours 72 --format json --limit 3
```

```json
{
  "best_candidate": {
    "snapshot_id": 901,
    "kind": "image",
    "best_text": null,
    "total_bytes": 138402,
    "app_name": "CleanShot X"
  }
}
```

```bash
# 2. inspect representations to pick a uti
clipmem get 901 --format json
```

```json
{
  "snapshot": {
    "items": [
      {
        "item_index": 0,
        "representations": [
          { "uti": "public.png", "size_bytes": 138402, "is_indexed": false },
          { "uti": "public.tiff", "size_bytes": 412004, "is_indexed": false }
        ]
      }
    ]
  }
}
```

```bash
# 3. export raw bytes
clipmem export 901 --item 0 --uti public.png --out ./clipboard.png
clipmem export 901 --item 0 --uti publ

references/json-schema.md

# Clipboard Memory — JSON Schema

Stable response shapes for `--format json`. Current `schema_version` is `2`. This file is kept byte-identical across skill packages.

Breaking changes to these fields will bump `schema_version`. Additive changes (new optional keys) are allowed within the same version.

---

## Shared envelope (`recall`, `search`, `recent`, `timeline`)

```json
{
  "schema_version": 2,
  "command": "recall",
  "generated_at": "2026-04-17T12:34:56Z",
  "applied_filters": { "hours": 24, "app": "safari" },
  "truncated": false,
  "next_cursor": null,
  "results": [ /* rows, see below */ ]
}
```

- `schema_version` — integer. Pin to `2` for stability checks.
- `command` — echoes the subcommand.
- `generated_at` — RFC3339 timestamp when the response was produced.
- `applied_filters` — echoes the filters actually applied after argument parsing.
- `truncated` — `true` when more rows exist beyond `--limit`.
- `next_cursor` — opaque string to pass back as `--cursor` when `truncated` is `true`. `null` when there are no more rows.
- `results` — list of flattened snapshot rows.

`recall` adds three extras at the top level:

- `best_candidate` — the top-ranked row (also appears as `results[0]`).
- `why_selected` — short string explaining why `best_candidate` was picked.
- `best_match_confidence` — `"high" | "medium" | "low"`.
- `best_match_score` — float in `[0.0, 1.0]`.
- `quoted_text` — present only when `--quote` is set and usable text exists.

---

## Flattened snapshot row (in `results[]` and `best_candidate`)

Read these first; walk nested `items[].representations[]` only after `get`.

```json
{
  "snapshot_id": 42,
  "event_id": 1000,
  "sha256": "<hex>",
  "kind": "text",
  "observed_at": "2026-04-17T12:00:00Z",
  "first_seen_at": "2026-04-17T11:00:00Z",
  "last_seen_at":  "2026-04-17T12:00:00Z",
  "app_name": "Terminal",
  "app_bundle_id": "com.apple.Terminal",

  "best_text": "git status",
  "best_text_uti": "public.utf8-plain-text",
  "text_fragments": [{ "representation": "public.utf8-plain-text", "text": "git status" }],
  "urls": [],
  "file_paths": [],
  "html_text": null,
  "rtf_text": null,
  "ocr_text": null,
  "ocr_status": null,
  "text_summary": "git status",
  "preview_text": "git status",

  "item_count": 1,
  "total_bytes": 10,
  "capture_count": 3,
  "score": 0.95,
  "why_matched": "full phrase match",
  "matched_fields": ["search_text"],
  "snippet": "git status"
}
```

Fields to read first for common questions:

| Intent | Read |
|---|---|
| "what was the text" | `best_text` (fall back to `text_summary`, `preview_text`) |
| "what URL" | `urls` (array) |
| "what file / path" | `file_paths` (array) |
| "which app" | `app_name` / `app_bundle_id` |
| "when" | `observed_at`, `first_seen_at`, `last_seen_at` |
| "is this binary / image / pdf" | `kind`, presence of `best_text`, `total_bytes` |
| "why did recall pick this" | `why_matched`, `matched_fields`, `score` |

`best_text` can come from OCR for image-only snapshots. In
Github ReposUpdated 10h agoRank 70

AionUi

Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!

MCPOPENCLAW
Github ReposUpdated 6mo agoRank 70

activepieces

AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents

OPENCLAW
Github ReposUpdated 6mo agoRank 70

cherry-studio

AI productivity studio with smart chat, autonomous agents, and 300+ assistants.

MCPOPENCLAW
Github ReposUpdated 7mo agoRank 70

CopilotKit

The Frontend for Agents & Generative UI. React + Angular

OPENCLAW

Machine-readable data

The same record, as JSON, for agents and crawlers.

{
  "facts": [
    {
      "factKey": "vendor",
      "category": "vendor",
      "label": "Vendor",
      "value": "Clawhub",
      "href": "https://clawhub.ai/tristanmanchester/skills/clipboard-memory",
      "sourceUrl": "https://clawhub.ai/tristanmanchester/skills/clipboard-memory",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T01:35:21.186Z",
      "isPublic": true
    },
    {
      "factKey": "protocols",
      "category": "compatibility",
      "label": "Protocol compatibility",
      "value": "OpenClaw",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-tristanmanchester-clipboard-memory/contract",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-tristanmanchester-clipboard-memory/contract",
      "sourceType": "contract",
      "confidence": "medium",
      "observedAt": "2026-10-10T01:35:21.186Z",
      "isPublic": true
    },
    {
      "factKey": "traction",
      "category": "adoption",
      "label": "Adoption signal",
      "value": "1.8K downloads",
      "href": "https://clawhub.ai/tristanmanchester/clipboard-memory",
      "sourceUrl": "https://clawhub.ai/tristanmanchester/clipboard-memory",
      "sourceType": "profile",
      "confidence": "medium",
      "observedAt": "2026-10-10T01:35:21.186Z",
      "isPublic": true
    },
    {
      "factKey": "latest_release",
      "category": "release",
      "label": "Latest release",
      "value": "1.3.9",
      "href": "https://clawhub.ai/tristanmanchester/clipboard-memory",
      "sourceUrl": "https://clawhub.ai/tristanmanchester/clipboard-memory",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-13T11:22:40.819Z",
      "isPublic": true
    },
    {
      "factKey": "handshake_status",
      "category": "security",
      "label": "Handshake status",
      "value": "UNKNOWN",
      "href": "https://www.xpersona.co/api/v1/agents/clawhub-tristanmanchester-clipboard-memory/trust",
      "sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-tristanmanchester-clipboard-memory/trust",
      "sourceType": "trust",
      "confidence": "medium",
      "observedAt": null,
      "isPublic": true
    }
  ],
  "events": [
    {
      "eventType": "release",
      "title": "Release 1.3.9",
      "description": "Skill replacement and uninstall now reject unrecognized directories and symlinked paths. Uninstall removes only packaged files, preserving unrelated user files ClawHub skill publication accepts the current version's release notes after Unreleased entries are promoted for a release LaunchAgent configuration stores absolute archive and log paths. Skill discovery expands home-relative paths and respects custom OpenClaw state and Hermes home directories Refresh compatible Rust dependencies, GitHub Actions, ClawHub CLI (0.23.3), and cargo-dist (0.33.0); retain Rust 1.88 compatibility and add latest-stable CI coverage. Use Servo's HTML5 entity table for rich-text projection Package clipboard-memory skill 1.3.9 with updated health checks and service instructions Updated the ClawHub `clipboard-memory` skill package to 1.3.9 so setup guidance no longer promises an implicit clipboard capture and directs explicit current-clipboard capture through `clipmem capture-once`",
      "href": "https://clawhub.ai/tristanmanchester/clipboard-memory",
      "sourceUrl": "https://clawhub.ai/tristanmanchester/clipboard-memory",
      "sourceType": "release",
      "confidence": "medium",
      "observedAt": "2026-09-13T11:22:40.819Z",
      "isPublic": true
    }
  ]
}

Record generated Oct 10, 2026.

Sponsored

Ads related to clipboard-memory and adjacent AI workflows.