[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-backnotprop-hook-en":3,"guides-for-backnotprop-hook":503,"similar-k17ewtnacgvdg082tm4nbas21d86m8hf-en":504},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":15,"identity":269,"isFallback":264,"parentExtension":274,"providers":308,"relations":312,"repo":313,"tags":501,"workflow":502},1778682919003.727,"k17ewtnacgvdg082tm4nbas21d86m8hf",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":13,"sourceUrl":14},"Interactive Plan Review: Mark up and refine your plans using a UI, easily share for team collaboration, automatically integrates with plan mode hooks.",{"claudeCode":12},"plannotator","Plannotator Claude Code Plugin","https://github.com/backnotprop/plannotator",{"_creationTime":16,"_id":17,"extensionId":5,"locale":18,"result":19,"trustSignals":249,"workflow":267},1778682963897.412,"kn78rbhj505gca7akk67b458jx86n23f","en",{"checks":20,"evaluatedAt":205,"extensionSummary":206,"features":207,"nonGoals":213,"practices":217,"prerequisites":221,"promptVersionExtension":224,"promptVersionScoring":225,"purpose":226,"rationale":227,"score":228,"summary":229,"tags":230,"targetMarket":236,"tier":237,"useCases":238,"workflow":243},[21,26,29,32,36,39,43,47,50,53,57,61,64,68,71,74,77,80,83,86,90,94,98,102,106,109,112,116,120,123,126,129,132,135,138,142,146,150,153,157,160,163,166,169,172,175,178,181,184,187,191,194,197,201],{"category":22,"check":23,"severity":24,"summary":25},"Practical Utility","Problem relevance","pass","The displayed description clearly articulates the problem of interactive plan review and refinement for team collaboration.",{"category":22,"check":27,"severity":24,"summary":28},"Unique selling proposition","The plugin offers a visual UI for plan markup and annotation, direct sharing, and integration with plan mode hooks, which is beyond basic LLM capabilities.",{"category":22,"check":30,"severity":24,"summary":31},"Production readiness","The plugin provides a complete lifecycle for plan review, from annotation to integration with LLM workflows, and includes clear installation and setup instructions.",{"category":33,"check":34,"severity":24,"summary":35},"Scope","Single responsibility principle","The plugin focuses on interactive plan review and annotation, with related tools for managing plans and code reviews, adhering to a single domain.",{"category":33,"check":37,"severity":24,"summary":38},"Description quality","The displayed description accurately reflects the plugin's functionality for interactive plan review, UI annotation, collaboration, and hook integration.",{"category":40,"check":41,"severity":24,"summary":42},"Invocation","Scoped tools","The plugin exposes specific verb-noun tools like `plannotator-review`, `plannotator-annotate`, and `plannotator-last`, avoiding generalist commands.",{"category":44,"check":45,"severity":24,"summary":46},"Documentation","Configuration & parameter reference","Environment variables and their purpose are clearly documented in the README, with default behaviors explained.",{"category":33,"check":48,"severity":24,"summary":49},"Tool naming","Tool names are descriptive, follow kebab-case, and clearly indicate their function within the plannotator domain.",{"category":33,"check":51,"severity":24,"summary":52},"Minimal I/O surface","Tool arguments are generally flags or documented parameters, and the response structure for hooks is clearly defined.",{"category":54,"check":55,"severity":24,"summary":56},"License","License usability","The plugin is licensed under Apache-2.0, a permissive open-source license.",{"category":58,"check":59,"severity":24,"summary":60},"Maintenance","Commit recency","The plugin has recent commits (PushedAt: 2026-05-13), indicating active maintenance.",{"category":58,"check":62,"severity":24,"summary":63},"Dependency Management","The plugin includes a lockfile, suggesting good dependency management practices.",{"category":65,"check":66,"severity":24,"summary":67},"Security","Secret Management","No secrets appear to be hardcoded or mishandled in the provided source files. Environment variables are used for configuration.",{"category":65,"check":69,"severity":24,"summary":70},"Injection","The plugin does not appear to load external data as instructions or fetch remote content dynamically.",{"category":65,"check":72,"severity":24,"summary":73},"Transitive Supply-Chain Grenades","The plugin does not use runtime downloads, remote pipes to shell, or webfetch for instructions, keeping content within the bundle.",{"category":65,"check":75,"severity":24,"summary":76},"Sandbox Isolation","The plugin's hooks and commands operate within defined scopes, primarily interacting with the plannotator CLI and user configuration, without touching arbitrary files outside the project or data directories.",{"category":65,"check":78,"severity":24,"summary":79},"Sandbox escape primitives","No detached-process spawns or deny-retry loops were detected in the hook scripts.",{"category":65,"check":81,"severity":24,"summary":82},"Data Exfiltration","The plugin does not appear to read or submit confidential data to third parties. Environment variables are used for configuration, and outbound calls are documented.",{"category":65,"check":84,"severity":24,"summary":85},"Hidden Text Tricks","Bundled content is free of hidden-steering tricks, with clean ASCII and expected Unicode characters.",{"category":87,"check":88,"severity":24,"summary":89},"Hooks","Opaque code execution","Hook scripts are plain bash or mjs files and are readable, not obfuscated or dynamically fetched.",{"category":91,"check":92,"severity":24,"summary":93},"Portability","Structural Assumption","The plugin uses standard environment variables and configuration paths, avoiding assumptions about specific user project layouts.",{"category":95,"check":96,"severity":24,"summary":97},"Trust","Issues Attention","The plugin shows a healthy ratio of closed to open issues (64 closed, 125 open in 90d), indicating active maintenance and responsiveness.",{"category":99,"check":100,"severity":24,"summary":101},"Versioning","Release Management","The plugin has a declared manifest version (0.19.14) and a CHANGELOG, ensuring clear versioning.",{"category":103,"check":104,"severity":24,"summary":105},"Code Execution","Validation","Arguments to the plannotator CLI are handled as arguments to the command, and the hook logic for `PermissionRequest` and `PreToolUse` is clearly defined, implying validation.",{"category":65,"check":107,"severity":24,"summary":108},"Unguarded Destructive Operations","Destructive operations like plan modification are gated behind user interaction (UI, confirmation) or specific hooks that require approval, preventing silent execution.",{"category":103,"check":110,"severity":24,"summary":111},"Error Handling","Hook scripts are designed to call specific commands, and their expected outputs are defined (e.g., JSON for approval/dismissal), implying structured error handling or defined success/failure states.",{"category":103,"check":113,"severity":114,"summary":115},"Logging","not_applicable","The plugin primarily interacts with an external CLI and UI; explicit local audit logging within the plugin itself is not a core feature or requirement for this type of extension.",{"category":117,"check":118,"severity":24,"summary":119},"Compliance","GDPR","The plugin does not appear to operate on personal data without sanitization; it interacts with plans and code, using environment variables for configuration.",{"category":117,"check":121,"severity":24,"summary":122},"Target market","No regional or jurisdictional signals were detected, and the extension is generally applicable globally.",{"category":91,"check":124,"severity":24,"summary":125},"Runtime stability","The plugin uses standard installation methods and environment variables, indicating good cross-platform compatibility, especially with WSL and remote dev environments.",{"category":44,"check":127,"severity":24,"summary":128},"README","The README provides a comprehensive overview, prerequisites, installation, and usage instructions for the plugin.",{"category":33,"check":130,"severity":24,"summary":131},"Tool surface size","The plugin exposes a reasonable number of tools (5 slash commands) and hooks, keeping the surface area manageable.",{"category":40,"check":133,"severity":24,"summary":134},"Overlapping near-synonym tools","Each tool and hook (`review`, `annotate`, `last`, `archive`, `ExitPlanMode`, `EnterPlanMode`) has a distinct purpose and name, avoiding redundancy.",{"category":44,"check":136,"severity":24,"summary":137},"Phantom features","All advertised features, such as UI annotation, sharing, and Obsidian integration, are implemented and supported by the plugin's tools and README documentation.",{"category":139,"check":140,"severity":24,"summary":141},"Install","Installation instruction","Clear installation instructions for both the plugin manager and manual hook setup, including environment variable configuration, are provided in the README.",{"category":143,"check":144,"severity":24,"summary":145},"Errors","Actionable error messages","The hook definitions specify expected outputs (e.g., 'Approved.', 'dismissed', 'annotated') which implies actionable error handling or defined states for the agent.",{"category":147,"check":148,"severity":24,"summary":149},"Execution","Pinned dependencies","The plugin uses a lockfile and references specific installation scripts with versioning information, indicating pinned dependencies.",{"category":33,"check":151,"severity":114,"summary":152},"Dry-run preview","The plugin's core function involves interactive review and annotation, which inherently requires user confirmation, thus a dry-run mode is not applicable or necessary.",{"category":154,"check":155,"severity":24,"summary":156},"Protocol","Idempotent retry & timeouts","The `PermissionRequest` hook has a long timeout, and the commands themselves are interactive, implying that retries are handled by user re-engagement rather than automatic mutation.",{"category":117,"check":158,"severity":24,"summary":159},"Telemetry opt-in","No telemetry is mentioned or implemented in the provided files, thus no opt-out mechanism is needed.",{"category":40,"check":161,"severity":24,"summary":162},"Name collisions","The plugin's tools and hooks have distinct names (e.g., `plannotator-review`, `ExitPlanMode`) and do not appear to collide with Claude Code built-ins or other plugins.",{"category":40,"check":164,"severity":24,"summary":165},"Hooks-off mechanism","The README describes a manual installation method for hooks by adding a configuration to `~/.claude/settings.json`, implying that simply removing this configuration effectively disables the hooks without uninstalling the plugin.",{"category":40,"check":167,"severity":24,"summary":168},"Hook matcher tightness","The `PermissionRequest` hook uses a specific matcher 'ExitPlanMode', and the `PreToolUse` hook uses 'EnterPlanMode', both tightly scoping their activation.",{"category":65,"check":170,"severity":24,"summary":171},"Hook security","The `PermissionRequest` hook for `ExitPlanMode` has a long timeout but requires explicit user interaction via the UI, and the `PreToolUse` hook is a short, non-destructive command.",{"category":87,"check":173,"severity":114,"summary":174},"Silent prompt rewriting","The plugin does not have a `UserPromptSubmit` hook that rewrites prompts; its hooks intercept tool calls or permissions.",{"category":65,"check":176,"severity":24,"summary":177},"Permission Hook","The `PermissionRequest` hook is scoped to `ExitPlanMode`, which is a specific event, not a blanket approval, and is documented in the README.",{"category":117,"check":179,"severity":24,"summary":180},"Hook privacy","No logging or telemetry to external services is evident in the provided hook configurations.",{"category":103,"check":182,"severity":24,"summary":183},"Hook dependency","The hooks primarily call out to the `plannotator` CLI binary, which is expected to be installed separately and is a readable command execution.",{"category":44,"check":185,"severity":24,"summary":186},"Feature Transparency","The README clearly explains the plugin's hooks and commands, including the manual hook installation process and environment variables.",{"category":188,"check":189,"severity":24,"summary":190},"Convention","Layout convention adherence","The plugin structure follows conventions, with `plugin.json` in `.claude-plugin/` and CLI commands documented in the README.",{"category":188,"check":192,"severity":114,"summary":193},"Plugin state","The plugin does not appear to maintain persistent state that would require management under `${CLAUDE_PLUGIN_DATA}` beyond standard configuration.",{"category":65,"check":195,"severity":24,"summary":196},"Keychain-stored secrets","The plugin uses environment variables for configuration and does not appear to handle secrets that would require keychain storage.",{"category":198,"check":199,"severity":24,"summary":200},"Dependencies","Tagged release sourcing","The plugin installation refers to a specific tagged version (`plannotator@plannotator`) and the command-line installer references a source URL that likely uses tags/releases.",{"category":202,"check":203,"severity":24,"summary":204},"Installation","Clean uninstall","The plugin's actions are primarily session-scoped or rely on the external `plannotator` CLI. There are no indications of background daemons or persistent services that would survive an uninstall.",1778682963786,"This plugin enhances Claude Code by providing an interactive UI for marking up and refining plans, facilitating team collaboration, and integrating with plan mode hooks. It also offers commands for code review and markdown annotation.",[208,209,210,211,212],"Interactive plan markup and annotation via UI","Easy sharing for team collaboration","Integration with plan mode hooks","Code review and markdown annotation commands","Obsidian integration for saving plans",[214,215,216],"Replacing the core LLM's plan generation capabilities","Handling all aspects of project management outside of plan review","Providing a standalone application without IDE integration",[218,219,220],"Interactive Review","Plan Refinement","Collaboration",[222,223],"Install the `plannotator` command-line tool","Claude Code environment","3.0.0","4.4.0","To streamline the plan review and refinement process by offering visual annotation tools and seamless integration with LLM-driven development workflows.","The plugin is well-documented, secure, and adheres to conventions, with a clear USP. Minor points like the absence of specific dry-run modes for interactive tools do not significantly detract from its quality.",98,"A high-quality plugin for interactive plan review and annotation, well-integrated with LLM workflows.",[231,232,233,234,235],"planning","review","ui","collaboration","hooks","global","verified",[239,240,241,242],"Visually annotating and refining AI-generated development plans","Collaborating with a team on plan changes and feedback","Integrating interactive feedback loops into LLM workflows","Reviewing code changes and annotating markdown files directly within the IDE",[244,245,246,247,248],"User calls a plannotator command (e.g., `/plannotator-review`) or a hook is triggered (e.g., `ExitPlanMode`).","The plugin opens the Plannotator UI, allowing for visual annotation and review.","User provides feedback or approves the changes within the UI.","The feedback/approval is sent back to Claude Code for further action or continuation.","Approved plans can be automatically saved to Obsidian.",{"codeQuality":250,"collectedAt":252,"documentation":253,"maintenance":256,"security":263,"testCoverage":266},{"hasLockfile":251},true,1778682939291,{"descriptionLength":254,"readmeSize":255},150,8992,{"closedIssues90d":257,"forks":258,"hasChangelog":251,"manifestVersion":259,"openIssues90d":260,"pushedAt":261,"stars":262},125,363,"0.19.14",64,1778682278000,5267,{"hasNpmPackage":264,"license":265,"smitheryVerified":264},false,"Apache-2.0",{"hasCi":251,"hasTests":251},{"updatedAt":268},1778682963897,{"basePath":270,"githubOwner":271,"githubRepo":12,"locale":18,"slug":272,"type":273},"apps/hook","backnotprop","hook","plugin",{"_creationTime":275,"_id":276,"community":277,"display":278,"identity":282,"parentExtension":285,"providers":286,"relations":302,"tags":304,"workflow":305},1778682919003.7268,"k175f47xnd4t3khchagknjkm7x86nxee",{"reviewCount":8},{"description":279,"installMethods":280,"name":12,"sourceUrl":14},"Annotate and review coding agent plans and code diffs visually, share with your team, send feedback to agents with one click.",{"claudeCode":281},"backnotprop/plannotator",{"basePath":283,"githubOwner":271,"githubRepo":12,"locale":18,"slug":12,"type":284},"","marketplace",null,{"evaluate":287,"extract":296},{"promptVersionExtension":288,"promptVersionScoring":225,"score":289,"tags":290,"targetMarket":236,"tier":295},"3.1.0",79,[291,292,293,294,234],"ai-agent","code-review","plan-review","developer-tools","community",{"commitSha":297,"marketplace":298,"plugin":300},"HEAD",{"name":12,"pluginCount":299},1,{"mcpCount":8,"provider":301,"skillCount":8},"classify",{"repoId":303},"kd78wavmsqx3xwvse964rbj4d986m9r5",[291,292,234,294,293],{"evaluatedAt":306,"extractAt":307,"updatedAt":306},1778682938653,1778682919003,{"evaluate":309,"extract":311},{"promptVersionExtension":224,"promptVersionScoring":225,"score":228,"tags":310,"targetMarket":236,"tier":237},[231,232,233,234,235],{"commitSha":297,"license":265},{"parentExtensionId":276,"repoId":303},{"_creationTime":314,"_id":303,"identity":315,"providers":316,"workflow":497},1778682913452.569,{"githubOwner":271,"githubRepo":12,"sourceUrl":14},{"classify":317,"discover":483,"github":486},{"commitSha":297,"extensions":318},[319,332,349,365,375,390,398,406,414,429,437,445,455,471],{"basePath":283,"displayName":12,"installMethods":320,"rationale":321,"selectedPaths":322,"source":331,"sourceLanguage":18,"type":284},{"claudeCode":281},"marketplace.json at .claude-plugin/marketplace.json (coalesced with duplicate marketplace at .github/plugin)",[323,326,328],{"path":324,"priority":325},".claude-plugin/marketplace.json","mandatory",{"path":327,"priority":325},"README.md",{"path":329,"priority":330},"LICENSE-APACHE","high","rule",{"basePath":270,"description":10,"displayName":12,"installMethods":333,"rationale":334,"selectedPaths":335,"source":331,"sourceLanguage":18,"type":273},{"claudeCode":12},"plugin manifest at apps/hook/.claude-plugin/plugin.json",[336,338,339,341,343,345,347],{"path":337,"priority":325},".claude-plugin/plugin.json",{"path":327,"priority":325},{"path":340,"priority":330},"commands/plannotator-annotate.md",{"path":342,"priority":330},"commands/plannotator-archive.md",{"path":344,"priority":330},"commands/plannotator-last.md",{"path":346,"priority":330},"commands/plannotator-review.md",{"path":348,"priority":330},"hooks/hooks.json",{"basePath":350,"description":351,"displayName":352,"installMethods":353,"license":354,"rationale":355,"selectedPaths":356,"source":331,"sourceLanguage":18,"type":273},"apps/copilot","Interactive Plan & Code Review for GitHub Copilot CLI. Visual annotations, team sharing, structured feedback.","plannotator-copilot",{"claudeCode":352},"MIT OR Apache-2.0","plugin manifest at apps/copilot/plugin.json",[357,359,360,361,362,363],{"path":358,"priority":325},"plugin.json",{"path":327,"priority":325},{"path":340,"priority":330},{"path":344,"priority":330},{"path":346,"priority":330},{"path":364,"priority":325},"hooks.json",{"basePath":366,"description":367,"displayName":368,"installMethods":369,"rationale":370,"selectedPaths":371,"source":331,"sourceLanguage":18,"type":374},".agents/skills/pierre-guard","Guard against breaking the @pierre/diffs integration in Plannotator's code review UI. Use this skill whenever modifying DiffViewer.tsx, upgrading the @pierre/diffs package, changing unsafeCSS injection, adding new props to FileDiff, or touching shadow DOM selectors or CSS variables that cross into Pierre's shadow boundary. Also trigger when someone asks \"will this break the diff viewer\", \"is this safe to change\", or when reviewing PRs that touch the review-editor package.","pierre-guard",{"claudeCode":281},"SKILL.md frontmatter at .agents/skills/pierre-guard/SKILL.md",[372],{"path":373,"priority":325},"SKILL.md","skill",{"basePath":376,"description":377,"displayName":378,"installMethods":379,"rationale":380,"selectedPaths":381,"source":331,"sourceLanguage":18,"type":374},".agents/skills/release","Prepare and execute a Plannotator release — draft release notes with full contributor credit, bump versions across all package files, build in dependency order, and kick off the tag-driven release pipeline. Use this skill whenever the user mentions preparing a release, bumping versions, writing release notes, tagging a release, or publishing. Also trigger when the user says things like \"let's ship\", \"prep a release\", \"what's changed since last release\", or \"time to cut a new version\".","release-plannotator",{"claudeCode":281},"SKILL.md frontmatter at .agents/skills/release/SKILL.md",[382,383,386,388],{"path":373,"priority":325},{"path":384,"priority":385},"references/release-notes-v0.12.0.md","medium",{"path":387,"priority":385},"references/release-notes-v0.13.0.md",{"path":389,"priority":385},"references/release-notes-v0.13.1.md",{"basePath":391,"description":392,"displayName":393,"installMethods":394,"rationale":395,"selectedPaths":396,"source":331,"sourceLanguage":18,"type":374},".agents/skills/review-renovate","Review Renovate bot PRs that update GitHub Actions dependencies. Verifies supply chain integrity by checking pinned commit SHAs against upstream tagged releases, reviews changelogs for breaking changes, and confirms compatibility with existing workflow configurations. Use when a Renovate PR updates GitHub Actions in .github/workflows/.","review-renovate",{"claudeCode":281},"SKILL.md frontmatter at .agents/skills/review-renovate/SKILL.md",[397],{"path":373,"priority":325},{"basePath":399,"description":400,"displayName":401,"installMethods":402,"rationale":403,"selectedPaths":404,"source":331,"sourceLanguage":18,"type":374},".agents/skills/update-deps","Audit and update npm/Bun dependencies with supply chain integrity checks — verifies maintainers, publish age, tarball diffs, and provenance before bumping. Defers risky packages to ~/.supply-chain/notes/.","update-deps",{"claudeCode":281},"SKILL.md frontmatter at .agents/skills/update-deps/SKILL.md",[405],{"path":373,"priority":325},{"basePath":407,"description":408,"displayName":409,"installMethods":410,"rationale":411,"selectedPaths":412,"source":331,"sourceLanguage":18,"type":374},"apps/skills/plannotator-annotate","Open Plannotator's annotation UI for a markdown file, converted HTML file, URL, or folder and then respond to the returned annotations.","plannotator-annotate",{"claudeCode":281},"SKILL.md frontmatter at apps/skills/plannotator-annotate/SKILL.md",[413],{"path":373,"priority":325},{"basePath":415,"description":416,"displayName":417,"installMethods":418,"rationale":419,"selectedPaths":420,"source":331,"sourceLanguage":18,"type":374},"apps/skills/plannotator-compound","Analyze a user's Plannotator plan archive to extract denial patterns, feedback taxonomy, evolution over time, and actionable prompt improvements — then produce a polished HTML dashboard report. Falls back to Claude Code ExitPlanMode denial reasons when Plannotator data is unavailable.\n","plannotator-compound",{"claudeCode":281},"SKILL.md frontmatter at apps/skills/plannotator-compound/SKILL.md",[421,422,425,427],{"path":373,"priority":325},{"path":423,"priority":424},"assets/report-template.html","low",{"path":426,"priority":385},"references/claude-code-fallback.md",{"path":428,"priority":424},"scripts/extract_exit_plan_mode_outcomes.py",{"basePath":430,"description":431,"displayName":432,"installMethods":433,"rationale":434,"selectedPaths":435,"source":331,"sourceLanguage":18,"type":374},"apps/skills/plannotator-last","Open Plannotator on the latest rendered assistant message and use the returned annotations to revise that message or continue.","plannotator-last",{"claudeCode":281},"SKILL.md frontmatter at apps/skills/plannotator-last/SKILL.md",[436],{"path":373,"priority":325},{"basePath":438,"description":439,"displayName":440,"installMethods":441,"rationale":442,"selectedPaths":443,"source":331,"sourceLanguage":18,"type":374},"apps/skills/plannotator-review","Open Plannotator's browser-based code review UI for the current worktree or a pull request URL, then act on the feedback that comes back.","plannotator-review",{"claudeCode":281},"SKILL.md frontmatter at apps/skills/plannotator-review/SKILL.md",[444],{"path":373,"priority":325},{"basePath":446,"description":447,"displayName":448,"installMethods":449,"rationale":450,"selectedPaths":451,"source":331,"sourceLanguage":18,"type":374},"apps/skills/plannotator-setup-goal","Create reviewed Codex goal setup packages for long-running /goal work. Use when the user wants to turn an idea, backlog, project mission, or vague objective into durable goal files under a project goals slug folder, with Plannotator review gates for brief, narrative plan with acceptance criteria, verification, blockers, and the final /goal prompt.","plannotator-setup-goal",{"claudeCode":281},"SKILL.md frontmatter at apps/skills/plannotator-setup-goal/SKILL.md",[452,453],{"path":373,"priority":325},{"path":454,"priority":424},"scripts/scaffold_goal.py",{"basePath":456,"description":457,"displayName":458,"installMethods":459,"rationale":460,"selectedPaths":461,"source":331,"sourceLanguage":18,"type":374},"apps/skills/plannotator-visual-explainer","Generate self-contained HTML visualizations with Plannotator theming. Use for implementation plans, PR explainers, architecture diagrams, data tables, slide decks, and any visual explanation of technical concepts. Plans and PR explainers follow Plannotator's prescriptive approach; all other visual content delegates to nicobailon/visual-explainer.\n","plannotator-visual-explainer",{"claudeCode":281},"SKILL.md frontmatter at apps/skills/plannotator-visual-explainer/SKILL.md",[462,463,465,467,469],{"path":373,"priority":325},{"path":464,"priority":385},"references/design-system.md",{"path":466,"priority":385},"references/pr-components.md",{"path":468,"priority":385},"references/svg-patterns.md",{"path":470,"priority":385},"references/theme-override.md",{"basePath":283,"description":472,"displayName":12,"installMethods":473,"license":354,"rationale":474,"selectedPaths":475,"source":331,"sourceLanguage":18,"type":482},"Interactive Plan Review for Claude Code - annotate plans visually, share with team, automatically send feedback",{"npm":12},"cli ecosystem detected at /",[476,478,479,480],{"path":477,"priority":325},"package.json",{"path":327,"priority":325},{"path":329,"priority":330},{"path":481,"priority":385},"bin/plannotator.js","cli",{"sources":484},[485],"manual",{"closedIssues90d":257,"description":279,"forks":258,"homepage":487,"license":265,"openIssues90d":260,"pushedAt":261,"readmeSize":255,"stars":262,"topics":488},"https://plannotator.ai",[489,490,491,492,493,494,495,292,496],"claude-code","opencode","obsidian","pi-mono","plan-mode","codex","agents","skills",{"classifiedAt":498,"discoverAt":499,"extractAt":500,"githubAt":500,"updatedAt":498},1778682918806,1778682913452,1778682916808,[234,235,231,232,233],{"evaluatedAt":268,"extractAt":307,"updatedAt":268},[],[505,535,561,586,613,638],{"_creationTime":506,"_id":507,"community":508,"display":509,"identity":514,"providers":518,"relations":528,"tags":531,"workflow":532},1778675056600.2068,"k178z532bm8n047nxsbbprw3fd86mj5a",{"reviewCount":8},{"description":510,"installMethods":511,"name":512,"sourceUrl":513},"Active coding discipline enforcer based on Karpathy's 4 principles: surface assumptions, keep it simple, make surgical changes, define verifiable goals. Ships 4 Python tools (complexity_checker, diff_surgeon, assumption_linter, goal_verifier), a review agent, /karpathy-check slash command, and a pre-commit hook. All tools stdlib-only.",{"claudeCode":512},"karpathy-coder","https://github.com/alirezarezvani/claude-skills",{"basePath":515,"githubOwner":516,"githubRepo":517,"locale":18,"slug":512,"type":273},"engineering/karpathy-coder","alirezarezvani","claude-skills",{"evaluate":519,"extract":525},{"promptVersionExtension":224,"promptVersionScoring":225,"score":520,"tags":521,"targetMarket":236,"tier":237},100,[522,294,523,232,524],"code-quality","linting","python",{"commitSha":297,"license":526,"plugin":527},"MIT",{"mcpCount":8,"provider":301,"skillCount":299},{"parentExtensionId":529,"repoId":530},"k17dce6sbramb6sxm7ksr3928x86ncfs","kd7ff9s1w43mfyy1n7hf87816186m6px",[522,294,523,524,232],{"evaluatedAt":533,"extractAt":534,"updatedAt":533},1778675717756,1778675056600,{"_creationTime":536,"_id":537,"community":538,"display":539,"identity":543,"providers":545,"relations":557,"tags":558,"workflow":559},1778675056600.2036,"k17ecjvwgk0pnvb9557bdnq7wd86m7yq",{"reviewCount":8},{"description":540,"installMethods":541,"name":542,"sourceUrl":513},"Multi-agent collaboration plugin for Claude Code. Spawn N parallel subagents that compete on code optimization, content drafts, research approaches, or any problem that benefits from diverse solutions. Evaluate by metric or LLM judge, merge the winner. 7 slash commands, agent templates, git DAG orchestration, message board coordination.",{"claudeCode":542},"agenthub",{"basePath":544,"githubOwner":516,"githubRepo":517,"locale":18,"slug":542,"type":273},"engineering/agenthub",{"evaluate":546,"extract":554},{"promptVersionExtension":224,"promptVersionScoring":225,"score":547,"tags":548,"targetMarket":236,"tier":237},99,[549,234,550,551,552,553],"multi-agent","git","orchestration","automation","development-tool",{"commitSha":297,"license":526,"plugin":555},{"mcpCount":8,"provider":301,"skillCount":556},8,{"parentExtensionId":529,"repoId":530},[552,234,553,550,549,551],{"evaluatedAt":560,"extractAt":534,"updatedAt":560},1778675441637,{"_creationTime":562,"_id":563,"community":564,"display":565,"identity":570,"providers":572,"relations":579,"tags":581,"workflow":582},1778699381979.8687,"k178wjnjd4vs7xhw95cq04689n86nhkt",{"reviewCount":8},{"description":566,"installMethods":567,"name":568,"sourceUrl":569},"734 safety hooks for Claude Code — prevent file deletion, credential leaks, git disasters, and token waste during autonomous AI coding sessions",{"claudeCode":568},"cc-safe-setup","https://github.com/yurukusa/cc-safe-setup",{"basePath":283,"githubOwner":571,"githubRepo":568,"locale":18,"slug":568,"type":273},"yurukusa",{"evaluate":573,"extract":577},{"promptVersionExtension":224,"promptVersionScoring":225,"score":547,"tags":574,"targetMarket":236,"tier":237},[575,235,576,522,482],"security","safety",{"commitSha":297,"license":526,"plugin":578},{"mcpCount":8,"provider":301,"skillCount":299},{"repoId":580},"kd75r9w9e5zg6a7p0g22f0n1td86nsat",[482,522,235,576,575],{"evaluatedAt":583,"extractAt":584,"updatedAt":585},1778699475909,1778699381979,1778699577905,{"_creationTime":587,"_id":588,"community":589,"display":590,"identity":595,"providers":596,"relations":605,"tags":608,"workflow":609},1778699408572.7253,"k17cm6081dkz91ebw27jqh38q586nfry",{"reviewCount":8},{"description":591,"installMethods":592,"name":593,"sourceUrl":594},"Production safety hooks for autonomous Claude Code operation. Context monitoring, syntax checking, branch protection, activity logging, and more.",{"claudeCode":593},"claude-code-hooks","https://github.com/yurukusa/claude-code-hooks",{"basePath":283,"githubOwner":571,"githubRepo":593,"locale":18,"slug":593,"type":273},{"evaluate":597,"extract":602},{"promptVersionExtension":224,"promptVersionScoring":225,"score":547,"tags":598,"targetMarket":236,"tier":237},[576,235,599,600,482,601,575],"autonomous","production","monitoring",{"commitSha":297,"license":526,"plugin":603},{"mcpCount":8,"provider":301,"skillCount":604},2,{"parentExtensionId":606,"repoId":607},"k179rvzf2x5tsmmwbvpyv0mgxn86mkc8","kd7eh26xf9ft5m4mhhe34kedv586nq7c",[599,482,235,601,600,576,575],{"evaluatedAt":610,"extractAt":611,"updatedAt":612},1778699440255,1778699408572,1778699505044,{"_creationTime":614,"_id":615,"community":616,"display":617,"identity":622,"providers":626,"relations":632,"tags":634,"workflow":635},1778692488329.0122,"k1706nwc7f8zp4gh4th2smsax186n2ez",{"reviewCount":8},{"description":618,"installMethods":619,"name":620,"sourceUrl":621},"TDD workflow enforcement with auto-test hook",{"claudeCode":620},"tdd","https://github.com/luiseiman/claude-kit",{"basePath":623,"githubOwner":624,"githubRepo":625,"locale":18,"slug":620,"type":273},"stacks/tdd","luiseiman","claude-kit",{"evaluate":627,"extract":631},{"promptVersionExtension":224,"promptVersionScoring":225,"score":547,"tags":628,"targetMarket":236,"tier":237},[620,629,630,552,235],"testing","workflow",{"commitSha":297},{"repoId":633},"kd79wqc8an5wh20cc2znr8tyb586mxwx",[552,235,620,629,630],{"evaluatedAt":636,"extractAt":637,"updatedAt":636},1778692847867,1778692488329,{"_creationTime":639,"_id":640,"community":641,"display":642,"identity":647,"providers":649,"relations":661,"tags":664,"workflow":665},1778688322101.8254,"k17b9bmvrv1a5e41w678q1yvrh86m81g",{"reviewCount":8},{"description":643,"installMethods":644,"name":645,"sourceUrl":646},"Topic-based automatic memory for Claude Code — never lose context across sessions or compactions.",{"claudeCode":645},"claude-recap","https://github.com/hatawong/claude-recap",{"basePath":283,"githubOwner":648,"githubRepo":645,"locale":18,"slug":645,"type":273},"hatawong",{"evaluate":650,"extract":658},{"promptVersionExtension":224,"promptVersionScoring":225,"score":547,"tags":651,"targetMarket":236,"tier":237},[652,653,235,654,655,656,657],"memory","persistence","context-management","local-storage","bash","nodejs",{"commitSha":297,"license":526,"plugin":659},{"mcpCount":8,"provider":301,"skillCount":660},4,{"parentExtensionId":662,"repoId":663},"k17944zm3ehfvm4ntncyz1dzyx86nc6v","kd78y3gm1ky53msejxede6b4x986nqyc",[656,654,235,655,652,657,653],{"evaluatedAt":666,"extractAt":667,"updatedAt":668},1778688364899,1778688322101,1778688560725]