Reference

Keyboard shortcuts, configuration files, and profile schema reference

Keyboard Shortcuts

Global

KeyAction
aSwitch to Agent Defaults tab
bSwitch to Board tab
cSwitch to Project Config tab
tSwitch to Tmux tab
mSwitch to Models tab
pSwitch to Profiles tab
eExport all configs
iImport configs
rReload all configs from disk
qQuit

Within Tabs

KeyActionContext
Enter / SpaceEdit field or cycle valueAgent Defaults, Board, Profiles
d / DeleteRemove user overrideAgent Defaults
?Toggle field description (summary/expanded)Profiles
EscapeClose dialog or cancelModals

Tabs

TabShortcutEditableDescription
Agent DefaultsaYesDefault agent/model per operation, project and user layers
BoardbPartiallyColumns (read-only), user settings (editable)
Project ConfigcYesShared values from project_config.yaml such as coauthor domain and build verification
TmuxtYesTmux integration settings (session name, split direction, monitor options, git TUI)
ModelsmNoAvailable models per agent with verified scores
ProfilespYesExecution profiles that pre-answer workflow questions

Agent Defaults Operations

OperationDescription
task-pickModel used for picking and implementing tasks
explainModel used for explaining/documenting code
batch-reviewModel used for batch code review operations
rawModel used for direct/ad-hoc code agent invocations (passthrough mode)

Configuration Files

