Brainstorming
obra/superpowers
Makes the agent clarify intent and agree on a design with you before writing any code, scaling the process from a quick spike to a written spec.
Front stage for /data2story-pro when the reader has no dataset — only a vague idea.
$ npx skills add QinghongLin/data2story-skill --skill ideation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install QinghongLin/data2story-skill ideation --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/QinghongLin/data2story-skill.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/data2story-pro/ideation .claude/skills/ideation && 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 "ideation" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/ideation into .claude/skills/ideation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideation", 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/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/ideationType 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 QinghongLin/data2story-skill --skill ideation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install QinghongLin/data2story-skill ideation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/data2story-pro/ideation .agents/skills/ideation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ideation" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/ideation into .agents/skills/ideation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideation", 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 QinghongLin/data2story-skill --skill ideation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install QinghongLin/data2story-skill ideation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/data2story-pro/ideation .cursor/skills/ideation && 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 "ideation" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/ideation into .cursor/skills/ideation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideation", 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/QinghongLin/data2story-skill.git --path skills/data2story-pro/ideation--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 QinghongLin/data2story-skill --skill ideation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install QinghongLin/data2story-skill ideation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/data2story-pro/ideation .gemini/skills/ideation && 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 "ideation" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/ideation into .gemini/skills/ideation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideation", 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 QinghongLin/data2story-skill ideationInstalls 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 QinghongLin/data2story-skill --skill ideation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/data2story-pro/ideation .github/skills/ideation && 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 "ideation" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/ideation into .github/skills/ideation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideation", 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 QinghongLin/data2story-skill --skill ideation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install QinghongLin/data2story-skill ideation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/QinghongLin/data2story-skill.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/data2story-pro/ideation .opencode/skills/ideation && 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 "ideation" agent skill from https://github.com/QinghongLin/data2story-skill/tree/main/skills/data2story-pro/ideation into .opencode/skills/ideation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideation", 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.
ideationFront stage for /data2story-pro when the reader has no dataset — only a vague idea.
Ideation is an agent skill from QinghongLin/data2story-skill. Front stage for /data2story-pro when the reader has no dataset — only a vague idea. Converges the idea into a concrete, data-backed topic through a sparring-partner dialogue (anti-sycophantic, feasibility-pressure-tested), then acquires a REAL dataset through find-data, with a user checkpoint after each. Returns a validated DATADIR for the main pipeline. Not a newsroom role — runs upstream of Detective, before any dataset exists. Real data only; never a reason to synthesize data.
Its SKILL.md is about 1.9k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including reference files (for example `references/schema.json` and `references/sparring_brief.md`).
It sits in Agent Workflows, covering Brainstorming. The repository describes itself as: Data Journalist Agent: Transforming Data into Verifiable Multimodal Story. The licence is MIT.
3 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 63a55c1. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
SkillReadWriteBash(*)GlobGrepAskUserQuestionFrom allowed-tools in the SKILL.md frontmatter.
No scripts in the folder and no shell commands in SKILL.md (its code samples are bash).
From 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.
Ideation loads about 1.9k tokens when it runs, and up to ~4.4k if it reads all its reference files. Until then it costs about 124 tokens; SKILL.md has 950 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.
allowed-tools: Skill, Read, Write, Bash(*), Glob, Grep, AskUserQuestionAutomated 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 QinghongLin/data2story-skill at commit 63a55c1, republished under its MIT licence (© QinghongLin). 950 words, ~1,937 tokens.
.claude/skills/ideation/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.The /data2story-pro orchestrator routes here in IDEA MODE: the reader handed over a hunch, a
question, or a half-formed angle instead of a dataset. Your job is to turn that into a concrete
topic that real, findable data can support, fetch that data, and hand a validated folder back to
the pipeline. You do this WITH the reader, not for them — two real checkpoints, no railroading.
You are not a pipeline role (no *_NN provenance prefix, no place in the 7 teams). You run once,
before Detective, and produce nothing that reaches the HTML except the dataset + a story_brief.
$1 = the reader's raw idea text (may be empty → open by inviting it).$2 = DATA2STORY_ROOT (resolved by the orchestrator; where data/<slug>/ will live).DATA_DIR=<absolute path to the validated dataset folder>. The
story_brief.json sits at <DATA_DIR>/meta/story_brief.json. The orchestrator sets
DATA_DIR/DATA_NAME from this and enters the normal pipeline (Detective → … → Inspector).IDEATION_ABORTED: <one-line reason> (reader stopped, or no real dataset supports
the idea after the bounded loop). The orchestrator halts honestly and runs NO pipeline. Never
fabricate data to manufacture a success.Interaction style — let the reader CHOOSE, don't make them compose. Drive the convergence
and BOTH checkpoints with AskUserQuestion: frame the angles / scope / data-forks as options the
reader clicks, not paragraphs they must write — picking is far lower-friction and each question
doubles as a micro-checkpoint. ALWAYS keep the Other / free-text escape open: the menu is your
framing, and the reader's own off-menu angle is often the best one, so never let it cage the
brainstorm. (This is NOT the cold opening questionnaire sparring-partner warns against — it is
choice-driven convergence after you have framed the space: lead the very first turn with
substance + an open invite, then switch to options.)
sparring-partner)Run the brainstorming dialogue by following Skill sparring-partner with the mission in
references/sparring_brief.md: drive the reader from a vague idea to
ONE concrete data-story topic. Two non-negotiables on top of sparring-partner's normal process:
The terminal of the dialogue is the story_brief (contract: references/schema.json) —
topic, angle, audience, the questions the data must answer, a structured data_needs spec, any
real candidate sources surfaced, and the exact find_data_invocation.query. Reply in the
reader's language (sparring-partner's rule).
Show the reader the assembled story_brief (at least topic, angle, data_needs, and
find_data_invocation.query). Use AskUserQuestion (approve · edit · abort) or a plain confirm.
Loop back into Step 1 on edits. Do not proceed until the reader approves the brief. On abort →
return IDEATION_ABORTED: reader stopped at brief.
find-data, web-first)Derive a kebab-case slug from story_brief.topic; set OUT_DIR to the ABSOLUTE path
$2/data/<slug> (resolve $2 to an absolute path first). Then follow Skill find-data with the
brief's query and ALWAYS pass that explicit --out OUT_DIR — never rely on find-data's bare default
(its default is DATASETS_ROOT/<name>, a DIFFERENT root: ./datasets/<name>, not data/<slug>).
An explicit --out always wins, so the dataset is guaranteed to land at the path ideation chose:
Skill find-data "<story_brief.find_data_invocation.query>" --out OUT_DIR [--mode <single|theme>] [other flags]find-data searches (web-first on an open-source machine with no local corpora), fetches, and runs
its 4 completeness gates, writing OUT_DIR/validate.json. Read that file back for the verdict. The
dataset files land directly under OUT_DIR, and the DATA_DIR returned to the orchestrator (the
success line below) is exactly that absolute OUT_DIR — not find-data's default location.
Bounded acquisition loop (≤ 2 attempts). If find-data returns BLOCKED / no adequate dataset:
After 2 failed attempts with no path forward → return IDEATION_ABORTED: no real dataset supports this idea (closest gap: <gate>); suggested pivot: <one line>.
Show the reader the fetched files + the gate verdict, and check them against story_brief.acceptance
(does it actually have the entities / metric / coverage you agreed on?). AskUserQuestion
(use it · send back to Step 2 · abort). Do not proceed until approved.
Only AFTER find-data's audit has run (so it never lands inside the data-file glob), write the
approved brief to OUT_DIR/meta/story_brief.json:
mkdir -p "OUT_DIR/meta" && # write story_brief.json there (valid JSON matching references/schema.json)It carries the reader's intent into provenance; the Detective MAY read it for human-intent context (loose coupling — not required). Then emit the success line:
DATA_DIR=OUT_DIRIDEATION_ABORTED,
not a reason to invent it.$2 and the resolved skill
dir. Works on a fresh open-source clone with no local data corpora.OUT_DIR (the dataset folder). You do not build HTML,
run the pipeline, or touch any role artifact — that's the orchestrator's job after you return.references/schema.json — the story_brief contract (annotated example).references/sparring_brief.md — the specialized mission handed to
sparring-partner, with the feasibility pressure-test and a worked vague-idea → brief example.© QinghongLin, 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/data2story-pro/ideation of QinghongLin/data2story-skill.
Open the folder on GitHubat commit 63a55c1
Ideation 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 |
|---|---|---|---|---|---|---|
| Ideation this skillQinghongLin/data2story-skill | 155 | — | ~1.9k | Automated safety check: Notes | MIT | |
| Brainstormingobra/superpowers | 297k | 1 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Brainstormingxpinjection/test-driven-spring-boot | 112 | 52 repos | ~2.6k | Automated safety check: Pass | MIT | |
| Yao Meta Skillyaojingang/yao-meta-skill | 2.7k | — | ~768 | Automated safety check: Pass | MIT | |
| Typesafe AIOpenAgentsInc/openagents | 455 | 9 repos | ~2.5k | Automated safety check: Pass | MIT | |
| Trellis StartROYIANS/foliq-print-template-designer | 136 | 6 repos | ~646 | Automated safety check: Pass | MIT |
obra/superpowers
Makes the agent clarify intent and agree on a design with you before writing any code, scaling the process from a quick spike to a written spec.
xpinjection/test-driven-spring-boot
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.
yaojingang/yao-meta-skill
Create, improve, or evaluate an existing skill from workflows, prompts, SOPs, scripts.
OpenAgentsInc/openagents
Build AI-powered software with TypeSafe: small units of AI intelligence you can use like programming primitives.
ROYIANS/foliq-print-template-designer
Initializes an AI development session by reading workflow guides, developer identity, git status, active tasks, and project guidelines from .trellis/.
jnMetaCode/superpowers-zh
Turns a rough idea into an approved design before any code is written, sorting the request into spike, bounded or architectural and enforcing an approval gate.
QinghongLin/data2story-skill
Run sentence-level traceability verification on a Data2Story blog (verify.py - verifier.json), then emit the in-page Inspector panel (the reader-facing runnable verifier) + the verify/ artifacts…
QinghongLin/data2story-skill
Audit a generated Data2Story blog for build correctness across ALL modalities by ACTUALLY RENDERING it in a real headless browser (when available) — catching blank/0-width charts, broken/oversized…
QinghongLin/data2story-skill
Review a finished Data2Story blog against the 5 quality rubric dimensions (visualdesign, narrativepacing, datamethodtransparency, claimdataalignment, insightvalue), score each 1-7 with on-page…
QinghongLin/data2story-skill
Research external context for a dataset — domain background, history, related studies, and why this data matters.
QinghongLin/data2story-skill
Run sentence-level traceability verification on a blog, then generate viewer.html with interactive evidence panel.
QinghongLin/data2story-skill
A skill your agent uses to turn a dataset into a verifiable multimedia blog (a data story / data-driven article / interactive dashboard from a dataset).
Categories
Front stage for /data2story-pro when the reader has no dataset — only a vague idea. Ideation is an agent skill from QinghongLin/data2story-skill. Front stage for /data2story-pro when the reader has no dataset — only a vague idea.
Ideation fits situations like: tasks that involve Brainstorming.
Run `npx skills add QinghongLin/data2story-skill --skill ideation -a claude-code`. Or copy the skill folder (skills/data2story-pro/ideation in QinghongLin/data2story-skill) into .claude/skills/ideation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add QinghongLin/data2story-skill --skill ideation -a codex`. Or copy the skill folder (skills/data2story-pro/ideation in QinghongLin/data2story-skill) into .agents/skills/ideation 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 QinghongLin/data2story-skill --skill ideation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ideation, .gemini/skills/ideation, .github/skills/ideation and .opencode/skills/ideation in your project.
SKILL.md names no scripts, command-line tools or credentials: Ideation is instructions for the agent only. Its frontmatter pre-approves these tools: Skill, Read, Write, Bash(*), Glob, Grep, AskUserQuestion.
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 (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.
Ideation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.9k tokens (SKILL.md is roughly 7.7k 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 Ideation: Brainstorming (obra/superpowers, 297k stars), Brainstorming (xpinjection/test-driven-spring-boot, 112 stars), Yao Meta Skill (yaojingang/yao-meta-skill, 2.7k stars) and Typesafe AI (OpenAgentsInc/openagents, 455 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
QinghongLin (a GitHub user) maintains it in QinghongLin/data2story-skill, which has 155 GitHub stars. The repository holds 31 skills in this directory. The repository was last updated on July 5, 2026.
Source: QinghongLin/data2story-skill on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.