بنقرة واحدة
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