{"id":51180162,"url":"https://github.com/dapperlabs/manifest-kit","last_synced_at":"2026-06-27T06:31:15.259Z","repository":{"id":367591850,"uuid":"1280878977","full_name":"dapperlabs/manifest-kit","owner":"dapperlabs","description":"Roham's toolkit for AI behavior — structural hooks that make agents behave correctly. Vision bridge, image-gen bridge, ForceLink, locate-yourself gate, search-before-assert, finish-not-flag, deliverable-quality, model-stack-persistence. Spec: SPEC-022.","archived":false,"fork":false,"pushed_at":"2026-06-26T15:55:43.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-26T17:24:21.960Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dapperlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-26T02:55:30.000Z","updated_at":"2026-06-26T15:55:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dapperlabs/manifest-kit","commit_stats":null,"previous_names":["dapperlabs/manifest-kit"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/dapperlabs/manifest-kit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dapperlabs%2Fmanifest-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dapperlabs%2Fmanifest-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dapperlabs%2Fmanifest-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dapperlabs%2Fmanifest-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dapperlabs","download_url":"https://codeload.github.com/dapperlabs/manifest-kit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dapperlabs%2Fmanifest-kit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34844344,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-27T02:00:06.362Z","response_time":126,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-27T06:31:14.582Z","updated_at":"2026-06-27T06:31:15.250Z","avatar_url":"https://github.com/dapperlabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# manifest-kit\n\nRoham's toolkit for AI behavior — structural hooks that make agents behave correctly. Vision bridge, image-gen bridge, ForceLink, locate-yourself gate, search-before-assert, finish-not-flag, deliverable-quality, model-stack-persistence, agent-verify cognitive verification, and a reconciliation checker. Spec: [SPEC-022](https://github.com/dapperlabs/agi-knowledge/blob/main/strategy/specs/022-ai-behavior-toolkit/spec.md).\n\n\u003e Renamed from `manifest-it` / `ai-manifest-it` on 2026-06-26. The repo is now `dapperlabs/manifest-kit`.\n\n## What it is\n\nA Claude Code plugin that bundles every structural fix for agent behavior. Two components:\n\n### Hooks (behavior guards)\nThe things the agent *can't do without help* and *shouldn't do wrong*:\n\n1. **Vision bridge** — auto-describes images a text-only model can't see (PostToolUse on Read).\n2. **Image-gen bridge** — routes image generation to OpenAI for text-only models.\n3. **ForceLink** — blocks turns ending with bare file paths; forces clickable URLs.\n4. **Distilled ethos** — portable operating principles (not essays).\n5. **Locate-yourself** — SessionStart gate that tells the agent what room it's in (reads `worldmodel.md`).\n6. **Non-main-branch** — blocks commits to non-main branches on non-boot repos.\n7. **Search-before-assert** — blocks \"doesn't exist\" claims without search evidence.\n8. **Finish-not-flag** — blocks \"worth noting\" when the task isn't actually done.\n9. **Deliverable-quality** — asserts minimum quality for declared deliverables.\n10. **agent-verify input check** — PreToolUse check that inputs contain real content, not metadata (from [roham/agent-verify](https://github.com/roham/agent-verify), wraps the council-verify ladder).\n11. **agent-verify output check** — PostToolUse check that outputs contain actual value, not vacuous structure.\n\n### Checker (reconciliation)\nMerged from [SPEC-021](https://github.com/dapperlabs/agi-knowledge/blob/main/strategy/specs/021-robocop-reconciliation/spec.md) (was: RoboCop). A deterministic cron job that checks:\n- Are the hooks installed and working?\n- Are specs stale or dropped?\n- Is data in the wrong org?\n- Is `worldmodel.md` present and consistent with the README?\n- Is the deployed VM code committed?\n\nNot an agent — a deterministic script. Runs on cadence, surfaces divergences, never remediates.\n\n## Install\n\n### As a Claude Code plugin (recommended)\n\n```bash\ngit clone https://github.com/dapperlabs/manifest-kit.git ~/.claude/plugins/manifest-kit\n```\n\nThen add to your `~/.claude/settings.json`:\n\n```json\n{\n  \"hooks\": {\n    \"PostToolUse\": [\n      {\n        \"matcher\": \"Read\",\n        \"hooks\": [\n          { \"type\": \"command\", \"command\": \"python3 ~/.claude/plugins/manifest-kit/hooks/vision_bridge_hook.py\", \"timeout\": 130 }\n        ]\n      },\n      {\n        \"matcher\": \"Bash|Task|Agent|Write\",\n        \"hooks\": [\n          { \"type\": \"command\", \"command\": \"python3 ~/.claude/plugins/manifest-kit/hooks/agent_verify_post_check.py\" }\n        ]\n      }\n    ],\n    \"PreToolUse\": [\n      {\n        \"matcher\": \"Read|Task|Agent\",\n        \"hooks\": [\n          { \"type\": \"command\", \"command\": \"python3 ~/.claude/plugins/manifest-kit/hooks/agent_verify_pre_check.py\" }\n        ]\n      }\n    ],\n    \"Stop\": [\n      {\n        \"matcher\": \"\",\n        \"hooks\": [\n          { \"type\": \"command\", \"command\": \"bash ~/.claude/plugins/manifest-kit/hooks/forcelink.sh\", \"timeout\": 15 }\n        ]\n      }\n    ]\n  }\n}\n```\n\nRestart Claude Code. Done.\n\n### Hooks only (no plugin system)\n\n```bash\n# ForceLink\ncurl -o ~/.claude/hooks/forcelink.sh https://raw.githubusercontent.com/dapperlabs/manifest-kit/main/hooks/forcelink.sh\nchmod +x ~/.claude/hooks/forcelink.sh\n\n# Vision bridge\ncurl -o ~/.claude/hooks/vision_bridge_hook.py https://raw.githubusercontent.com/dapperlabs/manifest-kit/main/hooks/vision_bridge_hook.py\ncurl -o ~/.claude/scripts/vision_describe.py https://raw.githubusercontent.com/dapperlabs/manifest-kit/main/scripts/vision_describe.py\n\n# agent-verify hooks (requires agent-verify library)\npip install git+https://github.com/roham/agent-verify.git\ncurl -o ~/.claude/hooks/agent_verify_pre_check.py https://raw.githubusercontent.com/dapperlabs/manifest-kit/main/hooks/agent_verify_pre_check.py\ncurl -o ~/.claude/hooks/agent_verify_post_check.py https://raw.githubusercontent.com/dapperlabs/manifest-kit/main/hooks/agent_verify_post_check.py\n```\n\n## Requirements\n\n- **python3** (pre-installed on macOS, most Linux distros)\n- **jq** (optional — ForceLink falls back gracefully if not installed)\n- For the vision bridge: at least one of `GEMINI_API_KEY`, `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`\n- For the image-gen bridge: `OPENAI_API_KEY`\n- For agent-verify: the [council plugin](https://github.com/dapperlabs/dapper-claude-code-plugins) + `llm` CLI\n\n## Configuration\n\n| Env var | Purpose | Default |\n|---|---|---|\n| `GEMINI_API_KEY` | Vision bridge provider 1 | — |\n| `OPENAI_API_KEY` | Vision bridge provider 2 / image-gen | — |\n| `ANTHROPIC_API_KEY` | Vision bridge provider 3 | — |\n| `CAPABILITY_BRIDGE_IMAGE_MODEL` | Image-gen model | `gpt-image-2` |\n| `SKIP_URL_GATE` | `1` to bypass ForceLink | — |\n| `SKIP_VISION_BRIDGE` | `1` to skip vision bridge | — |\n| `DAPPER_TOOLKIT_ADVISORY` | `1` = force all guards to advisory (never block) | — |\n\n## Related\n\n- [agent-verify](https://github.com/roham/agent-verify) — cognitive verification library (council-verify ladder wrapper)\n- [SPEC-022](https://github.com/dapperlabs/agi-knowledge/blob/main/strategy/specs/022-ai-behavior-toolkit/spec.md) — the spec that governs this toolkit\n- [SPEC-024](https://github.com/dapperlabs/agi-knowledge/blob/main/strategy/specs/024-room-manifest/spec.md) — worldmodel.md spec\n- [SPEC-021](https://github.com/dapperlabs/agi-knowledge/blob/main/strategy/specs/021-robocop-reconciliation/spec.md) — reconciliation checker (merged into this repo)\n\n## License\n\nMIT — see [LICENSE](LICENSE). ForceLink is also MIT, bundled unmodified in logic.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdapperlabs%2Fmanifest-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdapperlabs%2Fmanifest-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdapperlabs%2Fmanifest-kit/lists"}