<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Stabilizing on aitasks</title><link>https://www.aitasks.io/maturity/stabilizing/</link><description>Recent content in Stabilizing on aitasks</description><generator>Hugo</generator><language>en</language><atom:link href="https://www.aitasks.io/maturity/stabilizing/index.xml" rel="self" type="application/rss+xml"/><item><title>Kanban Board</title><link>https://www.aitasks.io/docs/tuis/board/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/board/</guid><description>&lt;p&gt;The &lt;code&gt;ait board&lt;/code&gt; command launches an interactive terminal-based kanban board for managing your tasks visually. Built with &lt;a href="https://textual.textualize.io/"&gt;Textual&lt;/a&gt;, it provides a full-featured TUI with columns, task cards, inline metadata editing, git integration, and keyboard-driven navigation.&lt;/p&gt;

&lt;style&gt;
.static-img-zoom { cursor: zoom-in; }
.static-img-zoom img { transition: opacity 0.2s; }
.static-img-zoom img:hover { opacity: 0.85; }
.static-img-overlay {
 display: none; position: fixed; inset: 0; z-index: 9999;
 background: rgba(0,0,0,0.8); align-items: center; justify-content: center;
 cursor: zoom-out;
}
.static-img-overlay.active { display: flex; }
.static-img-overlay img {
 max-width: 92vw; max-height: 92vh; border-radius: 4px;
 box-shadow: 0 4px 32px rgba(0,0,0,0.5);
}
.static-img-close {
 position: fixed; top: 16px; right: 20px; z-index: 10000;
 color: #fff; font-size: 32px; cursor: pointer; line-height: 1;
 background: rgba(0,0,0,0.5); border: none; border-radius: 50%;
 width: 40px; height: 40px; display: flex; align-items: center;
 justify-content: center;
}
.static-img-close:hover { background: rgba(255,255,255,0.2); }
&lt;/style&gt;
&lt;div class="static-img-overlay" id="static-img-overlay" onclick="this.classList.remove('active')"&gt;
 &lt;button class="static-img-close" onclick="event.stopPropagation();this.parentElement.classList.remove('active')" aria-label="Close"&gt;&amp;times;&lt;/button&gt;
 &lt;img id="static-img-overlay-img" src="" alt=""&gt;
&lt;/div&gt;
&lt;script&gt;
function staticImgZoom(src, alt) {
 var o = document.getElementById('static-img-overlay');
 var i = document.getElementById('static-img-overlay-img');
 i.src = src; i.alt = alt || '';
 o.classList.add('active');
}
document.addEventListener('keydown', function(e) {
 if (e.key === 'Escape') {
 document.getElementById('static-img-overlay').classList.remove('active');
 }
});
&lt;/script&gt;
&lt;figure class="static-img-zoom" onclick="staticImgZoom('\/imgs\/aitasks_board_main_view.svg', 'Board overview showing kanban columns with task cards')"&gt;
 &lt;img src="https://www.aitasks.io/imgs/aitasks_board_main_view.svg" alt="Board overview showing kanban columns with task cards"&gt;
 &lt;figcaption&gt;&lt;p&gt;The ait board kanban view with task cards organized into columns&lt;/p&gt;</description></item><item><title>How-To Guides</title><link>https://www.aitasks.io/docs/tuis/board/how-to/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/board/how-to/</guid><description>&lt;h3 id="how-to-organize-tasks-into-columns"&gt;How to Organize Tasks into Columns&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Moving a task to a different column:&lt;/strong&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Focus the task card using arrow keys&lt;/li&gt;
