ワンクリックで
onboard
Onboard a new contributor to the CineMatch project - setup environment, verify tools, and explain the project
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Onboard a new contributor to the CineMatch project - setup environment, verify tools, and explain the project
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Intelligent just target wrapper with context-aware suggestions for CineMatch
Backlog workflow management - new, start, done commands for incremental delivery. Supports both admin (main branch) and contributor (feature branch) workflows.
Accept a new contributor with write access and close their request issue
TDD cycle helper - run test, check result, update increment file
Force just check before commit, block if failures
Generate conventional commit messages with emoji, ensure no Co-Authored-By
| name | onboard |
| description | Onboard a new contributor to the CineMatch project - setup environment, verify tools, and explain the project |
Guide new contributors through complete environment setup and project orientation.
/onboard [github-username]If no username provided, will prompt for it. The skill handles the entire onboarding journey from access request to running local dev environment.
Goal: Get the contributor write access to the repo.
Check if already a collaborator:
gh api repos/umans-ai/cinematch/collaborators/{username} --silent 2>/dev/null && echo "Already has access"
If no access, create issue:
gh issue create --title "Request access: @{username}" --body "Requesting write access to contribute to CineMatch."
Explain: "I've created an issue to request access. A maintainer will add you soon. You'll receive an email invitation to accept."
Goal: Verify all required tools are installed.
Check each tool with pedagogical explanation:
| Tool | Check Command | Why We Need It |
|---|---|---|
| Git | git --version | Version control - we use trunk-based development |
| Docker | docker --version && docker compose version | Local dev environment - runs backend + frontend together |
| Python 3.11+ | python3 --version | Backend runtime - FastAPI app |
| Node.js 20+ | node --version | Frontend runtime - Next.js app |
For each missing tool, explain what it does and how to install it:
Continue only when all prerequisites are present.
Goal: Install GitHub CLI and verify Playwright MCP.
GitHub CLI (gh):
# Check if installed
gh --version
# If not, explain: "gh lets you interact with GitHub from the terminal - create PRs, check status, etc."
# Provide install instructions for their OS
Authentication check:
gh auth status || gh auth login
Explain: "gh authentication lets you create PRs and check CI status without leaving the terminal."
Goal: Clone and setup the codebase.
If not already in the repo:
git clone https://github.com/umans-ai/cinematch.git
cd cinematch
Explain: "We clone directly (no fork needed) because with write access, your PRs get automatic AWS previews."
Goal: Get Python dependencies installed with uv.
cd backend
# Check uv
uv --version || echo "uv not installed"
If uv missing, explain:
"uv is a fast Python package manager written in Rust. We use it instead of pip." "Install:
curl -LsSf https://astral.sh/uv/install.sh | sh"
Sync dependencies:
uv sync --group dev
Explain: "uv sync reads uv.lock and recreates the exact environment. Like npm install but for Python."
Goal: Get Node dependencies installed with pnpm.
cd frontend
# Check pnpm
pnpm --version || echo "pnpm not installed"
If pnpm missing, explain:
"pnpm is a fast Node.js package manager. It uses hardlinks to avoid duplicating files." "Install:
npm install -g pnpm"
Install dependencies:
pnpm install
Explain: "The frontend uses Next.js. pnpm install reads pnpm-lock.yaml and recreates the exact environment. Like uv sync but for the frontend."
Goal: Run the full check suite.
# From repo root
just check
Explain what happens:
"
just checkruns all project checks:" "- Linting (ruff for Python, eslint for JS)" "- Type checking (ty for Python, tsc for TS)" "- Tests (pytest)"
If checks pass: "Perfect! Everything is set up."
If checks fail: "There are errors. Let's look together..." (analyze and help fix)
Goal: Verify the app starts correctly.
# Start the full dev environment
just dev-local
Explain: "just dev-local starts PostgreSQL in Docker, then the backend (port 8000) and frontend (port 3000) locally. It uses healthchecks to wait for services to be ready."
Verify it's running:
just dev-local-status
Stop after verification:
just dev-local-stop
Goal: Determine if user is admin or contributor, then give high-level overview.
Auto-detect role:
just check-role
Explain based on result:
Product (30 seconds):
"CineMatch is 'Tinder for movies for couples'. A couple swipes on movies, and the app finds their matches." "It solves the problem: 'What do we watch tonight?'"
Architecture (30 seconds):
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Next.js │────▶│ FastAPI │────▶│ PostgreSQL │
│ (frontend) │◀────│ (backend) │ │ (Docker) │
└─────────────┘ └─────────────┘ └─────────────┘
"React frontend (Next.js) ↔ API backend (FastAPI) ↔ Database (PostgreSQL in Docker locally, RDS in prod)"
Contribution workflow (30 seconds) - Contributor mode:
"Important: You cannot push to
main, only create branches and PRs.""Your simplified workflow:"
git checkout -b 00005-my-feature # Create branch directly echo "..." > docs/backlog/todo/00005.md # Create in todo/ git add . && git commit -m "chore: add my-feature 📋" git mv docs/backlog/todo/00005.md docs/backlog/in-progress/ # Move to in-progress/ git commit -m "chore: start my-feature 🚀" git push origin 00005-my-feature # Push gh pr create --title "chore: start my-feature 🚀" --body "..." # ^^ This PR is AUTO-MERGED instantly! No maintainer wait 🎉 # ... development ... git mv docs/backlog/in-progress/00005.md docs/backlog/done/ # Move to done/ git commit -m "chore: complete my-feature ✅" # ... code commits ... git push origin 00005-my-feature # Final push + PR for code"When you start work (todo→in-progress), the PR auto-merges instantly!" "When you're done, the done commit and code go together in one reviewed PR." "Only difference from admin: you never push to
main, and starting work is instant."
Admin workflow (alternative) - Admin mode:
"Admin workflow on
mainbranch:"# On main branch git add docs/backlog/todo/00005.md git commit -m "chore: add my-feature 📋" git push origin main git mv docs/backlog/todo/00005.md docs/backlog/in-progress/ git commit -m "chore: start my-feature 🚀" git push origin main git checkout -b 00005-my-feature # ... development ... git mv docs/backlog/in-progress/00005.md docs/backlog/done/ git commit -m "chore: complete my-feature ✅" git push origin 00005-my-feature gh pr create --title "feat: ..." --body "...""Items are visible on main immediately; done commit travels with PR."
Key conventions to remember:
feat:, fix:, docs: with emoji at the endjust check, just dev-local, just dev-local-status - never long commands inlinedocs/backlog/ to track workGoal: Let them explore what interests them.
"Want me to deep dive on any of these?"
Options:
| Situation | Response |
|---|---|
| Tool not installed | Explain what it does + install link |
| Check fails | Show error, explain likely cause, suggest fix |
| Already set up | Skip gracefully, mention "Already ready!" |
| Network issues | Suggest retry, explain offline alternatives |
Onboarding is complete when:
just check passesjust dev-local starts successfully