afk
v1.9.0Harness-agnostic AFK workflow toolkit: requirements grilling, design, planning, test-first execution, verification, review, and delivery skills, with pluggable tracker / forge / notes / build-gate adapters.
By midnightblur0 GitHub starsUpdated 1 hour ago
Directory evidence
- Runtimes
- Codex and Claude Code
- Parsed components
- 1 skill or MCP entry
- Source updated
- Oct 1, 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 afk for Codex and Claude Code
codex plugin marketplace add midnightblur/afk-driver
codex plugin marketplace upgrade afk-toolkit
codex plugin add afk@afk-toolkitPaste and run these commands in a terminal with Codex. They add and refresh the afk-toolkit catalog, then install this plugin.
Compatibility: the page URL and API slug “afk” remain stable.
- Codex:
afk@agent-plugin-marketplace→afk@afk-toolkit
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/midnightblur/afk-driverClone the source repository, then follow its setup instructions to add the plugin to a compatible client. The repository root is the plugin root.
Plugin files
├── .codex-plugin/plugin.json├── .claude-plugin/plugin.json└── .mcp.json
MCP servers1
- command
- python
- args
- -c import glob, os, runpy, sys rel = os.path.join("mcp-servers", "tracker", "server.py") # Every way a harness can tell this launcher where the plugin is, in order of # how much we trust it: an argument, then an environment variable. roots = [a for a in sys.argv[1:] if a and "${" not in a] roots += [os.environ.get(k) for k in ("AFK_PLUGIN_ROOT", "CLAUDE_PLUGIN_ROOT", "PLUGIN_ROOT")] # A harness that does neither leaves us to find ourselves. An installed plugin # lives under the harness's own directory in the user's home, in one of a few # shapes; the newest version of each match wins. Harness directories are # usually dotted, and glob's `*` never matches a leading dot, so each shape is # tried with both spellings. home = os.path.expanduser("~") # The plugin and the marketplace carry different names as of 1.0.8, and the # cache path nests the plugin under the marketplace that served it. plugin = "afk" market = "afk-toolkit" for shape in ( ("plugins", "cache", "*", plugin, "*"), ("plugins", "cache", "*", plugin), ("plugins", "marketplaces", market), ("plugins", plugin), ): for harness in ("*", ".*"): roots += sorted(glob.glob(os.path.join(home, harness, *shape)), reverse=True) for root in roots: if root and os.path.isfile(os.path.join(root, rel)): os.environ["AFK_PLUGIN_ROOT"] = root runpy.run_path(os.path.join(root, rel), run_name="__main__") sys.exit(0) sys.exit("afk tracker MCP: " + rel + " not found under any known plugin root. " "Pass the plugin root as the first argument, or export AFK_PLUGIN_ROOT.") ${PLUGIN_ROOT}
MCP configuration uses runtime-provided plugin path placeholders such as ${PLUGIN_ROOT} or ${CLAUDE_PLUGIN_ROOT}. Review the manifest for the runtime-specific expansion rules.
Plugin manifests2
{
"name": "afk",
"version": "1.9.0",
"description": "Harness-agnostic AFK workflow toolkit: requirements grilling, design, planning, test-first execution, verification, review, and delivery skills, with pluggable tracker / forge / notes / build-gate adapters.",
"repository": "https://github.com/midnightblur/afk-driver",
"skills": [
"./skills/afk/adversary",
"./skills/afk/autopilot",
"./skills/afk/bug",
"./skills/afk/agents-md",
"./skills/afk/design-system",
"./skills/afk/execute",
"./skills/afk/fix",
"./skills/afk/gc",
"./skills/afk/grill-requirements",
"./skills/afk/grill-solution",
"./skills/afk/grill-verification",
"./skills/afk/lessons",
"./skills/afk/mission-control",
"./skills/afk/preflight",
"./skills/afk/prototype",
"./skills/afk/retro",
"./skills/afk/review",
"./skills/afk/setup",
"./skills/afk/smoke-test",
"./skills/afk/tdd",
"./skills/afk/to-demo-plan",
"./skills/afk/to-design-brief",
"./skills/afk/to-meeting-b",
"./skills/afk/to-meeting-d",
"./skills/afk/to-prd",
"./skills/afk/to-sdd",
"./skills/afk/to-subtasks",
"./skills/afk/to-ticket",
"./skills/afk/to-verification-plan",
"./skills/afk/understand",
"./skills/utils/caveman",
"./skills/utils/diagnose",
"./skills/utils/draw-charts",
"./skills/utils/glossary",
"./skills/utils/handoff",
"./skills/utils/harvest",
"./skills/utils/interactive-walkthrough",
"./skills/utils/investigate",
"./skills/utils/report-issue",
"./skills/utils/review-qa-tests",
"./skills/utils/settle-change",
"./skills/utils/settle-mr",
"./skills/utils/sred",
"./skills/utils/todo",
"./skills/utils/verify-seams",
"./skills/utils/writing-for-agents"
],
"hooks": "./hooks/hooks.codex.json",
"mcpServers": "./.mcp.codex.json"
}{
"name": "afk",
"version": "1.9.0",
"description": "Harness-agnostic AFK workflow toolkit: requirements grilling, design, planning, test-first execution, verification, review, and delivery skills, with pluggable tracker / forge / notes / build-gate adapters.",
"author": {
"name": "midnightblur"
},
"repository": "https://github.com/midnightblur/afk-driver",
"agents": [
"./agents/afk-implementor.md",
"./agents/afk-reader.md",
"./agents/afk-runner-lite.md",
"./agents/afk-runner.md",
"./agents/afk-tracer.md"
],
"skills": [
"./skills/afk/adversary",
"./skills/afk/autopilot",
"./skills/afk/bug",
"./skills/afk/agents-md",
"./skills/afk/design-system",
"./skills/afk/execute",
"./skills/afk/fix",
"./skills/afk/gc",
"./skills/afk/grill-requirements",
"./skills/afk/grill-solution",
"./skills/afk/grill-verification",
"./skills/afk/lessons",
"./skills/afk/mission-control",
"./skills/afk/preflight",
"./skills/afk/prototype",
"./skills/afk/retro",
"./skills/afk/review",
"./skills/afk/setup",
"./skills/afk/smoke-test",
"./skills/afk/tdd",
"./skills/afk/to-demo-plan",
"./skills/afk/to-design-brief",
"./skills/afk/to-meeting-b",
"./skills/afk/to-meeting-d",
"./skills/afk/to-prd",
"./skills/afk/to-sdd",
"./skills/afk/to-subtasks",
"./skills/afk/to-ticket",
"./skills/afk/to-verification-plan",
"./skills/afk/understand",
"./skills/utils/caveman",
"./skills/utils/diagnose",
"./skills/utils/draw-charts",
"./skills/utils/glossary",
"./skills/utils/handoff",
"./skills/utils/harvest",
"./skills/utils/interactive-walkthrough",
"./skills/utils/investigate",
"./skills/utils/report-issue",
"./skills/utils/review-qa-tests",
"./skills/utils/settle-change",
"./skills/utils/settle-mr",
"./skills/utils/sred",
"./skills/utils/todo",
"./skills/utils/verify-seams",
"./skills/utils/writing-for-agents"
]
}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.
[afk on Agent Plugins Marketplace](https://pluginsmp.com/plugins/afk)