ce-datascience-plugin
v4.1.0
Published
CE DataScience plugin for Claude Code, Codex, and Pi — agentic workflows for computational science, statistical review, and reporting compliance
Readme
Compound Health Data Science
A practical AI research partner for health and biomedical data.
CE DataScience helps you move from an idea to a careful, documented analysis. You can ask your coding assistant to help plan a study, find relevant evidence, check a dataset, write analysis code, review the results, and prepare a report.
You stay in control of the scientific decisions. The plugin does not replace a researcher, statistician, clinician, data steward, or ethics review.
Read the public documentation · Watch the workflow overview
65 skills, 55 specialist agents, and 39 reporting checklists help make each project more explicit, reproducible, and reviewable.
In plain English
If you work with health data, this plugin gives your AI assistant a set of specialized workflows for the work around the code — the questions, decisions, checks, documentation, and reviews that make an analysis more trustworthy.
It can help you:
- turn a broad research idea into a clear question and study plan;
- search and organize published evidence;
- build a study group from R or Python data;
- check whether data, joins, missing values, and variables make sense;
- keep important statistical choices visible before analysis;
- review a manuscript or report against common research checklists; and
- leave behind reusable notes and artifacts so the next analysis is easier.
Who is it for?
Researchers, analysts, students, clinicians, and data teams who use R or Python for health, biomedical, clinical, claims, EHR, omics, or related data. You do not need to memorize the right command: describe what you are trying to do, and the workflow helps identify the next step.
Try it in three steps
- Install it for the AI coding tool you already use.
- Open the project or study folder where you want to work.
- Ask the assistant to set up CE DataScience, then describe your research goal.
For example:
Use CE DataScience to set up this project, then help me plan a study of
30-day mortality among ICU patients with sepsis. Show me the decisions I need
to make before we analyze any data.The quickest install paths are below. If you are not sure which one applies, start with Claude Code or Codex and follow the matching section.

How the package works

Get started like Compound Engineering
The normal path is intentionally short: install the plugin, start your agent, then run setup. For complete platform details, see the public setup guide.
Choose your install route
From a source checkout, run bash install.sh doctor to see which local tools
are available and the exact standard or locked-down route. Use the standard
route on a personal or managed laptop that can run Git and the agent CLI. On a
corporate or locked-down laptop, ask IT for the approved offline artifact and
use the artifact-specific path below; Bun, Git, GitHub CLI, and Quarto are not
required for basic use.
Claude Code, easiest path
No checkout needed (Claude Code 2.1.275 or later):
claude plugin install ce-datascience --marketplace sajor2000/ce-datascience
claudeOr, inside a running Claude Code session:
/plugin install ce-datascience --marketplace sajor2000/ce-datascienceFrom a source checkout, with the optional bare /ce-* aliases, on macOS,
Linux, WSL, or Git Bash:
git clone https://github.com/sajor2000/ce-datascience.git ~/ce-datascience
cd ~/ce-datascience
bash install.sh claude --aliases
claudeWindows PowerShell:
git clone https://github.com/sajor2000/ce-datascience.git "$HOME\ce-datascience"
cd "$HOME\ce-datascience"
.\install.ps1 claude -Aliases
claudeThen open the target project and run the native command:
/ce-datascience:ce-setupThe --aliases flag is optional; it installs safe local aliases so the
demo-friendly bare /ce-* commands work. The namespaced command above is the
reliable default for every native Claude plugin install.
Codex, easiest path
macOS, Linux, WSL, or Git Bash:
git clone https://github.com/sajor2000/ce-datascience.git ~/ce-datascience
cd ~/ce-datascience
bash install.sh codex
codexWindows PowerShell:
git clone https://github.com/sajor2000/ce-datascience.git "$HOME\ce-datascience"
cd "$HOME\ce-datascience"
.\install.ps1 codex
codexInside Codex, open /plugins, install CE DataScience, restart Codex, then
start a new thread and ask Codex to use CE DataScience for setup. The helper
also installs the generated agent bridge when Bun is available.
Pi, generated install
Install Pi's two workflow extensions once, then generate the CE files into the Pi agent root:
pi install npm:pi-subagents
pi install npm:pi-ask-user
cd ~/ce-datascience
bun run src/index.ts install ./plugins/ce-datascience --to pi --pi-home "$HOME/.pi/agent"Restart Pi, open the project, then invoke ce-setup with Pi's normal skill
interface. pi-subagents is required for CE review/workflow delegation;
pi-ask-user enables the short setup confirmation UI.
Use the plugin after installation
Installation makes CE DataScience available to the agent; setup configures it for each individual code or research project. After installing:
- Restart Claude Code, Codex, or Pi so it loads the new plugin files.
- Open the project or study directory you want CE DataScience to work on.
- Configure that project with the setup skill.
- Run the workflow skill to see the ordered research or engineering lifecycle and the next recommended skill.
In Claude Code, native plugin commands are namespaced:
/ce-datascience:ce-setup
/ce-datascience:ce-workflowWhen --aliases or -Aliases was used, the shorter /ce-setup and
/ce-workflow forms work too. In Codex, start a new task and say:
Use the CE DataScience ce-setup skill for this project.
Then use the CE DataScience ce-workflow skill and recommend the next step.After that, request a specific skill in plain language or use its displayed
name, for example ce-research-question, ce-data-qa, ce-plan, or
ce-code-review. The plugin works in the currently open project; repeat setup
when moving to a different project with a different stack or data layer.
Setup starts with one detected-profile summary instead of a full questionnaire. It shows inferred language, environment, reporting format, storage, and data domain with evidence, then offers Continue, Adjust, or Full survey. It asks only for values that are ambiguous or needed by the current workflow.