&lt;li&gt;Press &lt;strong&gt;Shift+Right&lt;/strong&gt; to move it to the next column, or &lt;strong&gt;Shift+Left&lt;/strong&gt; to move it to the previous column&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The task is appended to the end of the target column. Column order follows the configured order, with &amp;ldquo;Unsorted / Inbox&amp;rdquo; on the far left. Collapsed columns are skipped when moving tasks.&lt;/p&gt;</description></item><item><title>How-To Guides</title><link>https://www.aitasks.io/docs/tuis/codebrowser/how-to/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/codebrowser/how-to/</guid><description>&lt;h3 id="how-to-navigate-files-in-the-tree"&gt;How to Navigate Files in the Tree&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Press &lt;strong&gt;Tab&lt;/strong&gt; to focus the file tree (if not already focused)&lt;/li&gt;
&lt;li&gt;Use &lt;strong&gt;Up / Down&lt;/strong&gt; arrows to move between files and directories&lt;/li&gt;
&lt;li&gt;Press &lt;strong&gt;Enter&lt;/strong&gt; or click a file to open it in the code viewer&lt;/li&gt;
&lt;li&gt;Directories expand and collapse as you navigate into them&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The tree shows only git-tracked files, automatically excluding &lt;code&gt;__pycache__&lt;/code&gt;, &lt;code&gt;node_modules&lt;/code&gt;, and &lt;code&gt;.git&lt;/code&gt; directories. Dotfiles (like &lt;code&gt;.gitignore&lt;/code&gt;) are included.&lt;/p&gt;
&lt;h3 id="how-to-navigate-code"&gt;How to Navigate Code&lt;/h3&gt;
&lt;p&gt;Once a file is open in the code viewer:&lt;/p&gt;</description></item><item><title>How-To Guides</title><link>https://www.aitasks.io/docs/tuis/monitor/how-to/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/monitor/how-to/</guid><description>&lt;h3 id="how-to-start-the-monitor"&gt;How to Start the Monitor&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Recommended — via &lt;code&gt;ait ide&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ait ide
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;This is the one-command path to the ait tmux IDE. &lt;code&gt;ait ide&lt;/code&gt; resolves the tmux session name from &lt;code&gt;tmux.default_session&lt;/code&gt; in &lt;code&gt;project_config.yaml&lt;/code&gt; (defaulting to &lt;code&gt;aitasks&lt;/code&gt;), creates or attaches to that session, and opens a &lt;code&gt;monitor&lt;/code&gt; window inside it. Because it always passes an explicit session name, the &lt;a href="reference/#session-name-fallback-dialog"&gt;session-rename dialog&lt;/a&gt; never fires.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Standalone — from inside an existing tmux session:&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ait monitor
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Run this from within a tmux session you already have open. Monitor attaches to the current session.&lt;/p&gt;</description></item><item><title>/aitask-pickrem</title><link>https://www.aitasks.io/docs/skills/aitask-pickrem/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/skills/aitask-pickrem/</guid><description>&lt;p&gt;A mostly autonomous version of &lt;a href="../aitask-pick/"&gt;&lt;code&gt;/aitask-pick&lt;/code&gt;&lt;/a&gt; designed for non-interactive environments. It combines task selection and implementation into a single flow with &lt;strong&gt;zero &lt;code&gt;AskUserQuestion&lt;/code&gt; calls&lt;/strong&gt; — all decisions are driven by an execution profile. The only interactive step is &lt;strong&gt;plan approval&lt;/strong&gt;, which still requires the user to review and confirm the implementation plan via &lt;code&gt;ExitPlanMode&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This skill requires write access to the task data branch, so it is suited for local Claude Code or CI-like environments. For &lt;strong&gt;Claude Code Web&lt;/strong&gt; (which cannot write to branches other than the code branch), use &lt;a href="../aitask-pickweb/"&gt;&lt;code&gt;/aitask-pickweb&lt;/code&gt;&lt;/a&gt; instead.&lt;/p&gt;</description></item><item><title>/aitask-pickweb</title><link>https://www.aitasks.io/docs/skills/aitask-pickweb/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/skills/aitask-pickweb/</guid><description>&lt;p&gt;A sandboxed version of &lt;a href="../aitask-pickrem/"&gt;&lt;code&gt;/aitask-pickrem&lt;/code&gt;&lt;/a&gt; designed specifically for &lt;strong&gt;Claude Code Web&lt;/strong&gt;, where the environment has no push access to &lt;code&gt;aitask-locks&lt;/code&gt;, &lt;code&gt;aitask-data&lt;/code&gt;, or &lt;code&gt;main&lt;/code&gt; branches. It combines task selection and implementation into a single flow with &lt;strong&gt;zero &lt;code&gt;AskUserQuestion&lt;/code&gt; calls&lt;/strong&gt; — all decisions are driven by an execution profile. The only interactive step is &lt;strong&gt;plan approval&lt;/strong&gt;, which still requires the user to review and confirm the implementation plan via &lt;code&gt;ExitPlanMode&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;All task metadata (plans, completion markers) is stored in &lt;code&gt;.aitask-data-updated/&lt;/code&gt; on the current working branch. After the Claude Web session completes, run &lt;a href="../aitask-web-merge/"&gt;&lt;code&gt;/aitask-web-merge&lt;/code&gt;&lt;/a&gt; locally to merge code to main and archive the task.&lt;/p&gt;</description></item><item><title>Monitor</title><link>https://www.aitasks.io/docs/tuis/monitor/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/monitor/</guid><description>&lt;p&gt;The &lt;code&gt;ait monitor&lt;/code&gt; command launches an interactive TUI that shows every pane in the current tmux session, categorized as code agents, TUIs, or other panes, with a live preview of the focused pane and keystroke forwarding. It is the dashboard of the ait tmux-based development environment: from a single window you can watch agents work, jump to any other TUI, and interact with running processes without leaving the monitor.&lt;/p&gt;
&lt;!-- SCREENSHOT: aitasks_monitor_main_view.svg — monitor dashboard showing the pane list on top and the live preview below --&gt;
&lt;h2 id="tutorial"&gt;Tutorial&lt;/h2&gt;
&lt;h3 id="launching-the-monitor"&gt;Launching the Monitor&lt;/h3&gt;
&lt;p&gt;The recommended way to start monitor is via &lt;a href="https://www.aitasks.io/docs/installation/terminal-setup/"&gt;&lt;code&gt;ait ide&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;</description></item><item><title>/aitask-explore</title><link>https://www.aitasks.io/docs/skills/aitask-explore/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/skills/aitask-explore/</guid><description>&lt;p&gt;Explore the codebase interactively with guided investigation, then create a task from findings. This skill bridges the gap between &amp;ldquo;I think something needs work&amp;rdquo; and a well-defined task with context.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Usage:&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/aitask-explore [--profile &amp;lt;name&amp;gt;]
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The optional &lt;code&gt;--profile &amp;lt;name&amp;gt;&lt;/code&gt; argument overrides execution-profile selection for this invocation, mirroring &lt;code&gt;/aitask-pick --profile&lt;/code&gt;.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Must be run from the project root directory. See &lt;a href=".."&gt;Skills overview&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Codex CLI note:&lt;/strong&gt; When continuing from this skill into implementation, in Codex wrappers, after implementation, most of the times you will need to explicitly tell the agent to continue the workflow because &lt;code&gt;request_user_input&lt;/code&gt; is only available in plan mode. Example prompts: &lt;code&gt;Good, now finish the workflow&lt;/code&gt; or &lt;code&gt;Good, now continue&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Code Browser</title><link>https://www.aitasks.io/docs/tuis/codebrowser/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/codebrowser/</guid><description>&lt;p&gt;The &lt;code&gt;ait codebrowser&lt;/code&gt; command launches an interactive terminal-based code browser for exploring project files with task-aware annotations. Built with &lt;a href="https://textual.textualize.io/"&gt;Textual&lt;/a&gt;, it provides syntax-highlighted file viewing, a git-aware file tree, and an annotation gutter that maps lines of code to the aitasks that introduced them — powered by the &lt;a href="https://www.aitasks.io/docs/skills/aitask-explain/"&gt;explain data pipeline&lt;/a&gt;.&lt;/p&gt;

