fishbone
fishbone — Fish Script Writing Skill
For AI agents (Copilot, Claude Code, etc.)
Decision: source the library or inline?
Apply this rule every time you write a Fish script:
| Condition | Action |
|---|---|
| Script uses 3 or more library functions | source /path/to/skeleton.fish and call them directly |
Script uses lifecycle functions (script:initialize, script:safe_exit, io:die) |
Always source — these depend on internal state |
Script uses only 1–2 simple, stateless helpers (str:trim, str:lower, str:column, str:row, str:md5, utility:round) |
Inline a minimal adapted version without sourcing |
| Script is a one-liner or short pipeline | Inline or use native Fish builtins |
Inline-safe functions (stateless, no library deps)
More from cshen/skills
dida365
Manage TickTick/Dida365 tasks and projects from the terminal. List, create, complete, update, and delete tasks and projects via the Dida365 Open API.
14mail139
Read, send, delete, reply, and forward email via IMAP/SMTP. Check for new/unread messages, fetch content, search mailboxes, mark as read/unread, and send emails with attachments. Works with any IMAP/SMTP server including Gmail, Outlook, 163.com, vip.163.com, etc.
5xiaomi
Control Xiaomi Mijia smart home devices — list devices/scenes, get/set device properties, run scenes, and issue natural language commands via Xiao Ai speaker. Use when users ask to control smart home devices, turn on/off lights, adjust brightness or temperature, run scenes, or query device status.
3arxiv
Download arXiv papers as PDF, show title/authors/abstract, and generate BibTeX entries for arXiv preprints by arXiv ID.
3youtube-download
Download videos, audio, or subtitles from YouTube, Bilibili, and other sites using yt-dlp. Use when users ask to download online videos or extract audio from video URLs.
1personal-wiki
Build and maintain a personal knowledge wiki. Use when users need to collect and organize knowledge, manage research notes, build a persistent knowledge system, or document problem-solving experiences.
1