feedback-loop
v5.3.0Session feedback, distillation, and durable policy storage for Codex; Native command hooks require explicit review and trust.
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
codex plugin marketplace add IchenDEV/agent-plugin-mkt
codex plugin marketplace upgrade agent-plugin-marketplace
codex plugin add feedback-loop@agent-plugin-marketplacePaste 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-kitClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The plugin root is feedback-loop/.
Plugin files
├── .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
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.
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.
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
{
"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"
}
}{
"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
}
]
}
]
}
}{
"$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"
]
}For maintainers
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)