Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tankpkg/tank/llms.txt
Use this file to discover all available pages before exploring further.
Skills
Tank skills are reusable packages of instructions and code that teach AI agents how to perform specific tasks. Think of them as NPM packages for AI capabilities — versioned, dependency-managed, and security-scanned.What is a Skill?
A skill is a packaged collection of:- SKILL.md — Human-readable instructions that explain what the skill does and how to use it
- skills.json — Manifest with metadata, dependencies, and permission declarations
- Supporting files — Code, templates, data files, or configuration needed by the skill
Skills are installed locally in
.tank/skills/ and can be referenced by AI agents to gain new capabilities without modifying the agent’s core code.SKILL.md Format
Every skill must include aSKILL.md file — this is the instruction manual for AI agents. The format is flexible Markdown, but should follow these conventions:
Basic Structure
Example: Google Sheets Skill
Here’s an excerpt from a real skill:Skill Package Structure
A typical skill package looks like this:Naming Conventions
Skill names must follow NPM-style scoped naming:- Format:
@org/skill-name - Lowercase only with hyphens allowed
- Scoped: Must include organization prefix (e.g.,
@tank/google-sheets) - 214 characters or fewer
Example Skills
Simple Tool Skill
Skills with Dependencies
Skills can depend on other skills. This is declared inskills.json:
FAQ: When should I create a new skill vs. update an existing one?
FAQ: When should I create a new skill vs. update an existing one?
Create a new skill when:
- The functionality is unrelated to existing skills
- You want to share it with others or across projects
- It has distinct permission requirements
- You’re adding features to an existing capability
- Fixing bugs or improving documentation
- The change is backward-compatible (minor/patch version bump)
Best Practices
Writing SKILL.md
- Be concise — AI agents have limited context windows
- Use examples — Show specific API calls or command patterns
- Explain permissions — Make it clear why each permission is needed
- List capabilities explicitly — Bullet points work better than prose
- Include error handling — Document common failure modes
Packaging
- Keep it small — Maximum 50MB per package, 1000 files
- No binaries — Text files only (code, markdown, JSON, YAML)
- Minimal dependencies — Fewer dependencies = faster installs and fewer security risks
- Version carefully — Follow semantic versioning strictly
Security
- Declare all permissions — Undeclared permissions will be denied at runtime
- Request minimal access — Only ask for what you need
- No hardcoded secrets — Use environment variables or user-provided credentials
- Scan before publishing —
tank publishautomatically runs security scans
Next Steps
- Manifest Format — Learn about skills.json structure
- Permissions — Understand the permission model
- Security Scanning — How Tank validates skills