pedrohcgs/data-management-plan
Draft a funder-compliant Data Management Plan (NSF DMP, NIH DMS Policy 2023, ERC, Horizon Europe) by composing the confidential-data and environment-capture primitives. Sections cover data description, formats/metadata, storage/backup, access/sharing, preservation/archiving, and roles. Use when user says "data management plan", "DMP", "DMSP", "NIH data sharing plan", "write the data plan for my grant", or when a grant proposal needs a data-management section. NOT a submission tool — produces a draft the user pastes into the funder portal (DMPTool, NIH ASSIST, Horizon Europe portal).
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill data-management-plan
/data-management-plan — Funder-Compliant DMP GeneratorProduce a Data Management Plan ready to paste into a funder portal. This skill writes the prose and structure; it does not submit anywhere. It is a composition skill — it folds the disclosure-avoidance / IRB rules from .claude/rules/confidential-data.md and the environment + replication-package plan from /capture-environment and /replication-package into a single funder-shaped document.
/grant-proposal calls this skill for that section.$0 --funder nsf|nih|erc|horizon — target funder profile. If omitted, Phase 0 detects it from --input or asks once.--input <path> — a research spec (/interview-me output under quality_reports/specs/), a grant draft, or a passport-adjacent description. The skill extracts data types, sample, and identification strategy from it.--no-verify — skip the Phase 4 citation/standard post-flight (inherited from /preregister).--funder, else infer from --input, else ask once). Load its section schema:| Funder | Plan name | Required sections (abridged) |
|---|---|---|
| NSF | Data Management Plan (2 pp max) | data types · standards · access/sharing · re-use/redistribution · archiving |
| NIH | DMS Plan (2023 policy) | data type · tools/software · standards · preservation/access/timelines · access/distribution + reuse · oversight |
| ERC | DMP (Horizon Europe Annex) | FAIR per dataset · data summary · making data FAIR · resource allocation · security · ethics |
| Horizon Europe | DMP (DMP template) | same FAIR-first structure as ERC; open by default, "as open as possible, as closed as necessary" |
If the data is restricted *or* human-subjects, set sensitive = true and run Phase 2. If it is purely public, Phase 2 is a short paragraph.
Generate the six house sections, mapped onto the funder's required headings:
.rds/.dta/.parquet..csv/.parquet over .dta; codebooks; DDI / Dublin Core / domain schema). Name the standard, don't say "appropriate metadata".For any required field the input does not supply, write [CLARIFY: <specific question>] rather than fabricating — same convention as /preregister.
sensitive = true)Pull the relevant rules from .claude/rules/confidential-data.md and weave them into the access & sharing and preservation sections:
[CLARIFY:]), the consent terms governing sharing, and the de-identification plan. Shared outputs are de-identified per the consent./disclosure-check, and say so in the plan ("released outputs pass /disclosure-check before deposit").The DMP should commit to *reproducibility*, not just data deposit:
sessionInfo() / renv.lock, Stata version + .do ado dependencies, Python requirements.txt / container). Point to /capture-environment as the mechanism. AEA Data Editor / DCAS standards expect this./replication-package as the builder.--no-verify)If the draft cites a funder policy or standard by name/number (e.g., "per NIH NOT-OD-21-013", "DCAS v1"), invoke /verify-claims via Task to confirm the policy citation resolves. Forked claim-verifier never sees the draft. Surface any FAIL/PARTIAL.
Write the draft to quality_reports/dmp/YYYY-MM-DD_<funder>_<slug>.md and a funder checklist alongside it.
✓ DMP draft saved: quality_reports/dmp/<file>.md
Funder: <nsf|nih|erc|horizon> Data class: <public|restricted|human-subjects>
Sections: <count> total — <complete> complete, <clarify> with [CLARIFY:] placeholders
Disclosure/IRB folded in: <yes (Phase 2) | n/a — public data>
Repository: <openICPSR | Dataverse | domain repo> PID: <DOI planned | [CLARIFY:]>
Policy citations verified: <PASS>/<PARTIAL>/<FAIL> (or "none to verify")
Next: resolve [CLARIFY:] items, then paste into <DMPTool | NIH ASSIST | Horizon portal>
The funder checklist is a table: each required section → present? → complete / [CLARIFY:], so the user sees at a glance whether the plan will pass the funder's compliance check.
[CLARIFY:] → "DMP READY", checklist all green..claude/rules/confidential-data.md — restricted-data / IRB / disclosure-avoidance rules folded in at Phase 2..claude/skills/disclosure-check/SKILL.md — pre-release disclosure scan the plan commits released outputs to..claude/skills/capture-environment/SKILL.md — the environment-capture mechanism Phase 3 references..claude/skills/replication-package/SKILL.md — the replication-package builder Phase 3 commits to..claude/skills/grant-proposal/SKILL.md — calls this skill for the proposal's data-management section..claude/skills/preregister/SKILL.md — sibling document-generator; shares the MUST/[CLARIFY:] + post-flight conventions..claude/rules/replication-protocol.md — the reproducibility contract the deposited package must satisfy./disclosure-check, /capture-environment, and /replication-package, and references them — it does not execute them.[CLARIFY:] rather than guessing.Take pedrohcgs/data-management-plan from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.