paper-repo-extract

Extracts a standalone reproducibility repository for a paper from the TDL monorepo.

1|Updated Dec 13, 2025
One-click install
npx skills add https://github.com/ZK-Theory/TDL --skill paper-repo-extract-zk-theory
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: paper-repo-extract
Source: https://github.com/ZK-Theory/TDL/tree/main/.agents/skills/paper-repo-extract
Command: npx skills add https://github.com/ZK-Theory/TDL --skill paper-repo-extract-zk-theory

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Journal submissions require a standalone reproducibility repository with a Zenodo DOI, but paper code often lives inside a larger monorepo with internal imports and restricted data. This Skill automates extracting a paper's code, results, and scripts into a clean standalone repository ready for GitHub and Zenodo archiving. ## Core Features & Use Cases - Dependency Tracing and Manifest Creation: Traces imports from paper entry scripts and records source files, scripts, results, and dependencies in a repo-manifest.yaml file. - Standalone Repo Scaffolding: Creates a complete repository structure with src/, data/synthetic/, results/, scripts/, and tests/, rewriting all internal imports from trajectory_tda.* to src.*. - Synthetic Data Generation and Smoke Tests: Generates synthetic data matching statistical properties (never real BHPS/USoc data) and smoke tests that pass without the monorepo installed. - Use Case: Before submitting paper P01-B to a journal, run the extraction to produce ../p01-b-[slug]/ with passing tests, then push to GitHub, tag v1.0.0, and let Zenodo mint the DOI cited in submission statements. ## Quick Start Ask the AI to run /paper-repo-extract for paper P01-B and confirm the target directory and operation list when prompted.

Frequently Asked Questions about paper-repo-extract

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a reproducibility repository for a paper from a monorepo?

Run the extraction workflow with the paper ID, for example /paper-repo-extract P01-B. It traces imports from entry scripts, scaffolds a standalone directory, rewrites imports, and generates synthetic data plus smoke tests.

How do I get a Zenodo DOI for a GitHub repository?

Enable the repository on zenodo.org under the GitHub integration, then tag a release such as v1.0.0 on GitHub. Zenodo automatically mints a DOI, which you record in the paper's _project.md and submission statements.

Can I include real BHPS or UK Understanding Society data in the repository?

No, real BHPS/USoc data is prohibited by the data access agreement. The repository must include a synthetic data generator matching statistical properties only, plus a UKDA data disclaimer in the README.

What happens if the target extraction directory already exists?

The workflow stops and asks for explicit confirmation rather than overwriting. It presents the target path and full operation list first, requiring human approval before creating or modifying any files.

How are monorepo imports handled in the extracted repository?

All trajectory_tda.* imports are rewritten to src.* across copied files. The smoke tests in tests/test_smoke.py must pass with uv run pytest without the TDL monorepo installed.