Files
fusion/packages/cli/skill/fusion/references/extension-tools.md
Fusion (runfusion.ai) ceacad78a1 chore(FN-4959): complete Step 4 — regenerate fusion skill tool references
Fusion-Task-Id: FN-4959
Fusion-Task-Lineage: 59a0c481-5a2d-4a2f-9230-3a5437b687a6
2026-05-17 21:46:58 -07:00

21 KiB

Fusion Extension Tools

All tools are registered via the Fusion extension. They are available in any agent session when Fusion is configured.

Naming contract: all externally exposed Fusion extension tools are fn_* (for example fn_task_create). Engine runtime sessions also inject additional fn_* tools (for example fn_review_step, fn_spawn_agent, fn_task_document_write) that are separate from this extension surface and documented in engine-tools.md.

Task Tools

fn_task_create

Create a new task on the Fusion task board. The task enters the planning column where the AI planning agent will plan it into a full prompt with steps, file scope, and acceptance criteria.

Parameter Type Required Description
description string What needs to be done — be descriptive
depends array Task IDs this depends on (e.g. ['FN-001', 'FN-002'])
agentId string Agent ID to assign this task to (e.g. 'agent-abc123')
priority string(enum) Task priority (low, normal, high, urgent)

fn_task_update

Update fields on an existing task. Supports modifying the title, description, dependencies, assigned agent, and priority after task creation.

Parameter Type Required Description
id string Task ID (e.g. FN-001)
title string New task title
description string New task description
depends array New dependency list — replaces existing dependencies (e.g. ['FN-001', 'FN-002'])
agentId union Agent ID to assign this task to, or null to clear (e.g. 'agent-abc123')
nodeId union Node ID override for this task, or null to clear
priority string(enum) Task priority (low, normal, high, urgent)

fn_task_list

List all tasks on the Fusion board, grouped by column.

Parameter Type Required Description
column string(enum) Filter to a specific column
limit number Max tasks to show per column (default: 10)

fn_task_show

Show full details for a task including steps, progress, and log entries.

Parameter Type Required Description
id string Task ID (e.g. FN-001)

fn_task_attach

Attach a file to a task. Supports images (png, jpg, gif, webp) and text files (txt, log, json, yaml, yml, toml, csv, xml).

Parameter Type Required Description
id string Task ID (e.g. FN-001)
path string Path to the file to attach

fn_task_pause

Pause a task — stops all automated agent and scheduler interaction for this task.

Parameter Type Required Description
id string Task ID (e.g. FN-001)

fn_task_unpause

Unpause a task — resumes automated agent and scheduler interaction.

Parameter Type Required Description
id string Task ID (e.g. FN-001)

fn_task_retry

Retry a failed task — clears the error state. Non-review failures move to todo; in-review execution failures move to todo preserving progress; in-review merge failures stay in-place for auto-merge retry.

Parameter Type Required Description
id string Task ID to retry (e.g. FN-001). Must be in 'failed' state.

fn_task_duplicate

Duplicate an existing task, creating a fresh copy in planning. Copies the title and description but resets all execution state. The AI planning agent will replan the new task.

Parameter Type Required Description
id string Source task ID to duplicate (e.g. FN-001)

fn_task_refine

Request a refinement of a completed or in-review task. Creates a new follow-up task in planning that references the original task as a dependency. Use this when a done or in-review task needs additional work, improvements, or follow-up changes.

Parameter Type Required Description
id string Task ID to refine (e.g. FN-001). Must be in 'done' or 'in-review' column.
feedback string Description of what needs to be refined or improved

fn_task_archive

Archive a done task (move from done → archived). Archived tasks are preserved for historical reference but moved out of the main board view.

Parameter Type Required Description
id string Task ID to archive (e.g. FN-001). Must be in 'done' column.

fn_task_unarchive

Unarchive an archived task (move from archived → done). Restores the task to the done column.

Parameter Type Required Description
id string Task ID to unarchive (e.g. FN-001). Must be in 'archived' column.

fn_task_delete

Permanently delete a task from the Fusion board. Tasks are deleted immediately and cannot be recovered.

Parameter Type Required Description
id string Task ID to delete (e.g. FN-001)

fn_task_plan

Create a task via AI-guided planning mode — interactive conversation to refine your idea into a well-specified task.

Parameter Type Required Description
description string Initial plan description (optional) — the AI will ask clarifying questions if not provided

GitHub Tools

fn_task_import_github

Import GitHub issues as Fusion tasks. Fetches open issues from a repository and creates tasks in the planning column. Each task includes the issue title and body with a link to the source issue.

Parameter Type Required Description
ownerRepo string Repository in owner/repo format (e.g., 'dustinbyrne/fusion')
limit number Max issues to import (default: 30, max: 100)
labels array Label names to filter by

fn_task_import_github_issue

