bookstrap-research
Execute research tasks autonomously by searching for sources, evaluating reliability, ingesting content, and resolving knowledge gaps
npx skills add majiayu000/claude-skill-registry --skill bookstrap-research --agent claude-code
Same command for any agent — swap --agent for codex, cursor, copilot.
Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.
What it does
Executes research tasks autonomously to fill knowledge gaps identified during planning. It searches the web for sources, evaluates their reliability, ingests relevant content, extracts entities and relationships, and marks gaps as resolved.
How it works
- Loads pending research tasks from the database (unresolved gaps, priority, context).
- For each task, performs a web search using a configured provider (Tavily, Brave, Serper, Google) with domain filters and a max_sources_per_task cap.
- Evaluates each source against reliability criteria (academic, primary, reputable journalism, government sites, expert blogs, Wikipedia as a leads source, or low for random blogs) and checks indicators like author credentials, date, citations, and domain reputation.
- Ingests approved sources into the corpus using ingest-file.py, performing content fetch, semantic chunking, embedding generation, entity extraction, and relationship creation, then links to the corresponding knowledge gap.
- Extracts entities with extract-entities.py (characters, locations, events, concepts, dates) and creates relationships via SurrealDB-style commands (RELATE lines).
- Marks knowledge gaps as resolved with updates to the database, including source reference and timestamp.
- Commits progress after each resolved gap with a descriptive git commit message.
- Delegates the heavy research work to the researcher agent, which handles the loading, searching, ingestion, extraction, and gap-resolutions across tasks, continuing until all tasks are complete or blocked.
When to use it
Use when there are unresolved knowledge gaps loaded by /bookstrap-plan-research and a research workflow is configured (web access, database, and embedding providers available). The process continues until all tasks are resolved or rate limits or quality constraints stop progress.
What it can touch
- Web search and fetch via configured providers
- Ingestion scripts (ingest-file.py) with parameters like --url, --source-type, --reliability, --gap-id
- Entity extraction script (extract-entities.py) with --source-id, --content, --context
- Graph relationships via RELATE commands
- Knowledge gap status via SURQL updates
- Git repository for progress commits
Caveats
- Requires BRD initialization and a running SurrealDB instance before running
/bookstrap-research. - Rate limits are enforced; retries and max_retries_per_task govern behavior.
- If no high-quality sources are found, gaps may be marked as needing human review.
- The agent does not generate manuscript content; it only builds the corpus and resolves gaps for downstream writing.
# /bookstrap-research - Execute Research Tasks Execute research tasks autonomously to fill knowledge gaps identified during planning. Search the web for sources, evaluate their reliability, ingest relevant content, extract entities and relationships, and mark gaps as resolved. ## Purpose Fill knowledge gaps by conducting autonomous web research. This command loads pending research tasks from the database, searches for high-quality sources, ingests them into the corpus, and resolves the associated knowledge gaps. This command delegates the research work to the `researcher` agent, which operates in research mode with full web access. ## Input Arguments None. This command reads pending research tasks from the database: - Unresolved knowledge gaps with their questions and context - Priority levels (high, medium, low) - Chapters/sections blocked by each gap - Previous research attempts (if any) ## Processing Workflow ### 1. Load Pending Research Tasks Query the database to retrieve unresolved knowledge gaps: ```bash # Query pending research tasks surreal sql --conn http://localhost:2665 \ --user root --pass root \ --ns bookstrap --db <database-name> \ --query "SELECT * FROM knowledge_ga
- Purpose
- Input Arguments
- Processing Workflow
- 1. Load Pending Research Tasks
- 2. For Each Research Task
- 3. Delegate to Researcher Agent
- 4. Continue Until Complete or Blocked
- Output Format
- Behavior Characteristics
- Research Mode (Web Access Enabled)
- Autonomous Execution
- Quality Over Quantity
- Rate Limiting and Resumption
- Configuration
Query pending research tasks surreal sql --conn http://localhost:2665 \ Perform web search based on research question Apply domain filters from bookstrap.config.json Respect rate limits Target max_sources_per_task from config (default: 5) Use ingest-file.py for web content python ./scripts/ingest-file.py \ Extract entities from ingested content python ./scripts/extract-entities.py \
What does the bookstrap-research skill do?
Execute research tasks autonomously by searching for sources, evaluating reliability, ingesting content, and resolving knowledge gaps
How do I install it?
Run `npx skills add majiayu000/claude-skill-registry --skill bookstrap-research --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.
Where does this skill come from?
From majiayu000/claude-skill-registry, a repository with 534 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.
Is a popular skill a good skill?
Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.
