tools:
- name: jq_parse
description: Parse and transform JSON data with jq
run:
kind: shell
cmd: "echo '{{json}}' | jq '{{filter}}'"
args:
json:
type: string
description: "JSON data to parse"
required: true
filter:
type: string
description: "jq filter expression (e.g., '.items[]', '.name', '.[0]')"
required: false
default: "."
- name: curl_request
description: Make HTTP requests with curl
run:
kind: shell
cmd: "curl {{method}} {{headers}} {{data}} {{url}}"
args:
url:
type: string
description: "Target URL for HTTP request"
required: true
method:
type: string
description: "HTTP method flag (-X GET, -X POST, -X PUT, etc.)"
required: false
default: "-X GET"
headers:
type: string
description: "HTTP headers (e.g., -H 'Content-Type: application/json')"
required: false
default: ""
data:
type: string
description: "Request body data (e.g., -d '{\"key\":\"value\"}')"
required: false
default: ""
- name: grep_search
description: Search text with grep patterns
run:
kind: shell
cmd: "grep {{options}} '{{pattern}}' {{file}}"
args:
pattern:
type: string
description: "Search pattern (regex supported)"
required: true
file:
type: string
description: "File to search (use - for stdin)"
required: false
default: "-"
options:
type: string
description: "Grep options (-i for case-insensitive, -r for recursive, -v for invert, etc.)"
required: false
default: ""
- name: ffmpeg_convert
description: Convert media files with ffmpeg
run:
kind: shell
cmd: "ffmpeg -i {{input}} {{options}} {{output}}"
args:
input:
type: string
description: "Input file path"
required: true
output:
type: string
description: "Output file path with extension"
required: true
options:
type: string
description: "ffmpeg options (e.g., -vcodec libx264, -acodec aac, -s 1280x720)"
required: false
default: ""