archive/start-right/SKILL.md
Comprehensive repository initialization and scaffolding for new projects. Use when setting up a new repository from scratch with git, GitHub, CI/CD workflows, branch protection, validation checks (format, lint, type-check, tests, builds), git hooks (husky/lefthook), GitHub Actions for PR and main branch validation, automated versioning and tagging, and project-specific release workflows. Ideal for solo developers who want production-ready repository setup including (1) Git initialization with main branch, (2) GitHub repository creation and configuration, (3) Branch protection rules, (4) PR workflow with squash merging and auto-delete branches, (5) Comprehensive validation checks, (6) Git hooks for pre-commit and pre-push validation, (7) GitHub Actions CI/CD pipelines, (8) Automated releases with GitHub Releases integration.
npx skillsauth add slamb2k/mad-skills start-rightInstall 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.
Complete repository initialization and scaffolding for new projects with production-ready CI/CD workflows, validation checks, and automated releases.
This skill provides end-to-end repository setup for solo developers, automating everything from git initialization to production deployment workflows. It handles project type detection, appropriate tooling configuration, GitHub repository creation, branch protection, validation checks, git hooks, and comprehensive GitHub Actions workflows.
When a user requests repo initialization/scaffolding:
Before starting, verify:
# Check prerequisites
git --version
gh --version
gh auth status
If prerequisites are missing, provide installation instructions:
brew install git (macOS) or system package managerbrew install gh or from https://cli.github.comgh auth loginInitialize git repository with main as default branch:
python3 scripts/init_git_repo.py <repo-name> [--private] [--org <org>] [--type <project-type>]
Options:
--private: Create private repository (default: public)--org <n>: Create under organization--type <type>: Project type for appropriate .gitignore (node, python, rust, go)This script:
main branch.gitignore fileSet up linting, formatting, and type checking based on project type:
python3 scripts/setup_tooling.py [project-type]
If project type is not specified, it will be auto-detected.
This creates configuration files like:
.eslintrc.json, .prettierrc.json, tsconfig.json.flake8, .black.toml, mypy.inirustfmt.tomlAfter running, install the necessary dependencies:
npm install --save-dev eslint prettier typescript @typescript-eslint/parser @typescript-eslint/eslint-pluginpip install black flake8 mypy pytestConfigure pre-commit and pre-push hooks:
python3 scripts/setup_git_hooks.py [--husky|--lefthook] --checks format,lint,type-check,test,build
Hook tool selection:
--husky: For Node.js projects (recommended, requires npm)--lefthook: Universal, works with any project typeChecks configuration:
--checks flagThis script:
Generate comprehensive CI/CD workflows:
python3 scripts/generate_workflows.py --checks format,lint,type-check,test,build --release <release-type>
Release types (choose based on project):
npm: npm package publicationgithub-pages: Static site to GitHub Pagesdocker: Container image to GitHub Container Registrybinary: Compiled binaries for multiple platformsskill: Claude Code skill (no deployment)pypi: Python package to PyPIvercel: Skip (Vercel handles deployment automatically)This creates:
Workflow features:
Configure branch protection to enforce PR workflow:
python3 scripts/setup_branch_protection.py build,test
Pass comma-separated list of required status checks (matching GitHub Actions job names).
This script configures:
Create initial commit and push to main:
git add .
git commit -m "chore: initial repository scaffolding"
git push -u origin main
Verify setup:
.github/workflows/For best user experience, guide users through the process interactively:
Ask the user:
Execute the scaffolding scripts in order, showing progress:
🚀 Initializing repository...
✅ Git initialized with main branch
✅ Created .gitignore
✅ Created GitHub repository: username/repo-name (public)
✅ Configured remote origin
🔧 Setting up tooling...
✅ Created .eslintrc.json
✅ Created .prettierrc.json
✅ Created tsconfig.json
🪝 Configuring git hooks...
✅ Installed husky
✅ Created pre-commit hook (format, lint)
✅ Created pre-push hook (test, build)
⚙️ Generating GitHub Actions workflows...
✅ Created pr-validation.yml
✅ Created main-ci-cd.yml
✅ Created release.yml (npm)
🔒 Configuring branch protection...
✅ Enabled branch protection for main
✅ Configured squash merge only
✅ Enabled auto-delete branches
📝 Creating initial commit...
✅ Initial commit created and pushed
Provide next steps to the user:
✅ Repository scaffolding complete!
Your repository is ready at: https://github.com/username/repo-name
Next steps:
1. Install dependencies:
npm install
2. Install dev dependencies for tooling:
npm install --save-dev eslint prettier typescript
3. Test the setup:
- Make a change in a file
- Commit (hooks should run)
- Push to trigger branch protection (push will fail - create PR instead)
4. Create your first feature:
git checkout -b feature/initial-implementation
# Make changes
git add .
git commit -m "feat: add initial implementation"
git push -u origin feature/initial-implementation
5. Open a pull request:
gh pr create --fill
# CI will run automatically
# After approval (or if no review required), squash and merge
6. Configure secrets (if needed for releases):
- For npm: Add NPM_TOKEN to repository secrets
- For PyPI: Add PYPI_TOKEN to repository secrets
- For Docker: Authentication handled automatically via GITHUB_TOKEN
Validation checks configured:
- Pre-commit: format, lint, type-check
- Pre-push: test, build
- PR workflow: format, lint, type-check, test, build
- Main workflow: ALL checks + integration tests + release
Release strategy: npm
- Merges to main will automatically version, tag, and publish to npm
- Check .github/workflows/release.yml for details
Branch protection active:
- Cannot push directly to main
- PRs required with squash merge
- Feature branches auto-delete after merge
Resources:
- Workflows: .github/workflows/
- Git hooks: .husky/ (or lefthook.yml)
- Tooling config: .eslintrc.json, .prettierrc.json, tsconfig.json
Based on project type, suggest appropriate release strategies. See references/release-strategies.md for comprehensive details on each strategy.
For npm/Node.js projects:
For Python projects:
For Rust projects:
For Docker projects:
For Claude Code skills:
For static sites:
npm install has been run (installs hooks)lefthook install to activate hookschmod +x .husky/pre-commitFor detailed information:
references/project-types.md for validation and build requirements per typereferences/release-strategies.md for comprehensive deployment optionsAll automation scripts are in scripts/:
init_git_repo.py: Git and GitHub initializationsetup_tooling.py: Linting, formatting, type checking configurationsetup_git_hooks.py: Git hooks with husky or lefthookgenerate_workflows.py: GitHub Actions workflow generationsetup_branch_protection.py: Branch protection rules configurationEach script can be run independently or as part of the complete scaffolding flow.
testing
Run the full OMC idea-to-merged-PR pipeline — cancel + deep-interview + ralplan + autopilot + mad-skills:ship — in a single invocation. Explicit-only; this skill never auto-activates. Only run when the user literally types /launch. Do not invoke on phrases like "launch this", "ship it", "full pipeline", or similar — none of those should trigger this skill.
testing
Ship changes through the full PR lifecycle. Use after completing feature work to commit, push, create PR, wait for checks, and merge. Handles the entire workflow: syncs with main, creates feature branch if needed, groups commits logically with semantic messages, creates detailed PR, monitors CI, fixes issues, squash merges, and cleans up. Invoke when work is ready to ship.
development
Generate container-based release pipelines that build once and promote immutable artifacts through environments (dev → staging → prod). Detects your stack, interviews for infrastructure choices, then outputs deterministic CI/CD files (Dockerfile, workflows, deployment manifests) that run without an LLM. Use when setting up deployment pipelines, containerizing an app, creating release workflows, or connecting CI to container-friendly infrastructure (Azure Container Apps, AWS Fargate, Google Cloud Run, Kubernetes, Dokku, Coolify, CapRover, etc.).
development
Initialize any project directory with a standard scaffold for AI-assisted development. Creates specs/ and context/ directories, a project CLAUDE.md with development workflow and guardrails, .gitignore, and branch protection. Recommends claude-mem for persistent memory. Idempotent — safe to run on existing projects. Triggers: "init project", "setup brace", "brace", "initialize", "bootstrap", "scaffold".