config/predefined/skills/tool-call-file-parameter-formatting/SKILL.md
Formats file and URL parameters for tool calls. You must analyze the target tool's parameter names and descriptions to choose the correct format (base64, text, or URL ref).
npx skillsauth add epam/ai-dial-quickapps-backend tool-call-file-parameter-formattingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Standardize file and URL inputs for tool calls using the file:{prefix}::{path_or_url} schema. You must determine the correct prefix by strictly analyzing the target tool's parameter definition.
When a tool parameter requires a file or URL, follow this process:
Inspect the Parameter Name and Parameter Description in the tool definition to determine the requirement:
base64 prefix.text prefix, the tool-call processor will read the file's contents and pass that text as the tool call parameter.text prefix.url, link, uri, or description says "pass the link" or "reference."url prefix.Construct the string using the format: file:{prefix}::{path_or_url}
base64, text, or url (determined from step 1)::files/path/to/file.exthttps://example.com/resourceBefore executing the tool call, perform this check:
[tool_name]. The parameter [param_name] has the description: [description]."[base64 | text | url] prefix."name: analyze_imageparameter: image_datadescription: "The base64 encoded contents of the image file."file:base64::files/images/chart.pngname: web_browserparameter: target_urldescription: "The URL to navigate to."target_url and expects a navigation link.file:url::https://google.comname: read_scriptparameter: script_contentdescription: "The text content of the python script."file:text::files/scripts/main.pyname: base64_image_processorparameter: image_inputdescription: "Image to process."file:base64::files/photos/portrait.jpgname: document_analyzerdescription: "Analyzes documents by reading their text content directly."parameter: documentdescription: "Document to analyze."file:text::files/reports/annual_report.txtname: fetch_resourceparameter: resource_urldescription: "The resource to fetch."_url, indicating a URL reference is expected.file:url::https://api.example.com/data.jsonname: process_fileparameter: input_filedescription: "Pass the base64-encoded file data for processing."file:base64::files/uploads/document.pdfname: batch_processorparameter: documents (type: array of strings)description: "List of base64-encoded file contents."["file:base64::files/doc1.pdf", "file:base64::files/doc2.pdf"]name: rag
parameter: attachment_urls (type: array of strings)description: "List of URLs pointing to the files to be ingested."attachment_urls and description "URLs pointing to the files" indicate URL references for each element.["file:url::https://example.com/doc1.pdf", "file:url::https://example.com/doc2.pdf"]Note: The
file:{prefix}::format works for both single string parameters and individual elements within array parameters.
url for local files.file:base64::... to a tool that only asks for a URL string (parameter name url).files/doc.pdf) without the file:... schema.External https:// URLs are valid file references — attachment_urls accepts them, and file:base64::https://...
/ file:text::https://... will inline external content. They may fail with a clear error when the operator has
disabled external egress (EXTERNAL_URL_FETCH_ENABLED=false) or the per-app config has opted out
(features.external_url_fetch.enabled: false). When that happens:
file:base64::https://... and file:text::https://..., retry by asking the user to upload the file to DIAL
and re-issue the call with files/... instead.attachment_urls, the same call may still succeed against a deployment that supports
features.url_attachments (the URL is forwarded as a reference_url and the deployment fetches the bytes
itself, never via QuickApps).tools
Use when work should span one or more detached tasks but still behave like one job with a single owner context. TaskFlow is the durable flow substrate under authoring layers like Lobster, ACPX, plugins, or plain code. Keep conditional logic in the caller; use TaskFlow for flow identity, child-task linkage, waiting state, revision-checked mutations, and user-facing emergence.
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
# Lobster Lobster executes multi-step workflows with approval checkpoints. Use it when: - User wants a repeatable automation (triage, monitor, sync) - Actions need human approval before executing (send, post, delete) - Multiple tool calls should run as one deterministic operation ## When to use Lobster | User intent | Use Lobster? | | ------------------------------------------------------ | --------------------------
tools
A CLI tool for making authenticated requests to the X (Twitter) API. Use this skill when you need to post tweets, reply, quote, search, read posts, manage followers, send DMs, upload media, or interact with any X API v2 endpoint.