Execution Profiles

Profile schema, examples, and customization guide for /aitask-pick and related skills

Execution profiles let /aitask-pick and related skills pre-answer workflow questions so you can move from task selection to implementation with fewer prompts.

Profiles are YAML files stored in aitasks/metadata/profiles/. They are loaded at the start of /aitask-pick and can also be reused by related skills that share the task workflow.

Shipped Profiles

  • default – All questions asked normally (empty profile, serves as a template)
  • fast – Skip confirmations, use userconfig email, stay on the current branch, pause for confirmation after plan approval, and keep feedback questions enabled

Standard Profile Fields

KeyTypeDescription
namestring (required)Display name shown during profile selection
descriptionstring (required)Description shown below the profile name
skip_task_confirmationbooltrue auto-confirms direct task selection
default_emailstring"userconfig", "first", or a literal email address
create_worktreebooltrue creates a separate worktree; false uses the current branch
base_branchstringBranch the task branch is cut from when creating a worktree
output_branchstringBranch the finished work is merged into; omit to merge into the resolved base_branch
plan_preferencestring"use_current", "verify", or "create_new"
plan_preference_childstringSame values as plan_preference, but only for child tasks
plan_verification_requiredintMinimum fresh plan_verified entries required to skip verification when plan_preference is "verify" (default 1)
plan_verification_stale_after_hoursintHours after which a plan_verified entry is considered stale (default 24)
post_plan_actionstring"start_implementation" skips the post-plan checkpoint
post_plan_action_for_childstringSame values as post_plan_action, but only for child tasks
enableFeedbackQuestionsboolfalse disables satisfaction feedback prompts; true or omitted keeps them enabled. See Verified Scores
explore_auto_continueboolUsed by /aitask-explore to continue automatically after exploration
explore_label_confirmstring"ask" (default), "auto", or "existing_only" — controls how /aitask-explore settles the labels of the task it creates. ask confirms them interactively, auto accepts them silently, existing_only never mints a new label. Headless profiles must set auto or existing_only
qa_modestring"ask", "create_task", "implement", or "plan_only" — used by /aitask-qa to control what happens with test proposals
qa_run_testsbooltrue runs discovered tests, false skips test execution — used by /aitask-qa
qa_tierstring"quick", "standard", or "exhaustive" — pre-selects the QA analysis depth tier
shadow_impl_review_tierstring"quick", "default", "advanced", or "deep" — pre-selects the effort tier for the shadow’s implementation review, skipping its tier prompt. A tier named in your ask still wins. Takes effect only once default_profiles.shadow names this profile
manual_verification_followup_modestring"ask" (default) or "never" — used by task-workflow Step 8c to control whether the post-implementation manual-verification follow-up prompt fires
manual_verification_modestring"ask" (default), "manual", "autonomous", or "autonomous_with_plan" — pre-answers the Manual Verification up-front offer to let an AI agent run the checklist. Controls only that offer; the per-item auto verb stays available regardless
risk_evaluationbooltrue runs the risk-evaluation step at the end of planning and offers risk-mitigation follow-ups; omit or false = disabled (opt-in, off by default)
record_gatesbooltrue records approval checkpoints (plan/review/merge approval, plus build and risk evaluation when they run) as gate-run entries in the task’s gate ledger — committed for cross-PC visibility and later resume; omit or false = disabled (opt-in, off by default)

Omitting a key means that question is asked interactively. enableFeedbackQuestions is enabled by default when the key is absent.

Remote-Mode Profile Fields

Remote and web workflows recognize additional profile keys (force_unlock_stale, done_task_action, orphan_parent_action, complexity_action, review_action, issue_action, abort_plan_action, abort_revert_status). For the full table with types and defaults, see /aitask-pickrem → Remote-Specific Profile Fields.

Example

name: worktree
description: Like fast but cuts a worktree from main and merges finished work into dev
skip_task_confirmation: true
default_email: userconfig
create_worktree: true
base_branch: main
output_branch: dev
plan_preference: use_current
plan_preference_child: verify
post_plan_action: start_implementation
post_plan_action_for_child: ask
enableFeedbackQuestions: true
qa_mode: ask

Default Profile Configuration

Instead of selecting a profile interactively each time, you can set a default per skill in project_config.yaml (team-wide) or userconfig.yaml (personal override):

# project_config.yaml (shared with team)
default_profiles:
  pick: fast
  review: default

# userconfig.yaml (personal, gitignored)
default_profiles:
  pick: default   # overrides team's "fast"

Valid skill names: pick, fold, review, pr-import, revert, explore, pickrem, pickweb, qa, shadow. Values are profile names (without .yaml extension) matching the name field in profile YAML files.

You can also configure defaults via the Settings TUI: ait settings → Project Config tab → Default Profiles section.

Profile Override Argument

All skills that support profiles accept an optional --profile <name> argument to override both team and personal defaults:

/aitask-pick --profile fast
/aitask-pick 42 --profile fast
/aitask-fold --profile fast 106,108
/aitask-review --profile default
/aitask-pickrem 42 --profile remote

The argument is position-independent and can appear anywhere in the argument string.

Resolution Order

  1. --profile <name> argument (highest priority)
  2. userconfig.yamldefault_profiles.<skill> (personal)
  3. project_config.yamldefault_profiles.<skill> (team)
  4. Interactive selection / auto-select (fallback)

Notes

  • Use enableFeedbackQuestions: false for unattended or non-interactive profiles
  • The shipped fast profile keeps feedback enabled; the shipped remote profile disables it
  • Profiles are preserved during install.sh --force upgrades
  • Plan approval is always required and cannot be skipped by profiles

For remote/autonomous extensions, see /aitask-pickrem.