Skip to content
Back to skills

Reporting And Archiving Findings

ASecurity

Use when an analysis is complete and verified, and you need to decide how to report it and archive the work for reproducibility

  • 2 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added October 15, 2026
researchgobashgit

Security analysis

A100/100

Scanned October 15, 2026

npx -y skills add raktim-mondol/hermes-plugin-researchcraft --skill reporting-and-archiving-findings --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Reporting And Archiving Findings?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Reporting And Archiving Findings
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/raktim-mondol-reporting-and-archiving-findings/badge)](https://www.skillsdirectory.com/skills/raktim-mondol-reporting-and-archiving-findings)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: reporting-and-archiving-findings
description: Use when an analysis is complete and verified, and you need to decide how to report it and archive the work for reproducibility
---

# Reporting and Archiving Findings

## Overview

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."

## Step 1: Verify Reproducibility

Before reporting anything, confirm the whole analysis reproduces from immutable raw data with the fixed seed in the pinned environment.

```bash
# 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:

```bash
# 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.

## Step 2: Detect Environment

```bash
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 needed
- `GIT_DIR != GIT_COMMON`, named branch: worktree, provenance-based cleanup (Step 5)
- Detached HEAD: reduced menu (no local merge), no cleanup (externally managed)

## Step 3: Determine Base Branch

```bash
git merge-base HEAD main 2>/dev/null || git merge-base HEAD master 2>/dev/null
```

Or ask: "This branch split from main — correct?"

## Step 4: Present Options

**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.

## Step 5: Execute Choice

### Option 1: Merge Locally
```bash
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>`.

### Option 2: Write Up and Share

Produce the report (see "Report Content" below). If sharing via PR:
```bash
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.

### Option 3: Keep As-Is
Report: "Keeping branch <name>. Worktree preserved at <path>." No cleanup.

### Option 4: Discard
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>`.

## Step 6: Cleanup Workspace

**Only for Options 1 and 4.** Options 2 and 3 preserve the worktree.

```bash
WORKTREE_PATH=$(git rev-parse --show-toplevel)
```

- `GIT_DIR == GIT_COMMON`: normal repo, nothing to clean up.
- Worktree under `.worktrees/`, `worktrees/`, or `~/.config/superpowers/worktrees/`: we own it.
  ```bash
  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
  ```
- Otherwise: the harness owns it. Don't remove it.

## Report Content

Every report MUST:

- **Separate confirmatory from exploratory.** Confirmatory results are those that match the frozen pre-registration, run as registered. Everything else goes under an "Exploratory" heading and is described as a lead, not a conclusion.
- **Report effect sizes and intervals**, not just p-values. Describe null results as inconclusive vs. evidence of absence honestly.
- **Document every deviation** from the pre-registration and note that the affected analysis is exploratory.
- **State limitations and threats to validity** carried from the design.
- **Avoid over-claiming** — no causal language from observational data; no generalizing past the sample.

## Archive for Reproducibility

Whatever the option, ensure the archive contains everything needed to regenerate the result:

- The code (committed)
- The environment lockfile and runtime version
- The fixed seed
- The frozen pre-registration (commit reference) and the passing `prereg.sh audit` output
- Data provenance + checksums for raw inputs (and the data itself, or instructions to obtain it, per any data-sharing constraints)
- The exact command(s) to re-run

## Red Flags

**Never:**
- Report a number you haven't just reproduced
- Blur confirmatory and exploratory results
- Report a p-value without an effect size and interval
- Use causal language for an observational finding
- Hide a deviation from the pre-registration
- Remove a worktree before confirming a merge succeeded
- Clean up a worktree you didn't create

**Always:**
- Verify reproducibility before offering options
- Present exactly 4 options (3 for detached HEAD)
- Get typed confirmation for discard
- Archive code + env + seed + pre-registration together

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.