From agent-flow
Interactive wizard that generates or updates the Automation Config block in CLAUDE.md, with template support for popular stacks and version-aware migration.
How this skill is triggered — by the user, by Claude, or both
Slash command
/agent-flow:onboard [--fresh] [--update][--fresh] [--update]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
Interactive wizard that collects parameters and generates the `## Automation Config` block.
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
[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)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 Trackernpx claudepluginhub asysta-act/agent-flow --plugin agent-flowInitializes and configures projects: detects tech stacks, scaffolds new apps, creates task files, sets branch strategies, handles git submodules, exports to other AI platforms.
Installs and initializes Pappardelle in a Git repository: runs interactive wizard to configure VCS host, issue tracker, team prefix, profiles; generates .pappardelle.yml and local overrides. Use for initial setup or config updates.
Interactive wizard configures repositories for Claude Code best practices by creating CLAUDE.md, slash commands, agents, hooks, and permissions. Activates on 'setup claude', 'init claude', or repo setup requests.