JavaScript Concept Fact Checker
leonardomso/33-js-concepts
Verifies the technical accuracy of JavaScript concept pages by checking code examples, MDN and ECMAScript claims and external links through a five-phase method.
This skill should be used when the user asks to "research", "fact-check", "check the history", "is this accurate", "research notes", "sources", "historical accuracy", "technical accuracy", "how…
$ npx skills add danjdewhurst/story-skills --skill research -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install danjdewhurst/story-skills research --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/research .claude/skills/research && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "research" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/research into .claude/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/danjdewhurst/story-skills/tree/main/skills/researchType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add danjdewhurst/story-skills --skill research -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install danjdewhurst/story-skills research --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/research .agents/skills/research && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "research" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/research into .agents/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add danjdewhurst/story-skills --skill research -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install danjdewhurst/story-skills research --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/research .cursor/skills/research && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "research" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/research into .cursor/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/danjdewhurst/story-skills.git --path skills/research--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add danjdewhurst/story-skills --skill research -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install danjdewhurst/story-skills research --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/research .gemini/skills/research && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "research" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/research into .gemini/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install danjdewhurst/story-skills researchInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add danjdewhurst/story-skills --skill research -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/research .github/skills/research && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "research" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/research into .github/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add danjdewhurst/story-skills --skill research -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install danjdewhurst/story-skills research --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/danjdewhurst/story-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/research .opencode/skills/research && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "research" agent skill from https://github.com/danjdewhurst/story-skills/tree/main/skills/research into .opencode/skills/research/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "research", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
researchThis skill should be used when the user asks to "research", "fact-check", "check the history", "is this accurate", "research notes", "sources", "historical accuracy", "technical accuracy", "how…
Research is an agent skill from danjdewhurst/story-skills. This skill should be used when the user asks to "research", "fact-check", "check the history", "is this accurate", "research notes", "sources", "historical accuracy", "technical accuracy", "how would this really work", "verify a detail", "interview an expert", "plan a site visit", "expert review", or needs to investigate and record the real-world facts a story relies on and the chapters that use them.
Its SKILL.md is about 2.4k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/interviews-and-site-visits.md` and `references/research-practice.md`).
It sits in Writing & Content, covering Fact-checking and source verification and Creative writing and fiction. The repository describes itself as: Agent Skills for end-to-end story writing in markdown, packaged as Codex and Claude Code plugins. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1df23f9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
nodeFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Research loads about 2.4k tokens when it runs, and up to ~4.7k if it reads all its reference files. Until then it costs about 103 tokens; SKILL.md has 1,297 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
`.env`, and a package script runs from the checkout's root. If no CLI isAutomated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from danjdewhurst/story-skills at commit 1df23f9, republished under its MIT licence (© danjdewhurst). 1,297 words, ~2,382 tokens.
.claude/skills/research/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.Investigate the real-world facts a story depends on and keep them in
research/ notes: the question, a search plan, the findings with a
citation for each, how confident the finding is, and the chapters that
rely on them. Research is active work, not only a ledger: form precise
questions, go to primary sources where they exist, interview people and
visit places, and record what was found in a form a later fact-check can
retrace.
The CLI tracks each note's status (open, verified, disputed), its
used-in chapters, and the optional accuracy, confidence, method,
risk, and reviewed-by fields. It checks the chapter links, warns when a
final chapter still rests on research that is open or disputed, and warns
when a risky note reaches a final chapter without a qualified reviewer.
A story project with story.md in the root. The research/ folder and its
registry are created by the first story add research.
final in historical, technical, or
contemporary fictionworldbuilding) or story-internal
continuity (use revision-continuity)story add research 'Tidal bore timing' --used-in chapter-03 \
--accuracy must-be-accurate --method fact --confidence lowFill the note's ## Question with what the story needs to get right, in
one or two sentences. Set the fields that describe the note:
accuracy - how closely the prose must match reality:
must-be-accurate (a checkable real fact the plot or setting relies
on), blended (real facts deliberately mixed with invention), or
invented (a made-up fact recorded here for consistency). Invented notes
need no sources and never trigger the open-research warning.method - where the knowledge comes from: fact (desk research),
reading (a book or paper read for background), interview,
site-visit, or expert-review.confidence - high, medium, or low; how sure the current findings
are. Start at low and raise it as sources agree.risk - a list, when getting it wrong could harm a reader, a real person,
or the author: legal, medical, weapons, safety, cultural,
defamation, technical. Pass --risk once per value.## Search Plan in the note: the terms to search, the
archives, records, or reference works to try, and the people who would
know. Mark which would be primary sources (records, first-hand accounts,
official data, the place itself) and which secondary.## Findings with its citation beside it:
author or institution, title, date, and the page, section, or URL.
When a finding rests on exact wording, quote it and give the page or
URL, so the claim can be retraced without repeating the search. Add
every source to the sources frontmatter list, one full citation or
URL per entry, with --source on story add or by editing the file.confidence from the evidence: high for a primary source or
independent agreement, medium for one good secondary source, low
for anything recalled, inferred, or from a single weak source.status: open. Only set status: verified when
every finding the chapters rely on has a source. Set status: disputed
when sources disagree, and record both sides.references/interviews-and-site-visits.md.Notes with any risk value need a qualified human reviewer (a lawyer,
clinician, weapons or safety specialist, cultural reader, or subject
engineer, as fits) before the chapters that use them are final. Record the
reviewer in reviewed-by as a name or role once they have read the
passage. reviewed-by is a list with no story add flag; edit the note's
frontmatter by hand:
reviewed-by:
- "Dr A. Patel, A&E consultant"Collect facts and flag concerns, but never give legal, medical,
or safety advice yourself, and never treat your own research as the
review. Portrayals of real, living people carry defamation risk; route
those, and sensitivity or authenticity reads, through the
editorial-review skill.
used-in. A chapter not
written yet is fine (chapter-09 before it exists), but story links
still reports a typo of an existing chapter (chapter-1 beside
chapter-01) or chapter-00 as missing.## Story Use, record how the prose uses the facts and any
deliberate departure from them (compressed timelines, invented
institutions). A recorded departure is a choice, not an error.revision-continuity skill.Run story validate .: it warns about a final or complete chapter that
uses open or disputed research, about verified notes with no sources, and
about notes with a risk used in a final or complete chapter with no
reviewed-by. Resolve those before the chapter is marked final, or tell
the user which facts remain unverified and which reviews are outstanding.
research/tidal-bore-timing.md.sources entries are kept whole, so citations may contain commas.used-in lists chapter ids. story move, story split, and
story merge rewrite them when chapters are renumbered, split, or
merged, and story remove chapter takes the removed chapter out.
story rename never changes a chapter id.accuracy: invented notes are a consistency record, not research; keep
invented world facts that belong to the setting in worldbuilding.editorial-review skill, record the reader in reviewed-by, and triage
their notes through the feedback-triage skill.Use the Story CLI when it is available. If story is not installed, use the
bundled fallback node ../story-maintenance/scripts/story.js with the same
arguments. Use node <checkout>/bin/story.js instead only when the user
names a Story Skills repository checkout or you are working in one. Write
the script as an absolute path (resolve the fallback relative to this skill
folder) and run it from the folder you would run story from, so . and
other relative paths keep their meaning. Use Node, not Bun or a package
script: Bun would load that folder's bunfig.toml (which can run code) and
.env, and a package script runs from the checkout's root. If no CLI is
available, keep the used-in lists current by hand, and leave the
research/_index.md table to the next story reindex .: never edit its
rows.
After adding or editing research notes:
story reindex .
story wordcount . --write
story check .references/research-practice.md - What to check, search plans, how to judge sources, citing quotes, confidence, accuracy levels, risk flags, and deliberate departuresreferences/interviews-and-site-visits.md - Preparing questions, consent, recording notes, and turning interviews and visits into research notesEvery story skill follows the shared conventions in ../story-maintenance/references/conventions.md, resolved relative to this skill folder. Read it before creating, renaming, or linking story files. If that file is missing because this skill was installed without story-maintenance, the essentials are: kebab-case ids and filenames, YAML frontmatter on every story-project file, _index.md registry tables that story reindex rebuilds (never edit them by hand), bidirectional links between entities, characters for who is on the page and mentions for who is only referred to, status: deceased plus died-in: chapter-{NN} for deaths, and no project-local generator or build scripts (run only the installed or bundled Story CLI).
© danjdewhurst, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 2 other files (references) in skills/research of danjdewhurst/story-skills.
Open the folder on GitHubat commit 1df23f9
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in danjdewhurst/story-skills, which our catalogue first saw on October 7, 2026.
Research next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Research this skilldanjdewhurst/story-skills | 279 | 2 repos | ~2.4k | Automated safety check: Notes | MIT | |
| JavaScript Concept Fact Checkerleonardomso/33-js-concepts | 67k | 1 repos | ~5k | Automated safety check: Pass | MIT | |
| Blog FactcheckAgriciDaniel/claude-blog | 2.3k | — | ~2.2k | Automated safety check: Pass | MIT | |
| Bio Long Read Sequencing Isoseq AnalysisGPTomics/bioSkills | 1.2k | 1 repos | ~3.4k | Automated safety check: Pass | MIT | |
| Surveying Prior WorkK-Dense-AI/science-superpowers | 348 | — | ~898 | Automated safety check: Pass | Custom licence | |
| Anmath Methodsfranklee16/academic-research-skills | 223 | 1 repos | ~1.1k | Automated safety check: Pass | None |
leonardomso/33-js-concepts
Verifies the technical accuracy of JavaScript concept pages by checking code examples, MDN and ECMAScript claims and external links through a five-phase method.
AgriciDaniel/claude-blog
Verify statistics and claims in blog posts by fetching cited source URLs and checking if the claimed data actually appears on the page.
GPTomics/bioSkills
Discovers, classifies, filters, and quantifies full-length transcript isoforms from PacBio Iso-Seq/Kinnex (HiFi) and Oxford Nanopore (cDNA/direct-RNA) long reads, using the isoseq+pigeon pipeline…
K-Dense-AI/science-superpowers
Use after framing a question and before designing an analysis, or when choosing a method, judging whether a result is novel, or needing a prior effect size for a power calculation
franklee16/academic-research-skills
A skill your agent uses when laying out the proof strategy of a pure-mathematics manuscript for Annals of Mathematics — the architecture of the argument, the key lemmas and propositions, the novel…
Ckokoski/AuthorAgent
Constrained internet research with source tracking for fiction and nonfiction projects
danjdewhurst/story-skills
This skill should be used when the user asks to "make an audiobook", "narration script", "narrator", "ACX", "Findaway", "pronunciation guide", "how long is the audiobook", "adapt to a screenplay"…
danjdewhurst/story-skills
This skill should be used when the user asks to "validate", "reindex", "repair registries", "check links", "run the continuity, pacing, clue, voice, or name checks", "count words", "summarize a…
danjdewhurst/story-skills
This skill should be used when the user asks to "write a chapter", "next chapter", "chapter outline", "draft chapter", "continue the story", "write a scene", "outline a chapter", or wants to write…
danjdewhurst/story-skills
This skill should be used when the user asks to "create a character", "update a character", "add a character", "build a family tree", "character relationships", "character timeline", "character…
danjdewhurst/story-skills
This skill should be used when the user asks about "pantsing", "discovery write", "write without an outline", "discovery draft", "write into the dark", "story kernel", "reconcile a chapter", "dead…
danjdewhurst/story-skills
This skill should be used when the user asks for a "sensitivity reader", "authenticity reader", "cultural review", "is this portrayal okay", "real people in my novel", "defamation", "can I use song…
Categories
This skill should be used when the user asks to "research", "fact-check", "check the history", "is this accurate", "research notes", "sources", "historical accuracy", "technical accuracy", "how…. Research is an agent skill from danjdewhurst/story-skills. This skill should be used when the user asks to "research", "fact-check", "check the history", "is this accurate", "research notes", "sources", "historical accuracy", "technical accuracy", "how would this really work", "verify a detail", "interview an expert", "plan a site visit", "expert review", or needs to investigate and record the real-world facts a story relies on and the chapters that use them.
Research fits situations like: asks to research; check the history; is this accurate; historical accuracy.
Run `npx skills add danjdewhurst/story-skills --skill research -a claude-code`. Or copy the skill folder (skills/research in danjdewhurst/story-skills) into .claude/skills/research in your project. Claude Code loads it when a task matches its description.
Run `npx skills add danjdewhurst/story-skills --skill research -a codex`. Or copy the skill folder (skills/research in danjdewhurst/story-skills) into .agents/skills/research in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add danjdewhurst/story-skills --skill research -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/research, .gemini/skills/research, .github/skills/research and .opencode/skills/research in your project.
Going by SKILL.md and its folder, Research needs the command-line tools its instructions call (node).
SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Research is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 2.4k tokens (SKILL.md is roughly 9.5k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Research: JavaScript Concept Fact Checker (leonardomso/33-js-concepts, 67k stars), Blog Factcheck (AgriciDaniel/claude-blog, 2.3k stars), Bio Long Read Sequencing Isoseq Analysis (GPTomics/bioSkills, 1.2k stars) and Surveying Prior Work (K-Dense-AI/science-superpowers, 348 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
danjdewhurst (a GitHub user) maintains it in danjdewhurst/story-skills, which has 279 GitHub stars. The repository holds 24 skills in this directory. The repository was last updated on October 8, 2026.
Source: danjdewhurst/story-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.