From research-space
Provision a new research-space workspace on disk. Use when the user wants to start a new research project (deep-research, technical, osint, georeaction, stack, ecosystem, competitor, purchasing, or general-research-workspace). Accepts a workspace name and optional variant. Scaffolds the workspace, personalises CLAUDE.md from the user's global memory, creates a GitHub repo (public by default), and auto-registers public workspaces into the Open-Research-Workspaces-Index.
npx claudepluginhub danielrosehill/claude-code-plugins --plugin research-spaceThis skill is limited to using the following tools:
Creates a new workspace for open-ended research. This plugin's primitives (`/research-space:source-log`, `/research-space:summarize-sources`, `/research-space:deep-dive`, etc.) are globally available once installed — this skill only provisions the **data scaffold** (CLAUDE.md, context/, sources/, outputs/, notes/, plus variant-specific folders) that those commands read from and write to.
Mandates invoking relevant skills via tools before any response in coding sessions. Covers access, priorities, and adaptations for Claude Code, Copilot CLI, Gemini CLI.
Share bugs, ideas, or general feedback.
Creates a new workspace for open-ended research. This plugin's primitives (/research-space:source-log, /research-space:summarize-sources, /research-space:deep-dive, etc.) are globally available once installed — this skill only provisions the data scaffold (CLAUDE.md, context/, sources/, outputs/, notes/, plus variant-specific folders) that those commands read from and write to.
$ARGUMENTS is parsed as:
~/repos/github/my-repos.--variant=<variant> (optional): which scaffold to copy. Default: deep-research. Supported:
deep-research — general-purpose investigation around one central questiontechnical — version-sensitive technical research (APIs, libraries, protocols, hardware)osint — open-source intelligence with provenance and chain-of-custodygeoreaction — comparative regional reactions to an event or policystack — tool/stack evaluation with criteria and scoringecosystem — actor/landscape mappingcompetitor — competitor intelligencepurchasing — spec → candidates → shortlist → decision for a purchasegeneral-research-workspace — openly-logged Q&A research space (user asks, Claude writes longform responses, pairs consolidated into PDFs)--local-only (optional): skip GitHub repo creation and push. Default: create a GitHub repo and push.--private (optional): create the GitHub repo as private. Default: public. Private workspaces are not auto-registered into the public index.--no-index (optional): even for a public workspace, skip the auto-registration into Open-Research-Workspaces-Index./research-space:new-workspace Iran-Drone-Program --variant=osint
/research-space:new-workspace Acme-Competitor --variant=competitor
/research-space:new-workspace Local-AI-Stack --variant=stack --local-only
/research-space:new-workspace LLM-Ecosystem-2026 --variant=ecosystem
/research-space:new-workspace Framework-Laptop-Purchase --variant=purchasing --private
/research-space:new-workspace State-Of-Claude-Context-0426 --variant=general-research-workspace
Extract workspace name, target parent path, variant, and flags from $ARGUMENTS. If workspace name is missing, ask the user before proceeding. If variant is not one of the supported nine, list the supported ones and stop.
The bundled scaffold lives at ${CLAUDE_SKILL_DIR}/../../template/<variant>/. Confirm it exists before copying.
Read ~/.claude/CLAUDE.md if it exists. Extract OS, locale, timezone, and user identity facts. These will personalise the workspace's CLAUDE.md at step 5.
mkdir -p <target-parent>/<workspace-name>
cp -r ${CLAUDE_SKILL_DIR}/../../template/<variant>/. <target-parent>/<workspace-name>/
Do not copy any .claude/ tree. The plugin's primitives are global.
Open the new workspace's CLAUDE.md and:
Ask only for facts the plugin can't infer:
<RESEARCH_QUESTION>.<STACK_AREA>.<PURCHASE_TARGET>. Offer to seed context/spec.md with a short intake.<RESEARCH_QUESTION>. This is the umbrella question; individual questions accrue under questions/.Write these into CLAUDE.md or context/scope.md as appropriate.
cd <target-parent>/<workspace-name>
git init
git add .
git commit -m "Initial workspace from research-space plugin (<variant>)"
Unless --local-only is set:
gh repo create <workspace-name> --<public|private> --source=. --push
Skip this step if any of: --local-only, --private, --no-index.
The public index lives at github.com/danielrosehill/Open-Research-Workspaces-Index. Append a new entry to its README.md under the ## Research Workspaces section so the new workspace is discoverable.
Procedure:
Clone the index into a temp dir:
TMP=$(mktemp -d)
gh repo clone danielrosehill/Open-Research-Workspaces-Index "$TMP/index"
Edit $TMP/index/README.md. Insert the following block immediately before the --- that closes the ## Research Workspaces section (i.e. append as the last workspace entry, before the horizontal rule that precedes ## Templates):
### <Human-readable title derived from workspace name>
<One-paragraph description>. **Question:** <the central question / umbrella theme>.
[](https://github.com/danielrosehill/<workspace-name>)
Also bump the **Last Updated:** <Month YYYY> line to the current month/year if it's out of date.
Commit and push:
git -C "$TMP/index" add README.md
git -C "$TMP/index" commit -m "Add <workspace-name> to research workspaces index"
git -C "$TMP/index" push
Clean up: rm -rf "$TMP".
If the insertion fails (section markers changed, merge conflict, etc.), report it and let the user handle manually — do not force-push.
Tell the user:
Open-Research-Workspaces-Index (and the link), or why it was skipped./research-space:research-init, then /research-space:source-log <url> as they gather material./research-space:summarize-sources./research-space:deep-dive <topic>.general-research-workspace: note the Q&A pair convention (questions/<slug>.md + answers/<slug>.md) and that /research-space:export-report consolidates selected pairs into a single doc.${CLAUDE_SKILL_DIR}/../../template/ (not ${CLAUDE_PLUGIN_ROOT})..claude/commands/, .claude/agents/, or .claude/skills/ into the new workspace.State-Of-Claude-Context-0426) over kebab-case when publishing publicly — matches Daniel's convention.