{"slug": "bro-skill", "title": "Bro-Skill", "summary": "Developer luchasarie released bro-skill, a single-file Agent Skills-format skill named `/bro` that re-explains an AI assistant's own previous message in plain language without adding new information. The skill installs via a one-liner bash script or a git clone into Hermes Agent, Claude Code, Cursor, OpenAI Codex, and opencode, with thin slash-command wrappers where a skill alone does not provide a typed `/bro`. The installer writes `~/.cursor/skills/bro/` when it detects Cursor, and the skill preserves the original language of the reply, such as PT-BR in and PT-BR out.", "body_md": "`/bro` is a tiny [Agent Skills](https://agentskills.io)-format skill with one job: when the assistant's last reply was too dense, too jargon-heavy, or too formal, you type `/bro` and it re-explains **its own previous message** like a smart friend over a beer.\n\nNo new information. No new answers. Just the same thing, said in a way that's impossible to misunderstand.\n\nIt's one markdown file. The whole skill is [`SKILL.md`](/luchasarie/bro-skill/blob/main/SKILL.md).\n\nWorks with any agent that reads the Agent Skills format — and ships thin slash-command wrappers where a skill alone doesn't give you a typed `/bro`:\n\n| Tool | Skill location | Typed `/bro` via | \n|---|---|---|\n| **Hermes Agent** | `~/.hermes/skills/bro/SKILL.md` | skill (auto) | \n| **Claude Code** | `~/.claude/skills/bro/SKILL.md` | `~/.claude/commands/bro.md` | \n| **Cursor** | `~/.cursor/skills/bro/SKILL.md` | skill ( `/bro` ) | \n| **OpenAI Codex** | `~/.codex/skills/bro/SKILL.md` | `~/.codex/prompts/bro.md` | \n| **opencode** | `~/.config/opencode/skills/bro/SKILL.md` | `~/.config/opencode/command(s)/bro.md` | \n\nCursor also reads `~/.codex/skills/` and `~/.claude/skills/` (and the matching project folders) as a compatibility fallback. Don't rely on that — Cursor-only machines often have neither directory. The installer writes `~/.cursor/skills/bro/` whenever it detects Cursor, creating `~/.cursor/skills/` if needed (that folder is not there by default).\n\n**One-liner** — detects which tools you have and installs into each:\n\n```\nbash <(curl -fsSL https://raw.githubusercontent.com/luchasarie/bro-skill/main/install.sh)\n```\n\n**Or from a clone** (better if you want to pull updates later):\n\n```\ngit clone https://github.com/luchasarie/bro-skill.git\ncd bro-skill\n./install.sh          # installs into every detected tool\n./install.sh --all    # or force-install into every supported tool\n```\n\nThen restart your agent session and type `/bro` after any reply that made your eyes glaze over.\n\n```\ncd bro-skill && git pull && ./install.sh\n```\n\n(Or just re-run the one-liner — it's idempotent.)\n\n**🧱 Software architecture**\n\nThe refactor introduces an idempotent reconciliation layer atop the event-sourced aggregate, thereby mitigating dual-write anomalies during the migration window while preserving backward compatibility with the legacy projection contract.\n\n`/bro`\n\nOk so basically: we added a safety layer that makes sure old and new data don't get out of sync while we're switching systems. Nothing breaks for anything still using the old system. That's it.\n\n**☸️ Kubernetes panic**\n\nThe CrashLoopBackOff stems from the liveness probe's failure threshold being exceeded due to the application's blocking initialization sequence, which starves the kubelet's health-check endpoint of a timely response…\n\n`/bro`\n\nBro, your app takes too long to start up. Kubernetes keeps asking \"you alive?\" and your app is too busy booting to answer, so k8s kills it and restarts it — over and over. Give it more time (`initialDelaySeconds`) or move the slow startup work into an init container.\n\n**🇧🇷 Same-language rule — PT-BR in, PT-BR out**\n\nA otimização do funil de conversão demanda a implementação de uma estratégia omnichannel de nurturing, visando a maximização do LTV através da redução do churn…\n\n`/bro`\n\nMano, traduzindo: a gente quer que o cliente compre mais e fique mais tempo. Menos cliente indo embora + cada um gastando mais = mais dinheiro. Era isso que aquela sopa de sigla queria dizer.\n\n**More in [`examples/`](/luchasarie/bro-skill/blob/main/examples):** [git panic](/luchasarie/bro-skill/blob/main/examples/git-panic.md) (watch the commands survive verbatim), [consultant-speak](/luchasarie/bro-skill/blob/main/examples/consultant-speak.md), [full Kubernetes exchange](/luchasarie/bro-skill/blob/main/examples/kubernetes.md), [full architecture exchange](/luchasarie/bro-skill/blob/main/examples/software-architecture.md).\n\n| Rule | What it means | \n|---|---|\n| 🔄 **Re-explain, don't re-answer** | Never answers a new question, never adds info, never calls tools | \n| 📏 **Simpler, not shorter** | Clarity over word count — take the space real clarity needs | \n| 📌 **Facts survive verbatim** | Every path, command, filename, number, URL stays *exactly* the same | \n| 🤙 **Light bro flavor** | Casual and direct, not a meme | \n| 🌐 **Same language** | PT-BR in → PT-BR out. English stays English | \n| 🧹 **Flatten structure** | Headers and tables become plain sentences | \n\n```\nbro-skill/\n├── SKILL.md     # the entire skill — one file, that's the beauty\n├── install.sh   # detects your agent CLIs and drops /bro into each\n├── examples/    # before/after pairs across domains and languages\n├── README.md    # you are here\n└── LICENSE      # MIT\n```\n\nIt's a 30-line prompt file. If you have a genuinely better phrasing, open a PR — keep the facts-verbatim rule sacred.", "url": "https://wpnews.pro/news/bro-skill", "canonical_source": "https://github.com/luchasarie/bro-skill", "published_at": "2026-09-10 20:14:02+00:00", "updated_at": "2026-09-10 20:43:37.351666+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "developer-tools", "ai-products"], "entities": ["luchasarie", "bro-skill", "/bro", "Agent Skills", "Hermes Agent", "Claude Code", "Cursor", "OpenAI Codex"], "alternates": {"html": "https://wpnews.pro/news/bro-skill", "markdown": "https://wpnews.pro/news/bro-skill.md", "text": "https://wpnews.pro/news/bro-skill.txt", "jsonld": "https://wpnews.pro/news/bro-skill.jsonld"}}