Skip to content
Back to skills

Prior Art Check

ASecurity

memweave memory search before any non-trivial task — "have we solved this before?" Fires before any coding, design, or architecture work; runs before the first substantive retrieval tool call.

  • 3 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added October 1, 2026
ai-agentspythongobashdebugginggit

Works with

  • cli
  • mcp

Security analysis

A100/100

Scanned October 1, 2026

npx -y skills add williamblair333/Uncle-J-s-Refinery --skill prior-art-check --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Prior Art Check?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Prior Art Check
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/williamblair333-prior-art-check/badge)](https://www.skillsdirectory.com/skills/williamblair333-prior-art-check)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: prior-art-check
description: memweave memory search before any non-trivial task — "have we solved this before?" Fires before any coding, design, or architecture work; runs before the first substantive retrieval tool call.
version: 2.0.0
platforms: [linux, macos]
category: memory
tags: [memweave, search, session-start, context, prior-work, cold-start]
prerequisites:
  commands: []
  skills: []
related_skills: [session-status-briefing, stale-pending-memory-guard]
---

# Prior-art check

Your job: every time a new conversation starts on a non-trivial task, search
**memweave** *before* the first substantive tool call. This is "have we already
solved this?" — asked out loud, before the work.

memweave is an offline, cross-project memory store (`~/.uncle-j-memory`) queried by a
small Bash CLI — there is **no MCP tool**. Search it by running `mw_search.py`.

## When to trigger

Run this skill when ANY of these are true:

- the user's request is about code, architecture, debugging, or design
- the user asks "how", "why", "what about", "should I", "what's the best"
- the request references a specific project, file, or component
- you're about to call jcodemunch / jdatamunch / jdocmunch / serena / duckdb
- you're about to call Read / Grep / Glob / Bash on anything non-trivial

Do **not** trigger for pure small talk, single-word questions, or
requests that are obviously about current external events.

## What to do

Step 1. **Formulate the query.** Pull 2-4 keywords from the user's
request. Keep the query short and concrete. Prefer nouns and verbs from
the request itself; don't paraphrase.

Step 2. **Search memweave.** Run (absolute paths — works from any project):

```
/opt/proj/Uncle-J-s-Refinery/.venv-memweave/bin/python \
  /opt/proj/Uncle-J-s-Refinery/scripts/memweave/mw_search.py "your query" --k 5
```

Add `--json` for machine-parseable output. It opens the existing cross-project index
read-only (no writes). A missing/empty store exits nonzero with a clear message — then
fall back to the session transcript and proceed.

Step 3. **Interpret results.**

- **Hits with high relevance** — summarize the top 1–2 in one sentence
  each, quote the decision/fact verbatim when possible, and *explicitly
  tell the user* "we've touched this before: …". Then continue the task
  with that context.
- **Hits with low relevance** — note briefly that memweave had
  tangential matches, then proceed.
- **No hits or empty store** — say "no prior work found in memweave"
  and proceed.

Step 3b. **Staleness filter — verify before reporting.**

Scan every hit for these markers: `pending`, `awaiting`, `needs`, `consider`,
`not yet`, `TODO`, `FIXME`, `open issue`.

If a hit contains any of them, **do not state the memory's claim as current
fact.** Memory is a point-in-time snapshot — the world moves on. Instead:

1. Name the marker ("this entry says 'awaiting review'").
2. Run a quick verification appropriate to the claim type:
   - PR/issue status → grep installed package for the fix function, or check `check-stack-freshness.sh`
   - "needs commit" → `git status`
   - "consider filing upstream" → `git log --oneline -10 | grep -i filed` or grep for the fix in upstream source
3. Report the **verified current state**, not the historical claim.

This prevents the exact failure mode where a memory entry says "PR awaiting
review" but the PR merged weeks ago and the fix is already running.

Step 4. **Continue the task.** Hand off to jcodemunch / serena / etc.
as the CLAUDE.md routing policy dictates.

## What NOT to do

- Don't let a memweave miss block progress — it's context, not a gate.
- Don't summarize everything it returns. One sentence per top hit.
- Don't call it repeatedly in the same session for the same topic.
  Once per topic per session is enough.
- Don't surface raw internal paths. Translate to user-friendly summaries.

## Example

User: "Help me debug the retry logic in the payment service."

Your first move:

```
/opt/proj/Uncle-J-s-Refinery/.venv-memweave/bin/python \
  /opt/proj/Uncle-J-s-Refinery/scripts/memweave/mw_search.py "retry logic payment service" --k 5
```

If a hit shows "Dec 2025 — switched from exponential backoff to
token-bucket because exponential was causing cascading retries under
burst load", say: *"We've touched this before — in Dec 2025 we moved
off exponential backoff to token-bucket because of cascading retries
under burst. Worth checking whether this bug is a regression of that.
Starting with jcodemunch to find the current implementation."*

Then proceed.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.