Agent skill

Ideation

by QinghongLin in QinghongLin/data2story-skill

Front stage for /data2story-pro when the reader has no dataset — only a vague idea.

MITAuto-check: notesAgent Workflows

Install Ideation

skills CLI
$ npx skills add QinghongLin/data2story-skill --skill ideation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install QinghongLin/data2story-skill ideation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ 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-src

Use ~/.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/

Facts

Skill name
ideation
GitHub stars
155
Token cost
~1.9k tokens
SKILL.md length
950 words
Files
3 (incl. references)
Skills in repo
31
Repo updated
First seen
Licence
MIT

At a glance

Front stage for /data2story-pro when the reader has no dataset — only a vague idea.

  • Works in 3 steps: Converge the idea (reuse sparring-partner) → Acquire a REAL dataset (reuse find-data,… → Finalize + hand off
  • Tasks that involve Brainstorming
  • SKILL.md covers Inputs, Return contract (how the…, The flow — 3 steps, 2… and Guardrails, plus 1 more section
  • Instructions only: no scripts, shell commands, URLs or credentials in SKILL.md

What it does

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.

When your agent uses it

  • Tasks that involve Brainstorming

Example prompts

  • “/ideation”

Requirements

  • Pre-approved tools (allowed-tools): Skill, Read, Write, Bash(*), Glob, Grep, AskUserQuestion

Workflow steps

3 steps, taken from the step headings in SKILL.md.

  1. Converge the idea (reuse sparring-partner)
  2. Acquire a REAL dataset (reuse find-data, web-first)
  3. Finalize + hand off

What it can do on your machine

Read from SKILL.md and the folder at commit 63a55c1. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Skill
    • Read
    • Write
    • Bash(*)
    • Glob
    • Grep
    • AskUserQuestion

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    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.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

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.

Always · name and description, kept in context so the agent knows when to use it
~124
When it runs · the whole SKILL.md, loaded when a task matches
~1.9k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4.4k

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.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Skill, Read, Write, Bash(*), Glob, Grep, AskUserQuestion

Automated 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.

SKILL.md

The full file from QinghongLin/data2story-skill at commit 63a55c1, republished under its MIT licence (© QinghongLin). 950 words, ~1,937 tokens.

Download SKILL.mdSave it as .claude/skills/ideation/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
ideation
description
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 DATA_DIR 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.
allowed-tools
Skill, Read, Write, Bash(*), Glob, Grep, AskUserQuestion
argument-hint
<free-text idea> <DATA2STORY_ROOT>

Ideation — from a vague idea to a data-backed topic + a real dataset

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.

Inputs

  • $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).

Return contract (how the orchestrator continues)

  • Success: emit a final line 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).
  • Abort: emit 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.

The flow — 3 steps, 2 checkpoints

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.)

Step 1 — Converge the idea (reuse 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:

  • Anti-sycophancy (its core stance) — do not rubber-stamp the first pretty idea.
  • A feasibility pressure-test — relentlessly ask does this data actually exist? at what granularity? who publishes it? for which years/places? A beautiful idea with no obtainable data is a failure of this step, not a success. Steer toward a nearby idea the data CAN support.

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).

CHECKPOINT 1 — confirm the brief

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.