Locked-down or demo laptop
Use the offline release artifacts when package managers, GitHub CLI, Git, Bun, or Quarto are blocked by IT policy. Basic Claude Code and Codex use does not require Bun, GitHub CLI, or Quarto.
Claude Code can load the approved plugin folder or ZIP directly:
claude --plugin-dir /approved/path/ce-datascience
claude --plugin-dir /approved/path/ce-datascience.zipNative Claude plugin skills are namespaced:
/ce-datascience:ce-setup --locked-down
/ce-datascience:ce-workflowBare /ce-* commands are an optional local alias layer, not a native plugin
guarantee. Install them only when you want demo-friendly command names:
bash scripts/install/install-claude-aliases.sh --plugin-dir /approved/path/ce-datascience --scope userFor Codex without Bun, unpack ce-datascience-codex-local.zip and run:
bash install-codex-offline.sh --source /approved/path/ce-datascience-codex-local --codex-home "${CODEX_HOME:-$HOME/.codex}"On Windows PowerShell, use the package's native installer:
.\install.ps1 codex -Source C:\approved\ce-datascience-codex-local -CodexHome "$HOME\.codex"Restart Codex, open /plugins, install CE DataScience from the local
marketplace, then restart again. The installer writes the personal marketplace
file under .agents/plugins/marketplace.json and points it at
./.codex/plugins/ce-datascience relative to that marketplace root.
Recommended research add-ons
CE DataScience's bundled /ce-pubmed workflow works on its own. For agent-native
PubMed, Europe PMC, MeSH, citation, and related-article tools, optionally add
cyanheads/pubmed-mcp-server.
For full-text synthesis, claim verification, figures, trials, regulatory
documents, preprints, and biological databases, optionally add the
Paperclip CLI and its official Paperclip skill, or its MCP server.
Start with PubMed MCP for lightweight biomedical discovery; add Paperclip when research planning needs deeper full-text or cross-source evidence. Neither is required or installed automatically. Review institutional privacy and network policy before connecting a hosted research service. See the optional research add-ons setup. The Paperclip skill is fetched and maintained by Paperclip, not bundled with CE DataScience. CE workflows currently auto-detect the Paperclip CLI only; external MCP or provider-skill results are direct agent capabilities, not automatic CE artifact handoffs.
Source checkout for contributors
Bun and Git are contributor/release tooling. Install them only when you need to build, validate, or convert the plugin from source:
curl -fsSL https://bun.sh/install | bash
export CE_DS_REPO="$HOME/ce-datascience"
git clone https://github.com/sajor2000/ce-datascience.git "$CE_DS_REPO"
cd "$CE_DS_REPO"
bun installLaunch Claude Code from the checkout:
claude --plugin-dir "$CE_DS_REPO/plugins/ce-datascience"Pro tip — save yourself typing forever:
printf "\nalias claude-ds='claude --plugin-dir %s/plugins/ce-datascience'\n" "$CE_DS_REPO" >> ~/.zshrc
source ~/.zshrcNow just type claude-ds in any project.
Configure your stack
/ce-datascience:ce-setupPicks up your language (R or Python), IDE, libraries, and data layer automatically.
It checks project evidence first and only asks questions that change generated
config or workflow routing.
If you installed optional aliases, /ce-setup works too.
Sensitive-data boundary
Before setup looks at any data, ce-setup asks one question and saves the
answer as phi_environment.mode in the gitignored, machine-local
.ce-datascience/config.local.yaml:
| Answer | Saved as | What happens |
|---|---|---|
| Approved endpoint: full access (HIPAA-compliant with a BAA, or institution-approved) | mode: approved | No restrictions on the model for the rest of the session. The agent never raises the boundary again. You are responsible for that approval. |
| Not approved or unsure: schema-only (also used when no answer is saved, or the saved value cannot be read) | mode: schema-only | The agent sees column headings, types, row counts, and % missing, never data values such as names, MRNs, or claim numbers. It writes scripts that print only aggregates, with counts under 11 suppressed. It cannot inspect example rows, debug value-level parsing or join mismatches by example, read free text, or spot individual entry errors. |
| No sensitive data: public or synthetic | mode: no-sensitive-data | No restrictions, never raised again. |
Older configs keep working: compliant: true reads as approved,
compliant: false as schema-only, and sensitive_data: false as
no-sensitive-data. If the keys disagree, any schema-only signal wins.
What enforces it. In Claude Code, a plugin PreToolUse hook
(hooks/data-boundary-guard.py) runs only inside projects that have a
.ce-datascience/ directory, in the working tree or the main checkout of a
linked worktree. It is silent unless it blocks a call. In schema-only mode it
denies:
Read,NotebookRead, and content-modeGrepon data files. Data files are.csv,.tsv,.parquet,.xlsx,.sas7bdat,.dta,.rds,.sqlite,.jsonl, and similar, including compressed or backup copies (.csv.gz,.csv.bak), plus anything under the configureddata_rootand the safe runner's logs. A notebook with saved outputs also counts; clear its outputs first.- Any shell command (
Bash,Monitor,PowerShell) whose text names a data path, an extension glob, ordata_root, whatever the program, unless it only lists metadata (ls,wc,du,find,git status/log) or runs the schema helper. Inline code (python -c,Rscript -e, heredocs) that opens data or globs a data directory, writing a script and running it in the same command, copying a data file to a non-data name, and recursivegrep/rgwithout an--include/-g/-tlimited to code are denied too. - Running a script file (
python,Rscript,bash/sh,quarto render,jupyter nbconvert --execute) whose code names a data path ordata_root, or calls a reader (read_csv,read_parquet,read_excel,read_sas,read_stata,fread,readRDS,arrow::, DuckDB, SQLite) on a path held in a variable, unless the command runs through the safe runner. The hook reads the script itself, up to 1 MB. Scripts that do not touch data, or that only read aggregate tables that pass the check below, run as before.
Safe runner. scripts/ce-safe-run -- <command> runs the command and writes
its full stdout and stderr to .ce-datascience/runs/<UTC-timestamp>-<pid>.log
(gitignored). It prints only the exit code, the duration, the files created or
modified under the project (path, size, and row count for tabular files), and
the last 30 lines of stderr with quoted literals, digit runs of 4 or more,
emails, phone numbers, SSNs, and identifier-index values masked. Traceback file
and line frames stay readable. It never prints stdout: open the log yourself.
The hook's deny message gives the runner's full path. It accepts only the
plugin's own runner (or a byte-identical copy) and still checks uploads inside
it.
Aggregate reads. Read, cat, head, and tail of .csv, .tsv, and
.md files under the aggregate directories are allowed in schema-only mode
when the table passes the aggregate check: no identifier-like column headings,
no cell in the identifier index or shaped like an identifier, no integer count
from 1 to 10 (the small-cell rule; 0 is fine), and at most 500 rows. Otherwise
the deny reason names the rule that failed, never the value. The directories
default to output, results, analysis/publication, and
analysis/sap-tables; set phi_environment.aggregate_dirs to change them.
data_root always wins: nothing under it is readable.
The schema helper scripts/schema-peek.py prints headings, types, counts, and
% missing, never a cell value. It prints col_1..col_n when a file has no
header row, and col_<k> [masked header] for a heading that is itself an
identifier (an identifier shape, or a value in the identifier index).
What MCP tools receive
PubMed, Paperclip, and every other MCP tool receive search terms, MeSH terms, PMIDs, DOIs, and paper titles. They never receive data values, identifiers, row text, or data files. This holds in every mode, including after you approve the endpoint: approving the model endpoint does not cover third-party services such as NCBI or Paperclip.
The same hook enforces this for every mcp__* call, for shell uploads, and for
shell calls to NCBI E-utilities (curl or wget to
eutils.ncbi.nlm.nih.gov, and the ce-pubmed search script). It denies
arguments that contain an SSN, an email address, a US phone number, a
keyword-anchored record number (MRN, medical record, patient ID, member ID,
claim number), a keyword-anchored date of birth, or a value in the identifier
index. It also denies Paperclip upload, import, or share calls that name a
local data file, and curl, wget, scp, or rsync uploads of data files.
PMIDs, DOIs, PMCIDs, author surnames, and ordinary research queries pass
silently. The skills carry the same rule.
Identifier index. Whenever data_root is set, in every mode, ce-setup
builds and ce-data-qa refreshes the identifier index with
scripts/ce-identifier-index. It reads identifier-like columns under
data_root (names; MRN, patient, member, subscriber, and record IDs; claim
numbers; SSN; date of birth; address; phone; email) and stores only salted
hashes in .ce-datascience/identifier-index.local.json: local, gitignored,
with a random per-project salt and no plaintext. It prints counts only. Each
full value is stored, plus first+last name pairs, plus single tokens that
contain a digit for ID columns only, so a lone surname or common word never
matches. The hook hashes every one- to three-word run of each argument, denies
on a match without echoing it, and is silent when no index exists. With a
200,000-entry index the lookup adds a few milliseconds.
Limits. The hook is defense in depth, not a sandbox. Enforcement is Claude Code only: Codex and OpenCode installs carry the hook entry but it exits immediately there, and Gemini, Kiro, Copilot, and Pi skip hooks, so those harnesses rely on the skill instructions alone. The script check is heuristic static analysis: a script that builds a data path at run time, or reads data through a function the hook does not recognize, can still print values, and programs it cannot parse (deliberate obfuscation) are out of scope. Values that are not in identifier columns, such as free-text notes, are not indexed, and the identifier patterns catch common shapes, not every one. A patient who shares a full name with an author you search for blocks that name. A config problem resolves to schema-only. An unexpected internal error blocks only calls that mention a data file or an upload; anything else is allowed with a one-line warning, so a hook bug never blocks unrelated work.
Changing the answer. Re-run ce-setup, or edit or delete the
phi_environment block in .ce-datascience/config.local.yaml.
See your workflow
/ce-datascience:ce-workflowShows every step for your project type and tells you what to do next.
Each slash skill now starts with a Skill Value block that states the problem,
expected output, question boundary, and non-goal so new users can pick the right
command without guessing.
What can it do?
The examples below use bare /ce-* commands for readability. In native Claude
plugin installs, use /ce-datascience:ce-* unless local aliases are installed.
Run an observational study
/ce-grill "sepsis bundles and 30-day mortality in ICU, target Critical Care Medicine"
/ce-research-question "sepsis bundles and 30-day mortality in ICU"
/ce-pubmed
/ce-evidence-map
/ce-method-extract
/ce-checklist-match
/ce-effect-size
/ce-power
/ce-cohort-build
/ce-data-qa
/ce-model-strategy
/ce-plan
/ce-sap-tabular
/ce-sprint
/ce-work
/ce-verify
/ce-code-review
/ce-compoundKeep analysis decisions explicit
The lifecycle now makes the most consequential analytical assumptions visible before code is written or trusted:
/ce-data-qareconciles row counts and joins, checks keys and type stability, records missing-data handling, and returns GO, WARN, or NO-GO rather than silently substituting fallback data./ce-model-strategyresolves nontrivial model, estimand, dependence, and diagnostic choices after QA and before SAP finalization./ce-planowns the canonical versioned SAP. Add/ce-statistical-analysis-planonly when a complex clinical or observational design needs a claim-to-dataset schema, explicit estimands, and decision evidence; use/ce-sap-tabularfor the workbook rather than creating a competing plan./ce-workfails loudly at missing or corrupt inputs./ce-code-reviewchecks integrity and causal timing, and requires censoring-aware, decision-aligned time-dependent AUC for dynamic survival models.
For an administrative claims study, use the claims-oriented SAP workflow when the canonical SAP needs linked claims, datasets, variables, analyses, diagnostics, outputs, and decision evidence:
/ce-statistical-analysis-planStatistical correctness
The statistical methods behind the skills and reviewers were audited against primary sources. What that means in practice:
- Estimands first. SAPs from
/ce-planand/ce-statistical-analysis-planstate ICH E9(R1) estimands (population, treatment, endpoint, intercurrent events, summary measure), andce-sap-drift-detectorflags estimand, missing-data, and inference drift in code. - Sample size and pooling.
/ce-powercovers two-proportion, non-inferiority (one-sided 0.025), survival, cluster, and Riley-criteriapmsampsizedesigns./ce-effect-sizepools with REML, a Hartung-Knapp CI, and a k-1 df prediction interval./ce-trial-designcomputes type I error under non-binding futility without the futility bound. - Tables and registration.
/ce-table1 --design rct|observational|descriptiveadds an SMD column for observational comparisons and never shows baseline p-values for randomized trials./ce-preregblocks a draft SAP, unblinded data, and late PROSPERO registration. - Reporting routes. All prediction models route to TRIPOD+AI (it supersedes TRIPOD 2015), target trial emulation to the standalone 21-item TARGET checklist, and protocols to SPIRIT 2025 or PRISMA-P.
- Reviewers. Calibration, causal-inference, multiplicity, fairness, data-leakage, and methods reviewers follow current guidance (for example, the calibration hierarchy, M-bias, co-primary endpoints needing no alpha correction, and random splits not being leakage by themselves).
- Data and validation.
/ce-phenotype-validatereweights sensitivity and specificity for verification bias under algorithm-stratified chart review;/ce-data-qadrops mean imputation and LOCF advice;/ce-pubmedkeeps unindexed and non-English records by default.
Prepare a manuscript for handoff
/ce-manuscript-package
/ce-manuscript-citations
/ce-scientific-writing
/ce-pre-submission-audit
/ce-review-packUse /ce-clinical-research-voice, /ce-manuscript-section-discipline, or
/ce-scientific-anti-slop directly only for a focused prose pass. The combined
pre-submission audit is the final editing gate; required Methods rationale is
preserved, while retrospective interpretation remains in Discussion.
Build a prediction model
/ce-research-question
/ce-checklist-match
/ce-cohort-build
/ce-plan
/ce-ml-experiment-track
/ce-optimize
/ce-work
/ce-model-card
/ce-code-reviewWork with CLIF consortium data
# Anchored to clif-icu.com; setup can infer a declared matching family.
# Use an explicit call when choosing the family for this task:
/ce-clif --version 2.1.0 # CLIF 2.1 + mCIDE 2.1
# or
/ce-clif --version 3.0.0 # CLIF 3.0 + mCIDE 3.0
/ce-workflow
/ce-workIf a direct call conflicts with an explicitly declared project pair, CE asks which source is intended before it validates categories or generates filters.
Analyze omics data
/ce-bioinfo-qc
/ce-genome-build
/ce-plan
/ce-work
/ce-code-reviewShip a software fix
/ce-brainstorm
/ce-plan
/ce-work
/ce-code-reviewMaintain the plugin professionally
/ce-sessions
/ce-resolve-pr-feedback
/ce-release-notes
/ce-report-bugThese workflow utilities are adapted from the original compound-engineering plugin so the public plugin can support release questions, bug reports, cross-session debugging, and statistical-methodology PR feedback without pulling in unrelated Rails, frontend, Xcode, Slack, product-pulse, dogfood, LFG, or agent-native workflows.
Repository maintenance is reported weekly through Weekly Branch Maintenance. It identifies remote candidates only; inspect local worktrees and confirm any deletion with /ce-clean-gone-branches.
Works with your stack
| Stack | IDE | Output | Libraries |
|---|---|---|---|
| Python + Jupyter | JupyterLab, VS Code | .ipynb | pandas, polars, scipy, statsmodels, scikit-learn |
| Python + Marimo | Marimo, VS Code | reactive .py | pandas, polars, scipy, statsmodels, scikit-learn |
| R | RStudio, VS Code | Quarto .qmd, .Rmd | tidyverse, data.table, survival, lme4, gt, tidymodels |
Knows your data layer
| Data layer | How it activates | What it does |
|---|---|---|
| OMOP CDM | SQL with cdm_source, concept, person | OMOP SQL + concept sets, vocabulary pinning |
| CLIF | CLIF_CLAUDE.md, clif-icu remote, or CLIF handoff | Anchors to clif-icu.com; explicit CLIF/mCIDE 2.1 or 3.0 family, Parquet-only, version-correct mCIDE vocab, POC sign-off |
| Admin claims | Medicare/Medicaid/MarketScan in code | Enrollment gaps, NDC-to-RxNorm, claims reviewer |
| Custom EHR | Default | PHI scanning, generic cohort building |
| Bioinformatics | .fastq, .bam, Snakefile | FastQC/MultiQC, genome build, batch-effect screen |
Upstream CE features now included
This fork tracks useful infrastructure and workflow improvements from the original compound-engineering plugin while keeping the product scoped to health data science.
| Area | What changed for data scientists |
|---|---|
| Planning and brainstorming | /ce-plan keeps SAP/implementation dual mode and now starts summaries with an implementation-independent objective, supports upstream output modes, preserves format on resume, and strengthens synthesis and research routing. /ce-brainstorm keeps study-design framing while adding grouped requirements, output-mode handling, and visual communication behavior. |
| Safe execution and optimization | /ce-work verifies that parallel workers can start from a complete tracked snapshot and keeps uncommitted dependencies inline. /ce-optimize gives parallel Codex experiments separate directories and requires measurable baselines and outcomes. |
| Debugging | /ce-debug covers correctness and performance investigations, records a baseline before tuning, redacts secrets from captured evidence, and repeats the original measurement after a fix. |
| PR and review workflow | /ce-resolve-pr-feedback carries upstream GraphQL pagination and split-reference handling, then restores statistical methodology and SAP-aware response language. /ce-code-review applies path-scoped CODING_STANDARDS.md criteria without replacing binding repo instructions. /ce-commit and /ce-commit-push-pr use a temporary Git index so named-file commits do not absorb unrelated staged or later working-tree changes. |
| Setup health | /ce-setup detects obsolete Codex tool-map blocks and offers bounded cleanup guidance instead of silently rewriting user configuration. |
| Session history | /ce-sessions uses upstream cross-platform discovery improvements for Claude Code, Codex, and Cursor sessions, with repo-root pre-resolution and structured extraction scripts. |
| Distribution and installation | The converter supports current ce-*.md agent source files while still parsing legacy *.agent.md, respects CODEX_HOME, writes Codex roots correctly, and manages .codex/hooks.json without clobbering manual hooks. |
| Public support | /ce-release-notes and /ce-report-bug are included as curated support skills for a professional public plugin surface. |
Core-only Compound Engineering skills such as Proof review, demo-reel capture, frontend/Rails/iOS helpers, LFG, simplify-code, strategy, promote, and polish remain external. When the core Compound Engineering plugin is also installed, ce-datascience handoffs can use those skills with a visible fallback; they are not packaged as ce-datascience slash skills.
Reviews against 39 reporting checklists
The checklist registry records publication evidence, current versus legacy versions, and methodological roles. Reporting guidelines, appraisal tools, planning templates, and unresolved candidates are not treated as interchangeable routes; unresolved entries remain explicitly labeled rather than being presented as authoritative.
| Study type | Primary | Extensions | |---|---|---| | Observational cohort | STROBE (STROBE-MR stand-alone for Mendelian randomization) | RECORD, RECORD-PE, STREGA | | Randomized trial | CONSORT (SPIRIT 2025 for protocols) | CONSORT-AI, SPIRIT-AI, Cluster, Adaptive, N-of-1 | | Prediction model | TRIPOD+AI (supersedes TRIPOD 2015) | TRIPOD-LLM, MI-CLAIM | | Diagnostic accuracy | STARD (STARD-AI stand-alone for AI index tests) | CLAIM | | Systematic review | PRISMA (PRISMA-P for protocols; stand-alone DTA, NMA, IPD, ScR by review type) | QUADAS-3 (DTA appraisal; supersedes QUADAS-2), CHARMS (prediction-model reviews) | | Target trial emulation | TARGET (standalone) | | | Early live clinical evaluation of AI | DECIDE-AI | | | Other | SQUIRE, GRAMMS, STaRT-RWE, ARRIVE, CARE, CHART, CHEERS, COREQ, DEAL (LLM), PDSQI-9 (LLM summaries), REFORMS | |
Also works with Codex, Pi, Gemini, and more
Run generated installs from the repo root (cd "$CE_DS_REPO"). Use
./plugins/ce-datascience with the leading ./ for local installs.
| Platform | Easiest command |
|---|---|
| Claude Code, no checkout | claude plugin install ce-datascience --marketplace sajor2000/ce-datascience then /ce-datascience:ce-setup |
| Claude Code, one-command setup | bash install.sh claude --aliases then /ce-setup |
| Claude Code, Windows PowerShell | .\install.ps1 claude -Aliases then /ce-setup |
| Claude Code | claude --plugin-dir "$CE_DS_REPO/plugins/ce-datascience" then /ce-datascience:ce-setup |
| Claude Code, offline | claude --plugin-dir /approved/path/ce-datascience.zip |
| Claude bare aliases | bash scripts/install/install-claude-aliases.sh --plugin-dir "$CE_DS_REPO/plugins/ce-datascience" --scope user |
| Codex, one-command setup | bash install.sh codex then install CE DataScience from /plugins |
| Codex, Windows PowerShell | .\install.ps1 codex then install CE DataScience from /plugins |
| Codex native + agent bridge | bun run src/index.ts install ./plugins/ce-datascience --to codex --codex-home "$CODEX_HOME" |
| Codex offline local marketplace | bash install-codex-offline.sh --source /approved/path/ce-datascience-codex-local --codex-home "$CODEX_HOME" |
| Codex standalone | bun run src/index.ts install ./plugins/ce-datascience --to codex --codex-home "$CODEX_HOME" --include-skills |
| Pi | bun run src/index.ts install ./plugins/ce-datascience --to pi --pi-home "$HOME/.pi/agent" |
| Gemini CLI | bun run src/index.ts install ./plugins/ce-datascience --to gemini --output /path/to/gemini-workspace |
| OpenCode | bun run src/index.ts install ./plugins/ce-datascience --to opencode --output /path/to/workspace |
| Kiro | bun run src/index.ts install ./plugins/ce-datascience --to kiro --output /path/to/kiro-workspace |
| Qwen Code | qwen extensions install sajor2000/ce-datascience:ce-datascience |
| All generated targets | bun run src/index.ts install ./plugins/ce-datascience --to all |
Pi also needs pi install npm:pi-subagents first.
Qwen Code uses its native extension installer; it is not a generated --to qwen converter target. Cursor, Copilot, and Droid are also native plugin ecosystems, not --to targets. --to all only writes generated targets detected on the machine and skips native-only plugin ecosystems.
For a non-default Codex profile, point both Codex and the installer at the same root:
export CODEX_HOME="$HOME/.codex/profiles/research"
codex plugin marketplace add "$CE_DS_REPO"
cd "$CE_DS_REPO"
bun run src/index.ts install ./plugins/ce-datascience --to codex --codex-home "$CODEX_HOME"
CODEX_HOME="$CODEX_HOME" codexInside Codex, run /plugins, select this local marketplace, install ce-datascience, then restart. Codex's native plugin install provides the skills; the Bun command above adds generated agents until Codex supports plugin-defined agents natively.
Codex installs have two supported modes:
- Native plugin + agent bridge (recommended): install the plugin inside Codex with
/plugins, then runinstall --to codex --codex-home "$CODEX_HOME"to add generated agents to the same profile. - Standalone generated install: run
bun run src/index.ts install ./plugins/ce-datascience --to codex --codex-home "$CODEX_HOME" --include-skillswhen native plugin install is unavailable. This writes generated skills and agents. Managed.codex/hooks.jsonentries and MCP configuration are written only for plugins that actually declare hooks or servers; CE DataScience currently declares neither.
Managed Codex hooks are tagged with plugin metadata so upgrades can replace this plugin's hook entries without deleting manual hooks or hooks owned by another plugin. If an existing hooks.json is malformed, the installer backs it up before writing a managed replacement.
See Codex profile and hook installation for the profile, standalone, and recovery details. See the setup guide for exact Claude, Codex, OpenCode, Gemini, Kiro, Pi, and Qwen walkthroughs.
Updating
cd ~/ce-datascience && git pull && bun installThen restart your coding agent.
To build corporate/offline ZIPs from a source checkout:
bun run package:corporateTroubleshooting
"Unknown command" on /ce-setup: Native Claude plugin commands are namespaced. Use /ce-datascience:ce-setup, or install the optional local aliases into .claude/commands.
bun install fails: Run bun --version. If missing: curl -fsSL https://bun.sh/install | bash
Corporate laptop blocks Bun, GitHub CLI, Git, or Quarto: Use the offline Claude folder/ZIP or Codex local marketplace package. Bun and Git are for source builds; GitHub CLI is only for GitHub helpers; Quarto is only required for Quarto render/manuscript workflows.
Plugin seems outdated: cd ~/ce-datascience && git pull && bun install, then restart.
Codex installed into the wrong profile: Set CODEX_HOME on both the codex command and the Bun installer. The installer defaults to $CODEX_HOME when set, otherwise ~/.codex.
Codex hooks stopped loading after a broken edit: Re-run the standalone install with --include-skills. The installer backs up malformed .codex/hooks.json before writing managed hook entries.
CLIF activating on a non-CLIF project: /ce-clif --off disables it for the session.
Full inventory
| | Count | |---|---| | Skills | 65 | | Agents | 55 | | Reporting checklists | 39 |
Built on
Fork of compound-engineering by Kieran Klaassen at Every. Also influenced by BMAD Method and Superpowers.
License
MIT — Copyright (c) 2026 Juan Carlos Rojas. Original compound-engineering Copyright (c) 2025 Every.
