Skip to content
Agentmart
Submit a tool

find

Local intelligent find — searches only local data stores (CKS, CHS, CDS, code, docs, skills).

Skill by EndUser123

IndexedMIT
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/enduser123-find

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Local intelligent find — searches only local data stores (CKS, CHS, CDS, code, docs, skills). Use when you need to find something in your system (past sessions, knowledge base, code, docs).

Use cases: data

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/find

What's inside

Skill name
find
Description
Local intelligent find — searches only local data stores (CKS, CHS, CDS, code, docs, skills). Use when you need to find something in your system (past sessions, knowledge base, code, docs).
License
MIT
Instructions
277 lines in SKILL.md · view on GitHub

Files (7)

  • SKILL.md
  • advanced-features.md · references/
  • architecture.md · references/
  • auto-detection.md · references/
  • consolidated-features.md · references/
  • output-format.md · references/
  • subagent-delegation.md · references/

SKILL.md (first lines)

# Unified Find

## Purpose

Single entry point to find across all CSF NIP data stores in parallel - **local sources only**. For web research, use `/web`.

**Scope**: CKS, CHS, CDS, Code/Grep, DOCS, SKILLS. No external dependencies.

## Project Context

- **Solo-dev constraints apply** (CLAUDE.md)
- **No external dependencies**: All search is local, privacy-preserving
- **Efficiency over complexity**: Parallel execution, fast responses
- **Evidence-based**: Search results provide citation context
- **Canonical CLI**: `core/cli.py` (runs from the cache-resolved plugin root; see execution directive below)
- **Backends**: CKS, CHS (claude-history/Rust+FTS5), VAULT (claude-vault/FTS5), CDS, Code/Grep, DOCS, SKILLS
- **Search methods**: FTS5 (~10ms), Hybrid (~50ms), Semantic (~200ms)
- **Output formats**: Human-readable (default), JSON for scripting
- **CHS bootstrap**: If `chat_history.db` exists but FTS5 tables are missing, build it with `python -m core.chs.scripts.reindex_from_jsonl --db-path "P:/.data/chat_history.db" --history-path "~/.claude/history.jsonl"`

See `references/architecture.md` for backend architecture details and NotebookLM integration.

## Your Workflow

1. **Auto-detect intent** - Analyze query for chat/web/combined source needs
2. **Select backends** - Automatically choose based on query patterns
3. **Choose chat method** - Auto-detect vector (semantic) vs grep (recent)
4. **Expand boundary search** - Prefer producers, consumers, schemas, validators, replay, and invalidation logic when query implies contracts or handoffs
5. **Execute search** - Parallel query across selected backends
6. **Check CHS results** - If empty/unavailable, trigger JSONL fallback
7. **Collect results** - Gather with relevance scores
8. **Format output** - Group by source, show relevance, citations, match explanations
9. **Present findings** - Human-readable or JSON format

## Auto-Detection Rules

The system **automatically** detects search intent. No flags needed.

| Query Pattern | Source | Example |
|---------------|--------|---------|
| "we discussed", "you mentioned", pronouns | `chat` | "what did we discuss about auth" |
| "recent", "yesterday", "earlier today" | `chat` | "recent changes to the find skill" |
| "how does X work", "tutorial", code terms | `docs` | "how does FAISS work" |
| "compare X vs Y", "evolved over time" | `chat` + `docs` | "how our auth approach evolved" |
| URLs (http/https) | Suggest `/web` | direct fetch |

Chat method is also auto-selected: `grep` for recent/exact matches, `vector` for semantic/conceptual queries.

See `references/auto-detection.md` for full detection rules, query indicators, and backend weighting.

## Validation Rules

- **Before claiming search works**: Verify actual query execution, not assumption
- **Before citing results**: Ensure result actually contains claimed content
- **Empty results**: Report clearly, don't fabricate findings
- **Relevance scores**: Report actual scores from search engine
- **Do not invent module paths**: Never call `knowledge.systems.chs.cli` (does not exist)
- **CHS readiness**: A non-empty `chat_history.db` file is not enough; verify schema/FTS tables or reindex first

When the query is about architecture, handoffs, resume, stale data, fields, payloads, schemas, or consumers, `/find` should preferentially surface:

- existing producers
- existing consumers
- schemas/validators
- replay/invalidation logic
- transcript/resume artifacts

## Routing Behavior

`/find` is a discovery skill. It may suggest downstream skills once relevant evidence is surfaced:

- `/arch` when search shows unresolved contract/state boundaries
- `/planning` when execution shape is unclear after discovery
- `/verify` when the main question becomes "does this actually work?"

`/find` should not absorb architecture, planning, or verification responsibilities.

## Execution Directive

Run local-first find for `/find` requests (`mode='auto'` — checks local stores, then escalates to web when local results are unsatisfactory):

```bash
cd "$(ls -d "$HOME/.claude/plugins/cache/local/search-research/"*/ | sort -V | tail -1)" && python -c "
from core.unified_router import UnifiedAsyncRouter
import asyncio

async def search():
    router = UnifiedAsyncRouter(mode='auto')
    results = await router.search_async('$query', limit=10)
    for r in results:
        print(f'[{r.score:.2f}] {r.title}')
        print(f'  {r.content[:200]}...')
        print()

asyncio.run(search())
"
```

**Session-chain queries** (last 7 days):

```bash
cd "$(ls -d "$HOME/.claude/plugins/cache/local/search-research/"*/ | sort -V | tail -1)" && python -c "
from pathlib import Path
from datetime import datetime, timedelta

project = Path.home() / '.claude/projects/P--'
handoff_dir = Path('P://.claude/state/handoff')
cutoff = datetime.now() - timedelta(days=7)

transcripts = [p for p in project.glob('*.jsonl') if datetime.fromtimestamp(p.stat().st_mtime) > cutoff]
transcripts.sort(key=lambda p: p.stat().st_mtime, reverse=True)
print(f'=== Session Transcripts ({len(transcripts)} last 7 days) ===')
for t in transcripts:
    mtime = datetime.fromtimestamp(t.stat().st_mtime).strftime('%Y-%m-%d %H:%M')
    print(f'  [{mtime}] {t.name}')

handoffs = [p for p in handoff_dir.glob('console_*_handoff.json') if datetime.fromtimestamp(p.stat().st_mtime) > cutoff]
handoffs.sort(key=lambda p: p.stat().st_mtime, reverse=True)
print(f'\n=== Handoff Files ({len(handoffs)} last 7 days) ===')
for h in handoffs:

From EndUser123/search-research, MIT.

More from EndUser123/search-research

Signals

Stars
0
Forks
0
Open issues
0
Last commit (this folder)
Jul 10, 2026 (3 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from EndUser123

Cite this page

find skill. Agent Mart. https://agentmart.dev/skills/enduser123-find (last updated 2026-10-24)