&lt;style&gt;
.static-img-zoom { cursor: zoom-in; }
.static-img-zoom img { transition: opacity 0.2s; }
.static-img-zoom img:hover { opacity: 0.85; }
.static-img-overlay {
 display: none; position: fixed; inset: 0; z-index: 9999;
 background: rgba(0,0,0,0.8); align-items: center; justify-content: center;
 cursor: zoom-out;
}
.static-img-overlay.active { display: flex; }
.static-img-overlay img {
 max-width: 92vw; max-height: 92vh; border-radius: 4px;
 box-shadow: 0 4px 32px rgba(0,0,0,0.5);
}
.static-img-close {
 position: fixed; top: 16px; right: 20px; z-index: 10000;
 color: #fff; font-size: 32px; cursor: pointer; line-height: 1;
 background: rgba(0,0,0,0.5); border: none; border-radius: 50%;
 width: 40px; height: 40px; display: flex; align-items: center;
 justify-content: center;
}
.static-img-close:hover { background: rgba(255,255,255,0.2); }
&lt;/style&gt;
&lt;div class="static-img-overlay" id="static-img-overlay" onclick="this.classList.remove('active')"&gt;
 &lt;button class="static-img-close" onclick="event.stopPropagation();this.parentElement.classList.remove('active')" aria-label="Close"&gt;&amp;times;&lt;/button&gt;
 &lt;img id="static-img-overlay-img" src="" alt=""&gt;
