ワンクリックで
web-research
8-stage web research pipeline with MCP integration, caching, and citation generation.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
8-stage web research pipeline with MCP integration, caching, and citation generation.
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Triage incoming requirements against existing specs, then create or update layered SDD artifacts (_policies + spec-*) in one workflow.
Implement automated acceptance tests (E2E/API/Integration) aligned with US/TC/CON-API obligations from specs and contracts.
Analyze the repository and tune qfai.config.yaml (testFileGlobs, exclude globs, optional specSections).
Run structured discussion that defines exploration conditions, evaluation rubric, and anti-goals for downstream prototyping.
Unified implementation skill that orchestrates the full TDD micro-cycle (Red/Green/Refactor) one test at a time using test-list.md as the execution ledger.
Iterate one prototype through up to 10 cycles of generate-capture-review against a frozen DESIGN.md, focusing on information architecture, navigation flow, usability, and functionality.
| name | web-research |
| title | Web Research Pipeline |
| description | 8-stage web research pipeline with MCP integration, caching, and citation generation. |
| argument-hint | [query] [--max-depth N] [--yolo] |
| allowed-tools | ["Read","Glob","Bash","Write","WebSearch","WebFetch"] |
| roles | ["Researcher","Analyst","FactChecker"] |
| mode | research-pipeline |
[DRIFT-PROTOCOL:MANDATORY]
Every major research artifact SHOULD include a ## Work Orders Summary table:
| Step | Role (sub-agent) | Task title | Input (refs) | Output (refs) | Status (PASS/REVISE) |
|---|---|---|---|---|---|
| 1 | Researcher | Discover candidate sources | User request + config | Candidate list | PASS/REVISE |
| 2 | Analyst | Prepare research notes | Candidate URLs | Research notes | PASS/REVISE |
| 3 | Reviewer | Review evidence and claims | Notes + sources | Approval decision | PASS/REVISE |
test-layers.md, and treats ratios as signals, not gates.PASS or REVISE with a concrete fix proposal when returning REVISE.The web research pipeline consists of 8 stages executed in strict order:
aria-hidden elements, and display:none content.Each stage writes its output to the session log (see Section 4.1). The final citation block is appended to the research artifact.
Primary search provider. Connects via stdio transport for local execution. Also supports HTTP transport (streamable HTTP) for remote/hosted deployments where HTTP-based MCP endpoints are preferred.
Configuration templates: assets/mcp-templates/brave-search/
Content fetching and extraction. Supports two modes:
npx execution via stdio transport.Configuration templates: assets/mcp-templates/firecrawl/
Browser-based fetching for JavaScript-rendered pages. Used as fallback when Firecrawl cannot extract content.
Configuration templates: assets/mcp-templates/playwright/
Retry-After header with exponential backoff.The sanitize stage removes:
aria-hidden="true".display: none or visibility:hidden CSS.<script> and <style> blocks.Legitimate visible content is preserved unchanged by the sanitizer. The sanitizer is idempotent: applying it twice produces byte-identical output.
Default policy: default-deny.
qfai.config.yaml under webResearch.allowlist.The --yolo flag is ignored for security-critical gates.
Even when --yolo is set, domain allowlist enforcement and sanitization
cannot be bypassed.
Every pipeline execution produces a session log with 6 mandatory fields:
| Field | Description |
|---|---|
session_id | Unique identifier for this research run |
query | The original search query |
timestamp | ISO-8601 start time |
stages | Array of stage results with timing |
sources | List of fetched URLs with status codes |
citations | Final citation entries |
Session logs are stored under .qfai/evidence/web-research/.
| Metric | Target | Description |
|---|---|---|
| Citation precision | ≥ 90% | Fraction of citations that are accurate |
| Coverage | ≥ 80% | Fraction of query facets addressed by sources |
| Freshness | ≤ 30 days | Median age of cited sources |
| Security hygiene | 100% | All fetched content passed sanitization |
Risk-based gating strategy:
--yolo flag is ignored for security gates (see Section 3.3).Risk classification is determined by query topic analysis and domain sensitivity rules.
Cache key = hash(url + etag).
When an ETag header is not available, the key falls back to hash(url + last-modified).
Default TTL: 24 hours (24h).
qfai.config.yaml under webResearch.cache.ttl.Cache is stored under .qfai/cache/web-research/ using content-addressable storage.
The pipeline may delegate stages to specialised sub-agents:
Sub-agents communicate via structured message passing and share the session log as the coordination artifact.
When the search stage returns no results:
Each URL is fetched independently. A fetch failure for one URL does not abort the pipeline. Failed URLs are logged and excluded; the remaining successful fetches produce a partial result.
This isolation ensures that transient network errors or single-domain outages do not block the entire research pipeline.
Retry-After header.| Parameter | Default | Description |
|---|---|---|
| max_threads | 2 | Maximum concurrent fetch threads |
| max_depth | 2 | Maximum link-following depth |
| timeout | 30s | Per-URL fetch timeout |
| max_results | 10 | Maximum search results to process |
max_threads = 2 ensures conservative resource usage by default.
Increase only when the target environment can sustain higher concurrency.
SKILL.md files follow a progressive disclosure loading strategy:
If the YAML front-matter is invalid or produces a parse error (malformed YAML), the loader reports the error to the session log and activates default behavior as a fallback. The skill is still listed in the roster but operates with built-in defaults until the YAML is corrected.
Session logs must contain no secrets. The following secret exclusion rules apply:
Golden task sets are curated query-answer pairs used for regression evaluation. Each golden task is scored against 4 metrics:
Golden task results are stored under .qfai/evidence/web-research/golden/.
Before declaring completion, you MUST:
Create lightweight evidence that records:
--max-depth settings.