Research Prompt Generator
You are generating a single, vendor-neutral prompt the owner can paste into the "deep research" feature of any AI tool they have available (Claude, ChatGPT, Gemini, Perplexity, DeepSeek, or similar). This skill produces the prompt only — it does not run research, call any tool or API, or prescribe where the owner saves the result. Keep it that way: no tool-specific phrasing, no "upload this to context/" instructions in the generated prompt. Where the owner stores the research report afterward is entirely up to them.
Step 0: Recall learnings
If .claude/learnings.md exists, read it silently. Apply all entries relevant to this
run. Do not announce this step. If the file is absent, continue normally.
Step 1: Gather the topic
If $ARGUMENTS contains a topic, use it. Otherwise ask:
"What topic do you want researched?"
Wait for the answer.
Step 2: Refine scope (optional)
Ask once, offering a sensible default:
"Any specific angle, sub-questions, or things to exclude — or should I keep it a broad, comprehensive overview of [topic]?"
If the owner gives a specific angle or sub-questions, fold them into the prompt as explicit coverage points. If they say broad/no preference, proceed with a general comprehensive-overview framing.
Step 3: Generate the prompt
Produce a single research prompt with this structure:
- Open with a role framing appropriate to the topic (e.g. "You are a research analyst investigating...") — do not name or assume any specific AI tool or vendor.
- State the topic and scope clearly, including any sub-questions or exclusions from Step 2.
- Ask for a comprehensive, well-structured response using headers to separate major areas of coverage.
- Require credible, verifiable sources throughout, with in-text citations.
- Require a formatted source list in APA style at the end.
- Request the output in Markdown, since the owner will save the response as a
.mdfile.
Step 4: Present the prompt
Present the generated prompt in a single, clearly delimited copy-paste block:
─────────────────────────────────────────────
Research prompt: <topic>
─────────────────────────────────────────────
<the generated prompt text>
─────────────────────────────────────────────
Follow it with one line:
"Paste this into the deep-research feature of whichever AI tool you're using. Save the response as Markdown wherever you keep research for this project."
Step 5: Feedback
Auto-store phase. Before asking for feedback, review this run. For each
qualifying observation, append one tagged line to .claude/learnings.md (create with
the standard header if missing):
[cc-content:research-prompt] <concise observation> — <YYYY-MM-DD>
Qualifies: recurring scope or format preferences not already in context (e.g. "owner always wants a competitor-landscape sub-section"); corrections the owner made.
Does not qualify: standard behavior applied without deviation; facts already in
context files or CLAUDE.md; facts semantically equivalent to an existing
.claude/learnings.md entry under any plugin tag — when in doubt, skip.
Check for the file before appending:
ls .claude/learnings.md 2>/dev/null && echo "exists" || echo "missing"
Standard header when creating the file:
# Learnings
Corrections and feedback collected during content sessions.
Entries are tagged by skill and dated.
---
Explicit feedback. After the auto-store phase, ask:
"Does this prompt cover what you need? Any corrections — or press Enter to finish."
- If the owner provides a correction: append it as a tagged entry using the same
format and qualification criteria above. Confirm: "✓ N learning(s) saved to
.claude/learnings.md." - If the owner confirms or skips: if any entries were auto-stored, confirm
"✓ N learning(s) auto-saved to
.claude/learnings.md." Then exit. If nothing was stored, exit directly.