Project Setup
Thetank init command creates a new skills.json manifest for publishing AI agent skills.
tank init
Interactively create askills.json manifest in the current directory.
Interactive Prompts
Generated Manifest
Field Validation
Name
- Pattern: Lowercase alphanumeric + hyphens, optionally scoped
- Examples:
my-skill,@myorg/my-skill - Max length: 214 characters
- Invalid:
MySkill,my_skill,my skill
Version
- Pattern: Semantic versioning (semver)
- Format:
MAJOR.MINOR.PATCH[-prerelease][+build] - Examples:
1.0.0,2.1.3-beta,0.1.0+20240101
Scoped Packages
Use scoped names for organization-owned skills:- Default to
privatevisibility - Require organization membership to publish
- Use format
@org/name
Visibility
Public Skills
- Visible to all users in the registry
- Anyone can install without authentication
- Indexed in search results
- Default for non-scoped packages
Private Skills
- Only visible to authorized users
- Require authentication to install
- Not indexed in public search
- Default for scoped packages (
@org/name)
Overwriting Existing Files
Ifskills.json exists, tank init prompts for confirmation:
- Yes - Replaces existing file (data is lost)
- No - Aborts without changes
Default Values
- Name: Current directory name
- Version:
0.1.0 - Description: Empty string
- Visibility:
public(orprivateif scoped) - Author: Name from
~/.tank/config.json(if logged in)
Permissions Model
The generated manifest includes an empty permissions budget:Next Steps
After creatingskills.json:
- Add skill files - Create your skill implementation
- Configure permissions - Define required permissions in
skills.json - Test locally - Use
tank linkto test with agents - Publish - Run
tank publishto upload to registry
Validation
tank init validates the generated manifest against the skills.json schema before writing. If validation fails:
- Invalid name format (uppercase, special characters)
- Invalid version format (not semver)
- Missing required fields
Manual Editing
Aftertank init, you can manually edit skills.json to:
- Add dependencies to
skillsobject - Configure permission budget
- Add metadata (homepage, repository, keywords)
- Set audit score threshold (
audit.min_score)