pedrohcgs/coauthor-brief
Generate 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.
npx skills add https://github.com/pedrohcgs/claude-code-my-workflow --skill coauthor-brief
Produce a single Markdown brief a co-author (or your future self on another machine) can read in a few minutes to know what changed, where each artifact stands, what's blocked, and how to run the pipeline locally — including restricted-data access steps a new collaborator needs. meta-governance.md covers the *memory* side of cross-machine work (what syncs via git, what stays in gitignored personal-memory.md); this skill covers the *human* side: the per-person, per-session handoff.
Core principle: /checkpoint is for *you* resuming; /coauthor-brief is for *someone else* starting. The first answers "where am I?"; the second answers "what do I need to know to take over a piece of this?"
/checkpoint./compress-session./commit.Resolve the delta window, in this priority order:
--since <arg> if given — a git tag, an ISO date, or Ndays (e.g. --since v1.2, --since 2026-05-01, --since 14days).ls -t quality_reports/handoffs/*.md | head -1; use the date in its filename as the floor.git log is noise, not signal).Echo the resolved window back before gathering ("Brief covers changes since <tag/date> …").
Read-only collection. Skip any source that doesn't apply (R-only, Stata-only, no slides) rather than fabricating.
git log --oneline --since=<point> (or <tag>..HEAD), git diff --stat <point>..HEAD, git branch --show-current, and git log --all --oneline -15 to see co-authors' parallel branches. Group commits by area (manuscript / analysis / slides / infra).quality_reports/passports/<slug>.yaml, read the PASS / FAIL / EXPLAINED / STALE / UNVERIFIED roll-up (audit-reproducibility, replication-protocol.md). Note whether the analysis is replication-ready or has open FAILs.quality_reports/plans/*.md (status + any "Open questions" / "Next" lines) and the latest quality_reports/session_logs/*.md blockers.renv.lock (R), requirements.txt / environment.yml / uv.lock (Python), a Stata version line + .do ssc install list, or whatever /capture-environment wrote. Record the exact restore command.--no-data-section)* — if the repo touches confidential/restricted data, read confidential-data.md and summarize the access path a new collaborator needs (DUA / IRB approval, secure-enclave or openICPSR-restricted credentials, where the data lives, what is git-ignored vs committed). Never copy actual restricted values, paths to live extracts, or credentials into the brief — describe the *process to obtain access*, not the data.Use the template below. Keep it tight (~1–2 screens). Concrete path:line pointers beat prose.
---
date: YYYY-MM-DD
for: [collaborator name or "all coauthors"]
since: [tag | date | Ndays]
branch: [current branch]
---
# Co-Author Brief — [project / paper short name]
## What changed since [since-point]
[3–8 bullets, grouped by area. Each: what changed + why it matters to a reader, not raw commit subjects.]
- **Analysis:** re-estimated the event-study with not-yet-treated controls (Callaway–Sant'Anna); main ATT now −1.19 — see `scripts/R/03_analyze.R:147`.
- **Manuscript:** Table 2 + §4.2 rewritten to match; Figure 3 regenerated.
- **Slides:** untouched.
## Current state of each artifact
| Artifact | Path | State | Notes |
|---|---|---|---|
| Manuscript | `manuscript.tex` | drafting §5 | robustness section is a stub |
| Analysis | `scripts/R/` | replication-ready | passport: 11 PASS, 1 EXPLAINED, 0 FAIL |
| Slides | `Slides/` | current | matches latest results |
## Open questions / decisions needed
[Things the co-author should weigh in on. Mark Q1, Q2…; flag which block progress.]
## Reproduce locally
1. Clone + branch: `git checkout <branch>`
2. Restore environment: `Rscript -e 'renv::restore()'` (or `pip install -r requirements.txt` / Stata `do _setup.do`).
3. Run the pipeline: `Rscript scripts/R/00_run_all.R` (or `00_master.do` / `make all`).
4. Verify: `/audit-reproducibility manuscript.tex` should report 0 FAIL.
## Restricted-data access (if applicable)
[Process to obtain access — DUA/IRB/enclave/openICPSR-restricted steps. NO actual data, paths to live extracts, or credentials. See confidential-data.md.]
## Recommended git topology for this project
- One **feature branch per author** (`feat/<author>-<topic>`); rebase on `main`, open a PR, merge via `/commit`.
- `MEMORY.md` is **committed** — generic learnings sync to everyone.
- `personal-memory.md` and `.claude/state/` stay **local** (gitignored) — never expect a co-author to have yours (see meta-governance.md).
- Pull before you brief; brief before you hand off.
quality_reports/handoffs/YYYY-MM-DD_coauthor-brief.md (create quality_reports/handoffs/ if missing). If --for is set, suffix the slug (…_coauthor-brief_<name>.md).A single Markdown handoff doc at quality_reports/handoffs/YYYY-MM-DD_coauthor-brief.md matching the Phase 2 template, plus a one-line chat summary. No edits to any other file.
confidential-data.md missing: write the brief, leave the data section with a TODO: complete per your DUA placeholder, and warn — do not guess the access process.--since <tag|date|Ndays> — Baseline to diff against — a git tag, an ISO date, or Ndays (e.g. 14days). Default: the previous brief in quality_reports/handoffs/, else the last tag.--for <name> — Tailor the brief to a specific collaborator (e.g. surface the restricted-data access steps they still need)..claude/rules/meta-governance.md — the cross-machine memory model (what syncs, what stays local) this brief operationalizes for *people*..claude/skills/capture-environment/SKILL.md — produces the lockfiles the "Reproduce locally" section points at..claude/skills/checkpoint/SKILL.md — the *self*-resume companion (this skill is the *other-person* handoff)..claude/skills/compress-session/SKILL.md — distil a noisy session before compaction (orthogonal; run before briefing if context is fat)..claude/rules/confidential-data.md — restricted-data handling; the data section summarizes its access steps without exposing data./commit's job./audit-reproducibility./capture-environment.Take pedrohcgs/coauthor-brief 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.
The instructions reference pip.
Without those the skill loads but fails at the first command.