| name | bytedance-find-skills |
| description | Manage AI agent skills using the @tiktok-fe/skills CLI (binary: ai-skills). Use when the user asks to find, search, install, add, remove, update, publish, list, or manage AI skills across coding agents (Cursor, Claude Code, GitHub Copilot, Windsurf, etc.), or mentions ai-skills, skill hub, or @tiktok-fe/skills. |
AI Skills CLI
@tiktok-fe/skills (ai-skills) discovers, installs, and manages AI agent skills across 30+ platforms.
npm install -g @tiktok-fe/skills
Pure Mode (Required)
The CLI defaults to interactive CLI mode with colors, spinners, arrow-key navigation, and confirmation prompts. This WILL hang/block when called by an AI agent. Always use --pure to switch to non-interactive plain-text mode.
What --pure changes
| Behavior | CLI mode (default) | Pure mode (--pure) |
|---|
| Output | ANSI colors, spinners, animations | Plain console.log, no escape codes |
| Prompts | Interactive confirmation dialogs | Skipped — operations that need confirmation silently fail |
| Overwrite | Asks "overwrite?" prompt | Always returns false — use --force to overwrite |
| Search | Real-time Ink UI with keyboard nav | Paginated text output |
| Scope selection | Interactive multi-select | Fails if not specified — always pass -p/-g/-t/--dir |
| Manage | Ink-based React terminal UI | Falls back to list output |
Preventing hangs
Commands that block without proper flags:
ai-skills add my-skill --source local --pure
ai-skills add my-skill --source local --project --pure
ai-skills add my-skill --source local --project --pure
ai-skills add my-skill --source local --project --pure --force
ai-skills update --project --pure
ai-skills update --project --pure -y
ai-skills clean --project --pure
ai-skills clean --project --pure --force
Complete flag checklist
Every command invoked by an AI agent must include:
--pure — plain-text output, no ANSI codes, no interactive prompts
- Scope flag —
-p (project), -g (global), -t <dir>, or --dir <dir>
- Confirmation skip —
-y (for update/publish) or --force (for add/remove/clean)
--source — local, github, gitlab, codebase, wellknown
Quick Reference
Find skills
ai-skills find "query" --pure --page 1
ai-skills find react --source github --pure
ai-skills find --tag typescript --filter community --pure
Install skills
ai-skills add skill-name --source local --project --pure -y
ai-skills add owner/repo --source github --skill skill-name --project --pure -y
ai-skills add owner/repo --source github --project --pure -y
ai-skills add skill-name --source local --project --pure --force
List / Remove / Update
ai-skills list --project --pure
ai-skills remove skill-name --project --pure --force
ai-skills update --project --pure -y
ai-skills update --list --project --pure
Auth & Config
ai-skills whoami --json
ai-skills login --pure
ai-skills config --json
Create & Publish
ai-skills init --name my-skill --template basic --pure
ai-skills publish --dir ./my-skill --pure -y
ai-skills unpublish user/skills/name --version 1.0.0 --pure --force
Other
ai-skills agents --pure
ai-skills clean --project --pure --force
Output Parsing
| Command | Success | Error |
|---|
| add | Installed: name | Error:, Already installed:, No agents found |
| remove | Removed: name | not found, Cannot remove: |
| update | Updated: N, Skipped: N, Failed: N | — |
| publish | Published: name@ver | Not logged in |
| clean | Cleaned: N skill(s) removed | — |
| login | Login successful: | Login failed: |
| init | Created: /path/SKILL.md | Error: |
Common Workflows
Install a skill for a project
ai-skills find typescript --pure --page 1
ai-skills add typescript-config --source local --project --pure -y
ai-skills list --project --pure
Update all project skills
ai-skills update --list --project --pure
ai-skills update --project --pure -y
Publish a new skill
ai-skills whoami --json
ai-skills init --name my-skill --template basic --pure
ai-skills publish --dir ./my-skill --pure -y
Detailed References
For command-specific options, arguments, and output formats, read the corresponding file under llms/:
Read these files only when detailed information is needed for a specific command or topic.