원클릭으로
onboard-project
Wire a new project — writes maestro.json and scaffolds the temp directory structure.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Wire a new project — writes maestro.json and scaffolds the temp directory structure.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Generate a bespoke issue-workflow for any target project. Phase 1 — a Claude Opus analyst reads the project deeply and produces a disposition report. Phase 2 — on approval, parallel writer agents transplant every Maestro workflow component, adapted to the target project's actual stack, test runner, dev environment, and conventions. Use when a project needs its own self-contained issue-workflow without taking a direct dependency on Maestro.
Show the Maestro command map — a quick reference to all available skills.
Adversarially review a grooming spec before implementation starts. Finds hidden risks, unvalidated assumptions, and missing dependencies. Standalone entry point for the challenger agent.
Run QA validation on a pull request — boots the local environment, tests acceptance criteria, and optionally posts the report as a PR comment. Standalone entry point for the qa-engineer agent.
Run a lead code review on the current branch or a given PR. Standalone entry point for the lead-reviewer agent.
Groom a single GitHub issue — produce an implementation spec and optionally post the grooming summary as a GitHub comment. Standalone entry point for the grooming-agent.
| name | onboard-project |
| description | Wire a new project — writes maestro.json and scaffolds the temp directory structure. |
Wires a WordPress plugin project into the Maestro ecosystem in one pass: writes
.claude/maestro.json, scaffolds the .ai/ working directory, and prints
the next steps. After this skill runs, the project is ready for every Maestro
agent and workflow. Podium (the optional dashboard) can be installed separately.
Run from the project root (the plugin repo), not from inside Maestro.
In earlier versions, Podium hooks were installed as part of onboarding. Podium is now a separate plugin (see Installation section). Step 5 has been simplified.
ls .claude/maestro.json 2>/dev/null
If .claude/maestro.json already exists, show its contents and ask:
.claude/maestro.jsonalready exists. Overwrite it, or update only missing/null fields?
Stop until the user responds. Do not clobber an existing config silently.
Collect these five values. Infer sensible defaults from the git remote and directory structure first, then confirm with the user — do not invent values you can't verify.
git remote get-url origin 2>/dev/null
basename "$(pwd)"
ls -la
ls *.php 2>/dev/null
| Field | How to infer | Default |
|---|---|---|
| Plugin slug | repo name after / in the remote, or the directory name | — |
| Display name | Plugin Name: header in the main .php file, else title-cased slug | — |
| GitHub repo | owner/repo extracted exactly from the remote URL | — |
| Temp root | — | .ai |
| Base branch | — | origin/develop |
Examples of slug → display name: wp-rocket → "WP Rocket", imagify →
"Imagify", backwpup → "BackWPup".
Present what you inferred and ask the user to confirm or correct:
Onboarding this project with:
- slug:
wp-rocket- display_name:
WP Rocket- repo:
wp-media/wp-rocket- temp_root:
.ai- base_branch:
origin/developConfirm, or tell me what to change.
Wait for confirmation before writing anything.
.claude/maestro.jsonCreate the .claude/ directory if needed, then write the config using the
confirmed values. Use this exact structure:
{
"ai": {
"slug": "wp-rocket",
"display_name": "WP Rocket",
"repo": "wp-media/wp-rocket",
"temp_root": ".ai",
"base_branch": "origin/develop",
"architecture_skill": "wp-rocket-architecture",
"frontend_skill": null,
"editions": null,
"rest_namespace": null,
"html_log": false,
"e2e": {
"local_url": null,
"boot_cmd": null,
"settings_path": null,
"ci_integration": false,
"license_option_key": null
}
}
}
Rules for filling it in:
slug, display_name, repo, temp_root, base_branch → the confirmed
values from Step 2.architecture_skill → "{slug}-architecture" (e.g. wp-rocket-architecture).
This skill may not exist yet — that's expected; flag it in the summary.frontend_skill, editions, rest_namespace, e2e.local_url, e2e.boot_cmd,
e2e.settings_path → leave null. Later runs or the full deep-analysis onboarding
can fill these in. (Agents skip E2E probing while e2e.local_url / e2e.boot_cmd
are null.)html_log → false (the orchestrator's legacy HTML run log — Podium replaces it).e2e.ci_integration → false.mkdir -p .claude
Write the JSON to .claude/maestro.json.
.ai/ working directoryUse the confirmed temp_root (default .ai).
mkdir -p .ai/issues
.ai/issues/ — orchestrator run artifacts (one folder per issue).If the user chose a non-default temp_root, substitute it in the path.
Podium is a separate plugin. If the user wants the agent observer dashboard, they can install it after Maestro is set up:
/plugin marketplace add wp-media/claude-marketplace
/plugin install podium@wp-media
/podium setup
This is optional — Maestro works fine without Podium. Mention it in Step 7 as a suggested next step, but do not install it automatically.
.gitignoreKeep generated working files out of version control.
grep -n ".ai/" .gitignore 2>/dev/null
If .ai/ is not already ignored, append it:
printf '\n# Maestro working files\n.ai/\n' >> .gitignore
If .gitignore doesn't exist, create it with the same content. Skip this step
entirely if .ai/ already appears in .gitignore.
Print exactly this (substituting the real display name):
✓ Maestro configured for {display_name}
Config: .claude/maestro.json
Temp: .ai/
Next steps:
/orchestrator issue-N → run the full delivery pipeline
Optional:
/plugin install podium@wp-media → install the agent observer dashboard
If the architecture skill ({slug}-architecture) doesn't exist yet, add one
extra line after the next steps:
Heads up: create .claude/skills/{slug}-architecture/SKILL.md so grooming and
implementation agents understand this plugin's patterns.