Skip to content
Operations
Skill

/tma1-search

Search past agent sessions on this project by keyword, and read back any session's conversation. Invoke when the answer lives in an earlier session — how something was fixed before, what was decided, what an agent tried last week — or when the user hands you a session id.

BOOST
From plugin
tma1
1204 skills2 commands
Install
$ npx -y skills add tma1-ai/tma1 --skill tma1-search --agent claude-code

How 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/tma1-search

Context preview

The summary Claude sees to decide when to auto-load this skill.

Search past agent sessions on this project by keyword, and read back any session's conversation. Invoke when the answer lives in an earlier session — how something was fixed before, what was decided, what an agent tried last week — or when the user hands you a session id.

SKILL.md

tma1-search.SKILL.md
name: tma1-search
description: "Search past agent sessions on this project by keyword, and read back any session's conversation. Invoke when the answer lives in an earlier session — how something was fixed before, what was decided, what an agent tried last week — or when the user hands you a session id. Trigger phrases: \"what did we decide about\", \"how did we fix this before\", \"search my sessions\", \"find that session\", \"read session <id>\", \"之前是怎么解决的\", \"上次讨论过\", \"找一下以前的 session\", \"/tma1-search\"."
argument-hint: "<keyword> [--agent X] [--days N] [--all-projects] | --session <id>"
allowed-tools: ["mcp__tma1__search_sessions", "mcp__tma1__get_session_transcript"]

TMA1 Session Search

TMA1 keeps every agent session on this machine — yours and other agents' — in a local database. This skill is the read path: find the session, then read it.

Two entry points

/tma1-search retry backoff            # keyword search, this project, last 7 days
/tma1-search flaky test --agent codex # only Codex's sessions
/tma1-search migration --days 30      # widen the window
/tma1-search pipeline --all-projects  # every project, not just this one
/tma1-search --session 3d8f1d0a       # read one session directly

`--session` takes a full id or a prefix of 6+ characters — the abbreviated id in the `<tma1-context>` block works. Do **not** infer a session id from a bare token: commit hashes look the same, and `oc:` / `cp:` ids don't look like hex at all. Anything that isn't behind `--session` is search text.

Workflow

1. **Search** — `mcp__tma1__search_sessions` with:

  • `query`: the keyword text (everything that isn't a flag)
  • `agent_source`: `--agent` value if given (`codex` / `openclaw` /

`copilot` / `claude` / `self`); omit for every agent

  • `since_min`: `--days N` × 1440, default omitted (7 days)
  • `project`: `"*"` when `--all-projects` is given; otherwise omit

2. **Report** the matching sessions with their snippets, so the user can pick. One obvious hit and a clear question → go straight to step 3. 3. **Read** — `mcp__tma1__get_session_transcript` with the `session_id` from step 1. `has_more: true` means older messages exist; call again with the returned `next_offset` if the answer isn't in this page. 4. **Answer with quotes.** The value here is the earlier session's actual words, not your summary of them.

Reading the search response

  • `sessions[]` — `session_id`, `agent_source`, `last_activity_ago`,

`hit_count`, and `snippets[]` (each a window around a match).

  • `match_mode` — `term` is the indexed pass: whole words, case-sensitive.

`substring` means that pass found nothing, so the search widened to a case-folded substring scan; results may include noise, say so.

  • `scope_truncated: true` — this project has more sessions in the window

than the search scanned. Narrow with `--agent` or `--days`.

  • `note` — present only when nothing matched. Say so plainly; don't invent

a plausible past session.

Search behaviour worth knowing

The indexed pass matches whole words and is case-sensitive, so `Cwd` does not find `peerCwdFilter` and neither does `peercwdfilter`. Search for the identifier as it is written in the code. When that pass finds nothing the search widens to a case-folded substring scan and tells you so with `match_mode: substring` — that is the mode that rescues a mistyped case, at the cost of noisier hits.

Related

  • Browsing by agent rather than keyword → `/tma1-peer`.
  • Aggregates over the raw tables (cost by model, tool failure rates) →

the `tma1` skill's `exec_query`.

Read more
Ships withtma1

pre-release, and without it the badge renders "no releases found". Leave sort at the default (date) — semver sort compares the pre-release identifier lexically, which orders alpha9 above alpha14. --> A monolith for your agent's loop.

Get the whole plugin
Stats
121
Stars
14
Forks
Active
Maintenance
Go
Language
Apache-2.0
License
2d ago
Last commit
7mo ago
Created
3h ago
Added

Repo: tma1-ai/tma1

Other skills on tma1.

tma1-peer
Skill

tma1-peer

List recent sessions on this project by agent — peer agents (Codex, OpenClaw, Copilot CLI) or your own past sessions. Invoke when…

@tma1-ai@tma1-aiInstall Skill
tma1-setup
Skill

tma1-setup

Install and configure TMA1 local observability (Claude Code, Codex, GitHub Copilot CLI, OpenClaw, any OTel SDK). Use when the…

@tma1-ai@tma1-aiInstall Skill
tma1
Skill

tma1

Query TMA1 observability data (Claude Code, Codex, GitHub Copilot CLI, OpenClaw, any OTel SDK). Use when the user asks: how much…

@tma1-ai@tma1-aiInstall Skill