Import a specific GitHub issue as a Fusion task. Fetches the issue by number and creates a single task in the planning column with the issue title and body.

Parameter Type Required Description
owner string Repository owner (e.g., 'dustinbyrne')
repo string Repository name (e.g., 'fusion')
issueNumber number GitHub issue number to import

fn_task_browse_github_issues

List open GitHub issues from a repository to browse before importing. Returns issue numbers, titles, and URLs for selection. Use with fn_task_import_github_issue to import specific issues by number.

Parameter Type Required Description
owner string Repository owner (e.g., 'dustinbyrne')
repo string Repository name (e.g., 'fusion')
limit number Max issues to show (default: 30, max: 100)
labels array Label names to filter by

Mission Tools

fn_mission_create

Create a new mission — a high-level objective that can span multiple milestones. Missions contain milestones that break down work into phases.

Parameter Type Required Description
title string Mission title — brief but descriptive
description string Detailed mission objectives and context
autoAdvance boolean Automatically activate the next pending slice when the current slice completes

fn_mission_list

List all missions with their current status.

Parameter Type Required Description
includeDrafts boolean Include in-flight mission interview drafts (default: true)

fn_mission_show

Show mission details with full hierarchy: milestones → slices → features.

Parameter Type Required Description
id string Mission ID (e.g., M-001)

fn_mission_delete

Delete a mission and all its milestones, slices, and features. Cannot be undone.

Parameter Type Required Description
id string Mission ID to delete (e.g., M-001)

fn_milestone_add

Add a milestone to a mission. Milestones represent phases of work.

Parameter Type Required Description
missionId string Parent mission ID (e.g., M-001)
title string Milestone title
description string Milestone description

fn_slice_add

Add a slice to a milestone. Slices are work units that can be activated for implementation.

Parameter Type Required Description
milestoneId string Parent milestone ID (e.g., MS-001)
title string Slice title
description string Slice description

fn_feature_add

Add a feature to a slice. Features are deliverables that can be linked to tasks.

Parameter Type Required Description
sliceId string Parent slice ID (e.g., SL-001)
title string Feature title
description string Feature description
acceptanceCriteria string Acceptance criteria for completing the feature

fn_slice_activate

Activate a pending slice for implementation. Sets status to 'active' and enables task linking for its features.

Parameter Type Required Description
id string Slice ID to activate (e.g., SL-001)

Link a feature to a fn task for implementation. Updates the feature status to 'triaged' and associates it with the task.

Parameter Type Required Description
featureId string Feature ID to link (e.g., F-001)
taskId string Task ID to link to (e.g., FN-001)

fn_feature_update

Update an existing feature's title, description, or acceptance criteria. Partial patches leave untouched fields intact.

Parameter Type Required Description
id string Feature ID to update (e.g., F-001)
title string Updated feature title
description string Updated feature description
acceptanceCriteria string Updated acceptance criteria for completing the feature

fn_milestone_update

Update an existing milestone's title, description, or acceptance criteria (the structured pass/fail bar, distinct from verification's free-form how-to-confirm notes). Partial patches leave untouched fields intact.

Parameter Type Required Description
id string Milestone ID to update (e.g., MS-001)
title string Updated milestone title
description string Updated milestone description
acceptanceCriteria string Updated acceptance criteria for completing the milestone

Agent Tools

fn_agent_stop

Stop a running agent — pauses its execution. Transitions the agent from running/active to paused state.

Parameter Type Required Description
id string Agent ID to stop (e.g., agent-abc123)

fn_agent_start

Start a stopped agent — resumes its execution. Transitions the agent from paused to active state.

Parameter Type Required Description
id string Agent ID to start (e.g., agent-abc123)

fn_agent_create

Create a new non-ephemeral agent.

Parameter Type Required Description
name string Agent name
role union Agent role/capability
soul string Agent personality/identity text
instructions_text string Inline custom instructions
instructions_path string Path to instructions markdown
reportsTo string Manager agent ID
heartbeat_interval_ms number
heartbeat_timeout_ms number
max_concurrent_runs number
message_response_mode union

fn_agent_delete

Delete a non-ephemeral agent.

Parameter Type Required Description
agent_id string Agent ID to delete
force boolean Force delete when holding checkout
reassign_to string Optional replacement agent for assigned tasks

fn_list_agents

List all available agents in the system. Shows each agent's name, role, state, personality (soul), and current assignment. Use this to discover which agents exist and what they specialize in before delegating work.

Parameter Type Required Description
role string Filter by agent role/capability (e.g., 'executor', 'reviewer', 'qa')
state string Filter by agent state (e.g., 'idle', 'active', 'running')
includeEphemeral boolean Include ephemeral/runtime agents (default: false)

fn_delegate_task

