Skip to content

feat: add /cantinasec:klaxon — brand monitoring setup + demo#1

Merged
mario-eth merged 2 commits into
cantinasec:mainfrom
aidan269:plugin/klaxon
May 19, 2026
Merged

feat: add /cantinasec:klaxon — brand monitoring setup + demo#1
mario-eth merged 2 commits into
cantinasec:mainfrom
aidan269:plugin/klaxon

Conversation

@aidan269
Copy link
Copy Markdown
Contributor

Summary

Adds a /cantinasec:klaxon slash command + a klaxon-setup skill that walk a Cantina engineer through installing, configuring, and demoing klaxon — our self-hosted social monitoring + brand protection tool. Code-first alternative to ZeroFox Social Media Protection / Akamai Brand Guardian. Detection only; no automated takedown.

Files added under plugins/cantinasec/:

  • commands/klaxon.md — slash-command wrapper (matches the axios.md / litellm.md shape already in this plugin)
  • skills/klaxon-setup/SKILL.md — the actual walkthrough

What the skill covers

  1. clone klaxon + Python 3.11 venv + install + smoke-test the suite (139+ passing)
  2. socmon init to write the starter socmon.yaml
  3. Interactive YAML fill — ask the user one question at a time for: organization name, brand name + aliases, corporate domains, legit handles per platform, executives + their handles, keyword expressions, brand-logo paths
  4. Optional Slack wiring with socmon alerts test --channel slack-brand to verify
  5. The recommended two-pane "catch" demopython examples/catch.py in one pane, socmon demo --watch --findings-only --catch --interval-seconds 5 in another. Shows alerts firing into a local HTTP receiver without touching real Slack
  6. Real socmon scan --window-hours 168 --findings-only against Reddit + configured RSS feeds
  7. Continuous socmon run for production (APScheduler under the hood, graceful Ctrl-C / SIGTERM)
  8. CLI surface reference table
  9. State-persistence semantics + cadence floor guidance

Test plan

  • Reviewer can /plugin marketplace add cantinasec/plugins after this lands
  • /cantinasec:klaxon shows up alongside /cantinasec:axios and /cantinasec:litellm
  • Invoking /cantinasec:klaxon loads the klaxon-setup skill and starts the walkthrough
  • The walkthrough produces a working klaxon install when run against a clean Mac with Python 3.11 already installed

🤖 Generated with Claude Code

Adds a new slash command + skill that walks a Cantina engineer through
installing, configuring, and demoing klaxon, our self-hosted social
monitoring and brand protection tool (a code-first alternative to ZeroFox
Social Media Protection and Akamai Brand Guardian). Detection only —
deliberately no automated takedown / remediation pipeline.

Source repo: https://github.com/aidan269/klaxon

Files:
  plugins/cantinasec/commands/klaxon.md            # the slash command
  plugins/cantinasec/skills/klaxon-setup/SKILL.md  # the walkthrough

The command is a thin wrapper that delegates to the skill, matching the
axios.md / litellm.md pattern already in this plugin. The skill covers:

  - clone + venv install
  - interactive YAML config fill (org, brand, aliases, domains, legit
    handles, executives, keywords, brand-logo paths) — one question at
    a time
  - optional Slack wiring with `alerts test` to verify
  - the recommended two-pane "catch" demo that fires fixture findings
    into a local HTTP receiver (examples/catch.py) instead of touching
    real Slack
  - real `socmon scan` against Reddit + RSS feeds
  - continuous `socmon run` for production
  - state-persistence semantics (observations / findings / watermarks /
    kv_state)
  - cadence floor table and dedup-safety note

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new cantinasec slash command (/cantinasec:klaxon) and accompanying klaxon-setup skill that walks an engineer through installing, configuring, and demoing the klaxon self-hosted brand monitoring tool.

Changes:

  • Introduces a new command wrapper plugins/cantinasec/commands/klaxon.md to invoke the klaxon-setup skill.
  • Adds a comprehensive interactive setup + demo walkthrough in plugins/cantinasec/skills/klaxon-setup/SKILL.md.

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
plugins/cantinasec/skills/klaxon-setup/SKILL.md Adds the end-to-end klaxon install/config/demo walkthrough and reference material.
plugins/cantinasec/commands/klaxon.md Adds the /cantinasec:klaxon command wrapper to run the new skill.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +179 to +183
## CLI surface reference

| Subcommand | Purpose |
|------------|---------|
| `socmon init` | Write starter `socmon.yaml` from the example template |
Comment on lines +234 to +239
## Cadence guidance

| Cadence | Status | Notes |
|----------|--------------------------|----------------------------------------------------------------|
| ≥ 5 min | Production sweet spot | Well under Reddit's anonymous ~60 req/min limit |
| 1–4 min | Demo / incident-response | Reddit holds; some RSS feeds will start 429ing on tight cycles |
Comment on lines +56 to +67
### 2. Verify Python 3.11+

```bash
python3.11 --version || brew install python@3.11 # macOS
# Linux: use the system package manager
```

### 3. Create venv and install

```bash
python3.11 -m venv .venv
.venv/bin/pip install -e ".[dev,slack]"
```bash
python3.11 -m venv .venv
.venv/bin/pip install -e ".[dev,slack]"
.venv/bin/pytest -q # confirm 139+ tests pass before continuing
Comment thread plugins/cantinasec/commands/klaxon.md Outdated
@@ -0,0 +1,10 @@
---
description: Set up and demo klaxon - Cantina's self-hosted social monitoring and brand protection tool
allowed-tools: Bash, Grep, Glob, Read, Edit, Write, WebFetch
Three legitimate Copilot review comments + the README line Samara is
blocked on. All in one follow-up commit so the PR is fully website-ready
the moment it merges.

- SKILL.md: normalize on `python3` with a version check instead of
  hardcoding `python3.11` everywhere. Users on stock 3.12+ won't have a
  `python3.11` shim; we fall back to that name only when needed.
- SKILL.md: drop the "139+ tests" magic number from the install
  verification step. It's a moving target as klaxon grows; "test suite
  passes" is the durable phrasing.
- commands/klaxon.md: trim `allowed-tools` to least-privilege. Removed
  `WebFetch` (no part of the walkthrough fetches URLs). Kept `Edit` and
  `Write` because the interactive YAML-fill step actually modifies
  socmon.yaml.
- README.md: added `/cantinasec:klaxon` to the Commands list so the
  website copy lives in the PR. Format mirrors the axios/litellm
  entries already there.

Two other Copilot comments (claimed both Markdown tables in SKILL.md use
`||` delimiters) were hallucinated — the tables use proper single-pipe
syntax. Not changed.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@mario-eth mario-eth merged commit 10e3c21 into cantinasec:main May 19, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants