Agent skill

Case Data Material Planner

by openqa-cn in openqa-cn/codexqa

Prepares executable case preconditions and case-executable.md from a requirement or written cases.

Apache-2.0Auto-check passedDevelopment

Install Case Data Material Planner

skills CLI
$ npx skills add openqa-cn/codexqa --skill case-data-material-planner -a claude-code

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

GitHub CLI
$ gh skill install openqa-cn/codexqa case-data-material-planner --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/openqa-cn/codexqa.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/codexqa-testdata-generator/references/case-data-material-planner .claude/skills/case-data-material-planner && 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
case-data-material-planner
GitHub stars
152
Token cost
~2.2k tokens
SKILL.md length
974 words
Files
43 (incl. scripts, references)
Skills in repo
14
Repo updated
First seen
Licence
Apache-2.0

At a glance

Prepares executable case preconditions and case-executable.md from a requirement or written cases.

  • Works in 3 steps: Read planner.md and run… → Exit 12 → knowledge-build Agent, merge,… → Then parse (exit 11) or continue if…
  • Development work in your project
  • SKILL.md covers How the work is divided, Hard constraints, Entry routes and Material gate (case source), plus 6 more sections
  • Runs TypeScript scripts from its folder

What it does

Case Data Material Planner is an agent skill from openqa-cn/codexqa. Prepares executable case preconditions and case-executable.md from a requirement or written cases. Internal case-material engine; enter through codexqa-testdata-generator so SKILLDIR and adapters resolve.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 46 other files, including scripts and reference files (for example `agents/knowledge-build.md`, `agents/parse-case.md` and `agents/select-tool.md`).

It sits in Development. The repository describes itself as: codexqa: 11 local-first Agent Skills for Cursor, Claude Code, Codex & OpenClaw — change impact analysis, AI code review, defect scan, testcase generation, browser replay & RCA. The licence is Apache-2.0.

When your agent uses it

  • Development work in your project

Example prompts

  • “Use the case-data-material-planner skill to prepare executable case preconditions and case-executable.md from a requirement or written cases”
  • “/case-data-material-planner”

Requirements

  • Node.js

Workflow steps

3 steps, taken from the first numbered list in SKILL.md.

  1. Read planner.md and run scripts/pipeline.ts
  2. Exit 12 → knowledge-build Agent, merge, --resume
  3. Then parse (exit 11) or continue if cases were already parsed

What it can do on your machine

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

  • Tool permissions

    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.

  • Runs code

    Ships 4 files in scripts/ (TypeScript, from the files we listed), which the agent can run.

    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

Case Data Material Planner loads about 2.2k tokens when it runs, and up to ~8.8k if it reads all its reference files. Until then it costs about 58 tokens; SKILL.md has 974 words of instructions outside code blocks.

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

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 passed

The automated check found no risky patterns in SKILL.md.

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); the scripts in this folder are not scanned.

SKILL.md

The full file from openqa-cn/codexqa at commit 7839542, republished under its Apache-2.0 licence (© openqa-cn). 974 words, ~2,164 tokens.

