Boycott filter
Personal boycott filter — ads are so intrusive they make you want to never buy the product? Tell your AI agent, it enforces the boycott. Chrome extension warns you automatically.
npx -y skills add vdk888/boycott-filter --skill boycott-filterAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 2 stars2 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Manage your personal boycott list. Add brands to avoid, track reasons, sync with Chrome extension. Use when the user complains about a brand, says "never buying from X again", wants to block a company, or mentions the boycott filter.
The file declares its own license as MIT. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.0 KB, as published. Nobody here has run it
Boycott Filter
Personal boycott list managed conversationally through Claude Code, synced to a Chrome extension that warns you when you visit boycotted brands.
When to use
- User says "never buying from X again", "I hate X", "boycott X", "block X"
- User complains about a brand, company, or product they want to avoid
- User asks to see, add, remove, or update their boycott list
- User asks about the Chrome extension or boycott filter status
How it works
- User tells you about a brand they want to avoid (casually or explicitly)
- You extract: company name, reason (from their complaint), and aliases (known sub-brands)
- You add it to the boycott list via the local sync server
- Chrome extension picks it up within 30 seconds and warns on matching pages
Server
The boycott filter runs a local HTTP server on port 7847.
Start the server
node ~/.claude/plugins/cache/boycott-filter-marketplace/boycott-filter/1.0.0/scripts/server.js &
API
Base URL: http://127.0.0.1:7847
| Method | Endpoint | Body | Description |
|---|---|---|---|
| GET | /list | — | Get the full boycott list |
| POST | /add | {"name":"X","reason":"...","aliases":["Y","Z"]} | Add a company |
| DELETE | /remove | {"name":"X"} | Remove a company |
| GET | /health | — | Check server status |
Add a company
curl -s -X POST http://127.0.0.1:7847/add \
-H 'Content-Type: application/json' \
-d '{"name":"Temu","reason":"Cheap garbage, ads everywhere","aliases":["temu.com"]}'
Remove a company
curl -s -X DELETE http://127.0.0.1:7847/remove \
-H 'Content-Type: application/json' \
-d '{"name":"Temu"}'
List all boycotted companies
curl -s http://127.0.0.1:7847/list
Chrome Extension
The extension must be loaded manually (one-time setup):
- Open
chrome://extensions - Enable Developer mode (toggle top right)
- Click Load unpacked
- Select the
extension/folder from this plugin directory
The extension:
- Polls the server every 30 seconds for list updates
- Scans every page for boycotted company names and aliases
- Shows a red warning banner at the top with the company name and your reason
- Badge on the extension icon shows match count
- Works offline (falls back to cached list in chrome.storage)
- Popup UI for quick add/remove
Conversational patterns
When the user says something like:
- "Ugh, another Shein ad. Never buying from them." → Add Shein with reason "Sick of their ads"
- "Boycott Nestlé, their water practices are criminal" → Add Nestlé with reason "Criminal water practices", aliases: ["Nestle", "Nespresso", "KitKat", "Purina"]
- "Remove Temu from my boycott list" → Remove Temu
- "What's on my boycott list?" → GET /list and display
Always capture the reason — it's the key feature. The user's own words remind them why they decided to boycott when they encounter the brand later.
Suggest aliases when you know them — parent companies own many brands. Ask the user if they want to include subsidiaries.
Data
The boycott list is stored at:
~/.claude/plugins/cache/boycott-filter-marketplace/boycott-filter/1.0.0/boycott-list.json
Format:
{
"companies": [
{
"name": "Temu",
"reason": "Cheap garbage, ads everywhere",
"aliases": ["temu.com"],
"added_at": "2026-04-12T15:00:00Z"
}
],
"updated_at": "2026-04-12T15:00:00Z"
}
Setup
On first use, start the server:
bash ~/.claude/plugins/cache/boycott-filter-marketplace/boycott-filter/1.0.0/scripts/setup.sh
Then load the Chrome extension manually (see above).