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".
npx skills add https://github.com/glebis/claude-skills --skill 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.
.github/ templates.below); respect the author profile's defaults but confirm per repo. Don't
blindly dump templates.
silently. Show a plan before writing.
gh, pushes) before running.Prefer cenno when it is installed — it gives a nicer panel, progress dots,
and voice input (great for the reflective authorship answers).
ToolSearch formcp__cenno__ask_sequence. If the tools resolve, use cenno; otherwise fall
back to AskUserQuestion (choices) / plain conversational prompts (free text).
mcp__cenno__ask_sequence with flow: "question"; it auto-fills progress dots.
mcp__cenno__ask_user.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.
{answers: [...]} / {answer, ...}). Handle{answered: false} (timeout) by retrying or falling back.
cenno skill; do not block — fall back gracefully.
Identity, promo links ("ads"), and defaults live in
~/.config/personal-os/repo-prep/profile.toml (override with REPO_PREP_PROFILE).
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.
{{author}}, {{email}},{{github}}, the promo block, and default choices.
pyproject.toml,package.json, Cargo.toml, go.mod), existing files, git remote, default
branch, whether it's already on GitHub. Read the author profile.
AskUserQuestion (core /community / .github / promo / compliance / gh remote). Pre-fill from profile
defaults.
references/checklist.md.assets/templates/ and assets/github/, filling placeholders. Use
scripts/fetch_license.py for LICENSE. Edit package metadata inline.
fill the template.
questions in references/eu-germany-compliance.md and add only what applies.
diff; commit only if asked.
Full item-by-item detail, placeholder table, and ecosystem detection:
references/checklist.md (read it before generating).
A first-class feature. To produce a defensible AUTHORSHIP.md for AI-assisted
work, read and follow references/authorship-wizard.md. It:
CLAUDE.md/AGENTS.md, design tokens) and offers a draft to edit;
**Decisions, Exercise of Judgment, Goal Setting & Direction, Art Direction,
AI Implementation**;
(US human-authorship bar, EU/Germany "own intellectual creation", UK CGW);
Output template: assets/templates/AUTHORSHIP.md.
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.
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.
Take glebis/repo-prep 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.