Skip to content

@tank/agent-creator

1.0.0
Skill

Description

Author Tank agent atoms — named roles with tools, permissions, and model tiers for multi-atom bundles. Covers agent atom schema, role design, tool scoping, model tier selection, multi-agent composition, and platform portability.

Triggered by

create agentagent atomtank agentagent roleagent bundlereadonly agent
Download
Verified
tank install @tank/agent-creator

Tank Agent Creator

Core Philosophy

  1. Identity before instructions — Define WHO the agent is (name + role) before configuring WHAT it can do (tools + model). A clear role drives behavior more than verbose prompts.

  2. Least-privilege tooling — Grant only the tools the agent needs. A reviewer needs read and grep, not write and bash. Excess tools invite excess behavior.

  3. Readonly by default — Mark agents readonly: true unless they must modify files. Most analysis, review, and audit agents never need write access. This prevents accidental mutations.

  4. One responsibility per agent — Each agent atom solves one problem. Compose multiple single-purpose agents in a bundle rather than building one omniscient agent that does everything poorly.

  5. Portable, not vendor-locked — Agent atoms are harness-agnostic. Platform-specific behavior goes in extensions, not in the core schema. The same agent definition works across any Tank-compatible harness.

Quick-Start: Common Tasks

"I need an agent that reviews code"

  1. Define the atom in tank.json:
    {
      "kind": "agent",
      "name": "code-reviewer",
      "role": "Senior code reviewer. Review modified files only. Categorize issues as critical/high/medium/low. Focus on bugs, security, correctness.",
      "tools": ["read", "grep", "glob", "lsp"],
      "model": "fast",
      "readonly": true
    }
    
  2. Pair with a hook or rule atom to trigger the review automatically. -> See references/worked-examples.md for the full pattern.

"I need an agent that modifies files"

  1. Omit readonly (defaults to false) and add write tools:
    {
      "kind": "agent",
      "name": "doc-updater",
      "role": "Documentation maintainer. Update docs to match code changes.",
      "tools": ["read", "write", "grep", "glob"],
      "model": "balanced"
    }
    
  2. Grant write and/or edit only when the agent must produce file output. -> See references/role-design.md for the readonly decision framework.

"I need multiple agents working together"

  1. Define each agent as a separate atom in the same tank.json.
  2. Give them different tool sets and model tiers.
  3. Coordinate via hook or rule atoms. -> See references/worked-examples.md for the reviewer+fixer pattern.

"Agent exists but isn't effective"

ProblemLikely CauseFix
Too generic outputRole is vagueWrite a specific, opinionated role string
Does things it shouldn'tToo many tools grantedRemove unnecessary tools
Slow on simple tasksWrong model tierSwitch to fast for analysis tasks
Modifies files unexpectedlyMissing readonly: trueAdd readonly for non-mutating agents
Works in one harness onlyPlatform logic in roleMove platform specifics to extensions

Decision Trees

Tool Selection

Agent PurposeRecommended ToolsReadonly
Code review / auditread, grep, glob, lspYes
Security scanningread, grep, globYes
Documentation updateread, write, grep, globNo
Code generation / fixread, write, edit, grep, glob, lspNo
Research / explorationread, grep, glob, fetchYes
Test writingread, write, edit, grep, glob, bashNo
Orchestrationread, grep, taskYes

Model Tier Selection

Task ComplexityTierUse When
Pattern matching, formatting, triagefastSpeed matters more than depth
Code generation, editing, analysisbalancedDefault for most agents
Architecture, security, complex reasoningpowerfulAccuracy is critical
Specific model requiredcustomVendor model ID as string

Canonical Tool Names

NameCapability
bashShell command execution
readRead file contents
writeCreate or overwrite files
editModify existing files
grepSearch file contents
globFind files by pattern
lspLanguage server protocol
mcpMCP server invocation
browserWeb browser automation
fetchHTTP requests
gitGit operations
taskSubagent delegation
notebookNotebook operations

Anti-Patterns

PatternProblemFix
One agent that does everythingDiluted expertise, tool sprawlSplit into focused agents
All tools granted to every agentUnintended side effectsLeast-privilege per role
Role string is a full essayModels lose focusKeep role under 3 sentences
Platform-specific logic in roleBreaks portabilityUse extensions bag
No readonly on analysis agentsAccidental file mutationsDefault to readonly: true
Duplicating role across bundlesDrift between copiesExtract to shared bundle

Reference Index

FileContents
references/agent-atom-anatomy.mdTank agent atom schema — required fields, optional fields, canonical tools, model tiers, extension bags, how agents differ from standalone platform agents
references/role-design.mdDesigning effective agent roles — identity-first definition, tool scoping, readonly vs read-write, single-responsibility, composing multi-agent bundles
references/worked-examples.mdFour worked agent examples — code-reviewer, security-auditor, doc-updater, and a multi-agent reviewer+fixer bundle

Command Palette

Search packages, docs, and navigate Tank