{
 "schema": "aiblocks-page/1",
 "id": "base-agent-implementation-planner",
 "type": "skill",
 "name": "Scoped base agent builder",
 "summary": "Plan the smallest working AI agent for your codebase: job format, base class, an echo test handler and a smoke test, with every file named.",
 "headline": "Scoped base agent builder",
 "subhead": "Share your project's code, how a job is shaped and how accounts are scoped. This skill plans the smallest working agent: one job format, a shared base layer for status and logging, an echo handler that proves the wiring, and a smoke test. You get every file named, an interface map and the setup steps.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "medium",
 "tested": true,
 "updated": "2026-10-28",
 "first_published": "2026-10-25",
 "inputs": [
  {
   "type": "codebase",
   "required": true,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  }
 ],
 "outputs": [
  {
   "type": "code_change",
   "required": true,
   "label": "Code change",
   "what": "a change to the code, with what it fixes and how it was checked"
  }
 ],
 "you_give": [
  "Your project's code, or at least the files that define a job, the base class if you have one, the database client and the reply code",
  "The language and runtime, such as Node with TypeScript",
  "How accounts or clients are separated, and where replies go",
  "Your current list of agents (optional)",
  "What you allow: plan only, or also write files and run the smoke test in a test copy"
 ],
 "you_get": [
  "A list of files to add or change, each with its path and purpose",
  "An interface map: the job going in, the result coming out, the base class methods and the echo handler",
  "Setup steps in order",
  "A smoke test plan on made-up data, each check marked run or not run",
  "Open questions and checks that did not run"
 ],
 "use_when": [
  "You are adding your first AI agent to an existing project and want the base done right.",
  "You need an agent that works for several accounts without mixing their data.",
  "You want a free test that shows a message becoming a job and a reply, before any real work is added.",
  "Your team keeps putting queue code, logging and the real work in one file."
 ],
 "skip_when": [
  "You need none or only one of memory, scheduling, coordination and approvals. Write a plain skill instead. The pack's own rule is to build an agent only when you need two or more.",
  "You want a team of several agents. Use the Multi-agent system planner.",
  "You want the job queue, retries and recovery. Use the Recoverable agent job queue builder.",
  "You want the Slack routing and replies in full. Use the Slack agent message router builder and the Slack agent response builder.",
  "You have no project and no plan to write code. The result is a plan for code, so there is nothing to apply it to."
 ],
 "output_sample": {
  "input": [
   "Your project's code, or the files for jobs, base class, database client and replies",
   "Your language and runtime",
   "How accounts are separated and where replies go",
   "What you allow: plan only, or write files and run the test"
  ],
  "prerequisites": [
   "An AI that can read your files, or the files pasted in",
   "A test copy of your project, if you want the smoke test run"
  ],
  "output": [
   {
    "name": "FILES",
    "contains": "Each file to add or change, with its path and what it is for."
   },
   {
    "name": "INTERFACE MAP",
    "contains": "The job in, the result out, how the account is checked, the base class methods and the echo handler."
   },
   {
    "name": "SETUP STEPS",
    "contains": "The steps in order to wire the agent into your project."
   },
   {
    "name": "SMOKE TEST",
    "contains": "Checks on made-up data, such as duplicate jobs and a refused account, each marked run or not run."
   },
   {
    "name": "WHAT THIS DOES NOT PROVE",
    "contains": "What a passing echo test leaves unchecked for a real agent."
   },
   {
    "name": "OPEN QUESTIONS, MISSING and CHECKS MISSED",
    "contains": "What it could not find in your project and which checks did not run."
   }
  ]
 },
 "output_shape": "STARTER FOR <agent id>\nRUNTIME: <language, runtime, queue, database client> | allowed: <plan only | write files | run the test>\n\nWHAT EXISTS\n<job format, base class, reply layer, agent list found, or MISSING>\n\nFILES\n<path> | <new | changed> | <purpose>\n\nINTERFACE MAP\nJob in: <fields> | Result out: <fields>\nScope: <how the account is checked> | Destination: <where replies go>\nBase layer: <methods inherited, methods the agent must write>\nEcho handler: <what it returns, what it never does>\n\nSETUP STEPS\n1 <step>\n\nSMOKE TEST\n<check> | made-up data: <...> | passes if: <...> | status: <run | not run>\n\nWHAT THIS DOES NOT PROVE\n<list>\n\nOPEN QUESTIONS\n<list>\n\nMISSING\n<inputs that would change the plan>\n\nCHECKS MISSED\n<one line per check not done, or none>",
 "how_to_use": [
  "Add the skill to your AI, or open the pack and give your AI SKILL.md and the files in its references folder. An AI that can read your project folder, such as Claude Code, works best. A chat AI works if you paste the files.",
  "Paste the files that define a job, your base class if you have one, your database client and your reply code. Never paste keys or passwords.",
  "Say how accounts are separated and where replies go. Say whether it may only plan, or also write files and run the test.",
  "Read the interface map first. Check that every job has an agent name, an account and a tracking id.",
  "Run the smoke test yourself in a test copy, then check each line it marked run or not run."
 ],
 "checks": [],
 "next": [
  {
   "name": "Simple code coach",
   "url": "https://useaiblocks.com/skills/simple-code-coach",
   "why": "Build it"
  },
  {
   "name": "Slack agent message router builder",
   "url": "https://useaiblocks.com/skills/how-messages-reach-your-agent-implementation-planner",
   "why": "Build it"
  }
 ],
 "source": null,
 "credits": [],
 "files": [
  "references/echo-agent-reference.ts",
  "references/method-notes.md"
 ],
 "links": {
  "page": "https://useaiblocks.com/skills/base-agent-implementation-planner",
  "markdown": "https://useaiblocks.com/skills/base-agent-implementation-planner.md",
  "json": "https://useaiblocks.com/skills/base-agent-implementation-planner.json",
  "instructions": "https://useaiblocks.com/skills/base-agent-implementation-planner/SKILL.md",
  "download": "https://useaiblocks.com/skills/base-agent-implementation-planner.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/base-agent-implementation-planner",
  "api_document": "https://useaiblocks.com/api/v1/documents/skill/base-agent-implementation-planner",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
