Use when an analysis is complete and verified, and you need to decide how to report it and archive the work for reproducibility
npx skills add https://github.com/K-Dense-AI/science-superpowers --skill reporting-and-archiving-findings
Complete an investigation by confirming reproducibility, presenting clear options, handling the chosen one, and archiving everything needed to reproduce the result.
Core principle: Confirm reproducibility -> separate confirmatory from exploratory -> present options -> execute choice -> archive code + data + environment + pre-registration.
Announce at start: "I'm using the reporting-and-archiving-findings skill to complete this work."
Before reporting anything, confirm the whole analysis reproduces from immutable raw data with the fixed seed in the pinned environment.
# From a clean state: re-run the pipeline end to end
# Confirm headline numbers match what you intend to report
Use science-superpowers:verifying-results-before-claiming. If it doesn't reproduce, stop — fix reproducibility (possibly via science-superpowers:investigating-anomalous-results) before reporting. Don't report a number you can't regenerate.
For any confirmatory claim, also run the pre-registration audit and keep its output for the report:
# ships with science-superpowers:preregistering-analysis
<skills root>/preregistering-analysis/prereg.sh audit
If the audit fails, the confirmatory label is indefensible — the registration changed after its freeze, or outputs predate it. Relabel the affected analyses exploratory (or pre-register a fresh test on unused data) before reporting.
GIT_DIR=$(cd "$(git rev-parse --git-dir)" 2>/dev/null && pwd -P)
GIT_COMMON=$(cd "$(git rev-parse --git-common-dir)" 2>/dev/null && pwd -P)
BRANCH=$(git branch --show-current)
GIT_DIR == GIT_COMMON: normal repo, no worktree cleanup neededGIT_DIR != GIT_COMMON, named branch: worktree, provenance-based cleanup (Step 5)git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
Or ask: "This branch split from main — correct?"
Normal repo / named-branch worktree — present exactly these 4 options:
Analysis complete and reproducible. What would you like to do?
1. Merge the analysis back to <base-branch> locally
2. Write up and share (report / preprint / pull request)
3. Keep the branch as-is (I'll handle it later)
4. Discard this work
Which option?
Detached HEAD — present these 3 (no local merge):
Analysis complete and reproducible (externally managed workspace).
1. Push as a new branch and open a pull request / share
2. Keep as-is
3. Discard this work
Which option?
Don't add explanation — keep options concise.
MAIN_ROOT=$(git -C "$(git rev-parse --git-common-dir)/.." rev-parse --show-toplevel)
cd "$MAIN_ROOT"
git checkout <base-branch> && git pull && git merge <feature-branch>
# Re-run the pipeline on the merged result; confirm it still reproduces
Then cleanup worktree (Step 6), then git branch -d <feature-branch>.
Produce the report (see "Report Content" below). If sharing via PR:
git push -u origin <feature-branch>
gh pr create --title "<title>" --body "$(cat <<'EOF'
## Question
<the research question>
## What was done
<the pre-registered analysis, and any documented deviations>
## Findings
<confirmatory results with effect sizes + intervals>
## Exploratory (not confirmatory)
<clearly separated leads>
## Reproducibility
- Pre-registration: <path/commit>
- Environment: <lockfile>
- Seed: <value>
- Re-run: <command>
EOF
)"
Do NOT clean up the worktree — it's needed for iteration on feedback.
Report: "Keeping branch <name>. Worktree preserved at <path>." No cleanup.
Confirm first:
This will permanently delete:
- Branch <name>
- All commits: <list>
- Worktree at <path>
Type 'discard' to confirm.
Wait for the exact word. Then cleanup worktree (Step 6) and git branch -D <feature-branch>.
Only for Options 1 and 4. Options 2 and 3 preserve the worktree.
WORKTREE_PATH=$(git rev-parse --show-toplevel)
GIT_DIR == GIT_COMMON: normal repo, nothing to clean up..worktrees/, worktrees/, or ~/.config/superpowers/worktrees/: we own it. MAIN_ROOT=$(git -C "$(git rev-parse --git-common-dir)/.." rev-parse --show-toplevel)
cd "$MAIN_ROOT"
git worktree remove "$WORKTREE_PATH"
git worktree prune
Every report MUST:
Whatever the option, ensure the archive contains everything needed to regenerate the result:
prereg.sh audit outputNever:
Always:
Comprehensive spreadsheet creation, editing, and analysis with support for formulas, formatting, data analysis, and visualization. When Claude needs to work with spreadsheets (.xlsx, .xlsm, .csv, .tsv, etc) for: (1) Creating new spreadsheets with formulas and formatting, (2) Reading or analyzing data, (3) Modify existing spreadsheets while preserving formulas, (4) Data analysis and visualization in spreadsheets, or (5) Recalculating formulas
Use this skill any time a spreadsheet file is the primary input or output. This means any task where the user wants to: open, read, edit, or fix an existing .xlsx, .xlsm, .csv, or .tsv file (e.g., adding columns, computing formulas, formatting, charting, cleaning messy data); create a new spreadsheet from scratch or from other data sources; or convert between tabular file formats. Trigger especially when the user references a spreadsheet file by name or path — even casually (like \"the xlsx in my downloads\") — and wants something done to it or produced from it. Also trigger for cleaning or restructuring messy tabular data files (malformed rows, misplaced headers, junk data) into proper spreadsheets. The deliverable must be a spreadsheet file. Do NOT trigger when the primary deliverable is a Word document, HTML report, standalone Python script, database pipeline, or Google Sheets API integration, even if tabular data is involved.
Picks random winners from lists, spreadsheets, or Google Sheets for giveaways, raffles, and contests. Ensures fair, unbiased selection with transparency.
Query openFDA API for drugs, devices, adverse events, recalls, regulatory submissions (510k, PMA), substance identification (UNII), for FDA regulatory data analysis and safety research.
MATLAB and GNU Octave numerical computing for matrix operations, data analysis, visualization, and scientific computing. Use when writing MATLAB/Octave scripts for linear algebra, signal processing, image processing, differential equations, optimization, statistics, or creating scientific visualizations. Also use when the user needs help with MATLAB syntax, functions, or wants to convert between MATLAB and Python code. Scripts can be executed with MATLAB or the open-source GNU Octave interpreter.
UMAP dimensionality reduction. Fast nonlinear manifold learning for 2D/3D visualization, clustering preprocessing (HDBSCAN), supervised/parametric UMAP, for high-dimensional data.
Creating interactive data visualisations using d3.js. This skill should be used when creating custom charts, graphs, network diagrams, geographic visualisations, or any complex SVG-based data visualisation that requires fine-grained control over visual elements, transitions, or interactions. Use this for bespoke visualisations beyond standard charting libraries, whether in React, Vue, Svelte, vanilla JavaScript, or any other environment.
Access AlphaFold 200M+ AI-predicted protein structures. Retrieve structures by UniProt ID, download PDB/mmCIF files, analyze confidence metrics (pLDDT, PAE), for drug discovery and structural biology.
Take k-dense-ai/reporting-and-archiving-findings 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.