[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"extension-plugin-anthropics-hookify-en":3,"guides-for-anthropics-hookify":276,"similar-k170r8xw5tjjh6bnmr1rzaqf7s86771y":277},{"_creationTime":4,"_id":5,"children":6,"community":7,"display":9,"evaluation":20,"identity":212,"isFallback":208,"parentExtension":217,"providers":247,"relations":252,"repo":253,"workflow":275},1778054452948.421,"k170r8xw5tjjh6bnmr1rzaqf7s86771y",[],{"reviewCount":8},0,{"description":10,"installMethods":11,"name":12,"sourceUrl":13,"tags":14},"Easily create custom hooks to prevent unwanted behaviors by analyzing conversation patterns or from explicit instructions. Define rules via simple markdown files.",{},"Hookify Plugin","https://github.com/anthropics/claude-plugins-official/tree/HEAD/plugins/hookify",[15,16,17,18,19],"hooks","automation","configuration","python","markdown",{"_creationTime":21,"_id":22,"extensionId":5,"locale":23,"result":24,"trustSignals":200,"workflow":210},1778054703946.7717,"kn7dkz3gsypagb11exd94ywbxx867atn","en",{"checks":25,"evaluatedAt":190,"extensionSummary":191,"promptVersionExtension":192,"promptVersionScoring":193,"rationale":194,"score":195,"summary":196,"tags":197,"targetMarket":198,"tier":199},[26,31,34,37,41,44,48,52,55,58,62,67,71,75,78,81,84,87,90,93,97,101,105,110,114,117,120,123,127,130,133,136,139,142,145,148,151,154,157,160,163,166,169,172,176,179,182,186],{"category":27,"check":28,"severity":29,"summary":30},"Practical Utility","Problem relevance","pass","The description clearly states the user problem: preventing unwanted behaviors by analyzing conversation patterns or explicit instructions, using simple markdown files for rules.",{"category":27,"check":32,"severity":29,"summary":33},"Unique selling proposition","The extension provides a valuable capability beyond simple prompting by allowing users to define custom rules to influence LLM behavior and prevent specific unwanted actions, which is a significant enhancement over default behavior.",{"category":27,"check":35,"severity":29,"summary":36},"Production readiness","The plugin appears production-ready, covering the full lifecycle of rule creation, configuration, and application without requiring restarts. It uses standard Python and markdown, with no external dependencies, indicating immediate usability.",{"category":38,"check":39,"severity":29,"summary":40},"Scope","Single responsibility principle","The plugin focuses on a single, coherent workflow: creating and managing hooks based on user-defined rules. It does not extend into unrelated domains.",{"category":38,"check":42,"severity":29,"summary":43},"Description quality","The displayed description accurately reflects the plugin's functionality: creating custom hooks from conversation analysis or instructions using markdown files.",{"category":45,"check":46,"severity":29,"summary":47},"Invocation","Scoped tools","The plugin utilizes specific commands like `/hookify`, `/hookify:list`, `/hookify:configure`, and `/hookify:help`, which are narrow and descriptive, preventing ambiguity.",{"category":49,"check":50,"severity":29,"summary":51},"Documentation","Configuration & parameter reference","The README provides detailed documentation for rule configuration, event types, pattern syntax, and available fields, clearly outlining all parameters and their usage.",{"category":38,"check":53,"severity":29,"summary":54},"Tool naming","Tool names like `/hookify`, `/hookify:list`, `/hookify:configure`, and `/hookify:help` are descriptive and follow kebab-case conventions.",{"category":38,"check":56,"severity":29,"summary":57},"Minimal I/O surface","The plugin's commands accept specific arguments or analyze conversation context. Rule files are self-contained markdown with YAML frontmatter, and the output is structured JSON or human-readable text, minimizing extraneous data.",{"category":59,"check":60,"severity":29,"summary":61},"License","License usability","The extension includes a LICENSE file containing the Apache License 2.0, a permissive open-source license.",{"category":63,"check":64,"severity":65,"summary":66},"Maintenance","Commit recency","critical","There are no commits on the default branch in the last 12 months, indicating the project is likely unmaintained and carries increased risk due to potential spec/SDK changes.",{"category":63,"check":68,"severity":69,"summary":70},"Dependency Management","not_applicable","The plugin uses only standard Python libraries and has no third-party dependencies.",{"category":72,"check":73,"severity":69,"summary":74},"Security","Secret Management","The plugin does not handle or expose any secrets.",{"category":72,"check":76,"severity":29,"summary":77},"Injection","The plugin loads markdown files with YAML frontmatter and uses Python regex for matching, treating these as data rather than executable code. No external data loading or webfetch is performed.",{"category":72,"check":79,"severity":29,"summary":80},"Transitive Supply-Chain Grenades","All code and configuration files are bundled within the repository. There are no runtime downloads or external script executions.",{"category":72,"check":82,"severity":29,"summary":83},"Sandbox Isolation","The plugin operates within its designated environment, reading configuration from `.claude/` and executing Python scripts. It does not attempt to access or modify files outside its scope.",{"category":72,"check":85,"severity":29,"summary":86},"Sandbox escape primitives","The Python scripts do not contain any detached process spawns or retry loops that could escape the sandbox.",{"category":72,"check":88,"severity":29,"summary":89},"Data Exfiltration","The plugin does not make any outbound network calls, thus preventing data exfiltration.",{"category":72,"check":91,"severity":29,"summary":92},"Hidden Text Tricks","The bundled files are clean, readable Python scripts and markdown files, free of hidden text tricks or obfuscation.",{"category":94,"check":95,"severity":29,"summary":96},"Hooks","Opaque code execution","The Python scripts are provided as readable source code and are not obfuscated, base64-decoded, or fetched at runtime.",{"category":98,"check":99,"severity":29,"summary":100},"Portability","Structural Assumption","The plugin correctly uses paths relative to the current working directory (e.g., `.claude/`) and does not make assumptions about specific user project layouts.",{"category":102,"check":103,"severity":69,"summary":104},"Trust","Issues Attention","No issues data available.",{"category":106,"check":107,"severity":108,"summary":109},"Versioning","Release Management","warning","No `version` field found in any manifest, no GitHub releases, and no CHANGELOG. Install instructions do not reference a specific version, implying use of the main branch.",{"category":111,"check":112,"severity":29,"summary":113},"Code Execution","Validation","Input validation is handled by Python's regex engine and the structured nature of the rule parsing. While not a dedicated schema library, it is sufficient for its purpose.",{"category":72,"check":115,"severity":29,"summary":116},"Unguarded Destructive Operations","The 'block' action for rules effectively guards potentially destructive operations by preventing tool execution.",{"category":111,"check":118,"severity":29,"summary":119},"Error Handling","Python scripts use try-except blocks to catch errors, log them to stderr, and exit with code 0, ensuring operations are not blocked due to hook errors. Errors are reported to the user.",{"category":111,"check":121,"severity":69,"summary":122},"Logging","The plugin does not perform destructive actions or outbound calls that would necessitate local audit logging.",{"category":124,"check":125,"severity":69,"summary":126},"Compliance","GDPR","The plugin does not handle personal data.",{"category":124,"check":128,"severity":29,"summary":129},"Target market","The plugin is language-agnostic and does not interact with region-specific data or APIs, making it globally applicable.",{"category":98,"check":131,"severity":29,"summary":132},"Runtime stability","The plugin relies on standard Python and does not make assumptions about specific OS, shells, or IDEs, ensuring broad compatibility.",{"category":38,"check":134,"severity":29,"summary":135},"Tool surface size","The plugin exposes 4 main commands (/hookify, /hookify:list, /hookify:configure, /hookify:help), which is within the recommended range.",{"category":45,"check":137,"severity":29,"summary":138},"Name collisions","The plugin's commands are distinct and do not overlap with Claude Code built-ins or other commands within the bundle.",{"category":45,"check":140,"severity":29,"summary":141},"Overlapping near-synonym tools","The plugin's commands are distinct and do not have near-synonym names.",{"category":45,"check":143,"severity":29,"summary":144},"Hooks-off mechanism","The README mentions rules can be disabled by setting 'enabled: false' in the frontmatter or deleting the rule file, and the `/hookify:configure` command allows interactive toggling.",{"category":45,"check":146,"severity":29,"summary":147},"Hook matcher tightness","Hooks are defined by specific event types (bash, file, stop, prompt) and patterns within those events, not a broad wildcard.",{"category":72,"check":149,"severity":29,"summary":150},"Hook security","The plugin's hooks are configured via user-defined markdown files and primarily act as guards (block/warn) or log information, with no inherently destructive or network-touching behavior enabled by default. Changes are user-initiated.",{"category":94,"check":152,"severity":29,"summary":153},"Silent prompt rewriting","The plugin does not implement `UserPromptSubmit` hooks that rewrite prompts without visible logging.",{"category":72,"check":155,"severity":69,"summary":156},"Permission Hook","The plugin does not implement `PermissionRequest` hooks.",{"category":124,"check":158,"severity":29,"summary":159},"Hook privacy","The plugin does not perform any logging or telemetry via network calls.",{"category":111,"check":161,"severity":29,"summary":162},"Hook dependency","Hook scripts are readable Python files included in the repository and are not obfuscated or externally fetched.",{"category":49,"check":164,"severity":29,"summary":165},"Install / Setup Instructions","The README provides clear installation instructions and explains how to create, configure, and manage rules.",{"category":49,"check":167,"severity":29,"summary":168},"Feature Transparency","The README clearly explains the purpose and functionality of the plugin, including how rules are created and managed.",{"category":49,"check":170,"severity":29,"summary":171},"Phantom features","All documented features (rule creation, listing, configuration) have corresponding implementations.",{"category":173,"check":174,"severity":29,"summary":175},"Convention","Layout convention adherence","The plugin follows Claude Code plugin structural conventions, with `plugin.json` in `.claude-plugin/` and hook scripts in the `hooks/` directory, and commands are documented.",{"category":173,"check":177,"severity":29,"summary":178},"Plugin state","Plugin state (user-created rules) is managed in the project's `.claude/` directory, which aligns with standard practices for user-specific configurations.",{"category":72,"check":180,"severity":69,"summary":181},"Keychain-stored secrets","The plugin does not handle any secrets that would require keychain storage.",{"category":183,"check":184,"severity":69,"summary":185},"Dependencies","Tagged release sourcing","The plugin does not bundle any MCP servers.",{"category":187,"check":188,"severity":29,"summary":189},"Installation","Clean uninstall","The plugin does not spawn background daemons or install system-wide components, ensuring a clean uninstall.",1778054614505,"This plugin allows users to define custom rules using markdown files to prevent unwanted behaviors during conversation analysis or from explicit instructions. It supports blocking or warning based on defined patterns and events like bash commands, file edits, or user prompts.","2.0.0","3.4.0","The plugin is well-structured, documented, and provides a clear utility for users to manage their Claude Code environment. The critical finding for 'Commit recency' is a significant concern for maintainability, but the plugin's core functionality is sound and secure, preventing it from being flagged. The warning for 'Release Management' is noted but less impactful than the commit recency.",85,"A robust plugin for creating and managing custom hooks via simple markdown files.",[15,16,17,18,19],"global","flagged",{"codeQuality":201,"collectedAt":202,"documentation":203,"maintenance":205,"popularity":206,"security":207,"testCoverage":209},{},1778054597526,{"descriptionLength":204,"readmeSize":8},162,{},{"smitheryUniqueUsers":8,"smitheryUseCount":8},{"hasNpmPackage":208,"smitheryVerified":208},false,{"hasCi":208,"hasTests":208},{"updatedAt":211},1778054703946,{"githubOwner":213,"githubRepo":214,"locale":23,"slug":215,"type":216},"anthropics","claude-plugins-official","hookify","plugin",{"_creationTime":218,"_id":219,"community":220,"display":221,"identity":230,"parentExtension":231,"providers":232,"relations":241,"workflow":243},1778054452948.4092,"k171b9714j6pgfxqht22y94q4x866sck",{"reviewCount":8},{"description":222,"name":223,"sourceUrl":224,"tags":225},"Directory of popular Claude Code extensions including development tools, productivity plugins, and MCP integrations","Claude Code Plugins Directory","https://github.com/anthropics/claude-plugins-official",[226,227,228,229],"marketplace","directory","plugins","mcp",{"githubOwner":213,"githubRepo":214,"locale":23,"slug":214,"type":226},null,{"extract":233,"llm":238,"smithery":240},{"commitSha":234,"license":235,"marketplace":236},"06f52cd3ac3e47ecb45228a86183ea2a86e9d6ff","n/a",{"name":214,"pluginCount":237},179,{"promptVersionExtension":192,"promptVersionScoring":193,"score":195,"targetMarket":198,"tier":239},"evaluated",{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":208},{"repoId":242},"kd798hf3w99qz2xt1fqtgq7gf9865e31",{"anyEnrichmentAt":244,"extractAt":245,"githubAt":246,"llmAt":211,"smitheryAt":244,"updatedAt":211},1778054509977,1778054452948,1778054454391,{"extract":248,"llm":250,"smithery":251},{"commitSha":234,"license":249},"Apache-2.0",{"promptVersionExtension":192,"promptVersionScoring":193,"score":195,"targetMarket":198,"tier":199},{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":208},{"parentExtensionId":219,"repoId":242},{"_creationTime":254,"_id":242,"identity":255,"providers":256,"workflow":272},1777995558409.857,{"githubOwner":213,"githubRepo":214,"sourceUrl":224},{"discover":257,"github":261},{"sources":258},[259,260],"skills-sh","smithery",{"closedIssues90d":262,"forks":263,"homepage":264,"openIssues90d":265,"pushedAt":266,"readmeSize":267,"stars":268,"topics":269},83,2270,"https://code.claude.com/docs/en/plugins",480,1778039881000,1948,18631,[270,229,271],"claude-code","skills",{"discoverAt":273,"extractAt":274,"githubAt":274,"updatedAt":274},1777995558409,1778054455773,{"anyEnrichmentAt":244,"extractAt":245,"githubAt":246,"llmAt":211,"smitheryAt":244,"updatedAt":211},[],[278,303,335,364,397],{"_creationTime":279,"_id":280,"community":281,"display":282,"identity":293,"providers":295,"relations":301,"workflow":302},1778054452948.4272,"k179khyq4dvq0ytvdcepec984d8666wk",{"reviewCount":8},{"description":283,"name":284,"sourceUrl":285,"tags":286},"Comprehensive toolkit for developing Claude Code plugins. Includes 7 expert skills covering hooks, MCP integration, commands, agents, and best practices. AI-assisted plugin creation and validation.","Plugin Development Toolkit","https://github.com/anthropics/claude-plugins-official/tree/HEAD/plugins/plugin-dev",[287,288,15,289,271,229,290,16,291,292],"development","plugin-creation","agents","cli","guidance","best-practices",{"githubOwner":213,"githubRepo":214,"locale":23,"slug":294,"type":216},"plugin-dev",{"extract":296,"llm":297,"smithery":300},{"commitSha":234,"license":249},{"promptVersionExtension":192,"promptVersionScoring":193,"score":298,"targetMarket":198,"tier":299},99,"verified",{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":208},{"parentExtensionId":219,"repoId":242},{"anyEnrichmentAt":244,"extractAt":245,"githubAt":246,"llmAt":211,"smitheryAt":244,"updatedAt":211},{"_creationTime":304,"_id":305,"community":306,"display":307,"identity":319,"providers":323,"relations":328,"workflow":331},1778053078370.9028,"k17dwt2y8zcwbj9r1ccgc0mwvs867jac",{"reviewCount":8},{"description":308,"installMethods":309,"name":310,"sourceUrl":311,"tags":312},"Complete Claude Code plugin development system. PROACTIVELY activate when users want to: (1) Create/build plugins with 2025 features, (2) Add skills/commands/agents/hooks, (3) Validate plugin structure, (4) Publish to marketplace, (5) Get plugin development guidance. Provides: agent-first design patterns, progressive disclosure skills, hook automation, MCP integration, marketplace publishing. Includes plugin-expert agent and validation utilities.",{},"Plugin Master","https://github.com/josiahsiegel/claude-plugin-marketplace/tree/HEAD/plugins/plugin-master",[313,314,315,15,229,316,226,317,16,318],"plugin-development","agent","skill","commands","validation","devops",{"githubOwner":320,"githubRepo":321,"locale":23,"slug":322,"type":216},"josiahsiegel","claude-plugin-marketplace","plugin-master",{"extract":324,"llm":327},{"commitSha":325,"license":326},"a05d923c8a3551d4274eef152649583d693b9b67","MIT",{"promptVersionExtension":192,"promptVersionScoring":193,"score":298,"targetMarket":198,"tier":299},{"parentExtensionId":329,"repoId":330},"k1741p5y8fyyp90j4zdea56w61867nj3","kd75az366mhppxzk11c689vzen865qkv",{"anyEnrichmentAt":332,"extractAt":333,"githubAt":332,"llmAt":334,"updatedAt":334},1778053080008,1778053078370,1778053164925,{"_creationTime":336,"_id":337,"community":338,"display":339,"identity":347,"providers":350,"relations":356,"workflow":359},1778003443243.3262,"k17bcjgkk4manmydj6mbjpetqh8655yn",{"reviewCount":8},{"description":340,"installMethods":341,"name":342,"sourceUrl":343,"tags":344},"PreToolUse hook that prevents AI agents from using --no-verify, --no-gpg-sign, and other bypass flags that skip git hooks",{},"Block No-Verify","https://github.com/wshobson/agents/tree/HEAD/plugins/block-no-verify",[345,346,15,17],"git","security",{"githubOwner":348,"githubRepo":289,"locale":23,"slug":349,"type":216},"wshobson","block-no-verify",{"extract":351,"llm":353,"smithery":355},{"commitSha":352,"license":326},"ece811f23310a37ceb43496dbac0e244fe6845b6",{"promptVersionExtension":192,"promptVersionScoring":193,"score":354,"targetMarket":198,"tier":299},95,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":208},{"parentExtensionId":357,"repoId":358},"k175qypm0s8m8k6a0fkxpxfj1n865ax9","kd72tes1veaz04ac7p0d68ya4h8650m7",{"anyEnrichmentAt":360,"extractAt":361,"githubAt":362,"llmAt":363,"smitheryAt":360,"updatedAt":363},1778016861516,1778003520097,1778003532786,1778016883287,{"_creationTime":365,"_id":366,"community":367,"display":368,"identity":381,"providers":384,"relations":389,"workflow":392},1777995627391.5356,"k177z2t3rfgaw0zrb7qprpnndh864r09",{"reviewCount":8},{"description":369,"installMethods":370,"name":371,"sourceUrl":372,"tags":373},"Data observability plugin - health monitoring, alerts, schema drift, freshness tracking",{},"AnomalyArmor Agents","https://github.com/anomalyarmor/agents",[374,229,18,375,376,377,378,379,346,380],"data-observability","alerts","freshness","schema-drift","data-quality","monitoring","pipeline",{"githubOwner":382,"githubRepo":289,"locale":23,"slug":383,"type":216},"anomalyarmor","armor",{"extract":385,"llm":387,"smithery":388},{"commitSha":386},"7c56d4a0fc8feccdfa8e85cc11ff1010b18c3a89",{"promptVersionExtension":192,"promptVersionScoring":193,"score":298,"targetMarket":198,"tier":299},{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":208},{"parentExtensionId":390,"repoId":391},"k173vznv6dcx28h1c568068tnx864f8n","kd7966c5zsgty1d4tqde2rgz1n8658b1",{"anyEnrichmentAt":393,"extractAt":394,"githubAt":395,"llmAt":396,"smitheryAt":393,"updatedAt":396},1777995723550,1777995627391,1777995627861,1777995897177,{"_creationTime":398,"_id":399,"community":400,"display":401,"identity":411,"providers":413,"relations":418,"workflow":419},1778054452948.4287,"k178v1ywj34fxzwsh4bhtyynwd866swe",{"reviewCount":8},{"description":402,"installMethods":403,"name":404,"sourceUrl":405,"tags":406},"Interactive self-referential AI loops for iterative development, implementing the Ralph Wiggum technique. Claude works on the same task repeatedly, seeing its previous work, until completion.",{},"Ralph Loop Plugin","https://github.com/anthropics/claude-plugins-official/tree/HEAD/plugins/ralph-loop",[407,408,409,410,15],"ai-loops","iterative-development","workflow","bash",{"githubOwner":213,"githubRepo":214,"locale":23,"slug":412,"type":216},"ralph-loop",{"extract":414,"llm":415,"smithery":417},{"commitSha":234,"license":249},{"promptVersionExtension":192,"promptVersionScoring":193,"score":416,"targetMarket":198,"tier":299},98,{"qualityScore":8,"totalActivations":8,"uniqueUsers":8,"useCount":8,"verified":208},{"parentExtensionId":219,"repoId":242},{"anyEnrichmentAt":244,"extractAt":245,"githubAt":246,"llmAt":211,"smitheryAt":244,"updatedAt":211}]