&lt;/div&gt;
&lt;script&gt;
function staticImgZoom(src, alt) {
 var o = document.getElementById('static-img-overlay');
 var i = document.getElementById('static-img-overlay-img');
 i.src = src; i.alt = alt || '';
 o.classList.add('active');
}
document.addEventListener('keydown', function(e) {
 if (e.key === 'Escape') {
 document.getElementById('static-img-overlay').classList.remove('active');
 }
});
&lt;/script&gt;
&lt;figure class="static-img-zoom" onclick="staticImgZoom('\/imgs\/aitasks_codebrowser.svg', 'Code browser showing file tree and syntax-highlighted code viewer')"&gt;
 &lt;img src="https://www.aitasks.io/imgs/aitasks_codebrowser.svg" alt="Code browser showing file tree and syntax-highlighted code viewer"&gt;
 &lt;figcaption&gt;&lt;p&gt;The ait codebrowser with file tree (left) and syntax-highlighted code viewer (right)&lt;/p&gt;</description></item><item><title>How-To Guides</title><link>https://www.aitasks.io/docs/tuis/settings/how-to/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/settings/how-to/</guid><description>&lt;h2 id="change-the-default-model-for-an-operation"&gt;Change the Default Model for an Operation&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Open the Settings TUI: &lt;code&gt;ait settings&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Press &lt;strong&gt;a&lt;/strong&gt; to go to the &lt;strong&gt;Agent Defaults&lt;/strong&gt; tab&lt;/li&gt;
