verify
Verify that installed skills match the lockfile.Description
Checks that all skills listed inskills.lock exist in .tank/skills/ and are not empty. Does not re-verify SHA-512 integrity (that’s done during install).
Options
No options.Examples
Flow
- Reads
skills.lockfrom current directory - For each entry, parses skill name from lock key (
@org/[email protected]→@org/skill) - Checks that
.tank/skills/{name}/exists - Checks that directory is not empty
- Reports any missing or empty directories
Exit Codes
0- All skills verified successfully1- Verification failed (lockfile missing, skills missing, or directories empty)
When to Use
- After cloning a repository with
skills.lock - Before running a build that depends on skills
- To diagnose missing skill files
permissions
Display resolved permission summary for installed skills.Description
Aggregates permissions from all installed skills and displays them grouped by category. Also checks if resolved permissions fit within the project’s permission budget (if defined).Options
No options.Examples
Budget Violations
Budget Configuration
Define budget inskills.json:
Wildcard Matching
*.example.commatchesapi.example.com,cdn.example.com, etc../src/**matches./src/index.ts,./src/utils/logger.ts, etc.
Exit Codes
0- Success (displays permissions, budget status is informational)
audit
Display security audit results for installed skills.Arguments
Skill name to audit. Omit to audit all installed skills.
Examples
Audit Score
Scores range from 0-10:- 7.0-10.0 (green) - Pass, low risk
- 4.0-6.9 (yellow) - Flagged, medium risk
- 0.0-3.9 (red) - Issues, high risk
Audit Status
completed- Analysis finishedpending- Analysis in progress (background job)error- Analysis failed
Analysis Pipeline
Tank performs 6-stage security analysis:- Ingest - Hash files, detect languages
- Structure - Parse file tree, detect patterns
- Static - AST analysis, code patterns
- Injection - Prompt injection detection
- Secrets - Credential scanning
- Supply Chain - Dependency analysis
Verdict Rules
Final verdict is determined by:- 1+ critical severity → FAIL
- 4+ high severity → FAIL
- 1-3 high severity → FLAGGED
- Only medium/low severity → PASS_WITH_NOTES
- No findings → PASS
Exit Codes
0- Audit completed (scores are informational)1- Network error or skill not found
doctor
Diagnose agent integration health.Description
Runs comprehensive diagnostics on:- Detected AI agents and their installation status
- Local skills (from current project)
- Global skills (from
~/.tank/) - Dev links (created with
tank link) - Skill linking status for each agent
- Broken symlinks and missing extracts
Options
No options.Examples
Status Indicators
- ✅ linked - Symlink exists and points to valid directory
- ❌ not linked - No symlink in agent directory
- ⚠️ broken link - Symlink exists but target is invalid
- ⚠️ missing extract - Skill in lockfile but
.tank/skills/directory missing - ⚠️ no agents detected - No AI agents installed
Detected Agents
Currently supports:- OpenCode -
~/.config/opencode/skills/
Fix Commands
Doctor suggests commands to fix issues:Run \tank install ` to fix broken link` - Re-install skillRun \tank link` in the skill directory to fix ` - Re-link dev skillRun \tank install @tank/typescript` to add your first skill` - Install first skill
Exit Codes
0- Report completed (issues are informational)
When to Use
- After installing or removing skills
- When skills don’t appear in AI agent
- To diagnose linking issues
- Before filing a bug report
Common Workflows
Verify Integrity After Clone
Check Permissions Before Install
Audit All Skills
Diagnose Linking Issues
Continuous Security Monitoring
Security Best Practices
Exit Code Summary
All security commands follow this pattern:0- Command completed successfully1- Command failed or skill not found
skills.json.