{
 "schema": "aiblocks-page/1",
 "id": "making-your-agent-talk-back-implementation-planner",
 "type": "skill",
 "name": "Slack agent response builder",
 "summary": "Turn your AI agent's output into a safe Slack message with leak checks, size limits and a plan for each failure, before it posts to a client channel.",
 "headline": "Slack agent response builder",
 "subhead": "Give it a sample of what your AI agent writes, the data it was given and which client owns the Slack channel. It plans the Slack message format, 12 checks that run before posting, and test cases. You get code changes to review, not a posted message.",
 "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": [
  "A sample of what your agent writes today (3 to 5 real answers, with client names removed if you like)",
  "The data the agent was given for each answer, so numbers can be checked",
  "Your client list, and which Slack channel belongs to which client",
  "Your current Slack formatting code or a link to the file (optional)",
  "Words and topics that must never reach a client, such as your margin or fees (optional)"
 ],
 "you_get": [
  "The response shape and the Slack blocks it becomes, with the size limits applied",
  "A 12-check validator plan in a fixed order, with the result of each failure",
  "A list of changes to make to the starter formatter for your project",
  "A failure checklist saying who is alerted and what is logged",
  "Synthetic test cases to run before you turn it on"
 ],
 "use_when": [
  "Your agent writes to client Slack channels and you want a check between its answer and the post.",
  "An agent once named the wrong client, showed a token or promised a follow-up it could never send.",
  "Slack rejected a message because a header or section was too long.",
  "You have a formatter already and want to compare it with a checked starter."
 ],
 "skip_when": [
  "You only want help wording a Slack message. Paste it into any AI chat. You do not need this skill or a codebase.",
  "You have no agent code yet. Start with the Scoped base agent builder, then come back here.",
  "You need to find out why Slack or Meta calls fail. Use the Meta API access troubleshooter for Meta errors.",
  "You want it to send messages. It never posts. You send through your own Slack app, with your own permissions."
 ],
 "output_sample": {
  "input": [
   "Three to five real agent answers",
   "The data the agent was given for each answer",
   "Your client list and which Slack channel belongs to which client",
   "Your current Slack formatting code (optional)"
  ],
  "prerequisites": [
   "An AI that can read your code files, or code pasted into the chat",
   "A Slack app you control, if you plan to post later"
  ],
  "output": [
   {
    "name": "BASIS",
    "contains": "What was read and what was left out, with every missing input named."
   },
   {
    "name": "RESPONSE SHAPE",
    "contains": "How a header, sections and buttons become Slack blocks, with the header and section size limits."
   },
   {
    "name": "CHECKS",
    "contains": "The 12 checks in run order, each with what it looks for and what happens when it fails."
   },
   {
    "name": "FORMATTER CHANGES",
    "contains": "Changes to the starter formatter for your project, such as dropping em dashes or fixing table output."
   },
   {
    "name": "FAILURE CHECKLIST",
    "contains": "For each failure type, what is logged, who is alerted and what, if anything, is posted."
   },
   {
    "name": "TEST CASES",
    "contains": "Before and after cases for leaks, keys, long text, made-up numbers and promises of follow-up."
   },
   {
    "name": "NEXT STEP",
    "contains": "The one smallest step to take next, such as running the tests against your formatter."
   }
  ]
 },
 "output_shape": "BASIS\n<what was read: agent answers, data given, client list, channel list>\nMISSING: <anything not given and which check it stops>\n\nRESPONSE SHAPE\n<header, sections, buttons and the Slack blocks they become, with limits>\n\nCHECKS (in run order)\n<check number> | <what it looks for> | <result if it fails>\n\nFORMATTER CHANGES\n<file> | <change> | <why>\n\nFAILURE CHECKLIST\n<failure> | <what is logged> | <who is alerted> | <what is posted>\n\nTEST CASES\n<name> | <raw agent text> | <expected result>\n\nNEXT STEP\n<the smallest useful thing to do now>",
 "how_to_use": [
  "Open the skill in your AI. Use an AI that can read your code files, such as Claude Code or Codex. A plain chat works if you paste the code in.",
  "Paste 3 to 5 real agent answers, the data behind them, and your client and channel list. Never paste a Slack token or API key.",
  "Say which channels are strict, meaning one client only. Check that every channel has exactly one client.",
  "Read the CHECKS table first. Make sure each check's result fits your rules. A leaked key should refuse to post.",
  "Run the test cases in your own project. The skill reads code but does not run it.",
  "Before turning it on, check the list in MISSING and fill each gap yourself."
 ],
 "checks": [],
 "next": [
  {
   "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/method-notes.md",
  "references/slack-formatter-library.ts"
 ],
 "links": {
  "page": "https://useaiblocks.com/skills/making-your-agent-talk-back-implementation-planner",
  "markdown": "https://useaiblocks.com/skills/making-your-agent-talk-back-implementation-planner.md",
  "json": "https://useaiblocks.com/skills/making-your-agent-talk-back-implementation-planner.json",
  "instructions": "https://useaiblocks.com/skills/making-your-agent-talk-back-implementation-planner/SKILL.md",
  "download": "https://useaiblocks.com/skills/making-your-agent-talk-back-implementation-planner.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/making-your-agent-talk-back-implementation-planner",
  "api_document": "https://useaiblocks.com/api/v1/documents/skill/making-your-agent-talk-back-implementation-planner",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
