{
 "schema": "aiblocks-page/1",
 "id": "feedback-loops-humans-teaching-agents-implementation-planner",
 "type": "skill",
 "name": "Agent feedback review system planner",
 "summary": "Plan how Slack reactions teach your AI agents. Get a four-way feedback log and lessons drafted for a person to review. Draft code only.",
 "headline": "Agent feedback review system planner",
 "subhead": "Give it where your agent posts findings, the four emoji your team will use and who reviews lessons. It reads a starter handler and plans a feedback log with four kinds of feedback and a lesson draft for each repeat. You get gaps, record layout, lesson rules and tests. Nothing is run.",
 "job": {
  "id": "build-software",
  "name": "Build and ship software"
 },
 "level": "intermediate",
 "thinking": "medium",
 "tested": true,
 "updated": "2026-11-03",
 "first_published": "2026-10-25",
 "inputs": [
  {
   "type": "question",
   "required": true,
   "label": "Question",
   "what": "the problem, decision or piece of work you want help with, and what a good outcome looks like"
  },
  {
   "type": "codebase",
   "required": false,
   "label": "Codebase",
   "what": "a project's code, in a folder or repo the AI can open"
  }
 ],
 "outputs": [
  {
   "type": "plan",
   "required": true,
   "label": "Plan",
   "what": "a dated plan: what to do, in what order, with a decision rule for each step"
  },
  {
   "type": "code_change",
   "required": false,
   "label": "Code change",
   "what": "a change to the code, with what it fixes and how it was checked"
  }
 ],
 "you_give": [
  "The Slack channels where your agent posts findings, and how each message links back to the job that made it",
  "The four emoji your team will use for approve, reject, right diagnosis but wrong action, and already known",
  "Who may give feedback, and who reviews lessons",
  "Where the agent's rules or lessons are kept, such as a file or a table",
  "Your current database tables for feedback and lessons (optional)",
  "One real finding and the reactions it got, with client names removed (optional)"
 ],
 "you_get": [
  "A list of gaps in the starter, each with a fix",
  "Four feedback kinds, each with its emoji and what it teaches",
  "A feedback record layout that keeps client scope",
  "Lesson rules with the settings you choose, and a lesson draft format",
  "A rule for telling a policy change from a data fix",
  "Test cases for each kind and for edge cases"
 ],
 "use_when": [
  "Your team keeps correcting an agent in Slack, and it keeps repeating the same mistake.",
  "You want thumbs-up and thumbs-down reactions saved as data, not lost in the channel.",
  "You want an agent's rules improved from real feedback, with a person approving each change.",
  "You have a starter reaction handler and need to know what it is missing before you rely on it."
 ],
 "skip_when": [
  "You want an agent to score its own past predictions against what happened. Use the Agent prediction log builder.",
  "You only need to change one rule once. Edit the agent's rules file by hand.",
  "You want to collect feedback from customers. Use a survey tool. This skill is for your own team's reactions to agent output.",
  "You want the agent to rewrite its own live rules. It only drafts lessons. A person approves each one."
 ],
 "output_sample": {
  "input": [
   "The Slack channels where your agent posts findings, and how each message links to its job",
   "The four emoji your team will use, and who gives and who reviews feedback",
   "Where the agent's rules or lessons are kept"
  ],
  "prerequisites": [
   "An AI that can read your code files, or the files pasted in",
   "A database for feedback and lessons, or the starter layout to build one"
  ],
  "output": [
   {
    "name": "Gaps in the starter",
    "contains": "What the starter handler gets wrong, why it matters for you and the fix for each."
   },
   {
    "name": "Feedback kinds",
    "contains": "The four kinds with their emoji, what each teaches the agent and what it must leave alone."
   },
   {
    "name": "Feedback record",
    "contains": "The columns saved for each reaction, including who, when, why and the client scope."
   },
   {
    "name": "Lesson rules",
    "contains": "When a lesson is drafted, what it holds, who reviews it and how it is withdrawn."
   },
   {
    "name": "Policy change or data fix",
    "contains": "How a human rule and a data error are each saved, so neither teaches the wrong thing."
   },
   {
    "name": "Test cases",
    "contains": "One case per kind, plus a reply with no reaction and a reaction from someone not allowed."
   }
  ]
 },
 "output_shape": "BASIS\n<what was read; nothing was run>\nMISSING: <inputs and what each stops>\n\nGAPS IN THE STARTER\n<#> | <what it does> | <why it matters> | <fix>\n\nFEEDBACK KINDS\n<kind> | <emoji> | <what it means> | <what it teaches> | <what it must not change>\n\nFEEDBACK RECORD\n<column> | <meaning> | <source>\n\nLESSON RULES\n<rule> | <setting you choose> | <who decides>\nLESSON DRAFT FORMAT\n<field> | <what it holds>\n\nPOLICY CHANGE OR DATA FIX\n<case> | <how it is saved> | <who is told>\n\nTEST CASES\n<name> | <set-up> | <expected result>\n\nNEXT STEP\n<the smallest useful step>\n\nCHECKS MISSED\n<one line per check that failed or could not run, or none>",
 "how_to_use": [
  "Open the skill in an AI that can read your code, such as Claude Code or Codex. A chat AI works if you paste the files in.",
  "Name the channels, the four emoji and the people who give and review feedback. Remove client names from any example you paste.",
  "Read GAPS IN THE STARTER first. Mark each one as a problem for you or not.",
  "Read LESSON RULES. Set how many matching signals it takes before a lesson is drafted, and who reviews.",
  "Have an engineer review the draft code, then run it and the tests yourself on a test channel, never your live one. This skill never runs anything.",
  "After a week, read the first drafted lessons yourself before you approve any."
 ],
 "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/feedback-handler-starter.ts",
  "references/method-notes.md"
 ],
 "links": {
  "page": "https://useaiblocks.com/skills/feedback-loops-humans-teaching-agents-implementation-planner",
  "markdown": "https://useaiblocks.com/skills/feedback-loops-humans-teaching-agents-implementation-planner.md",
  "json": "https://useaiblocks.com/skills/feedback-loops-humans-teaching-agents-implementation-planner.json",
  "instructions": "https://useaiblocks.com/skills/feedback-loops-humans-teaching-agents-implementation-planner/SKILL.md",
  "download": "https://useaiblocks.com/skills/feedback-loops-humans-teaching-agents-implementation-planner.zip",
  "api_item": "https://useaiblocks.com/api/v1/items/feedback-loops-humans-teaching-agents-implementation-planner",
  "api_document": "https://useaiblocks.com/api/v1/documents/skill/feedback-loops-humans-teaching-agents-implementation-planner",
  "mcp": "https://useaiblocks.com/mcp"
 }
}
