From fact-check
Use when the user wants to fact-check, verify claims, or validate references in a document. Triggers on "fact-check", "ファクトチェック", "verify claims", "check references", "validate sources", or when given a file path with a request to verify its content.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fact-check:fact-checkThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
学術文書中の記述をカテゴリ別に分類し、サブエージェントによる並列検証を経て、構造化されたMarkdownレポートを生成する。
学術文書中の記述をカテゴリ別に分類し、サブエージェントによる並列検証を経て、構造化されたMarkdownレポートを生成する。
digraph factcheck {
"Read input file" -> "Detect available tools";
"Detect available tools" -> "Existing report?";
"Existing report?" -> "Full check (Phase 1-3)" [label="No"];
"Existing report?" -> "Incremental check" [label="Yes"];
"Incremental check" -> "git diff to find changes";
"git diff to find changes" -> "Classify new/changed statements";
"Classify new/changed statements" -> "Dispatch agents (Phase 2)";
"Full check (Phase 1-3)" -> "Classify all statements";
"Classify all statements" -> "Dispatch agents (Phase 2)";
"Dispatch agents (Phase 2)" -> "Merge results (Phase 3)";
"Merge results (Phase 3)" -> "Write report";
}
Before any processing, detect which tools are available for verification. Check for these tool name patterns in the current environment:
| Tool | Detection Pattern | Purpose |
|---|---|---|
| Zotero | mcp__zotero__* tools exist | User's reference library |
| PubMed | mcp__plugin_pubmed_PubMed__* tools exist | Academic paper search |
| Web Search | WebSearch tool exists | General information search |
| Academic DB skills | database-lookup, paper-lookup skills exist | Various academic databases |
Build a tool availability summary to include in each agent's prompt:
## Available Tools
- Zotero: [specific tool names] [Available/Not Available]
- PubMed: [specific tool names] [Available/Not Available]
- Web Search: WebSearch [Available/Not Available]
- Academic DB: [specific skill names] [Available/Not Available]
## Tool Priority
1. Zotero (user's existing library)
2. Academic databases (PubMed, etc.)
3. Web search (fallback)
Read the input file and classify each meaningful statement into one of 6 categories.
| Category | Description | Criteria |
|---|---|---|
| fact | Verifiable factual statement | Independently verifiable numbers, dates, measurements, events |
| definition | Definition of a term or concept | Explains what something is or means |
| common-knowledge | General knowledge, no citation needed | An undergraduate in the field could write without citing |
| claim | Interpretation or argument | Contains judgment; based on past data or evidence |
| prediction | Forecast about the future | Forward-looking; based on trends or theory |
| opinion | Subjective judgment | Personal assessment or value statement |
Create a structured classification list. For each item, record:
Dispatch 6 agents in parallel using the Agent tool, one per category. Each agent receives:
Use the Agent tool with subagent_type matching the plugin agent names:
fact-check:fact-verifierfact-check:definition-verifierfact-check:common-knowledge-verifierfact-check:claim-verifierfact-check:prediction-verifierfact-check:opinion-verifierSkip any category that has zero items — do not dispatch an agent for empty categories.
For each agent, construct a prompt containing:
templates/report-template.md){{file_path}} → absolute path of the input file{{datetime}} → current date and time (YYYY-MM-DD HH:MM){{commit_hash}} → current HEAD commit hash (short form, 7 chars){{repo_type}} → "元リポジトリ" or "factcheck内リポジトリ"{{available_tools}} → comma-separated list of detected tools{{check_mode}} → "全体チェック" or "差分更新"factcheck/ directory next to the input file if it doesn't existfactcheck/<filename-without-ext>-factcheck.mdWhen an existing report is found at the expected output path:
Case A — Input file is in a git repo:
最終検証コミット metadatagit diff <last_commit>..HEAD -- <input_file_path>Case B — Input file is NOT in a git repo:
factcheck/.git exists (independent repo created on first run)factcheck/.git does not exist → this is actually the first run. Do full check.factcheck/.git exists:
factcheck/_source/<filename> (overwrite)git diff in the factcheck repo to detect changes vs. the last committed versionUpdate 最終検証コミット and 最終検証日時 in the report header.
When the input file is not in a git repository and no factcheck/ directory exists:
factcheck/ directory next to the input filegit init inside factcheck/factcheck/_source/ directoryfactcheck/_source/<filename>git add and git commit the source copyCreates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub anabanted/fact-check-plugin --plugin fact-check