About repo-prep
Repo Prep is an interactive skill for preparing repository files before GitHub publication. It inspects the project, asks which work to perform, and generates legal, metadata, community, and compliance materials from an author profile.
Key features
- 01Inspects repository files and metadata
- 02Generates license and community documents
- 03Creates GitHub templates and workflows
- 04Guides AI authorship records
- 05Applies conditional EU and Germany compliance checks
- 06Shows diffs and verifies changes
Use cases
- 01Preparing a new repository for publication
- 02Adding a license, NOTICE, or README content
- 03Recording contributions to AI-assisted work
- 04Reviewing applicable compliance obligations
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ glebis/ claude-skills --skill repo-prepAfter installing, type/repo-prepin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
assets/github/dependabot.ymlpull_request_template.mdassets/github/ISSUE_TEMPLATE/bug_report.mdfeature_request.mdassets/github/workflows/ci-node.ymlci-python.ymlassets/licenses/BSD-3-Clause.txtMIT.txtassets/templates/AUTHORSHIP.mdCHANGELOG.mdCODE_OF_CONDUCT.mdCONTRIBUTING.mdNOTICE.txtprofile.example.tomlSECURITY.mdreferences/authorship-wizard.mdchecklist.mdeu-germany-compliance.mdlicenses.mdscripts/fetch_license.pyDetails
From the project READMERepo Prep
Interactively scaffold the legal, metadata, community, and compliance files a repository needs before publication — consistently, from a central author profile, with author choices respected per repo.
When to use
- Preparing a new or existing repo for GitHub / open-sourcing.
- Adding missing LICENSE, NOTICE, AUTHORSHIP, README sections, or package metadata.
- Writing a defensible AUTHORSHIP record for AI-assisted work (the wizard).
- Adding community docs or
.github/templates. - Checking EU/Germany compliance obligations for a repo.
Operating principles
- Interactive, not assumed. Ask the user for choices (see Asking questions
below); respect the author profile's
defaultsbut confirm per repo. Don't blindly dump templates. - Idempotent. Detect what already exists; skip or refresh, never clobber silently. Show a plan before writing.
- Evidence over assertion (especially authorship): mine the repo for facts.
- Confirm outward-facing actions (anything via
gh, pushes) before running. - Follow the user's git conventions — commit only when asked.
Asking questions (interview transport)
Prefer cenno when it is installed — it gives a nicer panel, progress dots, and voice input (great for the reflective authorship answers).
- Detect cenno once per run:
ToolSearchformcp__cenno__ask_sequence. If the tools resolve, use cenno; otherwise fall back toAskUserQuestion(choices) / plain conversational prompts (free text). - When using cenno:
- Multi-question flows (the authorship wizard, scope selection) →
mcp__cenno__ask_sequencewithflow: "question"; it auto-fills progress dots. - Single questions →
mcp__cenno__ask_user. - Use
input.kind: "choice"+choicesfor pick-one;"confirm"for yes/no;"voice_text"for reflective free-text (Decisions, Judgment, Direction, Art Direction);"scale"for ratings. - Parse the returned JSON (
{answers: [...]}/{answer, ...}). Handle{answered: false}(timeout) by retrying or falling back.
- Multi-question flows (the authorship wizard, scope selection) →
- If cenno is wanted but not installed, mention it can be set up via the
cennoskill; do not block — fall back gracefully.
Central author profile (single source of truth)
Identity, promo links ("ads"), and defaults live in
~/.config/personal-os/repo-prep/profile.toml (override with REPO_PREP_PROFILE).
- On first run, if it doesn't exist, copy
assets/templates/profile.example.tomlthere and walk the user through filling it (name, email, github, url, promo projects, defaults). It is pre-seeded for this author. - Read it at the start of every run to resolve
{{author}},{{email}},{{github}}, the promo block, and default choices.
Workflow
- Detect — inspect the repo: manifest/ecosystem (
pyproject.toml,package.json,Cargo.toml,go.mod), existing files,git remote, default branch, whether it's already on GitHub. Read the author profile. - Scope — confirm which components to do via
AskUserQuestion(core / community / .github / promo / compliance / gh remote). Pre-fill from profiledefaults. - Resolve placeholders — once, per
references/checklist.md. - Generate — for each chosen component, create files from
assets/templates/andassets/github/, filling placeholders. Usescripts/fetch_license.pyfor LICENSE. Edit package metadata inline. - Authorship — if doing AUTHORSHIP.md, run the wizard (below), don't just fill the template.
- Compliance — if requested or the author is EU-based, run the gating
questions in
references/eu-germany-compliance.mdand add only what applies. - gh remote (optional) — confirm, then create/configure the repo.
- Verify — run the test suite (metadata edits can break builds); show the diff; commit only if asked.
Full item-by-item detail, placeholder table, and ecosystem detection:
references/checklist.md (read it before generating).
The authorship wizard
A first-class feature. To produce a defensible AUTHORSHIP.md for AI-assisted
work, read and follow references/authorship-wizard.md. It:
- gathers external evidence first (ADRs, git log, changelog, AI session logs,
CLAUDE.md/AGENTS.md, design tokens) and offers a draft to edit; - asks the jurisdiction first, then interviews across five sections — Decisions, Exercise of Judgment, Goal Setting & Direction, Art Direction, AI Implementation;
- writes a Legal & Copyright section with jurisdiction-aware framing (US human-authorship bar, EU/Germany "own intellectual creation", UK CGW);
- always states it is not legal advice.
Output template: assets/templates/AUTHORSHIP.md.
EU / Germany compliance
references/eu-germany-compliance.md covers CRA (SBOM, vuln reporting), AI Act
Art. 50 transparency, German Impressum (DDG), GDPR, the Product Liability
Directive, and the EAA. Obligations are conditional — ask the gating
questions and add only what applies. Not legal advice.
Resources
assets/licenses/— bundled MIT, BSD-3-Clause (offline); others fetched.assets/templates/— AUTHORSHIP, CODE_OF_CONDUCT, CONTRIBUTING, SECURITY, NOTICE, CHANGELOG, profile.example.toml.assets/github/— PR + issue templates, dependabot, CI workflows (python/node).scripts/fetch_license.py— write a filled LICENSE for any SPDX id.references/—checklist.md,licenses.md,authorship-wizard.md,eu-germany-compliance.md.