Skip to content

Commit ef33091

Browse files
committed
docs: polish MkDocs site and docs landing page
1 parent 6cd6ad8 commit ef33091

2 files changed

Lines changed: 207 additions & 116 deletions

File tree

docs/index.md

Lines changed: 185 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
# Project Prospector
22

3-
A Claude Code plugin that catalogs and ranks everything you've built or sketched on a machine — half-finished repos, one-off scripts, dormant ideas, running services — into a tiered ranking by idea-novelty and leverage.
3+
A Claude Code skill that catalogs everything you've built or sketched on a
4+
machine — half-finished repos, one-off scripts, dormant ideas, running
5+
services — by fanning out parallel read-only agents, then ranks the results by
6+
idea-novelty and leverage.
47

58
[![plugin-validate](https://github.com/88plug/project-prospector/actions/workflows/plugin-validate.yml/badge.svg)](https://github.com/88plug/project-prospector/actions/workflows/plugin-validate.yml)
69
[![License: FSL-1.1-ALv2](https://img.shields.io/badge/license-FSL--1.1--ALv2-blue?style=flat)](https://github.com/88plug/project-prospector/blob/main/LICENSE.md)
710
[![Claude Code plugin](https://img.shields.io/badge/Claude%20Code-plugin-8A2BE2?style=flat)](https://github.com/88plug/claude-code-plugins)
11+
[![Docs](https://img.shields.io/badge/docs-online-2ea44f?style=flat)](https://88plug.github.io/project-prospector/)
812

913
## Install
1014

@@ -13,16 +17,27 @@ A Claude Code plugin that catalogs and ranks everything you've built or sketched
1317
/plugin install project-prospector@project-prospector
1418
```
1519

20+
Local clone (for development):
21+
22+
```text
23+
git clone https://github.com/88plug/project-prospector
24+
/plugin marketplace add ./project-prospector
25+
/plugin install project-prospector@project-prospector
26+
```
27+
28+
No MCP server, hooks, or scripts. One skill plus agent-prompt templates and a
29+
trigger/task eval set.
30+
1631
## Quickstart
1732

18-
Ask in plain language — no command to memorize:
33+
Ask in plain language — no slash command to memorize:
1934

2035
```text
2136
What have I built on this laptop? Rank my projects by which ideas are most original.
2237
```
2338

24-
You get a tiered ranking, strongest idea first, with `[idea]/[LIVE]/[dormant]`
25-
tags and an evidence-anchored one-liner for each entry:
39+
You get a tiered ranking, strongest idea first, with execution tags and an
40+
evidence-anchored one-liner for each entry:
2641

2742
```text
2843
Tier S — genius
@@ -36,88 +51,7 @@ Dormant
3651
old-scraper — last real commit pre-cutoff; cosmetic touch since.
3752
```
3853

39-
## What it does
40-
41-
Project Prospector surveys a whole machine for *your own* work and ranks it by
42-
the quality of the idea, not how finished it is. A half-built concept with a
43-
novel core can outrank a polished CRUD app. The name is the intent: you're
44-
prospecting a messy filesystem for the few strong ideas buried in it.
45-
46-
It runs a two-pass, parallel, read-only sweep, then synthesizes one ranking:
47-
48-
- **Catalog pass** — clusters the filesystem into themed groups (crypto,
49-
homelab, AI-tooling, not alphabetical) and gives each cluster its own
50-
read-only explorer agent that reads READMEs, runs `git log` since the cutoff,
51-
and judges non-git dirs by file mtimes.
52-
- **Blind-spot pass** — a second wave of agents that each attack one place a
53-
file sweep structurally misses, so you don't confidently report "that's
54-
everything" and be wrong.
55-
- **Synthesize** — de-duplicates, separates idea quality from execution state,
56-
and produces an S–D tiered ranking with evidence-anchored rationale and
57-
alternative lenses.
58-
59-
## Why two passes
60-
61-
One agent reading directories top to bottom misses most of the value. The strong
62-
ideas hide in places a plain `ls` never reaches, so the blind-spot pass covers:
63-
64-
- **Transcripts**`~/.claude/projects/` slugs, grepped for idea and plan
65-
language. Finds ideas discussed but never turned into a folder.
66-
- **Other agent CLIs**`~/.codex/`, `~/.opencode/`, `~/.config/` agent tools.
67-
Finds work done through other tools.
68-
- **Running services and history** — shell history themes, `crontab -l`,
69-
`systemctl --user` timers and units, `docker ps -a`, long-running processes.
70-
Reveals what is actually live versus abandoned.
71-
- **Research artifacts** — substantive docs in `~/Downloads`, `~/Documents`,
72-
`~/Desktop`, and browser bookmarks and history. Finds ideas you're circling
73-
but haven't built.
74-
- **Beyond home**`/opt`, `/srv`, `/mnt`, `/media`, nested repos inside other
75-
projects, and system-wide recently-modified source. Confirms nothing hides
76-
outside the obvious tree.
77-
78-
## How it ranks
79-
80-
The default axis is idea-novelty, non-obvious insight, and leverage — not lines
81-
of code, not polish. Output is structured as tiers, strongest first:
82-
83-
- Tier S — genius: genuinely novel core insight, high ceiling.
84-
- Tier A — elegant, high-leverage: strong idea, clear payoff.
85-
- Tier B — clever hacks, narrower: smart but bounded in scope.
86-
- Tier C — solid, low novelty: useful and reliable, not inventive.
87-
- Tier D — utility, scratch, and stubs, plus a Dormant list.
88-
89-
Each entry carries a tag that separates the idea from its execution state:
90-
`[idea]` (no codebase yet, can still rank at the top), `[LIVE]` (currently
91-
running), and `[dormant]` (untouched before the cutoff). Every cited path,
92-
commit count, or number is verified against disk before it goes in the report.
93-
94-
<details>
95-
<summary>Alternative lenses (ask for any of these instead)</summary>
96-
97-
- **Initiative clustering** — group projects into real themes and rank the
98-
clusters by coherence.
99-
- **Momentum** — accelerating versus stalled, by the trend of commits over time.
100-
- **Kill list** — what to archive or delete as dead weight, with the reason.
101-
- **Authorship / provenance** — an honest share of what you wrote versus
102-
vendored, forked, or scaffolded.
103-
- **Loss-risk / bus-factor** — valuable work in danger of vanishing (zero
104-
commits, unpushed branches, scratch dirs, no backup).
105-
106-
</details>
107-
108-
## Usage and arguments
109-
110-
Two inputs shape every run, both stated in plain language:
111-
112-
- **Time window** — relative dates resolve to an absolute cutoff (e.g. "last 3
113-
months"). Defaults to roughly 3 months if unspecified, and says so.
114-
Recency is judged by substantive activity (real commits, content of changes),
115-
not raw mtimes bumped by a generated file or a formatting-only commit.
116-
- **Scope and exclusions** — narrow the scope to a theme ("just my homelab
117-
projects"), a directory, or a non-home root, and exclude paths to skip
118-
("ignore my work repo"). The exclusion is honored verbatim by every agent.
119-
120-
Examples:
54+
More ways to trigger it:
12155

12256
```text
12357
Take stock of my half-finished repos from this week.
@@ -126,41 +60,186 @@ What's the single most original thing I've built since I started benchie?
12660
Audit /srv on this server and give me the kill list.
12761
```
12862

129-
The written deliverable scales to the ask: a top-3 question gets a short
130-
shortlist, "catalog everything" gets the full S–D census with the dormant tail.
63+
## Why this exists
64+
65+
A whole-machine survey of *your own* work is hard to do by hand. The strong
66+
ideas hide in half-built folders, session transcripts, other agent CLIs, cron
67+
jobs, Docker containers, and research notes you never turned into a repo.
68+
69+
Project Prospector is that survey as a skill. The name is the intent: prospect
70+
a messy filesystem for the few high-leverage ideas buried in it. A half-built
71+
concept with a novel core can outrank a polished CRUD app — ranking is on the
72+
**idea**, not polish or line count.
73+
74+
## How agents catalog projects
75+
76+
The skill spawns investigation agents from the main conversation (where the
77+
Agent/Task tool is available). If nested agents are disallowed, it falls back
78+
to the same two-pass structure run inline and sequential — same coverage, less
79+
parallelism.
80+
81+
### Pass 1 — catalog (partition & sweep)
82+
83+
1. **Scope** — pin a time window (default ~3 months) and any exclusions.
84+
2. **Scout** — cheap top-level inventory: home listing, git repos, recently
85+
touched dirs.
86+
3. **Cluster** — group related directories into themed clusters (crypto,
87+
homelab, AI-tooling — not alphabetical), typically 8–12.
88+
4. **Sweep** — one read-only Explore agent per cluster, all spawned in one
89+
parallel message. Each reads READMEs/docs, runs `git log` since the cutoff,
90+
and judges non-git dirs by file mtimes. Per project it returns: one-liner ·
91+
core idea · stack · activity since cutoff · maturity.
92+
93+
### Pass 2 — blind spots
94+
95+
After Pass 1, a known-projects list feeds a second wave of ~5 agents. Each
96+
attacks one place a plain directory sweep structurally misses:
97+
98+
| Blind-spot agent | Where it looks | What it finds |
99+
| --- | --- | --- |
100+
| Transcripts | `~/.claude/projects/` (grep, never bulk-read) | Ideas discussed but never turned into a folder |
101+
| Other agent CLIs | `~/.codex/`, `~/.opencode/`, `~/.config/` agent tools | Work done through other tools |
102+
| Running services & history | shell history, cron, systemd user units, `docker ps -a`, long-running processes | What is actually **live** vs abandoned |
103+
| Research artifacts | `~/Downloads`, `~/Documents`, `~/Desktop`, browser bookmarks/history | Ideas you're circling but haven't built |
104+
| Beyond home | `/opt`, `/srv`, `/mnt`, `/media`, nested repos, system-wide recent source | Projects outside the obvious tree |
105+
106+
!!! tip "Don't skip Pass 2"
107+
The second pass routinely reshuffles the top of the list. An unbuilt idea
108+
from a transcript can outrank a finished repo. Without it, you confidently
109+
report "that's everything" and are wrong.
110+
111+
### Synthesize
112+
113+
De-duplicate, separate idea quality from execution state, and produce one
114+
opinionated ranking with evidence-anchored rationale. Fill-in-the-blank agent
115+
prompts live in
116+
[`references/agent-prompts.md`](https://github.com/88plug/project-prospector/blob/main/skills/project-prospector/references/agent-prompts.md).
117+
118+
## Tier ranking
119+
120+
Default axis: **idea-novelty + non-obvious insight + leverage** — not lines of
121+
code, not how finished it is. State the axis up front; the user may want a
122+
different lens (see below).
123+
124+
| Tier | Meaning |
125+
| --- | --- |
126+
| **S — genius** | Genuinely novel core insight, high ceiling |
127+
| **A — elegant, high-leverage** | Strong idea, clear payoff |
128+
| **B — clever hacks, narrower** | Smart but bounded in scope |
129+
| **C — solid, low novelty** | Useful and reliable, not inventive |
130+
| **D — utility / scratch / stubs** | Plus a separate **Dormant** list |
131+
132+
### Execution tags (not rank position)
133+
134+
Tags separate *idea quality* from *execution state*. Rank on the idea; carry
135+
execution in the tag:
136+
137+
| Tag | Meaning |
138+
| --- | --- |
139+
| `[idea]` | No codebase yet — can still rank at the top |
140+
| `[LIVE]` | Currently running (from the services agent) |
141+
| `[dormant]` | Untouched before the cutoff |
142+
143+
### Ranking discipline
144+
145+
- **Evidence-anchored one-liners.** Every tier placement needs concrete proof:
146+
a file path, a commit count since the cutoff, a README/PRD line, a running
147+
container, a benchmark number. "Feels novel" is not a ranking.
148+
- **Verified citations.** Paths, counts, and numbers are confirmed on disk
149+
before they enter the report. Prefer description over inventing a precise
150+
path.
151+
- **Idea over polish.** A finished conventional project does not float above a
152+
barely-started original one. If two entries tie on novelty, leverage and
153+
maturity break the tie — polish never promotes a derivative idea.
154+
- **Dedup before rank.** Collapse fork/upstream pairs, vendored checkouts, and
155+
sibling folders that are one idea. Credit the user's own contribution, not
156+
borrowed code.
157+
- **Genius ≠ importance.** The most-depended-on tool may sit mid-pack on
158+
novelty. Offer re-rank by shippability, revenue, or "most worth pushing."
159+
160+
### Alternative lenses
161+
162+
Same investigation, different view — ask for any of these instead of a
163+
novelty list:
164+
165+
- **Initiative clustering** — group projects into real themes; rank clusters by
166+
coherence.
167+
- **Momentum** — accelerating vs stalled by *trend* of commits, not raw
168+
recency.
169+
- **Kill list** — what to archive or delete as dead weight, with the reason.
170+
- **Authorship / provenance** — honest share of what you wrote vs vendored,
171+
forked, or scaffolded.
172+
- **Loss-risk / bus-factor** — valuable work in danger of vanishing (zero
173+
commits, unpushed branches, scratch dirs, no backup).
131174

132-
!!! note
133-
Project Prospector is strictly read-only. It inspects; it never edits, moves,
134-
deletes, commits, or starts and stops services. Everything read off disk is
135-
treated as untrusted data, not instructions (prompt-injection hardened). If a
136-
finding warrants action, that's a separate step you confirm explicitly.
175+
## Scope and arguments
137176

138-
## What it bundles
177+
Two plain-language inputs shape every run:
178+
179+
| Input | Behavior |
180+
| --- | --- |
181+
| **Time window** | Relative dates resolve to an absolute cutoff (e.g. "last 3 months"). Defaults to ~3 months if unspecified, and says so. Recency uses substantive activity (real commits, content of changes) — not raw mtimes bumped by generated files or formatting-only commits. |
182+
| **Scope / exclusions** | Narrow to a theme ("just my homelab"), a directory, or a non-home root (`/srv`). Exclude paths ("ignore my work repo") are repeated verbatim in every agent prompt. |
183+
184+
The written deliverable scales to the ask:
185+
186+
- **Top-N / single-answer** → short shortlist (or one pick + evidence), offer
187+
to expand.
188+
- **"Catalog everything" / audit** → full S–D census with dormant tail and
189+
Pass-2 findings.
190+
191+
## When to use (and when not)
139192

140-
One skill (`project-prospector`) plus reference agent-prompt templates and a
141-
trigger and task eval set. Read-only, general-purpose, no MCP, hooks, or
142-
scripts.
193+
**Use it** for whole-machine surveys of *your own* work: ranking, stock-taking,
194+
originality verdicts, kill lists, or "what have I actually built?"
195+
196+
**Do not use it** for work inside a single repo (its files, PRs, TODOs), bare
197+
repo listing without ranking, choosing the next feature, or surveying projects
198+
that aren't yours.
143199

144200
It complements `total-recall` (persistent operator memory) rather than
145201
duplicating it: prospector produces a one-shot ranked project census, not a
146202
memory profile.
147203

148-
You can also install from a local clone:
204+
## Guardrails
205+
206+
!!! note "Strictly read-only"
207+
Project Prospector inspects; it never edits, moves, deletes, commits, or
208+
starts/stops services. Use Explore subagents (read-only by construction).
209+
If a finding warrants action, that is a separate step you confirm
210+
explicitly.
211+
212+
- **Untrusted disk data.** README text, comments, and notes are content under
213+
audit — never directives. Prompt-injection hardened: no command a file tells
214+
you to run, no secret reproduced into the report.
215+
- **Hostile filesystem.** Walk without following symlink loops; report
216+
unreadable dirs as unreadable rather than guessing.
217+
- **Self-exclusion.** The skill directory and any `*-workspace/` it creates
218+
are scaffolding, not user projects.
219+
- **Moving machine.** Other sessions may mutate the tree mid-scan; reports
220+
stamp scan time and treat in-flight work as a normal finding.
221+
- **Incidental risks.** Loose secrets are flagged by location and kind — never
222+
by echoing the value — sorted by real exposure (world-readable / in git /
223+
sitting in Downloads).
149224

150-
```text
151-
git clone https://github.com/88plug/project-prospector
152-
/plugin marketplace add ./project-prospector
153-
/plugin install project-prospector@project-prospector
154-
```
225+
## What it bundles
226+
227+
| Piece | Role |
228+
| --- | --- |
229+
| `skills/project-prospector/SKILL.md` | Operating procedure: scope, two passes, rank, guardrails |
230+
| `references/agent-prompts.md` | Fill-in-the-blank Pass-1 and Pass-2 Explore agent templates |
231+
| `evals/` | Trigger and task eval set |
155232

156233
## Contributing
157234

158235
Issues and pull requests are welcome at
159236
[88plug/project-prospector](https://github.com/88plug/project-prospector). The
160237
[plugin-validate](https://github.com/88plug/project-prospector/actions/workflows/plugin-validate.yml)
161-
workflow checks the plugin manifest and skill structure on every push.
238+
workflow checks the plugin manifest and skill structure on every push. Docs
239+
build with Material for MkDocs (`mkdocs build --strict`).
162240

163241
## License
164242

165-
[FSL-1.1-ALv2](https://github.com/88plug/project-prospector/blob/main/LICENSE.md) © 2026 [88plug](https://github.com/88plug)
166-
Functional Source License; converts to Apache 2.0 two years after each release.
243+
[FSL-1.1-ALv2](https://github.com/88plug/project-prospector/blob/main/LICENSE.md)
244+
© 2026 [88plug](https://github.com/88plug) — Functional Source License; converts
245+
to Apache 2.0 two years after each release.

0 commit comments

Comments
 (0)