From academic-hotspot
Force a fresh weekly pipeline run even if a report already exists this week. Use when the user wants to regenerate or update the hotspot report with the latest data.
How this skill is triggered — by the user, by Claude, or both
Slash command
/academic-hotspot:hotspot-refreshThis skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Run: `hotspot weekly --json`
Run: hotspot weekly --json
Parse the JSON output. Check phases_run:
phases_run contains "narrate-prepare" but NOT "narrate-finalize":
snapshot_id = value from JSONreport_id = value from JSONUnlike /hotspot-weekly, this command always runs the full pipeline even if a report already exists this week. Do not check for an existing report — always proceed through all steps.
Do NOT rely on file_path being non-null to detect completion — file_path is null until the render phase runs.
Run: hotspot narrate-prepare --snapshot {snapshot_id} --report-id {report_id} --json
Both --snapshot and --report-id are required (no defaults exist).
Parse the JSON output:
request_path = the path to narration_request.jsonresponse_path = {parent directory of request_path}/narration_response.jsonRead the file at request_path.
It contains:
{
"snapshot_id": N,
"hotspots": [
{
"cluster_id": C,
"domain": "ai",
"allowed_paper_ids": [1, 2, 3, ...],
"context_block": {
"top_papers": [...]
}
}
]
}
For each hotspot in the list, write a HotspotNarrative JSON object with these exact fields:
summary: 2-3 sentence overview of what this research cluster is about and why it matterswhy_hot: list of {"text": "...[paper_id=N]...", "paper_ids": [N]} objects — each claim grounded in specific papers using [paper_id=N] syntaxrepresentative_papers: list of paper_ids that best represent the hotspotpotential_disagreements: null, or a list of {"text": "...[paper_id=N]...", "paper_ids": [N]} objects showing competing viewpointsCRITICAL: cite ONLY paper_ids from that hotspot's allowed_paper_ids list. Use [paper_id=N] syntax for every claim. Do not invent or hallucinate paper_ids.
Write the complete response as JSON to response_path:
{
"snapshot_id": N,
"narratives": [
{
"cluster_id": C,
"narrative": {
"summary": "...",
"why_hot": [{"text": "...[paper_id=1]...", "paper_ids": [1]}],
"representative_papers": [1, 2],
"potential_disagreements": null
}
}
]
}
Round 1:
Run: hotspot narrate-finalize --request {request_path} --response {response_path} --snapshot {snapshot_id} --report-id {report_id} --json
Parse the JSON output:
needs_correction: false → proceed to Step 5.needs_correction: true:
correction_path (present in the JSON when needs_correction is true).allowed_paper_ids from the original request.response_path with the corrected narratives for the flagged clusters (preserve passing narratives unchanged).Note: needs_correction: true exits with code 0 — this is an expected state, not a crash.
Round 2 (MUST use --is-retry):
Run: hotspot narrate-finalize --request {request_path} --response {response_path} --snapshot {snapshot_id} --report-id {report_id} --json --is-retry
needs_correction: false → proceed to Step 5.needs_correction: true after round 2 → state plainly to the user that a placeholder narrative was used for the affected hotspot(s) due to persistent grounding failures, then proceed to Step 5.Hard cap: N=2 rounds maximum. Never loop further. Never hang. Never silently trust a bad narrative.
Run: hotspot weekly --resume --snapshot-existing {snapshot_id} --json
Parse the JSON output and display the full report from file_path. The report is also saved to reports/YYYY-WW.md.
Searches MemPalace before answering questions about past work, people, projects, or prior decisions. Returns verbatim stored content instead of guessing from model memory.
Guides Payload CMS config (payload.config.ts), collections, fields, hooks, access control, APIs. Debugs validation errors, security, relationships, queries, transactions, hook behavior.
Implements vector databases with Pinecone, Weaviate, Qdrant, Milvus, pgvector for semantic search, RAG, recommendations, and similarity systems. Optimizes embeddings, indexing, and hybrid search.
npx claudepluginhub yss-off/academic-hotspot --plugin academic-hotspot