Skip to content

Instantly share code, notes, and snippets.

View ProxiBlue's full-sized avatar
🏠
Working from home

Lucas van Staden ProxiBlue

🏠
Working from home
View GitHub Profile
@ProxiBlue
ProxiBlue / rm
Created August 30, 2026 02:24
make rm saver with ai
#!/bin/bash
# /bin/rm + /usr/bin/rm + /usr/local/bin/rm — wrapper that trashes instead of deleting.
#
# Why: 2026-06-29 incident — gitnexus-rebuild cron rm -rf'd .git on
# 3 projects. Moving to trash instead makes those mistakes recoverable.
#
# Installed via dpkg-divert: real coreutils rm moved to /bin/rm.real,
# this wrapper at /bin/rm (and /usr/bin/rm via the Ubuntu usrmerge symlink).
# That means EVERY caller — interactive, scripts, cron, even direct
# /bin/rm — hits this wrapper. No bypass.
@ProxiBlue
ProxiBlue / completeness-critical-fetch.md
Last active August 10, 2026 22:06
Gist to prevent claude to use webfetch due to summary issue

Full-page fetches only — MANDATORY (blanket, not just security)

Never use WebFetch (or any tool that pre-summarizes a page). Fetch the raw page and read it in full yourself. This applies to EVERY fetch — security scans, module/version checks, and general research/citation lookups alike. Widened 2026-08-11 from an advisory/CVE-only rule after the user made clear the same blind spot risks silently dropping content during research, not just security scans.

Why this exists

WebFetch's own tool description says it plainly: fetches the URL, converts HTML to markdown, processes the content with a small, fast model, and "results may be summarized if the content is very large." That intermediate model decides what's relevant before you ever see the page — on a long document it can silently drop a section.

2026-08-11 incident: a Claude instance in the lcd-mageos container was asked to check a security advisory URL against installed Amasty modules. It used WebFetch (internally referred to as "ctx_search" /

@ProxiBlue
ProxiBlue / tooling-setup-guide.md
Last active August 2, 2026 13:44
Setting up a disciplined AI coding-agent stack — plugins + reproducible patterns (guards, test gate, self-measurement, off-site backups, version discipline). By ProxiBlue.

Setting up a disciplined AI coding-agent stack — a setup guide

This is the how-to companion to an architecture review of ProxiBlue's AI-agent tooling. The review explains what the pieces are and why; this explains how to stand up your own version.

It comes in two halves:

  • Part 1 — the plugin stack. Four open-source Claude Code plugins you can install directly (ProxiBlue, MIT/Apache). These give you memory, orchestration,
@ProxiBlue
ProxiBlue / chrome-mcp
Created June 21, 2026 13:08
chrome-mcp — dedicated Chrome launcher for chrome-devtools MCP (CDP attach) that keeps daily-browsing profile clean from navigator.webdriver=true and the reCAPTCHA hits that come with it
#!/usr/bin/env bash
# Dedicated Chrome instance for the chrome-devtools MCP.
# - Separate user-data-dir → daily-browsing profile stays clean.
# - Bound to 127.0.0.1 (loopback only) → not reachable from LAN.
# - --user-data-dir means CDP attaches HERE, not to your daily browser.
#
# Usage:
# chrome-mcp # foreground (Ctrl+C to stop)
# chrome-mcp --headless
# chrome-mcp --bg # background; logs to /tmp/chrome-mcp.log
@ProxiBlue
ProxiBlue / gitnexus-ab-summary.md
Created June 17, 2026 12:35
GitNexus A/B — devils-advocate review WITH vs WITHOUT gitnexus, 2 rounds (stale vs fresh index)

GitNexus A/B — Devils-Advocate Review

Same Mage-OS plan (14 tasks). Same agent (Opus). Same prompt. Pass A = grep-only. Pass B = WITH gitnexus MCP.

Ran twice — Round 1 against a 105-commit-stale index, Round 2 after re-indexing.

Headline numbers

| | Round 1 (stale index) | Round 2 (fresh index) |

@ProxiBlue
ProxiBlue / code-investigation-rules.md
Last active April 21, 2026 21:42
claude skill to solve constant pushbacks

Investigation Protocol — MANDATORY

When a test fails, a system errors, or the user reports a bug, behave as follows. These steps are not guidance — they are mandatory. Skipping any of them is the exact failure mode being banned here.

Order of operations — NO SKIPPING

  1. Enumerate own blast radius FIRST. Run git diff --stat HEAD and git status. State out loud what has been changed this session, by file, in one line each. This is the first move on every failure, every time.

  2. Read ALL failure artefacts — not a sample.

@ProxiBlue
ProxiBlue / mcp-tool-comparison-browsers
Created November 6, 2025 00:51
mcp tool comaprison for browser control
Browser MCP Server Comparison
Tool Count
- browsermcp: 12 tools
- playwright: 21 tools
Detailed Comparison
Core Navigation
@ProxiBlue
ProxiBlue / ddev_mcp.sh
Last active July 29, 2025 00:55
MCP wrapper for junie and ddev projects
#!/bin/bash
source /home/lucas/.bash_profile
CONTAINER=$1
MCP=$2
cd $PROJECT_PATH
# If WORKING_DIR is set, change to that directory inside the container
@ProxiBlue
ProxiBlue / ghosts.sh
Created May 13, 2025 09:39 — forked from jakwinkler/ghosts.sh
Remove Ghost Indexes From ElasticSuite - Magento Open Source
#!/bin/bash
ES_HOST="http://localhost:9200" # Replace with your ES host
INDEX_PATTERN="magento2_default_catalog_product_*"
# Get all aliases (used indexes) ===
echo "Fetching all aliases in use..."
USED_INDEXES=$(curl -s "$ES_HOST/_cat/aliases?h=index" | sort | uniq)
# Get all indexes matching the pattern ===
@ProxiBlue
ProxiBlue / ConvertRulesCommand.php
Created February 4, 2025 23:24
convert dynamic category products rules to elasticsuite rules
<?php
namespace ProxiBlue\MigrateTasks\Console\Command;
use Magento\Framework\App\ResourceConnection;
use Magento\Framework\Console\Cli;
use Magento\Framework\DB\Adapter\AdapterInterface;
use Magento\Framework\Exception\LocalizedException;
use Magento\Framework\Serialize\Serializer\Json;
use Symfony\Component\Console\Command\Command;