Cortask

Built-in Tools

File Tools

read_file

Read the contents of a file in the workspace.

ParameterTypeRequiredDescription
pathstringyesFile path relative to workspace root

Files outside the workspace are blocked.

write_file

Write content to a file. Creates the file if it does not exist, overwrites if it does. Creates parent directories automatically. Requires permission (file_write).

ParameterTypeRequiredDescription
pathstringyesFile path relative to workspace root
contentstringyesContent to write

list_files

List files and directories in a workspace directory. Returns names with a trailing / for directories.

ParameterTypeRequiredDescription
pathstringnoDirectory path relative to workspace root (default: root)

show_file

Present a file to the user as a downloadable card in the chat. Use after creating or processing a file that the user would want to download.

ParameterTypeRequiredDescription
pathstringyesFile path relative to workspace root
labelstringnoDisplay label for the file card

Shell

bash

Execute a shell command in the workspace directory. Requires permission (bash). Uses cmd.exe on Windows and /bin/bash on other platforms. Timeout: 120 seconds. Output truncated at 50,000 characters.

ParameterTypeRequiredDescription
commandstringyesThe shell command to execute

Web

web_fetch

Fetch the text content of a web page. Timeout: 30 seconds. Output truncated at 100,000 characters.

ParameterTypeRequiredDescription
urlstringyesThe URL to fetch

web_search

Search the web using DuckDuckGo. Returns results with titles, URLs, and snippets. No API key required.

ParameterTypeRequiredDescription
querystringyesThe search query
maxResultsnumbernoMaximum results to return (default: 5)

Browser

browser

Control a visible Playwright-based browser window. The browser is visible to the user. Use web_fetch for simple content retrieval.

ParameterTypeRequiredDescription
actionstringyesThe action to perform (see below)
urlstringnoURL for navigate
selectorstringnoElement ref (@e1, @e2...) or CSS selector
textstringnoText for fill and type
valuestringnoValue for select
keystringnoKey name for press (e.g. Enter, Tab)
scriptstringnoJavaScript for evaluate
targetstringnoWait target: CSS selector, milliseconds, or URL pattern

Actions:

ActionDescription
navigateGo to a URL
snapshotGet accessibility tree with element refs (@e1, @e2...)
screenshotCapture the page as an image artifact
clickClick an element by ref or CSS selector
fillClear an input field and fill with text
typeType text into the focused or selected element
selectSelect a dropdown option by value
pressPress a keyboard key
evaluateExecute JavaScript on the page
get_textGet the text content of an element
get_contentGet page title, URL, and accessibility snapshot
waitWait for a selector, text, or milliseconds
backNavigate back in history
forwardNavigate forward in history
reloadReload the page
closeClose the browser

Memory

memory_read

Read long-term memory.

ParameterTypeRequiredDescription
scopestringno"project" (default) or "global"

Project memory is stored in .cortask/memory.md inside the workspace. Global memory is stored in the Cortask data directory.

memory_save

Replace the entire memory file with new content.

ParameterTypeRequiredDescription
contentstringyesFull markdown content to write
scopestringno"project" (default) or "global"

memory_append

Append a note to memory. Also indexes the note in the searchable memory database for semantic retrieval.

ParameterTypeRequiredDescription
notestringyesThe note to append
scopestringno"project" (default) or "global"

A warning is emitted when the memory file exceeds 200 lines, suggesting consolidation with memory_save.

memory_search

Search long-term memory using semantic and keyword search.

ParameterTypeRequiredDescription
querystringyesThe search query
limitnumbernoMaximum results (default: 5)

Data

data_file

Inspect and query data files (CSV, TSV, JSON, XLSX) without loading them into the conversation context.

ParameterTypeRequiredDescription
actionstringyes"inspect" or "query"
pathstringyesPath to the data file (relative to workspace)
sqlstringnoSQL query (for query action). The table is named data.

The inspect action returns column names, types, row count, and sample rows. The query action loads the file into an in-memory SQLite database and executes the SQL. Results are capped at 100 rows.


Artifacts

artifact

Create rich artifacts (HTML, CSV, SVG, JSON, text) that render inline in the chat. Content can be provided directly or read from a workspace file.

ParameterTypeRequiredDescription
typestringyes"html", "csv", "json", "svg", or "text"
titlestringyesShort title for the artifact
contentstringnoThe artifact content (not needed if path is provided)
pathstringnoFile path relative to workspace root (preferred when file exists)

Scheduling

cortask_cron

Manage scheduled jobs that run agent prompts on a timer.

ParameterTypeRequiredDescription
actionstringyes"list", "create", "update", "remove", or "run_now"
namestringnoJob name (for create/update)
schedule_typestringno"at" (one-time), "every" (interval), or "cron" (recurring)
schedule_valuestringnoISO datetime, milliseconds, or cron expression
timezonestringnoTimezone (e.g. Europe/Berlin)
promptstringnoThe prompt to execute when the job runs
enabledbooleannoWhether the job is enabled
delivery_channelstringnoChannel for result delivery ("telegram", "discord", "whatsapp")
delivery_targetstringnoTarget chat/user ID for delivery
job_idstringnoJob ID (for update, remove, run_now)

Interaction

questionnaire

Present a multi-step questionnaire to the user to collect structured information. Only available in the web UI (not in channel-based conversations).

ParameterTypeRequiredDescription
titlestringnoTitle of the questionnaire
descriptionstringnoDescription of its purpose
questionsarrayyesArray of question objects

Each question object:

FieldTypeRequiredDescription
idstringyesUnique identifier
questionstringyesThe question text
typestringyes"single", "multiple", "text", or "textarea"
optionsarraynoOptions for single/multiple choice (each with value, label, optional description)
requiredbooleannoWhether the question must be answered
placeholderstringnoPlaceholder text for text inputs
allowOtherbooleannoAdd an "Other" option with text input

Delegation

subagent

Spawn a child agent to handle an independent subtask. The sub-agent runs in isolation with its own context and returns the result directly. Use for delegating research, analysis, or parallel tasks.

ParameterTypeRequiredDescription
taskstringyesClear description of the task for the sub-agent

Constraints:

  • Maximum nesting depth: 1 (sub-agents cannot spawn their own sub-agents)
  • Maximum concurrent children per parent: 5
  • Timeout: 120 seconds per sub-agent

Navigation

switch_workspace

Switch the active workspace for channel-based conversations. Only available when the agent is accessed through a channel (Telegram, Discord, WhatsApp), not in the web UI.

ParameterTypeRequiredDescription
actionstringyes"list" or "switch"
workspace_namestringnoWorkspace name (case-insensitive partial match)

Skills

cortask_skill

Manage custom skills. Skills are SKILL.md files with YAML frontmatter and markdown instructions.

ParameterTypeRequiredDescription
actionstringyes"create", "update", "list", or "remove"
namestringnoSkill name in kebab-case
contentstringnoFull SKILL.md content (for create/update)

Cannot overwrite bundled skills. Custom skills are stored in the user skills directory.