{
  "practice": {
    "id": "prc_single_responsibility",
    "title": "Prefer one tool, one clear responsibility",
    "category": "scoping",
    "description": "A tool that tries to do many unrelated things behind a single description and a large branching parameter set is harder for the model to invoke correctly than several smaller, single-purpose tools with tight, specific descriptions.",
    "example_good": "Separate `create_task`, `update_task`, `delete_task` tools, each with a narrow, specific description.",
    "example_bad": "One `manage_task(action: \"create\" | \"update\" | \"delete\" | \"archive\" | \"restore\" | ...)` tool whose description tries to explain all six behaviors in one dense paragraph.",
    "source_note": "General API/tool design best practice, echoed in this repo's own real TaskCreate/TaskUpdate/TaskList tool split (see subagenttasks.com) rather than one combined \"manage tasks\" tool.",
    "created_at": "2026-07-02 08:28:30",
    "cite_as": "https://subagentdescriptions.com/api/practices/prc_single_responsibility"
  }
}