| name | foxctl Data Operations |
| description | File and data operations with foxctl - read/write files, query JSON/YAML with jq. Use when asked to read files, write content, parse JSON, filter data, or transform YAML. |
Data Operations
Use this skill for file I/O and structured data processing with foxctl.
Trigger phrases: "read this file", "write to file", "parse JSON", "filter YAML", "query the data", "transform this JSON", "list directory", "find files"
File Operations
foxctl run fs/read --input '{"path": "README.md"}'
foxctl run fs/write --input '{"path": "out.txt", "content": "...", "mode": "overwrite"}'
foxctl run fs/ls --input '{"path": ".", "all": true, "long": true}'
foxctl run fs/tree --input '{"path": "src/", "max_depth": 3, "gitignore": true}'
foxctl run fs/find --input '{"path": ".", "pattern": "*.go", "type": "file"}'
Large files (>threshold) stored in CAS: foxctl cas get sha256:...
JSON/YAML Processing
foxctl run data/jq --input '{
"query": ".data.items[] | select(.active)",
"input": "{\"data\": {\"items\": [...]}}"
}'
foxctl run data/jq --input '{
"query": ".services[].name",
"input": "services:\n - name: web",
"yaml_input": true
}'
Common JQ Patterns
".name, .email"
".users[] | select(.role == \"admin\")"
".items | map({id: .id, title: .name})"
"[.transactions[].amount] | add"
"group_by(.category) | map({category: .[0].category, count: length})"
Parameters
| fs/read | Description |
|---|
path | File path (required) |
| fs/write | Description |
|---|
path | File path (required) |
content | Content to write |
mode | overwrite, append, create |
| data/jq | Description |
|---|
query | JQ expression (required) |
input | JSON/YAML string (required) |
raw_output | Output raw strings |
yaml_input | Parse as YAML |
Full docs: See ~/.foxctl/share/configs/skills/foxctl-fs/ and ~/.foxctl/share/configs/skills/foxctl-jq/