Full project analysis for an unfamiliar Sage/Acorn/Lando project — discovers CPTs, routes, ACF field groups, Livewire components, Service Providers, active plans, installed packages; produces a structured project overview with health status and recommended next steps. Invoke for: "/onboarding", "I'm new to this project", "what does this project do", "show me what exists", "project overview", "orient me to this codebase", "what exists in this project". Skip when: you already know the project —...
Scanned 9/11/2026
Install to Claude Code
npx -y skills add hekivo/superpowers-sage --skill onboarding --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Onboarding?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/hekivo-onboarding)More formats (shields.io, HTML) on the badges page.
---
name: superpowers-sage:onboarding
description: >
Full project analysis for an unfamiliar Sage/Acorn/Lando project — discovers CPTs, routes,
ACF field groups, Livewire components, Service Providers, active plans, installed packages;
produces a structured project overview with health status and recommended next steps.
Invoke for: "/onboarding", "I'm new to this project", "what does this project do",
"show me what exists", "project overview", "orient me to this codebase",
"what exists in this project".
Skip when: you already know the project — the session-start hook already provided
basic stack info; invoke the target skill directly instead.
user-invocable: true
context: fork
---
# Onboarding — Project Analysis & Overview
Analyze a Sage/Acorn project's current state and present a clear overview with next steps.
## When to use
- Developer is new to the project or returning after a break
- First interaction with a Sage/Acorn project in a session
- Developer wants to understand what's configured and what's missing
## Procedure
### 0) Run project inventory
Scan the project using native tools (Glob, Grep, Read — no bash pipes needed):
**Sage themes:** Use `Grep` with pattern `"roots/acorn"` on glob `**/composer.json` (excluding vendor/node_modules).
**Acorn version:** Use `Glob` to find `**/composer.lock` (excluding vendor), then `Read` it and extract the `roots/acorn` version from the `packages` array.
**Service Providers:** Use `Glob` with pattern `**/app/Providers/*.php` (excluding vendor). Extract filenames from paths.
**ACF Blocks:** Use `Glob` with pattern `**/app/Blocks/*.php` (excluding vendor). Extract filenames from paths.
**Routes:** Use `Glob` with patterns `**/routes/web.php` and `**/routes/api.php` (excluding vendor).
**Livewire components:** Use `Glob` with pattern `**/app/Livewire/*.php` (excluding vendor). Extract filenames from paths.
**Installed packages (theme):** Use `Glob` to find the theme's `composer.json` (the one containing `"roots/acorn"`), then `Read` it and extract the `require` block.
**Lando config:** Use `Read` on `.lando.yml` (top-level only).
**Runner detection:** After reading `.lando.yml`:
- If `.lando.yml` exists at repo root (Read succeeded):
→ runner: Lando
→ isolation: branch+commit-per-phase
→ reason: Lando mounts /app to a fixed path; worktrees require
re-mounting per worktree — incompatible.
- If `.lando.yml` does not exist (Read returned not-found or file is absent):
→ runner: docker-compose / bare-metal
→ isolation: worktree-per-component (default building behavior)
Record the detected runner for use in Step 3.
### 1) Detect design tools
Use ToolSearch to check for available design MCPs:
- Search for `mcp__paper__` — Paper.design MCP (preferred when the user works from paper.design)
- Search for `mcp__stitch__` — Stitch (Google) MCP
- Search for `mcp__figma__` — Figma MCP
- Search for `mcp__playwright__` — Playwright MCP for screenshots
Report which design tools are available.
### 1b) HARD GATE — Playwright MCP
After detecting design tools, before suggesting next steps:
Use ToolSearch to search for `mcp__plugin_playwright_playwright__browser_take_screenshot`.
If NOT found, output this message and **stop completely**. Do not suggest any next steps.
Do not proceed to step 2.
```
⛔ STOP — Playwright MCP is required
Visual verification is mandatory in this workflow.
/building and /verifying cannot proceed without Playwright.
Install:
claude mcp add playwright -- npx -y @anthropic/playwright-mcp
After installing, restart this session and run /onboarding again.
```
### 2) Check for active plans (with git cross-validation)
Look for `docs/plans/*/plan.md` files with `status: in-progress`. For each:
1. Read the `branch:` field from frontmatter (if present)
2. Cross-check against git:
- Run `git branch --merged main` — if the plan's branch appears, the work was merged; plan frontmatter should be `status: completed`, not `in-progress`
- Run `gh pr list --state=merged --head <branch>` — if a merged PR exists for the branch, same conclusion
3. If the plan claims `in-progress` but git says the branch is merged: flag this as **stale plan** and offer to update frontmatter:
```
⚠️ Plan "{title}" at {path} claims status: in-progress, but branch {branch}
was merged to main in commit {sha}. Update to status: completed? [y/N]
```
4. For branches claimed as `merged` in any reported context, always verify with `git branch --merged main` before saying so. Never report a merge without git confirmation.
Report active plans that survive this cross-check with accurate status.
### 3) Present structured overview
```
## Project: {theme-name}
### Stack
- Acorn: {version} | PHP: {version} | Node: {version}
- Tailwind: {v3 or v4} | Database: {mysql/mariadb}
- Runner: {Lando → isolation: branch+commit-per-phase | docker-compose/bare-metal → isolation: worktree-per-component}
### Installed Packages
{list from composer.json — highlight: acf-composer, livewire, poet, navi}
### What's Configured
- Service Providers: {count} ({names})
- ACF Blocks: {count} ({names})
- Routes: {web.php? api.php?}
- Livewire: {installed or not}
### Design Tools
- Paper: {available/not available} (preferred when designs live on paper.design)
- Stitch: {available/not available}
- Figma: {available/not available}
- Playwright: {available/not available}
### Active Plans
{list or "No active plans"}
### Branch Status
- Current branch: {output of `git branch --show-current`}
- {If on main/master}: ⚠️ Start a feature branch before implementing: `git checkout -b feat/<topic>-YYYY-MM-DD`
- {If on feature branch}: ✅ Working on `{branch}` — aligned with workflow
### Lando Services
{services and URLs from proxy config}
```
### 4) Suggest next steps
Based on project state:
- New project → suggest `/architecture-discovery` then `/plan-generator` to prepare first feature plan
- Active plan → suggest `/building` to resume implementation
- Existing code → suggest `/reviewing` for health check
- Issue reported → suggest `/debugging`
- Playwright confirmed ✅ — visual verification is available
## Key Principles
- **Be factual** — only report what you actually found
- **Be concise** — overview should fit on one screen
- **Be helpful** — suggest concrete next steps
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!