<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Usage on Gokin</title><link>https://gokin.ginkida.dev/docs/usage/</link><description>Recent content in Usage on Gokin</description><generator>Hugo</generator><language>en</language><atom:link href="https://gokin.ginkida.dev/docs/usage/index.xml" rel="self" type="application/rss+xml"/><item><title>Tools</title><link>https://gokin.ginkida.dev/docs/usage/tools/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gokin.ginkida.dev/docs/usage/tools/</guid><description>&lt;p&gt;Gokin includes &lt;strong&gt;54 tools&lt;/strong&gt; organized into &lt;strong&gt;10 tool sets&lt;/strong&gt; with 3 safety levels.&lt;/p&gt;
&lt;h2 id="safety-levels"&gt;Safety Levels&lt;a class="anchor" href="#safety-levels"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Level&lt;/th&gt;
 &lt;th&gt;Behavior&lt;/th&gt;
 &lt;th&gt;Examples&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Safe&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Auto-approved&lt;/td&gt;
 &lt;td&gt;read, glob, grep, git_status&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Caution&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Ask once, then auto-approve&lt;/td&gt;
 &lt;td&gt;write, edit, git_add&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Dangerous&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Ask every time&lt;/td&gt;
 &lt;td&gt;bash, delete, git_commit, ssh&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="file-operations-9"&gt;File Operations (9)&lt;a class="anchor" href="#file-operations-9"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;read&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Read file with line numbers. Supports offset/limit for large files&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;write&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Create/overwrite files&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;edit&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Replace lines in files. Supports regex and multi-edit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;delete&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Dangerous&lt;/td&gt;
 &lt;td&gt;Delete files/directories. Irreversible&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;copy&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Copy files/directories&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;move&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Move/rename files&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;mkdir&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Create directories (parents=true for recursive)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;list_dir&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Directory contents with sizes and types&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;tree&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;ASCII tree of directory structure (default depth: 3)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="search-2"&gt;Search (2)&lt;a class="anchor" href="#search-2"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;glob&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Find files by pattern (&lt;code&gt;**/*.go&lt;/code&gt;). Sorted by modification date&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;grep&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Search by content (regex, context, case sensitivity)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="execution-4"&gt;Execution (4)&lt;a class="anchor" href="#execution-4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;bash&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Dangerous&lt;/td&gt;
 &lt;td&gt;Execute shell commands. Timeout: 30s&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;task&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Launch sub-agents (explore, bash, general, plan, guide)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;task_output&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Get background task results&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;task_stop&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Stop background tasks by ID&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="git-8"&gt;Git (8)&lt;a class="anchor" href="#git-8"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;git_status&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Working tree status (staged, unstaged, untracked)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;git_diff&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Diff between revisions/working tree&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;git_log&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Commit history (default: 10)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;git_blame&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Line-by-line authorship&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;git_add&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Stage files&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;git_branch&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Branch management: list, create, delete, switch, merge&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;git_pr&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Create/manage GitHub PRs via gh CLI&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;git_commit&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Dangerous&lt;/td&gt;
 &lt;td&gt;Create commit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="planning-6"&gt;Planning (6)&lt;a class="anchor" href="#planning-6"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;enter_plan_mode&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Enter planning mode&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;update_plan_progress&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Update step status&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;get_plan_status&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Current plan status&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;exit_plan_mode&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Exit planning (approve=true to execute)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;undo_plan&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Undo last step&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;redo_plan&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Redo undone step&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="code-analysis-5"&gt;Code Analysis (5)&lt;a class="anchor" href="#code-analysis-5"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;refactor&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Refactoring: rename, extract, inline. Scope: file/package/project&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;run_tests&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Run tests (Go/Python/Node/Rust). Coverage&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;batch&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Dangerous&lt;/td&gt;
 &lt;td&gt;Bulk edits: atomic bulk operations. Supports dry_run&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;check_impact&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Blast radius — all dependencies and impact of a symbol change&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;verify_code&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Auto-check: detect project type and run checks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="web-2"&gt;Web (2)&lt;a class="anchor" href="#web-2"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;web_fetch&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Caution&lt;/td&gt;
 &lt;td&gt;Fetch URL, convert HTML → Markdown&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;web_search&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Web search, ranked results&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="agents--coordination-4"&gt;Agents &amp;amp; Coordination (4)&lt;a class="anchor" href="#agents--coordination-4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;ask_agent&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Query another agent type&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;coordinate&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Coordinate multiple agents on a task&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;shared_memory&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Inter-agent shared memory (read/write/delete/list)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;update_scratchpad&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Agent scratchpad (append/overwrite)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="memory-4"&gt;Memory (4)&lt;a class="anchor" href="#memory-4"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;memory&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Persistent memory: add, get, search, list, remove&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;memorize&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Typed storage: fact, preference, convention, pattern&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;pin_context&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Pin text to system prompt for the session&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;history_search&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Search session history (regex)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="semantic-2"&gt;Semantic (2)&lt;a class="anchor" href="#semantic-2"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;semantic_search&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Semantic similarity search (embeddings)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;code_graph&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Dependency analysis, references, callers/callees&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="system--utilities-7"&gt;System &amp;amp; Utilities (7)&lt;a class="anchor" href="#system--utilities-7"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;diff&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Difference between two texts/files (unified diff)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;env&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Environment info: working dir, OS, env vars&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;todo&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Session task management: add, remove, complete, list&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;tools_list&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;List all available tools&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;request_tool&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Request a tool not in the current set&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;ssh&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Dangerous&lt;/td&gt;
 &lt;td&gt;Execute command on a remote server&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;kill_shell&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Dangerous&lt;/td&gt;
 &lt;td&gt;Stop a background task&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="user-interface-1"&gt;User Interface (1)&lt;a class="anchor" href="#user-interface-1"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Tool&lt;/th&gt;
 &lt;th&gt;Level&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;strong&gt;ask_user&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Safe&lt;/td&gt;
 &lt;td&gt;Ask user a question, wait for response&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;hr&gt;
&lt;h2 id="tool-sets"&gt;Tool Sets&lt;a class="anchor" href="#tool-sets"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Gokin dynamically selects a tool set based on model, provider, and agent type.&lt;/p&gt;</description></item><item><title>Commands</title><link>https://gokin.ginkida.dev/docs/usage/commands/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gokin.ginkida.dev/docs/usage/commands/</guid><description>&lt;h2 id="slash-commands"&gt;Slash Commands&lt;a class="anchor" href="#slash-commands"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;All commands start with &lt;code&gt;/&lt;/code&gt;. Typing &lt;code&gt;/&lt;/code&gt; in the input field shows autocomplete.&lt;/p&gt;
&lt;h3 id="getting-started-2"&gt;Getting Started (2)&lt;a class="anchor" href="#getting-started-2"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&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;/help [command]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Help for a command or general help&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/quickstart&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Quick start with examples&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="sessions-8"&gt;Sessions (8)&lt;a class="anchor" href="#sessions-8"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&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;/model [name]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch model (flash, pro, sonnet, opus, haiku)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/clear&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Clear conversation history&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/compact&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Force context compaction&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/save [name]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Save current session&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/resume &amp;lt;id&amp;gt; [--force]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Restore a saved session&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/sessions [--all]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;List saved sessions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/stats&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Session statistics (tokens, cost, context)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/instructions [--source]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Show loaded project instructions&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="auth--settings-9"&gt;Auth &amp;amp; Settings (9)&lt;a class="anchor" href="#auth--settings-9"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&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;/login [provider] [key]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Set provider API key&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/logout [provider|all]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Remove API key(s)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/oauth-login&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Login to Gemini via Google account (OAuth)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/oauth-logout&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Remove OAuth credentials&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/provider [name]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch AI provider&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/status&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Current configuration status&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/doctor&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Environment and configuration diagnostics&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/config&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Show current settings&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/update [install|backups|rollback]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Check and install updates&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="git-3"&gt;Git (3)&lt;a class="anchor" href="#git-3"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&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;/init&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Initialize GOKIN.md for the project&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/commit [-m message]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create a git commit&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/pr [--title title] [--draft] [--base branch]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Create a pull request&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="planning--observability-10"&gt;Planning &amp;amp; Observability (10)&lt;a class="anchor" href="#planning--observability-10"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&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;/plan&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Toggle planning mode&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/resume-plan [list|&amp;lt;plan_id&amp;gt;]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Resume a paused plan&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/tree-stats&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Tree planner statistics&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/health&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Runtime health and provider reliability&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/policy&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Policy engine and circuit breaker state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/ledger&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Current plan run ledger&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/journal&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Recent execution journal events&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/recovery&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Latest recovery snapshot&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/observability&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Combined observability dashboard&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/memory-governance&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Memory and session governance state&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="tools--utilities-16"&gt;Tools &amp;amp; Utilities (16)&lt;a class="anchor" href="#tools--utilities-16"&gt;#&lt;/a&gt;&lt;/h3&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Command&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;/browse [path]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Interactive file browser&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/open &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Open file in editor&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/copy [--last|--all|--ascii] [text]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Copy to clipboard&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/paste&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Get text from clipboard&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/ql &amp;lt;file&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Quick Look (macOS only)&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/clear-todos&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Clear all todo tasks&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/permissions [on|off]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Enable/disable permission prompts&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/sandbox [on|off]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Enable/disable bash sandbox&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/theme [name]&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Switch UI theme&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/semantic-stats&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Semantic index statistics&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/semantic-reindex&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Rebuild semantic index&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/register-agent-type &amp;lt;name&amp;gt; &amp;quot;&amp;lt;desc&amp;gt;&amp;quot;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Register a custom agent type&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/list-agent-types&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;List all agent types&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;code&gt;/unregister-agent-type &amp;lt;name&amp;gt;&lt;/code&gt;&lt;/td&gt;
 &lt;td&gt;Remove a custom agent type&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Options for &lt;code&gt;/register-agent-type&lt;/code&gt;:&lt;/p&gt;</description></item><item><title>Planning</title><link>https://gokin.ginkida.dev/docs/usage/planning/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://gokin.ginkida.dev/docs/usage/planning/</guid><description>&lt;p&gt;Gokin includes a full-featured planning system for complex multi-step tasks with support for parallel steps, conditions, dependencies, and adaptive replanning.&lt;/p&gt;
&lt;h2 id="plan-lifecycle"&gt;Plan Lifecycle&lt;a class="anchor" href="#plan-lifecycle"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Draft → AwaitingApproval → Approved → Executing → Completed
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ↘ Cancelled ↙ ↓
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Failed
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Executing ⟷ Paused (pause / resume)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Failed → Approved (after replan)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;State&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;strong&gt;Draft&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Initial state, steps being designed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;AwaitingApproval&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Ready for user review&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Approved&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;User accepted, execution not started&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Executing&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Steps are running&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Paused&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;Temporarily stopped, can be resumed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Completed&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;All steps finished successfully&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Failed&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;A step encountered a fatal error&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;strong&gt;Cancelled&lt;/strong&gt;&lt;/td&gt;
 &lt;td&gt;User cancelled&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="step-statuses"&gt;Step Statuses&lt;a class="anchor" href="#step-statuses"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Status&lt;/th&gt;
 &lt;th&gt;Icon&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;Pending&lt;/td&gt;
 &lt;td&gt;○&lt;/td&gt;
 &lt;td&gt;Awaiting execution&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;InProgress&lt;/td&gt;
 &lt;td&gt;◐&lt;/td&gt;
 &lt;td&gt;Running&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Completed&lt;/td&gt;
 &lt;td&gt;●&lt;/td&gt;
 &lt;td&gt;Finished successfully&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Failed&lt;/td&gt;
 &lt;td&gt;✗&lt;/td&gt;
 &lt;td&gt;Execution error&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Skipped&lt;/td&gt;
 &lt;td&gt;⊘&lt;/td&gt;
 &lt;td&gt;Condition not met or dependency failed&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;Paused&lt;/td&gt;
 &lt;td&gt;⏸&lt;/td&gt;
 &lt;td&gt;Temporarily stopped&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="step-structure"&gt;Step Structure&lt;a class="anchor" href="#step-structure"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#282a36;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-go" data-lang="go"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;Step {
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; ID &lt;span style="color:#8be9fd"&gt;int&lt;/span&gt; &lt;span style="color:#6272a4"&gt;// 1-indexed&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Title &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt; &lt;span style="color:#6272a4"&gt;// What to do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Description &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt; &lt;span style="color:#6272a4"&gt;// Detailed description&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Status Status &lt;span style="color:#6272a4"&gt;// Current state&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;// Execution control&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Parallel &lt;span style="color:#8be9fd"&gt;bool&lt;/span&gt; &lt;span style="color:#6272a4"&gt;// Can run in parallel&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; DependsOn []&lt;span style="color:#8be9fd"&gt;int&lt;/span&gt; &lt;span style="color:#6272a4"&gt;// Step IDs to wait for&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; MaxRetries &lt;span style="color:#8be9fd"&gt;int&lt;/span&gt; &lt;span style="color:#6272a4"&gt;// Retry attempts (0 = no retries)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Timeout time.Duration &lt;span style="color:#6272a4"&gt;// Step timeout&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Condition &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt; &lt;span style="color:#6272a4"&gt;// &amp;#34;step_N_failed&amp;#34; or &amp;#34;step_N_succeeded&amp;#34;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#6272a4"&gt;// Results&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Output &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Error &lt;span style="color:#8be9fd"&gt;string&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; TokensUsed &lt;span style="color:#8be9fd"&gt;int&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; StartTime time.Time
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; EndTime time.Time
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id="parallel-steps"&gt;Parallel Steps&lt;a class="anchor" href="#parallel-steps"&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Steps with &lt;code&gt;Parallel: true&lt;/code&gt; run concurrently via &lt;code&gt;sync.WaitGroup&lt;/code&gt;:&lt;/p&gt;</description></item></channel></rss>