AgentStack
SKILL verified MIT Self-run

Research Prospect

skill-aberson-claude-skills-research-prospect · by aberson

Scan active projects and surface /deep-research topic strings per project. Reads MEMORY.md to enumerate projects, fans out parallel Explore agents (one per project) to identify 2-3 high-value research topics each, then renders a grouped copy-pasteable menu. Use when you want token-rich research tasks to hand off to separate windows, or when you want to understand what research would most improve…

No reviews yet
0 installs
2 views
0.0% view→install

Install

$ agentstack add skill-aberson-claude-skills-research-prospect

✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.

Are you the author of Research Prospect? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

research-prospect

Scan each active project for research gaps and produce a ready-to-run /deep-research menu, grouped by project.

When to use

  • You want high-token tasks to distribute across multiple windows.
  • You want to understand what research would most improve each project before starting a deep-work session.
  • You need a menu of specific, grounded research questions rather than a brainstorm.

When NOT to use

  • You already know the topic — skip straight to /deep-research "".
  • You want a deep investigation of one specific project — ask for that directly instead.
  • MEMORY.md "Active projects" is known to be stale — run /session-wrap first to update it.

Arguments

| Arg | Required | Default | Description | |---|---|---|---| | --projects | no | all active projects from MEMORY.md | Comma-separated project names or directory paths. Example: --projects Alpha4Gate,toybox | | --session-wrap | no | off | After rendering the menu, invoke /session-wrap with all topics listed as next-step options. |


Steps

Step 1: Resolve project list

If --projects was provided: parse it as a comma-separated list. Each item is either a project name (look up under //) or an absolute path.

If --projects was not provided: read MEMORY.md from ~/.claude/projects//memory/MEMORY.md. Locate the "Active projects" section. Extract every project name listed there. For each, derive its directory: check // (case-insensitive). Capture the one-line MEMORY.md entry for each project — this feeds the agent as background context.

Warn and skip any project whose directory cannot be resolved. Do not halt.

Emit one line before Step 2: Scanning N projects: .


Step 2: Fan out parallel Explore agents

Dispatch all agents in a single parallel message — one Explore agent per project. Do not wait for one to finish before dispatching others. Parallel dispatch is the primary throughput gain of this skill; sequential dispatch is a defect.

Each agent receives the following prompt (fill in the bracketed fields):

Investigate  at  to identify 2-3 specific /deep-research topics that would meaningfully improve the project.

Background from workspace memory: 

Read in this order (stop when you have enough context):
1. /CLAUDE.md — stack, commands, known gotchas
2. /documentation/master_plan.md or plan.md — current phase/step status
3. git -C "" log --oneline -15 — recent work
4. Any open investigation docs under /documentation/investigations/

Focus on: algorithmic gaps, known plateaus, open architectural questions, techniques the plan defers to "future phases", quality or accuracy limitations surfaced in UAT, or infrastructure decisions where research would inform a go/no-go gate.

Return ONLY a JSON object (no prose before or after it):

{
  "project": "",
  "current_state": "",
  "research_topics": [
    {
      "title": "",
      "why": "",
      "depth": "high|medium"
    }
  ]
}

Rules:
- 2 topics minimum, 3 maximum.
- Titles must work as /deep-research arguments: specific, concrete, not generic phrases like "improve performance" or "better algorithms."
- "why" must cite something observed in the code, plan doc, or git log — not general best-practices reasoning.
- If the directory does not exist or has no readable files, return: {"project": "", "error": "directory not found or empty"}.

Collect all results. Projects that return "error" are logged under a Skipped line in the output but do not halt rendering.


Step 3: Render the menu

For each project with valid results, render a group:

##  — 

  X1: /deep-research ""
      Why: 

  X2: /deep-research ""
      Why: 

  X3: /deep-research ""   (if present)
      Why: 

Where X is a single-letter prefix: first letter of the first word of the project name, uppercased. If two projects share the same letter, use a two-letter prefix for the second (e.g., VO for void_furnace if VF was already used).

After all groups, emit a flat "QUICK COPY" block:

--- QUICK COPY (one per window) ---
/deep-research ""
/deep-research ""
...

The quick-copy block is mandatory regardless of topic count — it lets the user grab a single line per window without stripping the "Why" annotations.


Step 4 (only if --session-wrap flag passed)

Immediately invoke /session-wrap after Step 3 output. Pass the full topic list (all /deep-research "..." invocations, grouped by project) as the next-step options argument. One-sentence transition max before the skill call — do not emit verdict prose summarizing what was found.


Output format

  • Target: 20–70 lines for the full menu.
  • Do not truncate topics to hit a word count. Accuracy over brevity.
  • The QUICK COPY block always appears at the end, even if only one project was scanned.

Constraints

  • Parallel dispatch required. All Explore agents in one message. Sequential dispatch is a defect.
  • JSON only from agents. Agents returning prose instead of JSON are treated as parse failures. Log the project as skipped with a note; do not try to extract topics from prose.
  • "why" must be grounded. If an agent's "why" reads as generic best-practice advice with no codebase anchor, mark it (unverified — no specific gap cited) rather than presenting it as a confirmed finding.
  • Title phrasing discipline. Reject titles that are generic. A usable title names the technique, the constraint, and the domain: "SPRT early-stopping thresholds for small-n win-rate gates in game-playing bot evolution" not "statistical testing for bot evaluation."
  • No invented projects. Only scan projects listed in MEMORY.md or explicitly named via --projects.

Limitations

  • MEMORY.md must be current. Projects not listed under "Active projects" are invisible to this skill unless named via --projects. If MEMORY.md is stale, run /session-wrap first.
  • Explore agents read excerpts, not whole files. On large plan.md files (>2000 lines), agents see early sections first. Open investigations buried deep in the plan may be missed. Use --projects with a more focused prompt if a specific project needs deeper coverage.
  • Directory name must match MEMORY.md entry exactly. If a project is listed as b2_project_goblin but the directory is goblin/, resolution will fail. Fix MEMORY.md or use --projects /goblin.
  • Agent JSON format is best-effort. Explore agents are not constrained-output models. If an agent returns valid JSON with the right keys, use it. If it returns close-enough JSON (minor key differences), parse it gracefully. Only escalate to "skipped" if the output is unparseable.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet — be the first.

Versions

  • v0.1.0 Imported from the upstream source.