submission-disclosures skill
Generate the submission-time disclosure block for a manuscript — the AI-use disclosure statement matched to the target journal's policy, CRediT author-contribution roles, conflict-of-interest statement, and data-availability statement. Use when the user says "AI disclosure", "disclosure statement", "do I need to disclose Claude", "CRediT roles", "conflict of interest statement", "data availability statement", or is preparing a submission package. NOT statistical-disclosure screening of restricted-data outputs — that is /disclosure-check.
Is the submission-disclosures skill safe?
Clean: nothing in its files matched our rules. We read 1 file in the folder on 2026-09-28.
No findings.
Install the submission-disclosures skill
A skill is a folder. Copy it into your agent's skills folder and the agent loads it when the task matches its description.
git clone --depth 1 https://github.com/pedrohcgs/claude-code-my-workflow.git /tmp/claude-code-my-workflow mkdir -p ~/.claude/skills cp -r /tmp/claude-code-my-workflow/.claude/skills/submission-disclosures ~/.claude/skills/submission-disclosures
In the Claude apps, zip the folder and upload it from the Skills settings. The folder on GitHub
The instructions your agent would load
SKILL.md as published, without the frontmatter. Read it on GitHub
/submission-disclosures — The Submission-Time Disclosure Block
Draft the four statements journals now require (or strongly expect) at submission, in one pass: AI-use disclosure, CRediT contributor roles, conflict-of-interest, and data availability. Journals tightened AI-use policies through 2025–2026; an undisclosed-AI finding at a top journal is now a research-integrity problem, not a formatting one — so the statement should be drafted deliberately, not improvised in the submission portal at midnight.
This skill is about the author's disclosures TO the journal. It is unrelated to /disclosure-check, which screens restricted-data outputs for statistical-disclosure risk (small cells, PII). Same word, different worlds.
When to use
- Preparing a submission or resubmission package and the portal asks for AI-use / COI / data-availability statements.
- A revise-and-resubmit at a journal that adopted an AI policy since the original submission.
- A coauthor asks "do we need to say we used Claude/Copilot/ChatGPT on this?"
Phases
Phase 1 — Resolve the journal's actual policy
- If a journal short-name is given, read its profile in journal-profiles.md (top-5 econ + AEA-imprint policy notes + poli-sci top-3).
- Verify the current policy on the journal's own site (WebSearch/WebFetch: " artificial intelligence policy authors", the journal's submission guidelines page). Policies moved fast in 2025–2026; a cached or remembered policy is not good enough for a submission. Record the URL and retrieval date in the output.
- If no explicit AI policy exists, default to the strictest common denominator (disclose tools, scope of use, and human responsibility) — over-disclosure is free; under-disclosure is not.
Phase 2 — Inventory what was actually used
Interview briefly (or infer from the repo when evident — e.g. quality_reports/, session logs, a CLAUDE.md):
- Which tools (Claude Code, Copilot, ChatGPT, Grammarly-class) and for what: writing/editing prose, code authoring, code review, literature search, data analysis, translation.
- What stayed human: research design, identification choices, interpretation, final verification of every number and citation (tie to the repo's own verification story — /audit-reproducibility, /verify-claims — when true, say so: "all AI-assisted numbers were independently verified against code" is a strength, not a confession).
- What AI was NOT used for when the journal cares (e.g., most policies bar AI as a listed author and bar undisclosed AI-generated images/data).
Phase 3 — Draft the four statements
Write qualityreports/submissiondisclosures_[manuscript-slug].md containing:
- AI-use disclosure — journal-matched wording: tools + versions, scope of use, the affirmation that authors take full responsibility for all content and verified all AI-assisted output. Honest and specific; never boilerplate that overclaims ("no AI was used") when the repo's own logs say otherwise.
- CRediT roles — the 14-role taxonomy mapped to each author (interview for the mapping; flag roles no author holds).
- Conflict-of-interest — funding sources, paid/unpaid positions, data-provider relationships (IRB/data-use agreements often constrain what must be stated; cross-ref confidential-data.md).
- Data availability — aligned with the replication deposit: openICPSR/DCAS language when the target is an AEA-imprint journal (delegate the deposit itself to /replication-package; restricted-data access language per confidential-data.md).
With --statements-only, emit the statements to chat without writing the file. With --no-ai, skip statement 1 (the user asserts no AI assistance — note in chat that the repo's own session logs may contradict this, if they visibly do).
Phase 4 — Parity check against the manuscript
Grep the manuscript for an existing acknowledgments/disclosure section; flag contradictions (e.g., the paper thanks "research assistance" that the COI omits, or an existing AI statement that the new one contradicts). Do not silently overwrite — surface the diff.
Exit behavior
- Statements drafted, policy verified: write the file, print the four statements + the policy URL/date, and remind the user the statements are drafts for author review — sign-off is theirs.
- Journal policy unverifiable (site unreachable, no policy found): emit the strict-default statements, clearly marked "default wording — verify against the journal's current author guidelines before submission."
- Inventory contradicts --no-ai: stop and surface the contradiction; never produce a false "no AI" statement.
Flags
- --no-ai — Skip the AI-use statement (user asserts none was used). The skill still warns if repo evidence visibly contradicts the assertion.
- --statements-only — Print the statements to chat; write no file.
Cross-references
- .claude/skills/disclosure-check/SKILL.md — statistical-disclosure screening of restricted-data outputs (the other "disclosure"; unrelated).
- .claude/skills/replication-package/SKILL.md — the deposit the data-availability statement must match.
- .claude/references/journal-profiles.md — per-journal calibration, incl. the AEA DCAS policy note.
- .claude/rules/confidential-data.md — restricted-data constraints on what the statements can say.
- .claude/skills/humanize/SKILL.md — detecting AI-voice in prose; disclosure and voice are separate obligations.
What this skill does NOT do
- Screen outputs for statistical disclosure risk — that is /disclosure-check.
- Build the replication deposit — that is /replication-package; this skill only writes the statement that points at it.
- Decide your ethics. It drafts honest statements from what you report and what the repo shows; whether a use needed disclosing under a vague policy is the author's call — the skill defaults to disclosure when in doubt.
- Submit anything. Statements go in the user's submission package by the user's hand.
More skills from pedrohcgs/claude-code-my-workflow
- Aadjudicate-reviewTurn an incoming set of findings — from an AI reviewer, a referee report, a code review, a linter, or a second model — into verified fixes, without letting a confident misread damage correct work. Every finding is a CANDIDATE until checked against the actual source. Use whenever you receive review comments, audit findings, or a critique you did not write yourself, especially when the reviewer is a model or when the volume is too large to check by feel.
- Aaudit-reproducibilityEnforce the replication-protocol.md rule by cross-checking numeric claims in a manuscript against the actual R / Stata / Python outputs. Report PASS/FAIL per claim against tolerance thresholds. Use before submission and before releasing a replication package.
- Ablast-radiusBefore and after changing anything shared — a function's return value, a signature, a schema, a label set, a config default, a constant, a file format — find every consumer and actually run them. Catches the change that looks purely additive but silently breaks a contract in a file you never opened. Use when editing shared code, adding a field/column/return element, renaming, changing units or defaults, or touching a pipeline that produces reported numbers.
- Acapture-environmentSnapshot the computational environment for a replication package — detects the analysis stack (R / Stata / Python) and emits the right lockfiles (renv.lock + sessionInfo.txt, requirements.txt / environment.yml / uv.lock, Stata version + ado package list), records seeds and RNG kind, optionally writes a pinning Dockerfile, and produces a paste-ready "Computational requirements" block. Use when user says "capture the environment", "snapshot my dependencies", "pin the versions", "make a renv.lock / requirements.txt", "make this byte-reproducible", or before releasing a replication package to openICPSR / the AEA Data Editor.
- AchallengeStress-test a finding against the choices you did not make. Enumerates the discrete forks a competent analyst could have taken (measure definition, sample filter, control set, clustering level, weighting, functional form), runs the specification grid, and reports the distribution rather than a point estimate — then attacks the identifying assumption with named, computable sensitivity statistics. Use when the user says "is this robust", "challenge this result", "specification curve", "multiverse", "how sensitive is this", "what if I'd used a different measure", "stress-test my estimate", or before a result becomes a headline claim. NOT a reviewer of prose or code — it challenges the CLAIM.
- AcheckpointSave a structured state snapshot before stopping or handing off. Captures the active plan, recent decisions, file pointers (with line numbers), open questions, and the next 1–3 actions into a checkpoint file under `quality_reports/checkpoints/`. Optionally proposes `[LEARN]` entries to add to MEMORY.md. Use when user says "checkpoint", "save state", "snapshot before I stop", "where am I", "wrap up the session for handoff", or before a long break / model switch / collaborator handoff. Companion to (NOT replacement for) the narrative session-log workflow.
- Acoauthor-briefGenerate a co-author / collaborator handoff brief for a multi-author, multi-machine project — summarizing what changed since the last brief (git delta), the current state of each artifact (manuscript, analysis, slides), open questions, how to reproduce locally, and any restricted-data access steps. Use when user says "coauthor brief", "handoff brief", "bring my coauthor up to speed", "what changed since last week", "onboard a collaborator", "write a handoff for [name]", or before sending a co-author the repo. NOT a commit or a checkpoint — it is the cross-machine, cross-person summary `meta-governance.md` only partially covers.
- AcommitCommit the current work — runs the quality, consistency and passport gates, branches off main if needed, stages specific files, and writes a commit whose subject states what is now true. Pushes and opens a pull request only with --pr or when the user asks; never merges — a merge happens only when the user explicitly says to merge. Use ONLY on explicit commit intent — user says "commit", "let's commit this", "open a PR", or prefixes with `/commit`. Do NOT auto-invoke on vague end-of-task phrases ("we're done", "wrap up") — those require explicit confirmation first. Never force-pushes or skips hooks.
- Acompile-latexCompile a Beamer LaTeX slide deck with XeLaTeX (3 passes + bibtex). Use when user says "compile", "build the slides", "rebuild the PDF", "run latex", "render the tex", or asks why a `.tex` file isn't producing a PDF. Operates on `Slides/*.tex`.
- Acompress-sessionDistill the current conversation into a structured note (decisions made, open questions, file pointers with line numbers, next 1–3 actions) and save to `quality_reports/session_logs/` before auto-compression. Differs from `/checkpoint` (explicit stop-point snapshot) and from auto-compaction (which truncates rather than distills). Use when context is approaching auto-compact threshold, when a long pipeline has accumulated many decisions, or when the user says "compress", "distil this session", "before we hit auto-compact", "structured handoff before context resets".
- Acontext-statusShow current context status and session health. Use to check how much context has been used, whether auto-compact is approaching, and what state will be preserved.
- Acreate-lectureCreate a new Beamer lecture `.tex` from source papers and materials, with notation consistency checks and the project's preamble wired in. Use when user says "create a lecture on X", "new lecture from these papers", "start a deck on topic Y", "scaffold a new Beamer file", "build me a lecture from these PDFs". Scaffolds the full deck — NOT for compiling existing `.tex` (use `/compile-latex`).