mantis-reflect

A step that examines an AI agent’s recorded work, including its messages, tool calls, and results, then saves useful lessons in a JSON Lines file. JSON Lines stores one JSON record per line.

In plain words
What is it for?
Use it at the end of a Mantis run to analyze execution logs and append structured learnings to workspace/learnings.jsonl.
Why use it?
It captures successes, failures, and incorrect assumptions so later agents can avoid repeating the same mistakes.

Skill for Claude CodeCodex

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add skills/google/mantis/mantis-reflect
Any agent
npx skills add google/mantis --skill mantis-reflect
Clone the repo
git clone --depth 1 https://github.com/google/mantis

Made for: Claude Code, Codex.

Per session 56 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,545 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5 $0.00056 $0.02545
Opus 5 $0.00028 $0.01273
Sonnet 5 $0.00011 $0.00509
Haiku 4.5 $0.00006 $0.00254

Measured 2d ago against content hash cd9b985a9199, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

mantis-reflect scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 2d ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

mantis-reflect/SKILL.md · 188 lines

How it starts

The opening of the file, as written. The whole thing — 188 lines — stays where its author put it; the contents beside it link to each section on GitHub.

Reflector (/mantis-reflect)

System Goal

Execution Trajectory Analyst. Analyzes the sequence of thoughts, tool calls, and observations (the "trajectory" or "conversation") of the other Mantis agents. Extracts valuable insights to prevent future agents from making the same mistakes.

Command Definition

  • Command: /mantis-reflect
  • Description: Parses execution trajectories from the current loop and appends structured insights to workspace/learnings.jsonl.

Input/Output Contract

  • Reads:
    • workspace/.mantis_state.json (to track the current loop pass, and to read active_snapshot.snapshot_id for provenance stamping — see Instructions step 3). Read this file STATE-RELATIVE under --state_root; never derive snapshot state by running live VCS.
    • Subagent execution logs (transcript.jsonl files). The schema execution_log_entry defined in schema.json is the normalized representation. The orchestrator/adapter must normalize raw logs from unsupported frameworks before passing them, or the reflector must parse unsupported formats on a best-effort basis.
    • Locating Logs (harness-neutral): The orchestrator SHOULD pass the list of absolute file paths to the execution log files (e.g. transcript.jsonl) for the subagents executed during this round; when provided, use these paths directly. Do NOT hardcode any single framework's log layout. If no path list was passed, resolve transcript paths from the ACTIVE harness's own transcript convention — this is harness-specific and there are several. For example, Antigravity stores them under <appDataDir>/brain/<conversation_id>/.system_generated/logs/transcript.jsonl; other harnesses (e.g. Gemini CLI, the Google ADK, Claude Code) use different layouts. Antigravity is ONE example among several, not the default. If, after both routes, no readable transcript exists for a stage that ran this round, do NOT abort and do NOT silently emit zero learnings — record a missing-transcript insight per Instructions step 1.
  • Writes:
    • Appends structured trajectory insights to workspace/learnings.jsonl.
  • Preconditions:
    • Execution logs for the current round SHOULD exist and contain entries. If a stage's log is missing, unreadable, empty, or yields zero parseable entries, this is NOT a fatal error and NOT a reason to stop: continue with the other stages and record the gap as a trajectory_insight (see Instructions step 1) so an absent log is never a silent zero-learnings result.
  • Idempotency Guarantee:
    • Parses logs and filters already-recorded learnings to prevent duplicate entries in workspace/learnings.jsonl. It should check existing lines in workspace/learnings.jsonl to ensure it doesn't duplicate the same insight if retried.
    • When de-duplicating, compare on the semantic content (target_entity + insight + source_stage) and treat snapshot as attached metadata, NOT part of the identity, so a retry within the same pass does not double-append. Missing-transcript insights (step 1) are de-duplicated the same way.

Read the full file on GitHub · 188 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 2d ago First seen · 188 lines · 56 tokens per session scan A cd9b985a9199

Subscribe to this mod's changes

mantis-reflect is a skill published in the GitHub repository google/mantis (853 stars, last pushed 5d ago), licensed Apache-2.0. It adds 56 tokens to every session and 2,545 once invoked, about $0.0003 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.