Parent PRD
#2
What to build
Create @agentskit/tools — a marketplace of reusable executable tools. Each tool follows the evolved ToolDefinition contract from core (JSONSchema7 schema, optional init/dispose lifecycle, streaming execute support).
Ship a first batch of tools: web search, filesystem (read/write/list), and a shell/command executor. Each tool is independently importable.
Include auto-discovery: tools export their metadata (name, description, tags, category) so runtime and chat can enumerate available tools. Support parallel tool calling and human confirmation via requiresConfirmation.
Acceptance criteria
Blocked by
User stories addressed
- User story 5 (pre-built tools)
- User story 6 (custom tools with simple contract)
- User story 7 (JSON Schema for tool params)
- User story 8 (init/dispose lifecycle)
- User story 9 (streaming tool output)
Parent PRD
#2
What to build
Create
@agentskit/tools— a marketplace of reusable executable tools. Each tool follows the evolved ToolDefinition contract from core (JSONSchema7 schema, optional init/dispose lifecycle, streaming execute support).Ship a first batch of tools: web search, filesystem (read/write/list), and a shell/command executor. Each tool is independently importable.
Include auto-discovery: tools export their metadata (name, description, tags, category) so runtime and chat can enumerate available tools. Support parallel tool calling and human confirmation via
requiresConfirmation.Acceptance criteria
packages/tools/package created with tsup, vitestToolDefinitioncontract (JSONSchema7 schema, typed args)init()called before first use,dispose()called on cleanupAsyncIterablestreaming outputlistTools()function returns all available tools with metadataBlocked by
User stories addressed