Show full SKILL.md (447 more words)Show less
Step 2 — Acquire a REAL dataset (reuse 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:

  1. Surface honestly what was and wasn't found (the failing gates).
  2. Offer the reader: (a) re-enter Step 1 to pivot/narrow the topic (often the data exists only at a coarser granularity — adjust the brief), (b) try an alternate real source/query, or (c) abort.
  3. Never invent a dataset, a source URL, or a license to "succeed."

After 2 failed attempts with no path forward → return IDEATION_ABORTED: no real dataset supports this idea (closest gap: <gate>); suggested pivot: <one line>.

CHECKPOINT 2 — confirm the dataset

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.

Step 3 — Finalize + hand off

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:

bash
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_DIR

Guardrails

  • Real data only. No synthesis, no simulated rows, no fabricated source URLs or licenses — that would break the whole verifiability premise. "Can't find data" is an honest IDEATION_ABORTED, not a reason to invent it.
  • Checkpoints are real stops. The reader drives; you converge with them, not at them.
  • Portability. No hardcoded machine paths — derive everything from $2 and the resolved skill dir. Works on a fresh open-source clone with no local data corpora.
  • Stay in your lane. You write only inside 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.

Reference files

© QinghongLin, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (references) in skills/data2story-pro/ideation of QinghongLin/data2story-skill.

  • SKILL.md
  • references/schema.json
  • references/sparring_brief.md

Open the folder on GitHubat commit 63a55c1

Compare with similar skills

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.

Ideation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Ideation this skillQinghongLin/data2story-skill155—~1.9kAutomated safety check: NotesMIT
Brainstormingobra/superpowers297k1 repos~2.5kAutomated safety check: PassMIT
Brainstormingxpinjection/test-driven-spring-boot11252 repos~2.6kAutomated safety check: PassMIT
Yao Meta Skillyaojingang/yao-meta-skill2.7k—~768Automated safety check: PassMIT
Typesafe AIOpenAgentsInc/openagents4559 repos~2.5kAutomated safety check: PassMIT
Trellis StartROYIANS/foliq-print-template-designer1366 repos~646Automated safety check: PassMIT

Similar skills

  • 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.

    297k GitHub starsUsed in 1 repo~2.5k tokens
    Agent WorkflowsAuto-check passed
  • Brainstorming

    xpinjection/test-driven-spring-boot

    You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior.

    112 GitHub starsUsed in 52 repos~2.6k tokens
    Agent WorkflowsAuto-check passed
  • Yao Meta Skill

    yaojingang/yao-meta-skill

    Create, improve, or evaluate an existing skill from workflows, prompts, SOPs, scripts.

    2.7k GitHub stars~768 tokensUpdated 1 mo ago
    Agent WorkflowsAuto-check passed
  • Typesafe AI

    OpenAgentsInc/openagents

    Build AI-powered software with TypeSafe: small units of AI intelligence you can use like programming primitives.

    455 GitHub starsUsed in 9 repos~2.5k tokens
    Agent WorkflowsAuto-check passed
  • Trellis Start

    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/.

    136 GitHub starsUsed in 6 repos~646 tokens
    Agent WorkflowsAuto-check passed
  • Brainstorming Before Building

    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.

    8.3k GitHub stars~1.8k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed

More from QinghongLin/data2story-skill

All 31 skills in this repo
  • Inspector

    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…

    155 GitHub stars~3.1k tokensUpdated 3 mo ago
    Auto-check: notes
  • Auditor

    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…

    155 GitHub stars~6.4k tokensUpdated 3 mo ago
    Auto-check: notes
  • Critic

    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…

    155 GitHub stars~4.7k tokensUpdated 3 mo ago
    Auto-check: notes
  • Detective

    QinghongLin/data2story-skill

    Research external context for a dataset — domain background, history, related studies, and why this data matters.

    155 GitHub stars~2.4k tokensUpdated 3 mo ago
    Auto-check: notes
  • Inspector

    QinghongLin/data2story-skill

    Run sentence-level traceability verification on a blog, then generate viewer.html with interactive evidence panel.

    155 GitHub stars~697 tokensUpdated 3 mo ago
    Auto-check: notes
  • Data2story Pro

    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).

    155 GitHub stars~14k tokensUpdated 3 mo ago
    Auto-check: notes

Categories

Questions about Ideation

What does Ideation do?

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.

When should I use Ideation?

Ideation fits situations like: tasks that involve Brainstorming.

How do I install Ideation in Claude Code?

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.

How do I install Ideation in Codex?

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.

Can I use Ideation in Cursor, Gemini CLI or GitHub Copilot?

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.

What does Ideation need to run?

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.

Does Ideation access the network?

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.

Is Ideation safe to install?

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.

What licence does Ideation use?

Ideation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Ideation use?

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.

What are the alternatives to Ideation?

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.

Who maintains Ideation?

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.