mcpbeat

Repo Prep

glebis/repo-prep

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

11k tokens
context cost
the whole folder, loaded on every use
21
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
337
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/glebis/claude-skills --skill repo-prep

What comes with it

36 421 bytes besides the instruction
assets/github/ISSUE_TEMPLATE/bug_report.md
assets/github/ISSUE_TEMPLATE/feature_request.md
assets/github/dependabot.yml
assets/github/pull_request_template.md
assets/github/workflows/ci-node.yml
assets/github/workflows/ci-python.yml
assets/licenses/BSD-3-Clause.txt
assets/licenses/MIT.txt
assets/templates/AUTHORSHIP.md
assets/templates/CHANGELOG.md
assets/templates/CODE_OF_CONDUCT.md
assets/templates/CONTRIBUTING.md
assets/templates/NOTICE.txt
assets/templates/SECURITY.md
assets/templates/profile.example.toml
references/authorship-wizard.md
references/checklist.md
references/eu-germany-compliance.md
references/licenses.md
scripts/fetch_license.py

The instruction itself

9 sections, as written by the author

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

  • 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).

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

  • 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).

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

  • 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 profile

defaults.

  • Resolve placeholders — once, per references/checklist.md.
  • 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.

  • 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.md and 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.

How to use it

Copy the folder

Take glebis/repo-prep from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.