Agent Plugins Marketplace
← All plugins

akm

v0.9.21202610030351

Search, show, and curate AKM concepts, record feedback, and turn corrections, preferences, memories, and recurring workflows into reviewable AKM proposals.

CodexClaude Code1 Skill

By itlackeyLicense: MPL-2.01 GitHub starsUpdated 3 hours ago

Directory evidence

Runtimes
Codex and Claude Code
Parsed components
1 skill or MCP entry
Source updated
Oct 3, 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 akm for Codex and Claude Code

Installs for the current user
codex plugin marketplace add itlackey/akm-plugins
codex plugin marketplace upgrade akm-plugins
codex plugin add akm@akm-plugins

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

Compatibility: the page URL and API slug “akm” remain stable.

  • Codex: akm@agent-plugin-marketplace → akm@akm-plugins

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/itlackey/akm-plugins

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

Plugin files

claude/
├── .codex-plugin/plugin.json
├── .claude-plugin/plugin.json
└── skills/akm/SKILL.md

Included Skills1

akmskills/akm/SKILL.md

Search, show, and curate AKM concepts, record feedback, and remember durable knowledge. Use when a task may benefit from reusable concepts in configured AKM bundles or registries.

Plugin manifests2

claude/.codex-plugin/plugin.json
{
  "name": "akm",
  "version": "0.9.21202610030351",
  "description": "Search, show, and curate AKM concepts, record feedback, and turn corrections, preferences, memories, and recurring workflows into reviewable AKM proposals.",
  "author": {
    "name": "itlackey",
    "url": "https://github.com/itlackey"
  },
  "homepage": "https://github.com/itlackey/akm-plugins#readme",
  "repository": "https://github.com/itlackey/akm-plugins",
  "license": "MPL-2.0",
  "keywords": [
    "akm",
    "bundle",
    "skills",
    "commands",
    "agents",
    "scripts",
    "registry",
    "plugin",
    "compound-engineering",
    "self-evolving"
  ],
  "skills": "./skills/",
  "hooks": {
    "hooks": {
      "SessionStart": [
        {
          "hooks": [
            {
              "type": "command",
              "command": "[ -f \"${PLUGIN_ROOT}/hooks/akm-hook.sh\" ] || exit 0; AKM_PLUGIN_HARNESS=codex AKM_PLUGIN_STATE_DIR=\"${PLUGIN_DATA}\" sh \"${PLUGIN_ROOT}/hooks/akm-hook.sh\" session-start",
              "commandWindows": "bun \"${PLUGIN_ROOT}/hooks/akm-hook.ts\" session-start --harness=codex",
              "timeout": 120,
              "statusMessage": "Checking the AKM CLI and loading bundle hints..."
            }
          ]
        }
      ],
      "UserPromptSubmit": [
        {
          "hooks": [
            {
              "type": "command",
              "command": "[ -f \"${PLUGIN_ROOT}/hooks/akm-hook.sh\" ] || exit 0; AKM_PLUGIN_HARNESS=codex AKM_PLUGIN_STATE_DIR=\"${PLUGIN_DATA}\" sh \"${PLUGIN_ROOT}/hooks/akm-hook.sh\" curate-prompt",
              "commandWindows": "bun \"${PLUGIN_ROOT}/hooks/akm-hook.ts\" curate-prompt --harness=codex",
              "timeout": 15
            }
          ]
        }
      ]
    }
  },
  "interface": {
    "displayName": "AKM",
    "shortDescription": "Search, curate, and learn from your AKM bundles",
    "longDescription": "Search, show, and curate concepts from your AKM bundles and registries, record whether they helped, and save durable knowledge. Lifecycle hooks add the AKM primer at session start and curated context for each prompt, and turn explicit memories, corrections, and preferences into reviewable AKM proposals.",
    "developerName": "itlackey",
    "category": "Developer Tools",
    "capabilities": [
      "Search bundles",
      "Curate context",
      "Record feedback",
      "Save memories"
    ],
    "websiteURL": "https://github.com/itlackey/akm-plugins",
    "defaultPrompt": [
      "Curate AKM concepts for this task",
      "Search my AKM bundles for a concept",
      "Remember this decision with AKM"
    ]
  }
}
claude/.claude-plugin/plugin.json
{
  "name": "akm",
  "displayName": "AKM",
  "description": "Search, show, and curate AKM concepts, record feedback, and turn corrections, preferences, memories, and recurring workflows into reviewable AKM proposals.",
  "version": "0.9.21202610030351",
  "author": {
    "name": "itlackey",
    "url": "https://github.com/itlackey"
  },
  "homepage": "https://github.com/itlackey/akm-plugins#readme",
  "repository": "https://github.com/itlackey/akm-plugins",
  "license": "MPL-2.0",
  "keywords": [
    "akm",
    "bundle",
    "skills",
    "commands",
    "agents",
    "scripts",
    "registry",
    "plugin",
    "compound-engineering",
    "self-evolving"
  ],
  "skills": [
    "./skills/akm"
  ],
  "userConfig": {
    "bundle_dir": {
      "type": "directory",
      "title": "AKM bundle directory",
      "description": "Absolute path to the AKM bundle root. Leave empty to let the hooks discover it by running `akm info`. Setting it removes that subprocess from every file-tool hook, which is the single biggest hook-latency win available. Equivalent to the AKM_BUNDLE_DIR environment variable."
    },
    "auto_feedback": {
      "type": "boolean",
      "title": "Record feedback automatically",
      "description": "Submit positive `akm feedback` for concepts a successful tool call used, and credit concepts when you say something worked. A failed akm command is never recorded as feedback. Turn off to record feedback only via /akm-feedback. Equivalent to AKM_AUTO_FEEDBACK.",
      "default": true
    },
    "auto_learning": {
      "type": "boolean",
      "title": "Propose durable learnings automatically",
      "description": "Capture explicit memories, corrections, guardrails, and preferences from prompts and submit high-confidence AKM proposals for review. Repeated task intents across distinct sessions can also propose reusable skills. Equivalent to AKM_AUTO_LEARNING.",
      "default": true
    },
    "curate_limit": {
      "type": "number",
      "title": "Curated results per prompt",
      "description": "How many ranked concepts the curation hooks retrieve for a prompt or session. Higher values surface more but cost more time per turn. Equivalent to AKM_CURATE_LIMIT.",
      "default": 5,
      "min": 1,
      "max": 25
    },
    "index_on_session_end": {
      "type": "boolean",
      "title": "Refresh the AKM index when a session ends",
      "description": "Run `akm index` at SessionEnd so the local bundle stays current. Turn off on CI runners or low-power machines; the periodic `akm improve` pass remains the backstop. Equivalent to AKM_INDEX_ON_SESSION_END.",
      "default": true
    }
  },
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "session-start"
            ],
            "timeout": 120,
            "statusMessage": "Checking the AKM CLI and loading bundle hints..."
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "curate-prompt"
            ],
            "timeout": 15
          }
        ]
      }
    ],
    "UserPromptExpansion": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "user-prompt-expansion"
            ],
            "timeout": 10
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool",
              "success"
            ],
            "timeout": 15
          },
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "auto-feedback",
              "success"
            ],
            "timeout": 20
          }
        ]
      },
      {
        "matcher": "Read",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "success"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "success"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "success"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Glob",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "success"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Grep",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "success"
            ],
            "timeout": 5
          }
        ]
      }
    ],
    "PostToolUseFailure": [
      {
        "matcher": "Bash",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool",
              "failure"
            ],
            "timeout": 15
          }
        ]
      },
      {
        "matcher": "Read",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "failure"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Write",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "failure"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Edit",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "failure"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Glob",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "failure"
            ],
            "timeout": 5
          }
        ]
      },
      {
        "matcher": "Grep",
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-nonbash",
              "failure"
            ],
            "timeout": 5
          }
        ]
      }
    ],
    "PostToolBatch": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-tool-batch"
            ],
            "timeout": 15
          }
        ]
      }
    ],
    "SubagentStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "subagent-start"
            ],
            "timeout": 15
          }
        ]
      }
    ],
    "TaskCreated": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "task-created"
            ],
            "timeout": 10
          }
        ]
      }
    ],
    "TaskCompleted": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "task-completed"
            ],
            "timeout": 15
          }
        ]
      }
    ],
    "PostCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "post-compact"
            ],
            "timeout": 15
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "session-end"
            ],
            "timeout": 30
          },
          {
            "type": "command",
            "command": "bun",
            "args": [
              "${CLAUDE_PLUGIN_ROOT}/hooks/akm-hook.ts",
              "extract-session"
            ],
            "timeout": 10
          }
        ]
      }
    ]
  }
}

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

[akm on Agent Plugins Marketplace](https://pluginsmp.com/plugins/akm)