Create a new task and assign it to a specific agent for execution. The task goes to 'todo' and will be picked up by the target agent on their next heartbeat cycle. Use fn_list_agents first to find available agents and their capabilities.

Parameter Type Required Description
agent_id string The agent ID to delegate work to
description string What needs to be done
dependencies array Task IDs this new task depends on (e.g. ["KB-001"]
override boolean Set true to bypass executor-role assignment policy

fn_agent_show

Show detailed information about a single agent, including their role, state, position in the org hierarchy (reports-to, direct reports), skills, and current assignment.

Parameter Type Required Description
id string Agent ID or resolvable name

fn_agent_org_chart

Show the organizational tree of agents, displaying the role hierarchy. Optionally filter to a subtree rooted at a specific agent.

Parameter Type Required Description
root_agent_id string If provided, show only the subtree rooted at this agent
include_ephemeral boolean Include ephemeral/runtime agents (default: false)

Skills Tools

Search the skills.sh directory for agent skills. Returns matching skills with names, sources (owner/repo), install counts, and install commands. Use fn_skills_install to install a selected skill.

Parameter Type Required Description
query string Search query — framework name, technology, or capability (e.g., 'react', 'firebase', 'testing', 'docker')
limit number Max results to return (default: 10, max: 50)

fn_skills_install

Install an agent skill from skills.sh into the current project. Downloads skill files into the project's skill directories (.fusion/skills/, legacy .pi/skills/, .agents/skills/). The skill becomes available to AI agents in subsequent sessions.

Parameter Type Required Description
source string GitHub source in owner/repo format (e.g., 'firebase/agent-skills')
skill string Specific skill name to install (e.g., 'firebase-basics'). Omit to install all skills from the source.

Insight Tools

fn_insight_list

List persisted project insights with optional category/status filters.

Parameter Type Required Description
category string(enum) Filter by insight category
status string(enum) Filter by insight status
runId string Filter to insights linked to a specific run ID
limit number Max insights to return
offset number Number of rows to skip

fn_insight_show

Show a single persisted insight by ID.

Parameter Type Required Description
id string Insight ID (e.g. INS-XXXXX)

fn_insight_run_list

List recent insight-generation runs with optional status/trigger filters.

Parameter Type Required Description
status string(enum) Filter by run status
trigger string(enum) Filter by run trigger
limit number Max runs to return
offset number Number of runs to skip

fn_insight_run_show

Show a single insight-generation run by ID.

Parameter Type Required Description
id string Insight run ID (e.g. INSR-XXXXX)

Other Tools

fn_web_fetch

Lightweight URL fetch (no JS rendering). Use agent-browser skill for JS-heavy pages. URL to fetch (http/https) Optional extraction hint for downstream summarization Timeout in milliseconds (default: 30000) Max bytes to return (default: 512000)

Parameter Type Required Description
url string URL to fetch (http/https)
prompt string Optional extraction hint for downstream summarization
timeoutMs number Timeout in milliseconds (default: 30000)
maxBytes number Max bytes to return (default: 512000)

fn_secret_get

Read a secret by key using per-secret access policy.

Parameter Type Required Description
key string Secret key
scope union Optional scope

fn_research_run

Cited-research pipeline: create a bounded search/fetch/synthesis run (not an autonomous experiment loop) and optionally wait for completion.

Parameter Type Required Description
query string Research query or question
wait_for_completion boolean Wait for the run to complete before returning (default: false)
max_wait_ms number Max wait time when wait_for_completion=true (default: 90000, capped by settings)

fn_research_list

Cited-research pipeline: list recent search/fetch/synthesis runs (not experiment-loop sessions).

Parameter Type Required Description
status string(enum) Filter by run status
limit number Max runs to return (default: 10)

fn_research_get

Cited-research pipeline: get one run with structured findings and citations (not experiment-loop state).

Parameter Type Required Description
id string Research run ID

fn_research_cancel

Cited-research pipeline: cancel an in-flight run; terminal runs return INVALID_TRANSITION (does not control experiment loops).

Parameter Type Required Description
id string Research run ID

fn_research_retry

Cited-research pipeline: retry a failed run when lifecycle marks it retryable (not an autonomous experiment loop retry).

Parameter Type Required Description
id string Research run ID

fn_experiment_finalize

Group kept experiment runs into reviewable branches and finalize the session. Use dryRun=true to preview the plan without touching git.

Parameter Type Required Description
sessionId string Experiment session ID
integrationBranch string Integration branch to compute merge-base against (default: main)
dryRun boolean Preview plan only; do not create branches
planOverride unknown Optional plan override payload
summary string Optional finalize summary

Dashboard Command

/fn

Start or stop the Fusion dashboard from within an agent session.

Command Description
/fn Start dashboard on port 4040
/fn 8080 Start on custom port
/fn stop Stop dashboard
/fn status Check if running