External audit flagged 8 actionable items against current best practices for Agent Skills, Claude Code hooks, Obsidian v1.9-v1.12, and JSON Canvas 1.0. This release addresses all of them and adds multi-agent compatibility files at zero cost to existing users. Tier 1, critical fixes: * wiki/meta/dashboard.base: NEW Obsidian Bases dashboard (native, no plugin needed). Replaces Dataview as the primary dashboard. Six views: Recent Activity, Seed Pages, Entities Missing Sources, Open Questions, Comparisons, Sources. * wiki/meta/dashboard.md: now embeds dashboard.base. Legacy Dataview queries retained as optional fallback for users on Obsidian < 1.9.10. * README.md and skills/wiki/references/plugins.md: Plugins section reorganized to recommend Bases (core, no install) primary, Dataview optional/legacy. * skills/canvas/references/canvas-spec.md: added missing JSON Canvas 1.0 fields. Group nodes now document background and backgroundStyle (cover, ratio, repeat). Edges document fromEnd (default 'none') and toEnd (default 'arrow') asymmetric defaults. Hex ID convention noted alongside descriptive ID alternative. * .gitignore: track wiki/meta/dashboard.base explicitly. Tier 2, important improvements: * hooks/hooks.json: SessionStart now uses both command type ([ -f wiki/hot.md ] && cat ...) and prompt type. Command type is the canonical safety check that works in non-vault sessions without erroring. Matcher: startup|resume. * hooks/hooks.json: NEW PostCompact hook re-injects hot cache after context compaction (hook-injected context does not survive compaction; CLAUDE.md does). * hooks/hooks.json: PostToolUse auto-commit now guarded by [ -d .git ]. * hooks/README.md: NEW documentation including known plugin-hooks STDOUT bug (anthropics/claude-code#10875) and workarounds. * skills/wiki/references/mcp-setup.md: added Option D (Obsidian CLI) for v1.12+. Added warning callout above NODE_TLS_REJECT_UNAUTHORIZED line explaining process-wide TLS bypass and recommending Option D as the secure alternative. * skills/wiki-ingest/SKILL.md: documented [!contradiction] custom callout CSS dependency on vault-colors.css snippet. * skills/wiki/references/css-snippets.md: full documentation of all four custom callouts (contradiction, gap, key-insight, stale) with built-in fallback equivalents. Tier 3, multi-agent compatibility (low complexity, high reach): * AGENTS.md: Codex CLI / OpenCode bootstrap. * GEMINI.md: Gemini CLI / Antigravity bootstrap. * .cursor/rules/claude-obsidian.mdc: Cursor always-on rules. * .windsurf/rules/claude-obsidian.md: Windsurf Cascade rules. * .github/copilot-instructions.md: GitHub Copilot conventions. * bin/setup-multi-agent.sh: idempotent symlink installer for Codex, OpenCode, Gemini, Cursor, Windsurf. Wires up the skills/ directory in each agent's expected location. Style cleanup: scrubbed all em dashes from every skill, hook, doc, and bootstrap file (249 total replacements across 26 files). Skills now use periods, commas, and colons throughout for cleaner natural prose. Version: 1.3.0 to 1.4.0 (aligns plugin.json with GitHub release tag format). Already resolved in v1.1 (no action needed): * defuddle, obsidian-bases, obsidian-markdown skills shipped * URL ingestion, vision ingestion, delta tracking docs * Multi-depth wiki-query (Quick / Standard / Deep) * PostToolUse auto-commit hook * allowed-tools field removed from all SKILL.md files * All templates already use plural tag/alias forms * Custom callouts CSS already in vault-colors.css Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
173 lines
4.7 KiB
Markdown
173 lines
4.7 KiB
Markdown
---
|
|
name: autoresearch
|
|
description: >
|
|
Autonomous iterative research loop. Takes a topic, runs web searches, fetches sources,
|
|
synthesizes findings, and files everything into the wiki as structured pages.
|
|
Based on Karpathy's autoresearch pattern: program.md configures objectives and constraints,
|
|
the loop runs until depth is reached, output goes directly into the knowledge base.
|
|
Triggers on: "/autoresearch", "autoresearch", "research [topic]", "deep dive into [topic]",
|
|
"investigate [topic]", "find everything about [topic]", "research and file",
|
|
"go research", "build a wiki on".
|
|
---
|
|
|
|
# autoresearch: Autonomous Research Loop
|
|
|
|
You are a research agent. You take a topic, run iterative web searches, synthesize findings, and file everything into the wiki. The user gets wiki pages, not a chat response.
|
|
|
|
This is based on Karpathy's autoresearch pattern: a configurable program defines your objectives. You run the loop until depth is reached. Output goes into the knowledge base.
|
|
|
|
---
|
|
|
|
## Before Starting
|
|
|
|
Read `references/program.md` to load the research objectives and constraints. This file is user-configurable. It defines what sources to prefer, how to score confidence, and any domain-specific constraints.
|
|
|
|
---
|
|
|
|
## Research Loop
|
|
|
|
```
|
|
Input: topic (from user command)
|
|
|
|
Round 1. Broad search
|
|
1. Decompose topic into 3-5 distinct search angles
|
|
2. For each angle: run 2-3 WebSearch queries
|
|
3. For top 2-3 results per angle: WebFetch the page
|
|
4. Extract from each: key claims, entities, concepts, open questions
|
|
|
|
Round 2. Gap fill
|
|
5. Identify what's missing or contradicted from Round 1
|
|
6. Run targeted searches for each gap (max 5 queries)
|
|
7. Fetch top results for each gap
|
|
|
|
Round 3. Synthesis check (optional, if gaps remain)
|
|
8. If major contradictions or missing pieces still exist: one more targeted pass
|
|
9. Otherwise: proceed to filing
|
|
|
|
Max rounds: 3 (as set in program.md). Stop when depth is reached or max rounds hit.
|
|
```
|
|
|
|
---
|
|
|
|
## Filing Results
|
|
|
|
After research is complete, create these pages:
|
|
|
|
**wiki/sources/**. One page per major reference found
|
|
- Use source frontmatter (type, source_type, author, date_published, url, confidence, key_claims)
|
|
- Body: summary of the source, what it contributes to the topic
|
|
|
|
**wiki/concepts/**. One page per significant concept extracted
|
|
- Only create a page if the concept is substantive enough to stand alone
|
|
- Check the index first: update existing concept pages rather than creating duplicates
|
|
|
|
**wiki/entities/**. One page per significant person, org, or product identified
|
|
- Check the index first: update existing entity pages
|
|
|
|
**wiki/questions/**. One synthesis page titled "Research: [Topic]"
|
|
- This is the master synthesis. Everything comes together here.
|
|
- Sections: Overview, Key Findings, Entities, Concepts, Contradictions, Open Questions, Sources
|
|
- Full frontmatter with related links to all pages created in this session
|
|
|
|
---
|
|
|
|
## Synthesis Page Structure
|
|
|
|
```markdown
|
|
---
|
|
type: synthesis
|
|
title: "Research: [Topic]"
|
|
created: YYYY-MM-DD
|
|
updated: YYYY-MM-DD
|
|
tags:
|
|
- research
|
|
- [topic-tag]
|
|
status: developing
|
|
related:
|
|
- "[[Every page created in this session]]"
|
|
sources:
|
|
- "[[wiki/sources/Source 1]]"
|
|
- "[[wiki/sources/Source 2]]"
|
|
---
|
|
|
|
# Research: [Topic]
|
|
|
|
## Overview
|
|
[2-3 sentence summary of what was found]
|
|
|
|
## Key Findings
|
|
- Finding 1 (Source: [[Source Page]])
|
|
- Finding 2 (Source: [[Source Page]])
|
|
- ...
|
|
|
|
## Key Entities
|
|
- [[Entity Name]]: role/significance
|
|
|
|
## Key Concepts
|
|
- [[Concept Name]]: one-line definition
|
|
|
|
## Contradictions
|
|
- [[Source A]] says X. [[Source B]] says Y. [Brief note on which is more credible and why]
|
|
|
|
## Open Questions
|
|
- [Question that research didn't fully answer]
|
|
- [Gap that needs more sources]
|
|
|
|
## Sources
|
|
- [[Source 1]]: author, date
|
|
- [[Source 2]]: author, date
|
|
```
|
|
|
|
---
|
|
|
|
## After Filing
|
|
|
|
1. Update `wiki/index.md`. Add all new pages to the right sections
|
|
2. Append to `wiki/log.md` (at the TOP):
|
|
```
|
|
## [YYYY-MM-DD] autoresearch | [Topic]
|
|
- Rounds: N
|
|
- Sources found: N
|
|
- Pages created: [[Page 1]], [[Page 2]], ...
|
|
- Synthesis: [[Research: Topic]]
|
|
- Key finding: [one sentence]
|
|
```
|
|
3. Update `wiki/hot.md` with the research summary
|
|
|
|
---
|
|
|
|
## Report to User
|
|
|
|
After filing everything:
|
|
|
|
```
|
|
Research complete: [Topic]
|
|
|
|
Rounds: N | Searches: N | Pages created: N
|
|
|
|
Created:
|
|
wiki/questions/Research: [Topic].md (synthesis)
|
|
wiki/sources/[Source 1].md
|
|
wiki/concepts/[Concept 1].md
|
|
wiki/entities/[Entity 1].md
|
|
|
|
Key findings:
|
|
- [Finding 1]
|
|
- [Finding 2]
|
|
- [Finding 3]
|
|
|
|
Open questions filed: N
|
|
```
|
|
|
|
---
|
|
|
|
## Constraints
|
|
|
|
Follow the limits in `references/program.md`:
|
|
- Max rounds (default: 3)
|
|
- Max pages per session (default: 15)
|
|
- Confidence scoring rules
|
|
- Source preference rules
|
|
|
|
If a constraint conflicts with completeness, respect the constraint and note what was left out in the Open Questions section.
|