@tank/package-creator
1.0.0Description
Master routing guide for creating any Tank package. Identifies the correct package type (instruction-only skill, bundle, hook, tool, rule, agent, prompt, resource) from a user request and routes to the specialized creator skill. Includes decision trees for format selection and a universal pre-publish quality checklist.
Triggered by
tank install @tank/package-creatorTank Package Creator
Route any "I want to create..." request to the correct specialized creator.
Core Philosophy
-
Route, do not duplicate. This skill identifies the right creator and hands off. The 8 creator skills contain the deep knowledge. Loading all of them wastes context; loading the right one is the job.
-
Format follows need. Instruction-only skills are simpler to author, review, and maintain. Reach for multi-atom bundles only when the problem demands machine enforcement, delegation, or external integration.
-
Composition over complexity. Most packages need 1-3 atom kinds. A bundle with all 7 atom kinds is almost certainly over-engineered. Start with the minimum atoms that solve the problem.
-
Quality is non-negotiable. Every package passes the same checklist before publishing. No exceptions for "simple" packages.
What Do You Want to Create?
"I want to teach the agent domain knowledge"
- This is an instruction-only skill (the simplest package type).
- Load
@tank/skill-creatorfor the full workflow. - Create under
skills/{name}/withSKILL.md+tank.json.
"I want to intercept agent behavior at lifecycle events"
- This requires a hook atom inside a multi-atom bundle.
- Load
@tank/hook-creatorfor event catalog and handler patterns. - Load
@tank/bundle-creatorfor the bundle scaffold.
"I want to wire an MCP server into the agent"
- This requires a tool atom inside a multi-atom bundle.
- Load
@tank/tool-creatorfor transport wiring and extension bags. - Load
@tank/bundle-creatorfor the bundle scaffold.
"I want to enforce a policy without writing code"
- This requires a rule atom inside a multi-atom bundle.
- Load
@tank/rule-creatorfor policy design and event targeting. - Load
@tank/bundle-creatorfor the bundle scaffold.
"I want to define a sub-agent with specific tools"
- This requires an agent atom inside a multi-atom bundle.
- Load
@tank/agent-creatorfor role design and tool scoping. - Load
@tank/bundle-creatorfor the bundle scaffold.
"I want a reusable template or slash command"
- This requires a prompt atom inside a multi-atom bundle.
- Load
@tank/prompt-creatorfor template design and variable syntax. - Load
@tank/bundle-creatorfor the bundle scaffold.
"I want to expose data the agent can read on demand"
- This requires a resource atom inside a multi-atom bundle.
- Load
@tank/resource-creatorfor URI design and pull-model patterns. - Load
@tank/bundle-creatorfor the bundle scaffold.
"I want a composite package with multiple atom types"
- Start with
@tank/bundle-creatorfor the scaffold and atoms array. - Load the specific creator for each atom kind you need.
- Refer to
references/decision-guide.mdfor common combinations.
Decision Trees
Format Selection
| Signal | Format | Creator |
|---|---|---|
| Pure knowledge, no enforcement needed | Instruction-only | @tank/skill-creator |
| Need lifecycle hooks | Multi-atom | @tank/bundle-creator |
| Need a sub-agent with scoped tools | Multi-atom | @tank/bundle-creator |
| Need declarative policy enforcement | Multi-atom | @tank/bundle-creator |
| Need MCP tool or resource registration | Multi-atom | @tank/bundle-creator |
| Need on-demand prompt templates | Multi-atom | @tank/bundle-creator |
Atom Kind Selection
| Need | Atom Kind | Specialized Creator |
|---|---|---|
| Behavioral context injected every session | instruction | @tank/skill-creator |
| Code at lifecycle events (gate, format) | hook | @tank/hook-creator |
| Delegatable sub-agent with scoped tools | agent | @tank/agent-creator |
| Declarative block/warn/allow policy | rule | @tank/rule-creator |
| MCP server registration | tool | @tank/tool-creator |
| On-demand readable data or context | resource | @tank/resource-creator |
| Reusable invocable template | prompt | @tank/prompt-creator |
Common Bundle Patterns
| Pattern | Atoms Involved | Example |
|---|---|---|
| Quality gate | hook + agent + instruction | @tank/quality-gate |
| Safety policy | rule + instruction | Command blocklist |
| Tool integration | tool + instruction | MCP server wrapper |
| Automated workflow | prompt + agent + hook | PR description bot |
| Context provider | resource + instruction | Project architecture |
| Full enforcement pipeline | hook + agent + rule + instruction | Review + block + fix |
Pre-Publish Checklist (Quick)
Run through references/quality-checklist.md before every tank publish.
Summary of critical gates:
namefield matches betweenSKILL.mdandtank.jsonnamestarts with@tank/- SKILL.md body under 200 lines
- SKILL.md description has 10-15 trigger phrases
- tank.json permissions are minimal
- tank.json repository is
https://github.com/tankpkg/packages - Reference files: 250-450 lines, no frontmatter, no overlap
- Multi-atom: every atom has required fields, files exist
-> See references/quality-checklist.md for the full checklist.
Creator Skills Index
| Creator | Scope |
|---|---|
@tank/skill-creator | Instruction-only skills (SKILL.md + references) |
@tank/bundle-creator | Multi-atom bundle scaffold and atoms array |
@tank/hook-creator | Hook atoms, DSL/JS handlers, lifecycle events |
@tank/tool-creator | Tool atoms, MCP wiring, extension bags |
@tank/rule-creator | Rule atoms, policy design, declarative guards |
@tank/agent-creator | Agent atoms, role design, tool scoping |
@tank/prompt-creator | Prompt atoms, templates, variable design |
@tank/resource-creator | Resource atoms, URI design, pull-model context |
Reference Index
| File | Contents |
|---|---|
references/decision-guide.md | Complete package type identification guide |
references/quality-checklist.md | Universal pre-publish validation checklist |