repo-prep

star 268

Interactively prepare a code repository for publication — LICENSE, NOTICE, AUTHORSHIP, README sections, package metadata, .gitignore, community docs (CONTRIBUTING/CODE_OF_CONDUCT/SECURITY/CHANGELOG), .github templates (issues/PR/CI/dependabot), a promo "more from the author" block, and conditional EU/Germany legal compliance (CRA, AI Act, GDPR, Impressum, product liability). Includes a dedicated authorship wizard that documents human decisions, judgment, direction, and art direction with jurisdiction-aware legal framing. Use when setting up a new repo for release, adding missing legal/meta/community files, writing an AUTHORSHIP record for AI-assisted work, or asking "prepare this repo for GitHub / open-sourcing".

glebis By glebis schedule Updated 6/15/2026

name: repo-prep description: Interactively prepare a code repository for publication — LICENSE, NOTICE, AUTHORSHIP, README sections, package metadata, .gitignore, community docs (CONTRIBUTING/CODE_OF_CONDUCT/SECURITY/CHANGELOG), .github templates (issues/PR/CI/dependabot), a promo "more from the author" block, and conditional EU/Germany legal compliance (CRA, AI Act, GDPR, Impressum, product liability). Includes a dedicated authorship wizard that documents human decisions, judgment, direction, and art direction with jurisdiction-aware legal framing. Use when setting up a new repo for release, adding missing legal/meta/community files, writing an AUTHORSHIP record for AI-assisted work, or asking "prepare this repo for GitHub / open-sourcing".

Repo 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 defaults but 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).

  1. Detect cenno once per run: ToolSearch for mcp__cenno__ask_sequence. If the tools resolve, use cenno; otherwise fall back to AskUserQuestion (choices) / plain conversational prompts (free text).
  2. When using cenno:
    • Multi-question flows (the authorship wizard, scope selection) → mcp__cenno__ask_sequence with flow: "question"; it auto-fills progress dots.
    • Single questions → mcp__cenno__ask_user.
    • Use input.kind: "choice" + choices for 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.
  3. If cenno is wanted but not installed, mention it can be set up via the cenno skill; 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).

  1. On first run, if it doesn't exist, copy assets/templates/profile.example.toml there and walk the user through filling it (name, email, github, url, promo projects, defaults). It is pre-seeded for this author.
  2. Read it at the start of every run to resolve {{author}}, {{email}}, {{github}}, the promo block, and default choices.

Workflow

  1. 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.
  2. Scope — confirm which components to do via AskUserQuestion (core / community / .github / promo / compliance / gh remote). Pre-fill from profile defaults.
  3. Resolve placeholders — once, per references/checklist.md.
  4. Generate — for each chosen component, create files from assets/templates/ and assets/github/, filling placeholders. Use scripts/fetch_license.py for LICENSE. Edit package metadata inline.
  5. Authorship — if doing AUTHORSHIP.md, run the wizard (below), don't just fill the template.
  6. Compliance — if requested or the author is EU-based, run the gating questions in references/eu-germany-compliance.md and add only what applies.
  7. gh remote (optional) — confirm, then create/configure the repo.
  8. 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.
Install via CLI
npx skills add https://github.com/glebis/claude-skills --skill repo-prep
Repository Details
star Stars 268
call_split Forks 36
navigation Branch main
article Path SKILL.md
More from Creator