From issueboss
Ad-hoc research skill — investigate any topic (no IssueBoss issue required) by dispatching research-topic-processor, presenting findings inline, and optionally saving a document to .insights/shared/research/.
npx claudepluginhub szinn/issueboss --plugin issuebossThis skill uses the workspace's default tool permissions.
You are using the `research` skill to investigate a free-form topic and present findings inline.
Guides Next.js Cache Components and Partial Prerendering (PPR) with cacheComponents enabled. Implements 'use cache', cacheLife(), cacheTag(), revalidateTag(), static/dynamic optimization, and cache debugging.
Guides building MCP servers enabling LLMs to interact with external services via tools. Covers best practices, TypeScript/Node (MCP SDK), Python (FastMCP).
Generates original PNG/PDF visual art via design philosophy manifestos for posters, graphics, and static designs on user request.
You are using the research skill to investigate a free-form topic and present findings inline.
No IssueBoss issue is required — this skill works for any ad-hoc query.
This skill applies when:
/research with a query["#codebase", "#web"]. Valid tags: #codebase, #implementation, #architecture, #patterns, #conventions, #examples, #web, #external, #library, #practices, #web-deep. Pass [] if none are provided — the processor infers dimensions from the topic description.Before dispatching the processor, resolve the current VCS context from the project root.
Check whether .jj/ exists in the project root.
If jj repo: Run:
jj log -r @ --no-graph -T 'change_id ++ " " ++ commit_id'
Split on the first space: first token = change_id, second token = commit.
If git repo (no .jj/): Run git rev-parse HEAD → commit; set change_id = "".
If neither: Set change_id = "" and commit = "".
Resolve VCS context — follow the VCS Context Resolution section above.
Dispatch issueboss:research-topic-processor via the Agent tool with this exact prompt format:
Research the following topic:
topic_description: {topic}
topic_tags: {tags as JSON array, or [] if none}
change_id: {change_id}
commit: {commit}
project_root: {absolute path to project root}
Note: do NOT include an issue_slug line — this is an ad-hoc invocation.
Wait for the processor to return its structured output (delimited by ---FRONTMATTER---, ---FINDINGS---, ---END---).
Parse the output:
---FRONTMATTER--- and ---FINDINGS--- as frontmatter fields.---FINDINGS--- and ---END--- as the findings body.Present findings inline — display the full findings body to the user as-is.
Offer to save — after presenting, ask:
Want me to save this as a research document in
.insights/shared/research/?
Do not save automatically. Wait for an explicit yes. If the user declines or gives no clear answer, do not write any file.
Derive the filename from the frontmatter topic field:
topic into space-delimited tokens; take the first 6 (or all tokens if fewer than 6){kebab-summary}Write the file to .insights/shared/research/{kebab-summary}.md using the Write tool.
Do NOT run mkdir — the Write tool creates parent directories automatically.
File content format:
---
topic: {topic value from frontmatter}
date: {date value from frontmatter}
status: {status value from frontmatter}
change_id: {change_id value from frontmatter}
commit: {commit value from frontmatter}
dimensions_active: {dimensions_active value from frontmatter}
---
{findings body exactly as returned by the processor}
Confirm the path to the user:
Saved to
.insights/shared/research/{kebab-summary}.md
mcp__issueboss__* tools..claude/issueboss.json — do not read project config; derive all context from the query and VCS.issue_slug — never include an issue_slug line in the processor prompt for this skill.