Borrowing it
Nothing to install: this file belongs to ahundt/ai-session-search. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ahundt/ai-session-search/main/.agents/skills/maintain-ai-session-search/SKILL.mdgit clone --depth 1 https://github.com/ahundt/ai-session-searchWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/ahundt/ai-session-search/maintain-ai-session-search)<a href="https://agentmods.dev/skills/ahundt/ai-session-search/maintain-ai-session-search"><img src="https://agentmods.dev/badge/skills/ahundt/ai-session-search/maintain-ai-session-search/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/ahundt/ai-session-search/maintain-ai-session-search"><img src="https://agentmods.dev/badge/skills/ahundt/ai-session-search/maintain-ai-session-search.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00095 | $0.03335 |
| Opus 5 | $0.00048 | $0.01667 |
| Sonnet 5 | $0.00019 | $0.00667 |
| Haiku 4.5 | $0.00010 | $0.00333 |
Grade A, and why
maintain-ai-session-search 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 11d 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.
How it starts
The opening of the file, as written. The whole thing — 198 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Maintain AI Session Search
Work from measured repository and installed-state evidence. Preserve the product contracts recorded in the maintainer requirements and design decisions. Read that document before changing public behavior, installation, configuration, provider parsing, budgets, capabilities, or release machinery.
When the task affects match evidence, typed skill capabilities, ownership lifecycle, updates, or installed dogfood, also read the applicable detailed requirement and tracked sources in the document's Verification map. If the checkout has a focused maintainer note for that topic, use it as supplemental historical evidence. Preserve verified mechanism comparisons, invariants, state taxonomy, deferrals, test matrices, and complexity analysis; do not replace them with this skill's summary.
Prioritized requirement catalog
Treat these identifiers as stable review anchors. The detailed rationale and verification map live in the maintainer requirements document. Catalog order expresses priority; the number preserves identity and does not determine priority.
P0 — discovery, architecture, correctness, and data safety
REQ037-explore-before-change— Search the repository, prior sessions, docs, tests, history, and current installed state before judging or changing behavior.REQ038-map-semantic-ownership— Map the conceptual behavior, data flow, defaults, validation, ordering, lifecycle, and owners across every affected surface before designing a fix.REQ039-reuse-or-improve-architecture— Use the strongest existing seam and shared abstraction, improving it when evidence justifies the change instead of creating a parallel mechanism.REQ048-adopt-proven-libraries— Search manifests, lockfiles, imports, and existing abstractions before building infrastructure. Reuse a fitting dependency first; otherwise evaluate mature, widely used, actively maintained libraries for contract fit, lifecycle safety, security, MSRV/platform support, performance, dependency cost, and release risk. Adopt one only when it robustly removes more custom machinery than it adds; record the concrete gap when custom code remains.REQ040-eliminate-semantic-duplication— Search for duplicated meaning, not only repeated text; keep one authoritative implementation for each contract and thin surface adapters.REQ041-optimize-multi-objective-outcomes— Improve or preserve correctness, task success, usability, latency, throughput, memory, output size, cost, maintainability, and user time together.REQ044-automate-safe-problem-solving— When intent, authority, and a safe deterministic action are clear, solve the problem in the owning service; make typed correct use the easiest path and keep semantic choices explicit.REQ045-own-and-clean-resources— Give connections, snapshots, iterators, locks, subprocesses, buffers, and temporary artifacts one RAII owner; close without draining unread work on completion, break, drop, cancellation, error, broken pipe, and foreign-language exit paths.REQ046-preserve-boundary-results— Preserve values, nullability, identities, ordering, coordinate spaces, terminal states, errors, and ownership across Rust, PyO3, Python, CLI, MCP, and serialization boundaries.REQ047-return-actionable-recovery— When automatic safe completion is impossible, return the exact failed state, why automation stopped, what was preserved or cleaned up, the smallest next action, and a verification step.REQ010-protect-complexity-bounds— State and verify time, retained-memory, allocation, I/O, latency, concurrency, and output-growth bounds; protect them with representative benchmarks.REQ027-use-tdd— Reproduce the defect and add the smallest failing shared-layer test before implementation, then cover every affected adapter and installed surface.REQ042-plan-fine-grained-work— Keep a current dependency-ordered task plan with explicit evidence, verification, completion, deferral, and external-action states.REQ043-reread-active-plans-after-compaction— After context compaction or session resumption, reread every active plan sequentially from start to finish, then reconcile all work performed in the current session against its requirements, ordering, non-goals, tests, and completion gates before resuming edits. Targeted excerpts and summaries are not substitutes.REQ001-preserve-user-data— Never lose source sessions, indexes, configuration, edits, or unrelated work while installing, migrating, repairing, or uninstalling.REQ002-share-typed-contract— Route Rust, Python, CLI, and MCP through shared typed requests and responses; adapters translate syntax, not product semantics.REQ003-preserve-surface-semantics— Keep deliberate surface differences explicit: when no purpose or operation default applies, omitted literal/regex/queryless limits mean all results in Rust, Python, and CLI, while MCP supplies a finite context-safe page; fuzzy search is always finite.REQ004-separate-retrieval-presentation— Presentation windows and character budgets may shorten displayed values but never alter matching, rank, membership, context, or pagination.REQ005-return-match-evidence— Every queried hit exposes visible, match-centered evidence; literal mode also preserves the exact source occurrence and coordinates.REQ006-report-extent-honestly— Structured output states returned count, paging, ordering, presentation policy, completeness, and whether the selected field has text before or after each returned view so shortened output cannot look complete.REQ007-preserve-page-identity— Evidence, context, formatting, or presenter failures must not change offsets, next-page identity, or the selected result set.REQ008-reject-hidden-cutoffs— Do not add silent row, byte, content, or elapsed-time cutoffs; expose intentional bounds as named parameters with origins.REQ009-bound-fuzzy-search— Score the complete eligible fuzzy corpus while retaining a finite, deterministic top-K page; reject unbounded fuzzy requests.REQ011-validate-language-boundaries— Keep PyO3 conversions, Rust types, Python stubs, exceptions, nullability, enums, and serialized output lossless and aligned.REQ012-reject-invalid-combinations— Reject conflicting or unsatisfiable parameter sets with actionable errors instead of returning misleading empty or partial results.
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
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.
- 11d ago First seen · 198 lines · 95 tokens per session scan A 84802e0f831e
maintain-ai-session-search is a skill published in the GitHub repository ahundt/ai-session-search (38 stars, last pushed 4d ago), licensed Apache-2.0. It adds 95 tokens to every session and 3,335 once invoked, about $0.0005 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.
Other skills, from other repositories
brain-log
Show brain sync and evolution history.
session-logs
Search, browse, and analyze session history to recall past conversations, decisions, and completed work.
memory-manager
Store, recall, and organize persistent context, preferences, and knowledge across sessions.
compact-manual
Claude Code skill for deterministic context compaction. Compresses the current Claude Code session to the clipboard for a manual rewind+paste workflow. A deterministic alternative to /compact that extracts literal dialog and truncates only tool outputs — no LLM summarization. Use when the user says 'compact the…
session-memory
Maintains awareness across sessions. Spawns observer agent on start, loads context, notifies of evolution opportunities.
mnemon
Persistent memory CLI for LLM agents. Store facts, recall past knowledge, link related memories, manage lifecycle.