{
  "metadata": {
    "description": "Claude Code plugins by wow-look-at-my-code",
    "pluginRoot": "./plugins",
    "version": "1502"
  },
  "name": "wow-cc-marketplace",
  "owner": {
    "name": "wow-look-at-my-code"
  },
  "plugins": [
    {
      "author": {
        "name": "wow-look-at-my-code"
      },
      "category": "development",
      "description": "Language server that flags identical CSS declaration blocks as diagnostics while you edit, so a rule copied under a new selector gets hoisted into the cascade instead of shipped",
      "keywords": [
        "css",
        "cascade",
        "duplication",
        "stylesheet",
        "refactor",
        "lsp",
        "diagnostics"
      ],
      "name": "css-duplication",
      "source": {
        "ref": "css-duplication#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "wow-look-at-my-code"
      },
      "category": "development",
      "description": "Corrective reference notes the model loads before touching things it reliably gets wrong from stale training data",
      "hooks": {
        "PreToolUse": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/docs",
                "type": "command"
              }
            ],
            "matcher": "Read|Write|Edit|MultiEdit|NotebookEdit|Bash"
          }
        ]
      },
      "keywords": [
        "docs",
        "reference",
        "dockerfile",
        "docker-compose",
        "docker-images",
        "skills"
      ],
      "name": "docs",
      "source": {
        "ref": "docs#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "mhaynie"
      },
      "category": "development",
      "description": "Enforces the task list at both ends: a PreToolUse gate refuses every non-task tool until work the user just assigned is filed, and a Stop hook refuses to end the turn while any task is still pending or in progress. Reminders about the task list are demonstrably ignored; these are refusals",
      "hooks": {
        "PreToolUse": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/finish-your-todos",
                "timeout": 10,
                "type": "command"
              }
            ],
            "matcher": "*"
          }
        ],
        "Stop": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/finish-your-todos",
                "type": "command"
              }
            ]
          }
        ],
        "UserPromptSubmit": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/finish-your-todos",
                "timeout": 10,
                "type": "command"
              }
            ]
          }
        ]
      },
      "keywords": [
        "stop",
        "todo",
        "todowrite",
        "tasks",
        "taskcreate",
        "autonomy",
        "hook",
        "enforcement"
      ],
      "name": "finish-your-todos",
      "source": {
        "ref": "finish-your-todos#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "mhaynie"
      },
      "description": "When the user's message contains a question mark, blocks every tool call except read-only lookups (Read/Grep/Glob) until the assistant answers in plain text; a message that interrupts a running turn also makes the assistant resume the interrupted work instead of stopping after its reply",
      "hooks": {
        "PreToolUse": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/focus-please",
                "type": "command"
              }
            ],
            "matcher": "*"
          }
        ],
        "Stop": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/focus-please",
                "type": "command"
              }
            ]
          }
        ],
        "UserPromptSubmit": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/focus-please",
                "type": "command"
              }
            ]
          }
        ]
      },
      "keywords": [
        "focus",
        "question",
        "attention",
        "block",
        "tools",
        "hook",
        "userpromptsubmit",
        "pretooluse",
        "stop",
        "interrupt",
        "resume"
      ],
      "name": "focus-please",
      "source": {
        "ref": "focus-please#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "wow-look-at-my-code"
      },
      "category": "development",
      "description": "Restores the builtin Glob tool that Claude Code removed in 2.1.117: ripgrep-backed file pattern matching with byte-for-byte 2.1.116 behavior",
      "keywords": [
        "glob",
        "search",
        "files",
        "ripgrep",
        "mcp",
        "builtin"
      ],
      "mcpServers": "./.mcp.json",
      "name": "glob",
      "source": {
        "ref": "glob#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "wow-look-at-my-code"
      },
      "category": "development",
      "description": "Restores the builtin Grep tool that Claude Code removed in 2.1.117: ripgrep-backed content search mirroring 2.1.116 behavior, with a clearer output-mode set",
      "keywords": [
        "grep",
        "search",
        "content",
        "regex",
        "ripgrep",
        "mcp",
        "builtin"
      ],
      "mcpServers": "./.mcp.json",
      "name": "grep",
      "source": {
        "ref": "grep#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "wow-look-at-my-code"
      },
      "category": "development",
      "description": "Create organized, well-structured HTML demo pages with separate CSS and JS files",
      "keywords": [
        "html",
        "demo",
        "frontend",
        "prototype"
      ],
      "name": "html-demo",
      "source": {
        "ref": "html-demo#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "wow-look-at-my-code"
      },
      "category": "development",
      "description": "MCP server wrapping jq for JSON filtering, querying, and transforming without Bash permission prompts",
      "keywords": [
        "jq",
        "json",
        "filter",
        "query",
        "mcp"
      ],
      "mcpServers": "./.mcp.json",
      "name": "jq",
      "source": {
        "ref": "jq#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "wow-look-at-my-code"
      },
      "description": "Assorted standalone skills with no theme in common, kept here instead of each getting its own plugin",
      "keywords": [
        "skills",
        "misc",
        "review",
        "refactor",
        "audit"
      ],
      "name": "misc-skills",
      "source": {
        "ref": "misc-skills#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "mhaynie"
      },
      "description": "Fetch text content from URLs referenced with @https://... in prompts",
      "hooks": {
        "UserPromptSubmit": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/prompt-url-fetch",
                "type": "command"
              }
            ]
          }
        ]
      },
      "keywords": [
        "fetch",
        "url",
        "text",
        "content"
      ],
      "name": "prompt-url-fetch",
      "source": {
        "ref": "prompt-url-fetch#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "mhaynie"
      },
      "category": "development",
      "description": "Suggests the repository that already solves the job. Matches each prompt against an index built from the GitHub API -- names, topics, and each repository's own description -- and injects the link and description of each relevant one, at most once per session.",
      "hooks": {
        "UserPromptSubmit": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/build/repo-index",
                "type": "command"
              }
            ]
          }
        ]
      },
      "keywords": [
        "repo",
        "index",
        "discovery",
        "suggest",
        "hook",
        "userpromptsubmit",
        "context"
      ],
      "name": "repo-index",
      "source": {
        "ref": "repo-index#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    },
    {
      "author": {
        "name": "wow-look-at-my"
      },
      "category": "development",
      "description": "The org's slop guards in one plugin: the common-checks CI gate as a language server and a write refusal, the counts and tombstones repairs, and the permission-seeking, blame-language and busy-poll guards.",
      "hooks": {
        "MessageDisplay": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape blame-language",
                "timeout": 10,
                "type": "command"
              },
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape link-refs",
                "timeout": 10,
                "type": "command"
              },
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape ask-properly",
                "timeout": 10,
                "type": "command"
              }
            ]
          }
        ],
        "PermissionRequest": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape auto-allow",
                "type": "command"
              }
            ],
            "matcher": "*"
          }
        ],
        "PostToolUse": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape md-budget",
                "type": "command"
              }
            ],
            "matcher": "Bash|Write|Edit|MultiEdit|NotebookEdit"
          }
        ],
        "PreToolUse": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/server/slopfix-lsp --hook",
                "type": "command"
              },
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape hook --only counts,tombstones --max-comment-lines ${NO_TOMBSTONES_MAX_COMMENT_LINES:-14}",
                "type": "command"
              }
            ],
            "matcher": "Write|Edit|MultiEdit|NotebookEdit"
          },
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape busy-poll",
                "type": "command"
              },
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape no-work-loss",
                "type": "command"
              },
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape auto-allow",
                "type": "command"
              }
            ],
            "matcher": "*"
          },
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape clean-bash",
                "type": "command"
              }
            ],
            "matcher": "Bash"
          }
        ],
        "SessionStart": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape md-budget",
                "type": "command"
              }
            ]
          }
        ],
        "Stop": [
          {
            "hooks": [
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape laziness",
                "type": "command"
              },
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape md-budget",
                "type": "command"
              },
              {
                "command": "${CLAUDE_PLUGIN_ROOT}/bin/slopfix.ape busy-poll",
                "type": "command"
              }
            ]
          }
        ]
      },
      "keywords": [
        "lsp",
        "ci",
        "github-actions",
        "lint",
        "common-checks",
        "slopfix",
        "prose"
      ],
      "name": "slopfix",
      "source": {
        "ref": "slopfix#1502",
        "source": "url",
        "url": "https://github.com/wow-look-at-my/cc-marketplace.git"
      },
      "version": "1502"
    }
  ]
}