Agent Plugins Marketplace
← All plugins

feedback-loop

v5.3.0

Session feedback, distillation, and durable policy storage for Codex; Native command hooks require explicit review and trust.

CodexClaude CodeAgent Plugins3 Skills

By LyaincLicense: MIT0 GitHub starsUpdated 1 hour ago

Directory evidence

Runtimes
Codex, Claude Code, and Agent Plugins
Parsed components
3 skill or MCP entries
Source updated
Sep 26, 2026
Manifest status
Canonical path parsed

The directory validates manifest shape and source location. It does not execute the plugin or provide a security endorsement. Review the indexing methodology →

Install feedback-loop for Codex and Claude Code

Installs for the current user
codex plugin marketplace add IchenDEV/agent-plugin-mkt
codex plugin marketplace upgrade agent-plugin-marketplace
codex plugin add feedback-loop@agent-plugin-marketplace

Paste and run these commands in a terminal with Codex. They add and refresh the PluginsMP catalog, then install this plugin.

The installer fetches third-party code from the source repository shown on this page. This directory validates manifest structure and source location, but does not perform a security audit; review the manifest, components, and source before installing.

Get the source manually
git clone https://github.com/Lyainc/claude-kit

Clone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is feedback-loop/.

Plugin files

feedback-loop/
├── .codex-plugin/plugin.json
├── .claude-plugin/plugin.json
├── plugin.json
├── skills/add-policy/SKILL.md
├── skills/distill/SKILL.md
└── skills/retro/SKILL.md

Included Skills3

add-policyskills/add-policy/SKILL.md

Classify and land one user-confirmed reusable work policy as an always-read reminder, deterministic hook, or invocable skill; leaves changes uncommitted. Trigger: 이 규칙 추가, 이거 어디다 정리, 정책 분류, 규칙 매립, add policy, add-policy, classify this rule, where does this rule go, land this rule, /add-policy. Routing: use distill to discover a proposal; add-policy does not re-judge reuse value; use vault-save for declarative facts.

distillskills/distill/SKILL.md

Discover user-confirmed reusable procedural techniques from this session and emit a proposal; it neither writes nor places the policy. Trigger: 증류, 증류해줘, 이 기법 남길까, 재사용 기법 추출, distill, distill this technique, is this technique worth keeping, /distill. Routing: use vault-save for facts and add-policy to land a confirmed rule.

retroskills/retro/SKILL.md

Turn observed session waste and telemetry patterns into deduplicated GitHub issues. Trigger: 회고, 회고해줘, 세션 회고, 낭비 탐색, retro, session retrospective, waste sweep. Routing: use /audit for vault-only structural defects.

Plugin manifests3

feedback-loop/.codex-plugin/plugin.json
{
  "name": "feedback-loop",
  "version": "5.3.0",
  "description": "Session feedback, distillation, and durable policy storage for Codex; Native command hooks require explicit review and trust.",
  "author": {
    "name": "Lyainc",
    "url": "https://github.com/Lyainc"
  },
  "homepage": "https://github.com/Lyainc/claude-kit",
  "repository": "https://github.com/Lyainc/claude-kit",
  "license": "MIT",
  "keywords": [
    "feedback",
    "retrospective",
    "distill",
    "policy",
    "improvement"
  ],
  "skills": "./skills/",
  "interface": {
    "displayName": "Feedback Loop",
    "shortDescription": "Distill reusable session techniques",
    "longDescription": "Turn observable session waste into confirmed issues and land reusable policy in Codex-native instructions or skills. Native hook registration preserves explicit review and trust.",
    "developerName": "Lyainc",
    "category": "Productivity",
    "capabilities": [
      "Interactive",
      "Write"
    ],
    "websiteURL": "https://github.com/Lyainc/claude-kit",
    "privacyPolicyURL": "https://github.com/Lyainc/claude-kit/blob/main/LICENSE",
    "termsOfServiceURL": "https://github.com/Lyainc/claude-kit/blob/main/LICENSE",
    "defaultPrompt": [
      "Distill this session into a reusable technique",
      "What reusable process did we discover?",
      "Turn this session's observable waste into issue candidates"
    ],
    "brandColor": "#D97706"
  }
}
feedback-loop/.claude-plugin/plugin.json
{
  "name": "feedback-loop",
  "version": "5.3.0",
  "description": "claude-kit self-improvement loop (layer ⑤, measure→review→keep — NOT an execution/iteration engine): the retro skill turns telemetry waste patterns and this session's own observed waste into confirmed git issues, deduped against existing open issues (#639), the distill skill (SIS-derived) user-confirms distillation of reusable procedural techniques from a session into a natural-language proposal (the discovery half of the loop), and the add-policy skill is the landfill half — it classifies one natural-language rule (user-stated or a distill proposal) and lands it in one of three native sites (a layer-routed reminder — `~/.claude/CLAUDE.md` or `~/.claude/rules` — a deterministic hook guard, or an invocable skill) behind a 1-click confirmation, machine-neutral and never committing. All on top of an opt-in local telemetry logger (deterministic event-logger hooks, zero per-turn LLM cost — CON-2). Telemetry is OFF unless CLAUDE_KIT_TELEMETRY=1: the hooks invoke each session but silent-exit without it (no data written, nothing transmitted off-machine). When enabled, events append to a user-writable local dir only. One-way dependency (CON-5): feedback-loop reads leaf OUTPUT (audit findings / vault manifest / telemetry events) and never imports leaf code; no leaf depends back on it.",
  "author": {
    "name": "Lyainc",
    "url": "https://github.com/Lyainc"
  },
  "homepage": "https://github.com/Lyainc/claude-kit",
  "repository": "https://github.com/Lyainc/claude-kit",
  "license": "MIT",
  "keywords": [
    "feedback-loop",
    "retro",
    "distill",
    "add-policy",
    "telemetry",
    "measure-review-keep",
    "self-improvement",
    "dogfooding",
    "event-logger",
    "skill-lifecycle",
    "opt-in",
    "local-only"
  ],
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Skill",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh skill_invoke_start",
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Task|Agent",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh agent_spawn_start",
            "timeout": 5
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Skill",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh skill_invoke_end",
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Task|Agent",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh agent_spawn_end",
            "timeout": 5
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh command_run",
            "timeout": 5
          }
        ]
      }
    ],
    "Stop": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh stop",
            "timeout": 5
          }
        ]
      }
    ],
    "SessionStart": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh session_start",
            "timeout": 5
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "matcher": "",
        "hooks": [
          {
            "type": "command",
            "command": "\"${CLAUDE_PLUGIN_ROOT}\"/scripts/event-logger.sh session_end",
            "timeout": 5
          }
        ]
      }
    ]
  }
}
feedback-loop/plugin.json
{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "feedback-loop",
  "version": "5.3.0",
  "description": "Session retrospective, reusable-technique distillation, and policy placement skills.",
  "author": {
    "name": "Lyainc",
    "url": "https://github.com/Lyainc"
  },
  "homepage": "https://github.com/Lyainc/claude-kit",
  "repository": "https://github.com/Lyainc/claude-kit",
  "license": "MIT",
  "keywords": [
    "feedback",
    "retrospective",
    "distill",
    "policy",
    "improvement"
  ]
}

If you maintain this plugin, link to this source-backed listing from your README so users can review its manifest and indexed components.

[feedback-loop on Agent Plugins Marketplace](https://pluginsmp.com/plugins/feedback-loop)