&lt;li&gt;Navigate to the operation you want to change (e.g., &lt;code&gt;task-pick&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Press &lt;strong&gt;Enter&lt;/strong&gt; to open the agent/model picker&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Select the code agent (claudecode, geminicli, codex, opencode)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Select the model from the list, then choose the target layer:
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Project&lt;/strong&gt; &amp;ndash; Saves to &lt;code&gt;codeagent_config.json&lt;/code&gt; (shared, git-tracked)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User&lt;/strong&gt; &amp;ndash; Saves to &lt;code&gt;codeagent_config.local.json&lt;/code&gt; (personal, gitignored)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The change takes effect immediately&lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Choosing &lt;strong&gt;User&lt;/strong&gt; layer means this override only applies to your machine. Other team members will continue using the project default.&lt;/p&gt;</description></item><item><title>Feature Reference</title><link>https://www.aitasks.io/docs/tuis/board/reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/board/reference/</guid><description>&lt;h3 id="keyboard-shortcuts"&gt;Keyboard Shortcuts&lt;/h3&gt;
&lt;h4 id="board-navigation"&gt;Board Navigation&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Quit the application&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle focus between search box and board&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Escape&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Return to board from search / dismiss modal&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Up&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Navigate to previous task in column&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Navigate to next task in column&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Left&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Navigate to previous column&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Right&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Navigate to next column&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open task detail dialog&lt;/td&gt;
 &lt;td&gt;Board (focused card)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Refresh board from disk&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Sync task data with remote&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;O&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open board options/settings dialog&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch to All view (show all tasks)&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;g&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Git view (show git-linked tasks)&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Implementing view (show implementing tasks + context)&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="task-operations"&gt;Task Operations&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shift+Right&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move task to next column (skips collapsed)&lt;/td&gt;
 &lt;td&gt;Board (parent cards only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shift+Left&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move task to previous column (skips collapsed)&lt;/td&gt;
 &lt;td&gt;Board (parent cards only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shift+Up&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Swap task with one above&lt;/td&gt;
 &lt;td&gt;Board (parent cards only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shift+Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Swap task with one below&lt;/td&gt;
 &lt;td&gt;Board (parent cards only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Ctrl+Up&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move task to top of column&lt;/td&gt;
 &lt;td&gt;Board (parent cards only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Ctrl+Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move task to bottom of column&lt;/td&gt;
 &lt;td&gt;Board (parent cards only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create a new task&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;x&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle expand/collapse child tasks&lt;/td&gt;
 &lt;td&gt;Board (parent or child card)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Commit focused modified task&lt;/td&gt;
 &lt;td&gt;Board (shown when task is modified)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;C&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Commit all modified tasks&lt;/td&gt;
 &lt;td&gt;Board (shown when any task is modified)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;p&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Pick the focused task (start implementation)&lt;/td&gt;
 &lt;td&gt;Board (context-dependent — shown when task is pickable)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Launch brainstorm for the focused task&lt;/td&gt;
 &lt;td&gt;Board (context-dependent — shown when task is brainstormable)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="column-operations"&gt;Column Operations&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Ctrl+Right&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move column one position right&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Ctrl+Left&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move column one position left&lt;/td&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;X&lt;/code&gt; (Shift+X)&lt;/td&gt;
 &lt;td&gt;Toggle collapse/expand for focused card&amp;rsquo;s column&lt;/td&gt;
 &lt;td&gt;Board (focused card)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Ctrl+Backslash&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open command palette&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Click &lt;code&gt;▼&lt;/code&gt; / &lt;code&gt;▶&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle column collapse/expand&lt;/td&gt;
 &lt;td&gt;Column header&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Click &lt;code&gt;✎&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open column edit dialog&lt;/td&gt;
 &lt;td&gt;Column header&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="modal-navigation"&gt;Modal Navigation&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Up&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Focus previous field&lt;/td&gt;
 &lt;td&gt;Inside modal dialogs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Focus next field&lt;/td&gt;
 &lt;td&gt;Inside modal dialogs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Left&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cycle to previous option&lt;/td&gt;
 &lt;td&gt;On CycleField&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Right&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cycle to next option&lt;/td&gt;
 &lt;td&gt;On CycleField&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Activate focused button / navigate to linked task&lt;/td&gt;
 &lt;td&gt;Inside modal dialogs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Escape&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Close the dialog&lt;/td&gt;
 &lt;td&gt;Inside modal dialogs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="task-card-anatomy"&gt;Task Card Anatomy&lt;/h3&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;┌─────────────────────────────────┐ ← Border color = priority
│ t47 * playlists support │ ← Task number (cyan), * if modified (orange), title (bold)
│ 💪 medium | 🏷️ ui,api | GH | PR:GH | @alice │ ← Effort, labels, issue/PR indicator, contributor
│ 🔒 alice@example.com │ ← Lock indicator (if locked)
│ 🚫 blocked | 👤 alice │ ← Status/blocked, assigned to
│ 🔗 t12, t15 │ ← Blocking dependency links
│ 📎 folded into t42 │ ← Folded indicator (if applicable)
│ 👶 3 children │ ← Child task count (if parent)
└─────────────────────────────────┘
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Not all lines are shown on every card — lines only appear when the corresponding data exists.&lt;/p&gt;</description></item><item><title>Feature Reference</title><link>https://www.aitasks.io/docs/tuis/codebrowser/reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/codebrowser/reference/</guid><description>&lt;h3 id="keyboard-shortcuts"&gt;Keyboard Shortcuts&lt;/h3&gt;
&lt;h4 id="application"&gt;Application&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Quit the application&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cycle focus between file tree, code viewer, and detail pane&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Refresh explain annotations for current file&amp;rsquo;s directory&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;t&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle annotation gutter visibility&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;g&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open go-to-line dialog&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;e&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Launch the configured code agent for explain on the current file&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle detail pane visibility&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;D&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle detail pane between default and expanded width&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle completed tasks history view&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;H&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open history screen navigated to the task at cursor&lt;/td&gt;
 &lt;td&gt;Global (requires annotated line)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="history-screen"&gt;History Screen&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;h&lt;/code&gt; / &lt;code&gt;Escape&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Return to code browser&lt;/td&gt;
 &lt;td&gt;History screen&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;v&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle task/plan content view&lt;/td&gt;
 &lt;td&gt;History screen&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;l&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open label filter dialog&lt;/td&gt;
 &lt;td&gt;History screen&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cycle focus between list and detail panes&lt;/td&gt;
 &lt;td&gt;History screen&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Left&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move focus to list pane (cycles task list / recently opened)&lt;/td&gt;
 &lt;td&gt;History screen&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Right&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move focus to detail pane&lt;/td&gt;
 &lt;td&gt;History screen&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Up&lt;/code&gt; / &lt;code&gt;Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Navigate between focusable fields&lt;/td&gt;
 &lt;td&gt;History detail&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open link, select task, or navigate to file (context-dependent)&lt;/td&gt;
 &lt;td&gt;History detail&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open sibling task picker (on child tasks)&lt;/td&gt;
 &lt;td&gt;History detail&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Launch QA agent for the selected task&lt;/td&gt;
 &lt;td&gt;History detail&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="label-filter-dialog"&gt;Label Filter Dialog&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Escape&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cancel and close dialog&lt;/td&gt;
 &lt;td&gt;Dialog&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;o&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Confirm selection (OK)&lt;/td&gt;
 &lt;td&gt;Dialog&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Reset filter (show all)&lt;/td&gt;
 &lt;td&gt;Dialog&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="sibling-picker-dialog"&gt;Sibling Picker Dialog&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Escape&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cancel and close dialog&lt;/td&gt;
 &lt;td&gt;Dialog&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Select sibling task&lt;/td&gt;
 &lt;td&gt;Dialog&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="code-viewer"&gt;Code Viewer&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Up&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move cursor up one line&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move cursor down one line&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shift+Up&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Extend selection upward&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shift+Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Extend selection downward&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Escape&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Clear selection&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create a task with &lt;code&gt;file_references&lt;/code&gt; seeded from the selection or cursor line&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;PageUp&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move cursor up by one screen&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;PageDown&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Move cursor down by one screen&lt;/td&gt;
 &lt;td&gt;Code viewer&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="go-to-line-dialog"&gt;Go-to-Line Dialog&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Jump to entered line number&lt;/td&gt;
 &lt;td&gt;Dialog&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Escape&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cancel and close dialog&lt;/td&gt;
 &lt;td&gt;Dialog&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="mouse-interactions"&gt;Mouse Interactions&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Effect&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Click on file tree entry&lt;/td&gt;
 &lt;td&gt;Select and open file&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Click in code viewer&lt;/td&gt;
 &lt;td&gt;Position cursor at clicked line&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Drag in code viewer&lt;/td&gt;
 &lt;td&gt;Select line range&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Scroll wheel in code viewer&lt;/td&gt;
 &lt;td&gt;Scroll content&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="annotation-data-pipeline"&gt;Annotation Data Pipeline&lt;/h3&gt;
&lt;p&gt;The codebrowser uses the same explain data pipeline as &lt;a href="https://www.aitasks.io/docs/skills/aitask-explain/"&gt;&lt;code&gt;/aitask-explain&lt;/code&gt;&lt;/a&gt;:&lt;/p&gt;</description></item><item><title>Feature Reference</title><link>https://www.aitasks.io/docs/tuis/monitor/reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/monitor/reference/</guid><description>&lt;h3 id="keyboard-shortcuts"&gt;Keyboard Shortcuts&lt;/h3&gt;
&lt;h4 id="zone-navigation"&gt;Zone Navigation&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Tab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cycle focus to the next zone (pane list ↔ preview)&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Shift+Tab&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cycle focus to the previous zone&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Up&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Focus the previous card in the pane list&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Down&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Focus the next card in the pane list&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Quit monitor&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="pane-interaction"&gt;Pane Interaction&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Send an &lt;code&gt;Enter&lt;/code&gt; keystroke to the focused tmux pane&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Enter&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Send an &lt;code&gt;Enter&lt;/code&gt; keystroke to the focused tmux pane&lt;/td&gt;
 &lt;td&gt;Preview zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Any other key&lt;/td&gt;
 &lt;td&gt;Forwarded to the focused tmux pane (characters, Ctrl-combos, arrows, Escape)&lt;/td&gt;
 &lt;td&gt;Preview zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch tmux focus to the focused pane (&lt;code&gt;tmux switch-client&lt;/code&gt;)&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Show the task detail dialog for the focused agent pane (requires a task ID in the window name)&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;k&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Kill the focused pane after confirmation (&lt;code&gt;tmux kill-pane&lt;/code&gt;)&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Pick the next ready sibling task for the focused agent pane&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Restart the task running in the focused agent pane&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;L&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open the log for the focused pane in a separate viewer&lt;/td&gt;
 &lt;td&gt;Pane list zone&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h4 id="monitor-controls"&gt;Monitor Controls&lt;/h4&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;j&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open the TUI switcher overlay&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Refresh the pane list and preview immediately&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;F5&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Refresh the pane list and preview immediately (alias for &lt;code&gt;r&lt;/code&gt;, hidden in footer)&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;z&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Cycle the preview size through S / M / L presets&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle the preview scrollbar visibility&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;t&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Scroll the preview to its tail (newest output)&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle auto-switch mode (automatically focus idle agents needing attention)&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;M&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle the multi-session view ON/OFF (see &lt;a href="#multi-session-view"&gt;Multi-session view&lt;/a&gt;)&lt;/td&gt;
 &lt;td&gt;Global&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In the preview zone, every keystroke that is not handled by a global binding is forwarded to the tmux pane via &lt;code&gt;tmux send-keys&lt;/code&gt;. Special keys (Enter, Escape, Backspace, arrows, Space, Delete, Home, End, PageUp/Down) and Ctrl-combinations are translated; regular characters are sent literally.&lt;/p&gt;</description></item><item><title>/aitask-fold</title><link>https://www.aitasks.io/docs/skills/aitask-fold/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/skills/aitask-fold/</guid><description>&lt;p&gt;Identify and merge related tasks into a single task, then optionally execute it. This skill provides the same folding capability as &lt;code&gt;/aitask-explore&lt;/code&gt; but as a standalone skill — no codebase exploration required.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Usage:&lt;/strong&gt;&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;/aitask-fold # Interactive: discover and fold related tasks
/aitask-fold 106,108,112 # Explicit: fold specific tasks by ID
&lt;/code&gt;&lt;/pre&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Must be run from the project root directory. See &lt;a href=".."&gt;Skills overview&lt;/a&gt; for details.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Codex CLI note:&lt;/strong&gt; When continuing from this skill into implementation, in Codex wrappers, after implementation, most of the times you will need to explicitly tell the agent to continue the workflow because &lt;code&gt;request_user_input&lt;/code&gt; is only available in plan mode. Example prompts: &lt;code&gt;Good, now finish the workflow&lt;/code&gt; or &lt;code&gt;Good, now continue&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>Reference</title><link>https://www.aitasks.io/docs/tuis/settings/reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/settings/reference/</guid><description>&lt;h2 id="keyboard-shortcuts"&gt;Keyboard Shortcuts&lt;/h2&gt;
&lt;h3 id="global"&gt;Global&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;a&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Agent Defaults tab&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Board tab&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Project Config tab&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;t&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Tmux tab&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;m&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Models tab&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Switch to Profiles tab&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;e&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Export all configs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;i&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Import configs&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;r&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Reload all configs from disk&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;q&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Quit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="within-tabs"&gt;Within Tabs&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Key&lt;/th&gt;
 &lt;th&gt;Action&lt;/th&gt;
 &lt;th&gt;Context&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Enter&lt;/strong&gt; / &lt;strong&gt;Space&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Edit field or cycle value&lt;/td&gt;
 &lt;td&gt;Agent Defaults, Board, Profiles&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;d&lt;/strong&gt; / &lt;strong&gt;Delete&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Remove user override&lt;/td&gt;
 &lt;td&gt;Agent Defaults&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;?&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Toggle field description (summary/expanded)&lt;/td&gt;
 &lt;td&gt;Profiles&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Escape&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Close dialog or cancel&lt;/td&gt;
 &lt;td&gt;Modals&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="tabs"&gt;Tabs&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tab&lt;/th&gt;
 &lt;th&gt;Shortcut&lt;/th&gt;
 &lt;th&gt;Editable&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;Agent Defaults&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;a&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Default agent/model per operation, project and user layers&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Board&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Partially&lt;/td&gt;
 &lt;td&gt;Columns (read-only), user settings (editable)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Project Config&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;c&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Shared values from &lt;code&gt;project_config.yaml&lt;/code&gt; such as coauthor domain and build verification&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Tmux&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;t&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Tmux integration settings (session name, split direction, monitor options, git TUI)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Models&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;m&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Available models per agent with verified scores&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Profiles&lt;/td&gt;
 &lt;td&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Yes&lt;/td&gt;
 &lt;td&gt;Execution profiles that pre-answer workflow questions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="agent-defaults-operations"&gt;Agent Defaults Operations&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Operation&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;task-pick&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Model used for picking and implementing tasks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;explain&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Model used for explaining/documenting code&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;batch-review&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Model used for batch code review operations&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;raw&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Model used for direct/ad-hoc code agent invocations (passthrough mode)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="configuration-files"&gt;Configuration Files&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;File&lt;/th&gt;
 &lt;th&gt;Scope&lt;/th&gt;
 &lt;th&gt;Editable via TUI&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/codeagent_config.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Yes (Agent Defaults)&lt;/td&gt;
 &lt;td&gt;Default agent/model per operation&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/codeagent_config.local.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;User&lt;/td&gt;
 &lt;td&gt;Yes (Agent Defaults)&lt;/td&gt;
 &lt;td&gt;Per-user overrides (gitignored)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/board_config.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Board column definitions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/board_config.local.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;User&lt;/td&gt;
 &lt;td&gt;Yes (Board)&lt;/td&gt;
 &lt;td&gt;User board settings (gitignored)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/project_config.yaml&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Yes (Project Config)&lt;/td&gt;
 &lt;td&gt;Shared workflow settings such as coauthor domain and build verification&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/models_claudecode.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Claude Code model definitions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/models_geminicli.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Gemini CLI model definitions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/models_codex.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;Codex CLI model definitions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/models_opencode.json&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;No&lt;/td&gt;
 &lt;td&gt;OpenCode model definitions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/profiles/*.yaml&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Project&lt;/td&gt;
 &lt;td&gt;Yes (Profiles)&lt;/td&gt;
 &lt;td&gt;Execution profiles (git-tracked)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;aitasks/metadata/profiles/local/*.yaml&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;User&lt;/td&gt;
 &lt;td&gt;Yes (Profiles)&lt;/td&gt;
 &lt;td&gt;User execution profiles (gitignored)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="profile-schema"&gt;Profile Schema&lt;/h2&gt;
&lt;p&gt;Execution profiles are YAML files with the following keys. All keys are optional &amp;ndash; omitted keys cause the corresponding question to be asked interactively.&lt;/p&gt;</description></item><item><title>Settings</title><link>https://www.aitasks.io/docs/tuis/settings/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/tuis/settings/</guid><description>&lt;h2 id="launching"&gt;Launching&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ait settings
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The Settings TUI requires the shared Python virtual environment (installed by &lt;code&gt;ait setup&lt;/code&gt;) with the &lt;code&gt;textual&lt;/code&gt; and &lt;code&gt;pyyaml&lt;/code&gt; packages.&lt;/p&gt;
&lt;h2 id="understanding-the-layout"&gt;Understanding the Layout&lt;/h2&gt;
&lt;p&gt;The Settings TUI organizes configuration into five tabs, each accessible via a keyboard shortcut displayed in the footer.&lt;/p&gt;
&lt;h3 id="agent-defaults-a"&gt;Agent Defaults (a)&lt;/h3&gt;

&lt;figure class="static-img-zoom" onclick="staticImgZoom('\/imgs\/aitasks_settings_code_agent_default_models_tab.svg', 'Agent Defaults tab showing configured models per operation')"&gt;
 &lt;img src="https://www.aitasks.io/imgs/aitasks_settings_code_agent_default_models_tab.svg" alt="Agent Defaults tab showing configured models per operation"&gt;
 &lt;figcaption&gt;&lt;p&gt;The Agent Defaults tab shows which code agent and model is configured for each operation&lt;/p&gt;</description></item></channel></rss>