skills/mp-init-repo/SKILL.md
Initialize git repo, push to GitHub, set up branch protection. Use when starting a new project.
npx skillsauth add MartinoPolo/mpx-claude-code mp-init-repoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Initialize a new git repository with comprehensive .gitignore, Claude Code project structure, GitHub remote, and branch protection.
Check for existing git repo: If .git/ already exists, inform the user and abort.
Run the init script: Execute the initialization script:
bash $HOME/.claude/skills/mp-init-repo/scripts/init-repo.sh
Create .mpx/ structure: Create the project documentation directory (see skills/shared/DOCUMENTATION_STRATEGY.md for format):
.mpx/CONTEXT.md # Project context: domain language, feature index, constraints
.mpx/DECISIONS.md # Settled architectural and design decisions
CONTEXT.md template:
# [Project Name] Context
## What This Is
[3-sentence project summary]
## Domain Language
[Terms added via `/mp-grill` or `/mp-vocabulary`]
## Core Features
[Feature index: name + status + PRD#]
## Key Constraints
[Settled facts about the system]
DECISIONS.md template:
# Decisions
Settled architectural and design decisions. Updated via `/mp-grill` and `/mp-harvest-decisions`.
Commit the .mpx/ files.
Ask repo visibility: Ask the user whether the GitHub repo should be private (default/recommended) or public.
Create GitHub repo and push:
main: git branch -m master main (if needed)gh repo create <repo-name> --private|--public --source=. --push
dev branch:
git checkout -b dev && git push -u origin dev
dev as the default branch:
gh api repos/{owner}/{repo} -X PATCH --field default_branch=dev
Set up branch protection on both main and dev:
gh api repos/{owner}/{repo}/branches/{branch}/protection -X PUT --input - <<'EOF'
{
"required_status_checks": {"strict": false, "contexts": ["checks"]},
"enforce_admins": true,
"required_pull_request_reviews": {"required_approving_review_count": 0},
"restrictions": null
}
EOF
Report results: Show the user what was created:
.git/, .gitignore, .claude/, .mpx/)main + dev, default = dev)project/
├── .git/
├── .gitignore # Comprehensive multi-language
├── .claude/
│ └── CLAUDE.md # Project context template
└── .mpx/
├── CONTEXT.md # Domain language, feature index, constraints
└── DECISIONS.md # Settled architectural decisions
GitHub:
├── Remote repo (private or public)
├── Branches: main, dev (default)
└── Branch protection on main + dev (if plan supports it)
.gitignore is copied from templates/gitignore.template — deterministic, no LLM generationmain.js, data.json) should be appended after init.mpx/ is intentionally NOT ignored — requirements and decisions should be versioneddev is always the default branch — development happens there, main is for stable/releaseschecks is a placeholder; actual CI workflow added separatelydevelopment
Audit all active skills for consistency, convention drift, and common issues. Auto-fixes where possible, reports remaining issues. Use when: "audit skills", "skill audit", "check skills", "lint skills"
testing
Ship finished work: sync base, commit, push, PR, wait for CI green, merge. Use when: "ship it", "ship and merge", "ship this"
development
Scan recent Claude Code sessions for grilling/design discussions, extract decisions, and update CONTEXT.md + DECISIONS.md. Use when: "harvest decisions", "extract decisions from sessions", "update docs from sessions", "sync decisions"
tools
Consolidate CONTEXT.md: remove duplicates, outdated items, tighten language. Use when: "consolidate context", "clean up context", "simplify context", "consolidate requirements"