tools-schema.json
tools-schema.json
{
"tools": [
{
"name": "list_skills",
"description": "List all pstack skills with short name, category and one-line description. Use first to discover what is available. Filter by category when you already know the kind of skill needed.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"all",
"orchestration",
"investigation",
"design",
"principle",
"build",
"verification"
],
"default": "all",
"description": "Filter by category. Use 'all' to list everything."
}
},
"additionalProperties": false
}
},
{
"name": "search_skills",
"description": "Search skills by keyword or short phrase (e.g. 'bug fix', 'parallel design', 'remove comments', 'prove it works'). Returns matching skill names with short reasons.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword or short description of what you need."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "Max number of results."
}
},
"required": ["query"],
"additionalProperties": false
}
},
{
"name": "get_skill",
"description": "Get one skill by exact name. Use 'summary' for a short usable brief, or 'full' for the complete SKILL.md content. Call this after list_skills, search_skills or recommend_skills.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Exact skill name, e.g. 'how', 'arena', 'principle-prove-it-works', 'unslop'."
},
"mode": {
"type": "string",
"enum": ["summary", "full"],
"default": "summary",
"description": "summary = short usable brief; full = complete SKILL.md text."
}
},
"required": ["name"],
"additionalProperties": false
}
},
{
"name": "recommend_skills",
"description": "Given a task description, recommend the most relevant 1-5 skills to load right now. Best entry point for small models: describe what you are doing and get the skills you need.",
"inputSchema": {
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "What the agent is currently trying to do, in plain language."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 3,
"description": "Max number of skills to recommend."
}
},
"required": ["task"],
"additionalProperties": false
}
},
{
"name": "get_principles",
"description": "List all 24 engineering principles, or fetch specific ones by name. Principles are short decision rules (e.g. prove-it-works, laziness-protocol). Prefer this when you only need principles, not full workflow skills.",
"inputSchema": {
"type": "object",
"properties": {
"names": {
"type": "array",
"items": { "type": "string" },
"description": "Optional list of principle names (with or without 'principle-' prefix). Omit to list all."
},
"mode": {
"type": "string",
"enum": ["summary", "full"],
"default": "summary"
}
},
"additionalProperties": false
}
},
{
"name": "get_playbook",
"description": "Get one poteto-mode playbook by name (the 23 task-type playbooks). Use when you already know the task type (bug-fix, feature, investigation, etc.).",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Playbook name without .md, e.g. 'bug-fix', 'feature', 'investigation', 'shipping'."
},
"mode": {
"type": "string",
"enum": ["summary", "full"],
"default": "summary"
}
},
"required": ["name"],
"additionalProperties": false
}
}
]
}
{
"tools": [
{
"name": "list_skills",
"description": "List all pstack skills with short name, category and one-line description. Use first to discover what is available. Filter by category when you already know the kind of skill needed.",
"inputSchema": {
"type": "object",
"properties": {
"category": {
"type": "string",
"enum": [
"all",
"orchestration",
"investigation",
"design",
"principle",
"build",
"verification"
],
"default": "all",
"description": "Filter by category. Use 'all' to list everything."
}
},
"additionalProperties": false
}
},
{
"name": "search_skills",
"description": "Search skills by keyword or short phrase (e.g. 'bug fix', 'parallel design', 'remove comments', 'prove it works'). Returns matching skill names with short reasons.",
"inputSchema": {
"type": "object",
"properties": {
"query": {
"type": "string",
"description": "Keyword or short description of what you need."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 10,
"default": 5,
"description": "Max number of results."
}
},
"required": ["query"],
"additionalProperties": false
}
},
{
"name": "get_skill",
"description": "Get one skill by exact name. Use 'summary' for a short usable brief, or 'full' for the complete SKILL.md content. Call this after list_skills, search_skills or recommend_skills.",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Exact skill name, e.g. 'how', 'arena', 'principle-prove-it-works', 'unslop'."
},
"mode": {
"type": "string",
"enum": ["summary", "full"],
"default": "summary",
"description": "summary = short usable brief; full = complete SKILL.md text."
}
},
"required": ["name"],
"additionalProperties": false
}
},
{
"name": "recommend_skills",
"description": "Given a task description, recommend the most relevant 1-5 skills to load right now. Best entry point for small models: describe what you are doing and get the skills you need.",
"inputSchema": {
"type": "object",
"properties": {
"task": {
"type": "string",
"description": "What the agent is currently trying to do, in plain language."
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 5,
"default": 3,
"description": "Max number of skills to recommend."
}
},
"required": ["task"],
"additionalProperties": false
}
},
{
"name": "get_principles",
"description": "List all 24 engineering principles, or fetch specific ones by name. Principles are short decision rules (e.g. prove-it-works, laziness-protocol). Prefer this when you only need principles, not full workflow skills.",
"inputSchema": {
"type": "object",
"properties": {
"names": {
"type": "array",
"items": { "type": "string" },
"description": "Optional list of principle names (with or without 'principle-' prefix). Omit to list all."
},
"mode": {
"type": "string",
"enum": ["summary", "full"],
"default": "summary"
}
},
"additionalProperties": false
}
},
{
"name": "get_playbook",
"description": "Get one poteto-mode playbook by name (the 23 task-type playbooks). Use when you already know the task type (bug-fix, feature, investigation, etc.).",
"inputSchema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Playbook name without .md, e.g. 'bug-fix', 'feature', 'investigation', 'shipping'."
},
"mode": {
"type": "string",
"enum": ["summary", "full"],
"default": "summary"
}
},
"required": ["name"],
"additionalProperties": false
}
}
]
}