Download SKILL.mdSave it as .claude/skills/case-data-material-planner/SKILL.md (or your agent's skills folder). This skill also uses 42 other files; get the full folder from GitHub.
name
case-data-material-planner
description
Prepares executable case preconditions and case-executable.md from a requirement or written cases. Internal case-material engine; enter through codexqa-testdata-generator so SKILL_DIR and adapters resolve.
license
Apache-2.0

case-data-material-planner

One-stop material engine between case authoring and case execution.

  • Build an optional business-context graph from requirements
  • Parse entities and actions from each case
  • Construct data and bind commands through adapters
  • Emit case-executable.md

How the work is divided

scripts/pipeline.ts owns orchestration. You supply judgment at three points only — parse-case, knowledge-build, and select-tool — and the script does construction, binding, linting, and writeback. This split exists because those three stages need reading comprehension while the rest must be reproducible: a case re-run tomorrow has to yield the same manifest, which is impossible if a model re-derives each step. So when the runner exits asking for one of the three, launch that Agent, merge its patch, and --resume; do not take over a stage the script already implements (invoke_entity.ts, bind_action.ts, slot_render.ts), and with 2+ cases go through the dispatcher so each case gets its own pipeline.ts process.

Hard constraints

These are the ones that silently corrupt output rather than failing loudly, which is why they are worth stating:

  • Do not invent business IDs, amounts, or config values. A plausible-looking ID makes a case that fails at execution time with no trace of where the value came from. When unsure, record failReason and let the gate surface it.
  • Parse before constructing. Data needs come from the case's preconditions and steps; skipping parse means constructing something the case never asked for.
  • Keep case-executable.md business-only. No node / python / bash invoke lines, no skillRoot, cwd, host, or mock-server ports — those live in manifest.json (invokeCmd / filledCmd). The case document is read by people and replayed in other environments, where local paths and ports are wrong or meaningless.
  • Persist every non-envelope business field, not just the primary ID. A downstream step usually needs the attributes that came back with it, and re-fetching them is not always possible.
  • Respect the gates. C3 stays blocking when lint-gate is abnormal, and the lint-gate loop runs at most 3 rounds before it must hand the decision to the user — an unbounded loop burns the run without converging.
  • During knowledge-build, describe the business, not a shopping list. The graph answers "what does this domain look like"; deciding what data to prepare is the parse stage's job and doing it early biases the parse.

Entry routes

After receiving the request, classify the input:

Path A: requirement / design doc (+ cases)
  1. Read planner.md and run scripts/pipeline.ts
  2. Exit 12 → knowledge-build Agent, merge, --resume
  3. Then parse (exit 11) or continue if cases were already parsed
Path B: cases only (no requirement doc)
  1. Read planner.md and run scripts/pipeline.ts --case-id … --source …
  2. Reuse ./testdata/case-materials/business-context.json via --context when it exists
  3. Otherwise knowledge-build is skipped by the runner
  4. Handle exit 11 (parse-case) then --resume. Construction, binding, and writeback stay inside pipeline.ts — do not take those stages over.
Path C: batch (2+ cases)

When the user supplies 2 or more cases:

  1. Read case-dispatcher.md and follow it
  2. One pipeline.ts process per case (parallel). Shared knowledge-build once
  3. The user talks to the dispatcher, not a per-case Planner Agent

Rule:

  • case count ≥ 2 → Path C
  • case count == 1 → Path A or B
Input sources (highest first)
PrioritySourceHowNotes
0Caller-supplied sources[]Passed in the Task / delegate promptEach item is {caseId, sourceType, sourcePath}; skip interactive collection
1Document URLdoc_source.get(<ref>)Requirement / design / knowledge-base page
2planIdworkspace_context.get_plan(<id>) + api_catalog.search_plan_changes(<id>)Plan detail and change APIs
3Local file pathRead the file
4Pasted textUse as-is

Priority 0 is an optional fast path. sourceType values: remote-case | local-file | planId | paste. They map to the four legal caseSource.type values. Callers that omit sources[] still use priorities 1–4 interactively.

Show full SKILL.md (375 more words)Show less

Material gate (case source)

The prerequisite material is the case pack, not executor fields.

  • No case source → ask for a file, paste, planId, or document URL. Do not invent case text. Do not start parse or construct.
  • Path A without cases → finish knowledge-build, then wait for cases. Do not jump to invoke.
  • Path B → at least one case is mandatory. knowledge-build may be skipped; parse may not.
  • Batch (2+) → every listed case needs a resolvable source. Do not silently drop a case.
  • After the user supplies cases, --resume pipeline.ts. Do not skip parse, invoke, or writeback.
  • Executor / tool params inside pipelines follow the original fill rules (defaults for optional fields; do not invent core IDs). C3 / lint-gate stay blocking.

Constraints

  • Execution logic lives in scripts/pipeline.ts; planner.md is the host protocol
  • LLM Agents allowed: parse-case, knowledge-build, select-tool only
  • Do not skip C3; the happy path has zero human gates
  • Lint-gate loop is at most 3 rounds
  • Entities and actions are equal tracks; an empty track short-circuits
  • targetLocation is the only bind to the original case text
  • Action params: paramsFromEntities / paramsFromGenerators / paramsFromPriorActions
  • Tool verify uses tool_registry.query_input_list (see references/param-source-spec.md)
  • businessContext = null is a valid degraded mode
  • Entities follow constructionStrategy: tool-build → invoke_entity.ts, config → generate_config_commands.ts, static-value → filled at parse, runtime → deferred to execution
  • New scenes: drop a slot under pack slots/ or workspace.slot_roots. select_tool.ts binds from slot.yaml (or inferred executors). Do not edit the selector

Path roots

Two roots, and mixing them up is the most common failure here:

VariablePoints atOwns
SUBSKILL_DIRdirectory of this file ($SKILL_DIR/references/case-data-material-planner/)scripts/, agents/, templates/, references/ — every relative path in this sub-skill
SKILL_DIRthe parent skill root that contains the top-level SKILL.mdscripts/adapters/, scripts/search_data_build.ts, slots/

There is no adapters/ folder under SUBSKILL_DIR/scripts/. Adapter calls go to $SKILL_DIR/scripts/adapters/cli.ts.

File layout

SKILL.md                    entry routing (this file)
planner.md                  host protocol for pipeline.ts
case-dispatcher.md          multi-case: one pipeline.ts per case
agents/                     LLM specs (parse / knowledge-build / select-tool)
  knowledge-build.md
  parse-case.md
  select-tool.md
  writeback.md              slot_render render rules, applied by the script
scripts/                    pipeline.ts + construct/writeback scripts
templates/                  manifest / cache / context templates
references/                 thresholds and contracts

Outputs

  • ./testdata/case-materials/business-context.json
  • ./testdata/case-materials/tool-binding-cache.json
  • ./testdata/case-materials/{case-id}/manifest.json
  • ./testdata/case-materials/{case-id}/case-executable.md

Dependencies

No private CLIs. All I/O goes through the parent skill's adapters ($SKILL_DIR/scripts/adapters/cli.ts):

NeedAdapter
Discover / install domain skillsskill_marketplace
Query / execute / publish toolstool_registry
Discover HTTP APIsapi_catalog
Proven methodsexperience_store
Documentsdoc_source
Test-plan contextworkspace_context
Case writebackcase_writeback
Config and SQLconfig_store, data_store

Collaboration

This sub-skill is hosted by codexqa-testdata-generator. select_tool.ts reuses scripts/parallel_search.ts, which calls the same adapters. Enterprise tools are added through those adapters or a new slot under slots/ / workspace.slot_roots — invoke_entity.ts only dispatches on toolType.

© openqa-cn, Apache-2.0. 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 42 other files (scripts, references) in skills/codexqa-testdata-generator/references/case-data-material-planner of openqa-cn/codexqa.

  • SKILL.md
  • agents/knowledge-build.md
  • agents/parse-case.md
  • agents/select-tool.md
  • agents/writeback.md
  • case-dispatcher.md
  • planner.md
  • references/agent-permissions.md
  • references/confidence-policy.md
  • references/experience-integration.md
  • references/lint-verdict-spec.md
  • references/param-source-spec.md
  • references/slot-render-spec.md
  • scripts/bind_action.ts
  • scripts/cache_tool_binding.ts
  • scripts/dashboard/index.html
  • scripts/dashboard/server.ts
  • … and 26 more

Open the folder on GitHubat commit 7839542

Compare with similar skills

Case Data Material Planner 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.

Case Data Material Planner compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Case Data Material Planner this skillopenqa-cn/codexqa152—~2.2kAutomated safety check: PassApache-2.0
PR Babysitteropeninterpreter/openinterpreter69k3 repos~4.2kAutomated safety check: PassApache-2.0
Mailspring App ScreenshotsFoundry376/Mailspring18k—~1.5kAutomated safety check: PassGPL-3.0
Merge Dependabot PRsonyx-dot-app/onyx32k1 repos~2.2kAutomated safety check: PassMIT
Android UI Visual Reviewpermissionlesstech/bitchat-android7.8k—~2.6kAutomated safety check: PassGPL-3.0
Constraint-Driven Developmentaddyosmani/agent-skills103k2 repos~5.2kAutomated safety check: PassMIT

Similar skills

  • PR Babysitter

    openinterpreter/openinterpreter

    Watches an open GitHub pull request until it merges, handling review comments, diagnosing CI failures and retrying flaky checks along the way.

    69k GitHub starsUsed in 3 repos~4.2k tokens
    DevelopmentAuto-check passed
  • Mailspring App Screenshots

    Foundry376/Mailspring

    Captures screenshots of the running Mailspring dev app for docs, PRs or visual checks by launching it with a debugging port, driving the UI and clipping to an element.

    18k GitHub stars~1.5k tokensUpdated today
    DevelopmentAuto-check passed
  • Merge Dependabot PRs

    onyx-dot-app/onyx

    Triages and lands a batch of open Dependabot PRs in the Onyx repo, where main is gated exclusively by GitHub's merge queue: approves and enqueues green PRs, closes superseded duplicates, fixes…

    32k GitHub starsUsed in 1 repo~2.2k tokens
    DevelopmentAuto-check passed
  • Android UI Visual Review

    permissionlesstech/bitchat-android

    Analyze an Android pull request, branch, commit, or patch for user-visible changes and produce reproducible before/after screenshots from isolated builds.

    7.8k GitHub stars~2.6k tokensUpdated yesterday
    DevelopmentAuto-check passed
  • Constraint-Driven Development

    addyosmani/agent-skills

    Records a project's quality bar in CONSTRAINTS.md and watches diffs for signs an agent quietly weakened it, such as suppressions, skipped tests or lowered thresholds.

    103k GitHub starsUsed in 2 repos~5.2k tokens
    DevelopmentAuto-check passed
  • Go Pedantry

    chromedp/chromedp

    This skill should be used when the user is writing Go code and needs guidance on Go-specific pedantry: error wrapping with fmt.Errorf and %w, interface design (accept interfaces return structs)…

    13k GitHub stars~3.7k tokensUpdated 2 days ago
    DevelopmentAuto-check passed

More from openqa-cn/codexqa

All 14 skills in this repo
  • Codexqa Code Wiki

    openqa-cn/codexqa

    Builds a local architecture wiki for a repository from the CodexQA symbol graph (no model needed): modules, who calls whom and how often, reading paths, and one self-contained HTML page.

    152 GitHub stars~1.3k tokensUpdated 5 days ago
    Auto-check passed
  • Diagnoses exception root causes from stack traces, logs, call-chain dumps, and debug output using the CodexQA CLI for structured repo analysis.

    152 GitHub stars~2.6k tokensUpdated 5 days ago
    Auto-check passed
  • Codexqa Skill Router

    openqa-cn/codexqa

    Auto-routes a user request to the matching codexqa skill, then ensures that skill is on disk and follows its SKILL.md.

    152 GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Constructs test data against real backends and writes it back into test cases as executable preconditions.

    152 GitHub stars~4.8k tokensUpdated 5 days ago
    Auto-check passed
  • Generates test plans and test cases from local requirements for APP, Web, and server.

    152 GitHub stars~3.6k tokensUpdated 5 days ago
    Auto-check passed
  • Codexqa Code Reviewer

    openqa-cn/codexqa

    Graph-evidence AI code review (codexqa-code-reviewer) for ANY language repo using ONLY the CodexQA CLI symbol graph (call chains, classes, methods, configs, blast radius, test edges), then an…

    152 GitHub starsUsed in 1 repo~7.2k tokens
    Auto-check: warnings

Questions about Case Data Material Planner

What does Case Data Material Planner do?

Prepares executable case preconditions and case-executable.md from a requirement or written cases. Case Data Material Planner is an agent skill from openqa-cn/codexqa.md from a requirement or written cases.

When should I use Case Data Material Planner?

Case Data Material Planner fits situations like: development work in your project.

How do I install Case Data Material Planner in Claude Code?

Run `npx skills add openqa-cn/codexqa --skill case-data-material-planner -a claude-code`. Or copy the skill folder (skills/codexqa-testdata-generator/references/case-data-material-planner in openqa-cn/codexqa) into .claude/skills/case-data-material-planner in your project. Claude Code loads it when a task matches its description.

How do I install Case Data Material Planner in Codex?

Run `npx skills add openqa-cn/codexqa --skill case-data-material-planner -a codex`. Or copy the skill folder (skills/codexqa-testdata-generator/references/case-data-material-planner in openqa-cn/codexqa) into .agents/skills/case-data-material-planner in your project. Codex loads it when a task matches its description.

Can I use Case Data Material Planner 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 openqa-cn/codexqa --skill case-data-material-planner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/case-data-material-planner, .gemini/skills/case-data-material-planner, .github/skills/case-data-material-planner and .opencode/skills/case-data-material-planner in your project.

What does Case Data Material Planner need to run?

Going by SKILL.md and its folder, Case Data Material Planner needs TypeScript for the scripts in its folder. Our summary lists: Node.js.

Does Case Data Material Planner 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 Case Data Material Planner safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Case Data Material Planner use?

Case Data Material Planner is published under the Apache-2.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Case Data Material Planner use?

About 2.2k tokens (SKILL.md is roughly 8.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 6.6k tokens, read only when the agent opens those files.

What are the alternatives to Case Data Material Planner?

Skills that share tags, products or a category with Case Data Material Planner: PR Babysitter (openinterpreter/openinterpreter, 69k stars), Mailspring App Screenshots (Foundry376/Mailspring, 18k stars), Merge Dependabot PRs (onyx-dot-app/onyx, 32k stars) and Android UI Visual Review (permissionlesstech/bitchat-android, 7.8k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Case Data Material Planner?

openqa-cn (a GitHub organization) maintains it in openqa-cn/codexqa, which has 152 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 3, 2026.

Source: openqa-cn/codexqa on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.