FileScopeEditable via TUIDescription
aitasks/metadata/codeagent_config.jsonProjectYes (Agent Defaults)Default agent/model per operation
aitasks/metadata/codeagent_config.local.jsonUserYes (Agent Defaults)Per-user overrides (gitignored)
aitasks/metadata/board_config.jsonProjectNoBoard column definitions
aitasks/metadata/board_config.local.jsonUserYes (Board)User board settings (gitignored)
aitasks/metadata/project_config.yamlProjectYes (Project Config)Shared workflow settings such as coauthor domain and build verification
aitasks/metadata/models_claudecode.jsonProjectNoClaude Code model definitions
aitasks/metadata/models_geminicli.jsonProjectNoGemini CLI model definitions
aitasks/metadata/models_codex.jsonProjectNoCodex CLI model definitions
aitasks/metadata/models_opencode.jsonProjectNoOpenCode model definitions
aitasks/metadata/profiles/*.yamlProjectYes (Profiles)Execution profiles (git-tracked)
aitasks/metadata/profiles/local/*.yamlUserYes (Profiles)User execution profiles (gitignored)

Profile Schema

Execution profiles are YAML files with the following keys. All keys are optional – omitted keys cause the corresponding question to be asked interactively.

Identity

KeyTypeOptionsDescription
namestringProfile display name
descriptionstringBrief description of what the profile does

Task Selection

KeyTypeOptionsDescription
skip_task_confirmationbooltrue, falseSkip the “Is this the correct task?” confirmation
default_emailenumuserconfig, firstHow to resolve the assignee email without asking

Branch & Worktree

KeyTypeOptionsDescription
create_worktreebooltrue, falseWhether to create a separate git worktree for the task
base_branchstringBranch name to base the task branch on

Planning

KeyTypeOptionsDescription
plan_preferenceenumuse_current, verify, create_newWhat to do when an existing plan is found
plan_preference_childenumuse_current, verify, create_newSame as above, but specifically for child tasks (takes priority)
post_plan_actionenumstart_implementationWhat to do after plan is saved

Feedback

KeyTypeOptionsDescription
enableFeedbackQuestionsbooltrue, falseWhether supported skills ask for satisfaction feedback after completion ((unset) behaves like true)

Exploration

KeyTypeOptionsDescription
explore_auto_continuebooltrue, falseAuto-continue to implementation after exploration

QA

KeyTypeOptionsDescription
qa_modeenumask, create_task, implement, plan_onlyWhat to do with test proposals in /aitask-qa
qa_run_testsbooltrue, falseWhether to run discovered tests during QA analysis

Manual Verification

KeyTypeOptionsDescription
manual_verification_followup_modeenumask, neverControls task-workflow Step 8c — whether to offer a manual-verification follow-up task after committing changes

Lock Management

KeyTypeOptionsDescription
force_unlock_stalebooltrue, falseAutomatically force-unlock stale locks

Remote Workflow

These keys control behavior for the fully autonomous remote workflow (/aitask-pickrem):

KeyTypeOptionsDescription
done_task_actionenumarchive, skipWhat to do with tasks that have status Done
orphan_parent_actionenumarchive, skipWhat to do with orphaned parent tasks
complexity_actionenumsingle_task, create_childrenHow to handle complex tasks
review_actionenumcommit, need_changes, abortWhat to do after implementation review
issue_actionenumclose_with_notes, comment_only, close_silently, skipHow to handle linked issues during archival
abort_plan_actionenumkeep, discardWhat to do with plan files on abort
abort_revert_statusenumReady, EditingStatus to revert to on abort

Project Config Keys

KeyTypeDescription
codeagent_coauthor_domainstringEmail domain used for custom code-agent commit coauthors
verify_buildstring or listShell command(s) run after implementation to verify the build
test_commandstring or listShell command(s) for running project tests — used by /aitask-qa. Auto-detects if not set
lint_commandstring or listShell command(s) for linting project code — used by /aitask-qa. Skipped if not set
default_profilesdictDefault execution profile per skill. Maps skill names (pick, fold, review, pr-import, revert, explore, pickrem, pickweb, qa) to profile names (without .yaml). Users can override in userconfig.yaml. The --profile argument overrides both

Model Entry Schema

Each model in models_<agent>.json:

{
  "name": "opus4_7_1m",
  "cli_id": "claude-opus-4-7[1m]",
  "notes": "Most intelligent model for agents and coding",
  "verified": {
    "pick": 80,
    "explain": 80,
    "batch-review": 0
  },
  "verifiedstats": {
    "pick": {
      "all_time": {"runs": 5, "score_sum": 400},
      "month": {"period": "2026-03", "runs": 2, "score_sum": 180},
      "week": {"period": "2026-W11", "runs": 1, "score_sum": 100}
    }
  }
}
FieldDescription
nameInternal identifier (underscored, no dots)
cli_idExact model ID for the CLI binary’s model flag
notesHuman-readable description
verifiedPer-operation scores (all-time average): 0 = untested, 1-49 = partial, 50-79 = verified, 80-100 = highly verified
verifiedstatsPer-operation detailed statistics with time-windowed buckets (see below)

Verified Stats Buckets

See Verified Scores for a user-facing overview of how these scores are collected and what they mean.

Each skill entry in verifiedstats contains three time-windowed buckets:

BucketPeriod KeyDescription
all_time(none)Cumulative stats across all ratings
monthYYYY-MMStats for the current calendar month; resets when the month changes
weekYYYY-WwwStats for the current ISO 8601 calendar week; resets when the week changes

Each bucket contains runs (number of ratings) and score_sum (sum of mapped scores, where raw 1-5 maps to 20-100).

The verified.<skill> field is always the rounded average of all_time and is maintained automatically for backward compatibility.

Old flat-format stats ({"runs": N, "score_sum": S}) are migrated automatically to the bucketed format on the next update.

All-Providers Aggregation

See Verified Scores for a user-facing explanation of provider-specific versus all-providers views.

To compute cross-provider stats for the same underlying LLM model:

  1. Extract the model portion from each entry’s cli_id by stripping the provider/ prefix (e.g., openai/gpt-5.4 and opencode/gpt-5.4 both normalize to gpt-5.4)
  2. Group entries with identical normalized model IDs across all models_*.json files
  3. For each skill, sum runs and score_sum from the matching bucket across the group
  4. For month and week buckets, only aggregate entries with the same period value

This aggregation is performed at read time by consumers — no duplicate aggregate values are stored.

ait settings implements this aggregation in the Models tab (cross-provider summary lines), the Agent Defaults tab (all-providers hints), and the model picker (Top Verified ranking).

Export Bundle Format

Config bundles use the .aitcfg.json extension and contain:

{
  "_export_meta": {
    "version": 1,
    "timestamp": "2026-03-03T12:00:00",
    "file_count": 5
  },
  "codeagent_config.json": { ... },
  "models_claudecode.json": { ... }
}

Bundles include only the files matching the default patterns: *_config.json, *_config.local.json, models_*.json, models_*.local.json.


Next: Workflows — end-to-end guides for using the TUIs together.