pull-search

pull-search is a skill for Claude Code from Snowflake-Labs/cocoplus. It costs 38 tokens per session (749 once invoked), scanned A, original, MIT.

A search tool for finding text in archived coding-agent sessions, with optional date and feature filters.

In plain words
What is it for?
Use it to search past sessions or rebuild the archive index when session records are missing from search.
Why use it?
It helps you recover earlier decisions, discussions, and work without manually opening old session records.

Skill for Claude Code

Written for Claude Code: user-invocable in frontmatter.

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/snowflake-labs/cocoplus/pull-search
Any agent
npx skills add Snowflake-Labs/cocoplus --skill pull-search
Clone the repo
git clone --depth 1 https://github.com/Snowflake-Labs/cocoplus

Made for: Claude Code.

Wrote 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.

agentmods badge for pull-search

README.md
[![agentmods](https://agentmods.dev/badge/skills/snowflake-labs/cocoplus/pull-search.svg)](https://agentmods.dev/skills/snowflake-labs/cocoplus/pull-search)
Your own site
<a href="https://agentmods.dev/skills/snowflake-labs/cocoplus/pull-search"><img src="https://agentmods.dev/badge/skills/snowflake-labs/cocoplus/pull-search.svg" alt="Measured on agentmods" height="20"></a>
Per session 38 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 749 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.1 $0.00038 $0.00749
Opus 5 $0.00019 $0.00375
Sonnet 5 $0.00008 $0.00150
Haiku 4.5 $0.00004 $0.00075

Measured 2d ago against content hash 4676e08b8705, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

pull-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 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.

.cortex/skills/cocopull/pull-search.skill.md · 87 lines

How it starts

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

Objective

Search the CocoPull session archive for relevant past sessions.

Before proceeding, verify that .cocoplus/ exists. If not, output: "CocoPlus is not initialized. Run $pod init first." Then stop.

Handling $pull index rebuild

If the developer invoked $pull index rebuild:

  1. Invoke cocopull/session-indexer --rebuild
  2. Output: "CocoPull index rebuilt. session records indexed."
  3. Stop.

Handling $pull search "<query>"

Step 1 — Parse Flags

Extract:

  • <query> — required search string (in quotes)
  • --since <date> — optional date filter (YYYY-MM-DD)
  • --feature <name> — optional feature filter (e.g., cocoharvest, safety-gate)

If no query provided, ask: "What do you want to search for? Example: $pull search \"schema migration\""

Step 2 — Read Index

Read .cocoplus/index/sessions.jsonl. If absent or empty, output: "No session archive found. Sessions are indexed automatically at session end. If this is a new project, run $pull index rebuild after completing some sessions." Then stop.

Step 3 — Search

Case-insensitive substring match of query against:

  • summary field
  • features_used array values
  • archetype field

Apply --since filter (timestamp >= date) and --feature filter (features_used contains value) if provided.

Sort results by timestamp descending.

Step 4 — Output Results

CocoPull Search: "<query>"
Found <n> matching sessions

────────────────────────────────────────────────────────────
Session ID    Date        Archetype     Duration   Features
────────────────────────────────────────────────────────────
sess-7e8fa   2026-05-21  deep-build    94 min     cocoharvest, cocoflow, secondeye
sess-6c8d1   2026-05-18  review-cycle  42 min     sentinel, cocowisdom

Excerpt from sess-7e8fa:
  "...decomposed schema migration into 3 parallel CocoHarvest stages, resolved
   NULL handling concern in sentinel Dimension B..."
────────────────────────────────────────────────────────────

If no matches: "No sessions match ''. Try a broader search term or --since a wider date range."

Read the full file on GitHub · 87 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 · 87 lines · 38 tokens per session scan A 4676e08b8705

Subscribe to this mod's changes

pull-search is a skill published in the GitHub repository Snowflake-Labs/cocoplus (720 stars, last pushed 2d ago), licensed MIT. It adds 38 tokens to every session and 749 once invoked, about $0.0002 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-09-03.

Related

Other skills, from other repositories

knowledge_store_skill

Skill for working with local .knowledge.yaml files via KnowledgeStore. Use this when you need to recall, search, or manage directory-local memories and knowledge links stored in plain YAML alongside the user's project files. KnowledgeStore is directory-scoped. Each directory that contains a .knowledge.yaml file…

NPC-Worldwide/npcpy · 346 tokens

authoring-claude-md

Creating and maintaining CLAUDE.md project memory files and .claude/rules/ rule files that provide non-obvious codebase context. Use when (1) creating a new CLAUDE.md for a project, (2) adding architectural patterns or design decisions to existing CLAUDE.md, (3) capturing project-specific conventions that aren't…

sammcj/agentic-coding · 93 tokens

screenpipe-chats

Search what was said in existing screenpipe, Codex, Claude, Cursor, and Gemini CLI chats, then continue or steer one exact chat when the user explicitly asks. Use for requests about finding another agent conversation, recalling what an agent said, or sending work to one.

screenpipe/screenpipe · 60 tokens

elaboration

Write a high-signal mathematical synthesis from global memory and the fact graph for the Codex main agent's own strategy and worker dispatch.

frenzymath/Danus · 30 tokens

bootstrap-agent-identity

Consistent agent behavior after restart — progressive identity loading, working context reconstruction from persistent artifacts, fresh-vs-continuation detection, calibration through centering and attunement, and identity verification for coherence. Addresses the cold-start problem where an agent must reconstruct who…

pjt222/agent-almanac · 105 tokens

coordinate-reasoning

AI internal coordination using stigmergic signals — managing information freshness in context and memory, decay rates for assumption staleness, and emergent coherent behavior from simple local protocols. Use during complex tasks where multiple sub-tasks must coordinate, when context has grown long and information…

pjt222/agent-almanac · 90 tokens