onboard
Interactive wizard for generating Automation Config
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Interactive wizard for generating Automation Config
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Analyzes a specific bug from the issue tracker (analysis only, no code changes)
Validate Automation Config, MCP servers, and tokens
Creates backlog epics in issue tracker from a specification document
Multi-agent discussion -- brings 2-3 agent perspectives into one conversation
Run the fix pipeline on a single ticket OR a batch -- auto-resumes from checkpoint if state exists
Implements a feature from the issue tracker -- spec, design, fix, review, test, publish
| name | onboard |
| description | Interactive wizard for generating Automation Config |
| allowed-tools | Read, Glob, Write, Edit |
| argument-hint | [--fresh] [--update] |
Interactive wizard that collects parameters and generates the ## Automation Config block.
Input: $ARGUMENTS = (none) | --fresh | --update
--fresh: force fresh mode, skip config detection--update: force update mode, error if no config existsTarget directory = git repository root (detect via git rev-parse --show-toplevel).
If not in a git repo → use CWD.
{target_dir}/CLAUDE.mdTarget: {absolute_path}/CLAUDE.md — Is this correct? [Y/n/custom path]{target_dir}/CLAUDE.md## Automation Config section--fresh in $ARGUMENTS → skip detection, go to Fresh mode (step 1)--update in $ARGUMENTS and no config exists → error: "No Automation Config found. Run without --update to create one."| State | Action |
|---|---|
| No config exists | Fresh mode (step 1) |
| Config exists, current version (has Pipeline Profiles or Metrics) | Offer: "[1] Update existing config [2] Start fresh (overwrites)" |
| Config exists, old version (no Pipeline Profiles and no Metrics) | "Detected older config format. Update it manually to match the current format in docs/reference/automation-config.md. Continue anyway? [y/N]" |
In update mode: parse entire existing config into key→value structure per section. This provides default values throughout the wizard.
Then proceed to:
Glob examples/configs/*.md
For each file, extract the template name from the H1 heading (# Stack Name)
Display the Available Templates table:
| Template | Stack | Tracker |
|---|---|---|
(one row per file — Tracker derived from filename prefix gitea-, github-, jira-, redmine-, youtrack-) |
Prompt user to enter a template name OR press Enter to skip
If user selects a template → Read examples/configs/{stack-name}.md and load it as pre-filled defaults
Continue with steps 2-5 for adjustments
Empty-glob fallback: If examples/configs/*.md returns zero results, skip directly to step 2 with the message: "No pre-built templates available — proceeding with classic wizard."
Heading-extraction contract: Every config file in examples/configs/*.md MUST start with # Stack Name as the first line (single H1). See examples/configs/README.md for the contract.
Greet the user: "I'll set up Automation Config for your project. I'll ask about all the parameters step by step."
Ask step by step:
Path note:
trackers.mdlives in the plugin installation directory, not in the consuming project. Glob is used to handle CWD-context mismatch.
Resolve {trackers_md_path} once:
Glob .claude/plugins/**/docs/reference/trackers.md — if results, use first (prefer path containing .claude/plugins/ or agent-flow/; if ambiguous → [WARN] "Multiple trackers.md found — using {path}.")
Glob **/docs/reference/trackers.md — use first result if step 1 found nothing
Use docs/reference/trackers.md as last resort
If not found → [WARN] "trackers.md not found — using built-in defaults for this tracker type." and use default values from knowledge.
Instance URL — read defaults from {trackers_md_path} Instance & Project Defaults table
Project name / key — read format from the same table
Bug query — read defaults from {trackers_md_path} Query Syntax table, substitute the project name
Feature query — "Do you also want to configure a feature query for /implement-feature?"
If yes, read defaults from {trackers_md_path} Query Syntax table (Feature query format column).
If user provides a Feature query → auto-include ### Feature Workflow section in output. The Feature query key is always emitted in the ### Feature Workflow section (where /implement-feature reads it from).
If user declines → no Feature query in output.
State transitions — read defaults from {trackers_md_path} State Transition Syntax table. Compose the full value using comma separator: In Progress: {format}, Blocked: {format}, For Review: {format}, Done: {format}
6a. Redmine status ID resolution (only when tracker type is redmine):
curl -s -H 'X-Redmine-API-Key: YOUR_KEY' https://YOUR_INSTANCE/issue_statuses.json | python3 -m json.tool"status_id:{id} formatOn start set — read defaults from {trackers_md_path} On Start Set Defaults table
Ask:
<your-gitea-host>/org/repo)main)fix/{issue}-{short-description})4a. PR Rules:
ForReview){issue-id} {Mode}: {summary} fallback). Example: {issue-id}-{mode}-{summary}. See docs/reference/automation-config.md → PR Rules → Title format for the placeholders and the English/ASCII normalization rules.4b. PR Description Template:
Auto-generate a tracker-appropriate template with this structure:
## Summary
{summary}
## Root Cause
{root_cause}
## Changes
{changes}
## Testing
{testing}
{tracker-specific footer}
Tracker-specific footers — read from {trackers_md_path} PR Description Footer table.
Display the full template as preview
"Looks good? Or do you want to customize? (add/remove/rename sections)"
If customize → apply changes interactively
Ask:
npm run build, dotnet build)npm test, pytest)Generated key names: Build command, Test command, Verify command.
6a. Bundle selection:
Which optional sections do you want to configure?
[1] standard (recommended) — Retry Limits, Error Handling, Pipeline Profiles, Feature Workflow
[2] full — all 14 optional sections
[3] minimal — Retry Limits only
[4] custom — choose from the list
If user selected a Feature query in step 2, Feature Workflow is auto-included regardless of bundle choice.
6b. If custom → show multi-select checklist:
Select sections to configure (comma-separated numbers):
[ 1] Retry Limits — max fixer/test/build retries
[ 2] Error Handling — behavior on pipeline block
[ 3] Pipeline Profiles — skip/add pipeline stages per task type
[ 4] Feature Workflow — feature-specific On start set
[ 5] Hooks — shell commands at pipeline integration points
[ 6] Custom Agents — custom agent files at pipeline points
[ 7] Notifications — webhook for pipeline events
[ 8] Worktrees — parallel bug processing via git worktrees
[ 9] E2E Test — end-to-end testing framework
[10] Decomposition — task decomposition for complex features
[11] Metrics — pipeline analytics configuration
[12] Browser Verification — browser-based bug reproduction and fix verification
[13] Module Docs — path to per-module documentation for agents
[14] Local Deployment — start/stop local environment for testing
6c. Processing order: Pipeline Profiles first (affects entire pipeline), then remaining in list order.
6d. Pipeline Profiles — prominent handling:
fast: skip triage, analyst-impact, test-engineer — "Quick fixes, skip analysis"strict: extra test-engineer-e2e — "Full quality gate"minimal: skip triage, analyst-impact, test-engineer, test-engineer-e2e — "Emergency hotfixes"6e. Feature Workflow — when asking about "On start set":
/implement-feature6f. For each remaining selected section, ask for its key values using defaults from docs/reference/automation-config.md:
comment), Max blocked per run (default: unlimited).worktrees/), Cleanup (default: auto)http://localhost:3000), Start command (default: none), Stop command (default: none), On events (default: reproduce, verify — must be reproduce, verify, or reproduce, verify), Timeout (default: 30), Max pages (default: 5)fail-fast), Commit strategy (default: squash)stdout), Period (default: 30 days)docker), Start command (default: docker compose up -d), Stop command (default: docker compose down), Health check URL (default: http://localhost:3000/health), Health check timeout (default: 60), Ports (default: none)Generate the Automation Config block from collected answers.
Language rules:
docs/reference/automation-config.md| Key | Value |) — never bullet-point listsFresh mode:
## Automation Config already exists → warn and offer overwrite or cancelUpdate mode:
Safety: Never delete existing sections/keys that the wizard does not recognize. Preserve custom additions.
Automation Config generated successfully.
Next steps:
1. Run /agent-flow:check-setup to validate your configuration
2. Run /agent-flow:setup-mcp to configure MCP servers and permissions
3. Try /agent-flow:analyze-bug <issue-id> to test the bug pipeline
If Feature query was configured, add:
4. Try /agent-flow:implement-feature <issue-id> to test the feature pipeline
Always end with:
Note: agent-flow uses semantic versioning. See Versioning Policy in the plugin's CLAUDE.md.
Tip: You can use tab-completion (`/agent-flow<tab>`) to discover commands, or describe what you want in natural language — the skill router will find the right command.
Show a summary of the existing config:
Detected existing Automation Config:
Issue Tracker: {type} @ {instance} — {project}
Source Control: {remote} — {base branch}
PR Rules: Labels = {labels}; Title format = {title_format or '(fallback)'}
Build & Test: {build command} / {test command}
Optional: {list of present optional sections}
Missing optional: {list of absent optional sections}
[1] Update existing config (go through sections, change what you need)
[2] Add missing optional sections
[3] Start fresh (overwrites everything)
For each existing section:
Include all sections: Issue Tracker, Source Control, PR Rules, PR Description Template, Build & Test, and all present optional sections.
After going through existing sections:
/check-setup| Key | Value |)### Feature Workflow section, never in Issue Tracker