<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Main-Concept on aitasks</title><link>https://www.aitasks.io/depth/main-concept/</link><description>Recent content in Main-Concept on aitasks</description><generator>Hugo</generator><language>en</language><atom:link href="https://www.aitasks.io/depth/main-concept/index.xml" rel="self" type="application/rss+xml"/><item><title>Overview</title><link>https://www.aitasks.io/docs/overview/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/overview/</guid><description>&lt;h2 id="the-challenge"&gt;The Challenge&lt;/h2&gt;
&lt;p&gt;AI coding agents have reached a proficiency level where, given correct specs and intent, they can handle most code-development tasks on their own. The real bottleneck is &lt;strong&gt;transferring intent&lt;/strong&gt; from developer to agent — structured enough to build useful context, fast enough that the human does not become the drag. aitasks is a full agentic IDE in your terminal built around this transfer: tasks are living markdown files, refined iteratively alongside the code that implements them.&lt;/p&gt;</description></item><item><title>/aitask-pick</title><link>https://www.aitasks.io/docs/skills/aitask-pick/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/skills/aitask-pick/</guid><description>&lt;p&gt;The central skill of the aitasks framework. This is a full development lifecycle skill that manages the complete task lifecycle from selection through implementation, review, and archival.&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-pick # Interactive task selection from prioritized list
/aitask-pick 10 # Directly select parent task t10
/aitask-pick 10_2 # Directly select child task t10_2
&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; 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>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>Tasks</title><link>https://www.aitasks.io/docs/concepts/tasks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/concepts/tasks/</guid><description>&lt;h2 id="what-it-is"&gt;What it is&lt;/h2&gt;
&lt;p&gt;A &lt;strong&gt;task&lt;/strong&gt; is a markdown file with YAML frontmatter in the &lt;code&gt;aitasks/&lt;/code&gt; directory, named &lt;code&gt;t&amp;lt;N&amp;gt;_&amp;lt;short_name&amp;gt;.md&lt;/code&gt; (for example &lt;code&gt;aitasks/t130_add_login.md&lt;/code&gt;). The frontmatter block carries fields like &lt;code&gt;priority&lt;/code&gt;, &lt;code&gt;effort&lt;/code&gt;, &lt;code&gt;depends&lt;/code&gt;, &lt;code&gt;status&lt;/code&gt;, &lt;code&gt;labels&lt;/code&gt;, &lt;code&gt;assigned_to&lt;/code&gt;, &lt;code&gt;issue_type&lt;/code&gt;, &lt;code&gt;boardcol&lt;/code&gt;; the free-form markdown body describes the work. Tasks persist exactly the same way source code does: as files committed to git. Every CLI command, TUI, and code agent skill operates on those files directly.&lt;/p&gt;
&lt;h2 id="why-it-exists"&gt;Why it exists&lt;/h2&gt;
&lt;p&gt;Treating task tracking as a problem that belongs in version control means the full history of every task is visible in &lt;code&gt;git log&lt;/code&gt;, branches and worktrees can carry their own task state, and a code agent can read, write, and reason about tasks with the same tools it uses for source code. The frontmatter schema is intentionally small enough for an LLM to keep in context, but expressive enough to drive prioritization, dependency resolution, and Kanban-style triage.&lt;/p&gt;</description></item><item><title>Getting Started</title><link>https://www.aitasks.io/docs/getting-started/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/getting-started/</guid><description>&lt;p&gt;This guide walks you through aitasks from installation to completing your first task with Claude Code, Gemini CLI, OpenCode, or Codex CLI.&lt;/p&gt;
&lt;h2 id="1-install-aitasks"&gt;1. Install aitasks&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;macOS:&lt;/strong&gt; &lt;a href="https://brew.sh"&gt;Homebrew&lt;/a&gt; must be installed before running &lt;code&gt;ait setup&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In your project directory (the root of the git repository, where &lt;code&gt;.git/&lt;/code&gt; lives):&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;curl -fsSL https://raw.githubusercontent.com/beyondeye/aitasks/main/install.sh &lt;span style="color:#000;font-weight:bold"&gt;|&lt;/span&gt; bash
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Run from the project root.&lt;/strong&gt; aitasks expects to be invoked from the directory containing &lt;code&gt;.git/&lt;/code&gt; — the root of your project&amp;rsquo;s git repository. aitasks is tightly integrated with git — it uses git branches for task IDs, locking, and syncing, and task and plan files are committed to your repository. Always run the installer and &lt;code&gt;ait setup&lt;/code&gt; from there.&lt;/p&gt;</description></item><item><title>Plans</title><link>https://www.aitasks.io/docs/concepts/plans/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/concepts/plans/</guid><description>&lt;h2 id="what-it-is"&gt;What it is&lt;/h2&gt;
&lt;p&gt;A &lt;strong&gt;plan&lt;/strong&gt; is a markdown file in &lt;code&gt;aiplans/&lt;/code&gt; named &lt;code&gt;p&amp;lt;N&amp;gt;_&amp;lt;short_name&amp;gt;.md&lt;/code&gt; (mirroring its task: &lt;code&gt;aiplans/p130_add_login.md&lt;/code&gt; corresponds to &lt;code&gt;aitasks/t130_add_login.md&lt;/code&gt;). Child task plans live under &lt;code&gt;aiplans/p&amp;lt;parent&amp;gt;/p&amp;lt;parent&amp;gt;_&amp;lt;child&amp;gt;_&amp;lt;name&amp;gt;.md&lt;/code&gt;. Each plan starts with a metadata header (the task it implements, the worktree, the branch, the base branch) and contains a context summary, a step-by-step implementation outline, the critical files to be touched, and verification steps. Plans are written during the planning phase of a skill like &lt;a href="https://www.aitasks.io/docs/skills/aitask-pick/"&gt;&lt;code&gt;/aitask-pick&lt;/code&gt;&lt;/a&gt; and approved by the user before any code is written.&lt;/p&gt;</description></item><item><title>Parent and child tasks</title><link>https://www.aitasks.io/docs/concepts/parent-child/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/concepts/parent-child/</guid><description>&lt;h2 id="what-it-is"&gt;What it is&lt;/h2&gt;
&lt;p&gt;A &lt;strong&gt;parent task&lt;/strong&gt; is a regular task whose work has been split into smaller &lt;strong&gt;child tasks&lt;/strong&gt;. The parent file lives at the usual location (&lt;code&gt;aitasks/t&amp;lt;N&amp;gt;_&amp;lt;name&amp;gt;.md&lt;/code&gt;); its children live in a sibling subdirectory &lt;code&gt;aitasks/t&amp;lt;N&amp;gt;/&lt;/code&gt; named &lt;code&gt;t&amp;lt;N&amp;gt;_&amp;lt;M&amp;gt;_&amp;lt;name&amp;gt;.md&lt;/code&gt; — for example &lt;code&gt;aitasks/t130/t130_1_add_login_form.md&lt;/code&gt;. The parent&amp;rsquo;s &lt;code&gt;children_to_implement&lt;/code&gt; frontmatter field lists the child IDs that still need work. Children automatically depend on each other in order, and when the last child is archived the parent is archived too.&lt;/p&gt;</description></item><item><title>Locks</title><link>https://www.aitasks.io/docs/concepts/locks/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/concepts/locks/</guid><description>&lt;h2 id="what-it-is"&gt;What it is&lt;/h2&gt;
&lt;p&gt;A &lt;strong&gt;task lock&lt;/strong&gt; is an atomic claim on a single task ID, recorded on a dedicated &lt;code&gt;aitask-locks&lt;/code&gt; git branch. When a skill picks a task it acquires the lock — recording the owner email, hostname, and timestamp — and only releases it on archival, abort, or explicit unlock. While a lock is held, other PCs and agents see the task as unavailable: a competing &lt;code&gt;/aitask-pick&lt;/code&gt; that targets the same ID will fail with a structured &lt;code&gt;LOCK_FAILED&lt;/code&gt; outcome that includes the current owner. Stale locks (held by a hostname/agent no longer working the task) can be force-unlocked, optionally with a confirmation prompt.&lt;/p&gt;</description></item><item><title>Task lifecycle</title><link>https://www.aitasks.io/docs/concepts/task-lifecycle/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://www.aitasks.io/docs/concepts/task-lifecycle/</guid><description>&lt;h2 id="what-it-is"&gt;What it is&lt;/h2&gt;
&lt;p&gt;Every task carries a &lt;code&gt;status&lt;/code&gt; field that captures where it is in its life:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Status&lt;/th&gt;
 &lt;th&gt;Meaning&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Ready&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Created and triaged. Available to be picked.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Editing&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Being authored or revised in a TUI; not yet ready for implementation.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Implementing&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;A skill has claimed the task; an agent is actively working on it.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Postponed&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Deferred — left visible but skipped during normal selection.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Done&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Implementation finished and committed. Awaiting archival.&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;Folded&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;The task has been merged into another (the &lt;code&gt;folded_into&lt;/code&gt; task).&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Transitions are driven by the workflow scripts: picking a task moves &lt;code&gt;Ready → Implementing&lt;/code&gt; and acquires a lock; a successful run moves &lt;code&gt;Implementing → Done&lt;/code&gt; (then &lt;code&gt;Done → Archived&lt;/code&gt; as the file moves into &lt;code&gt;aitasks/archived/&lt;/code&gt;); aborting reverts to &lt;code&gt;Ready&lt;/code&gt; and releases the lock. Folded is a terminal status — folded files are deleted (not archived) when the primary they were merged into is archived.&lt;/p&gt;</description></item></channel></rss>