Skip to content

Instantly share code, notes, and snippets.

View kibotu's full-sized avatar
🎯
Focusing

Jan Rabe kibotu

🎯
Focusing
View GitHub Profile
@kibotu
kibotu / SKILL.md
Last active July 29, 2026 14:23
PR Description Skill
name pr-description
description Generate a reviewer-first pull request description from the current Git branch, formatted for GitHub or Bitbucket Cloud. Use this whenever the user asks to write, draft, generate, or update a PR description, PR summary, merge request description, or asks "what should I put in the PR". Also use when the user asks to summarize a branch's changes or a diff for a reviewer.

PR Description

Generate a pull request description that helps a reviewer approve and merge with confidence — not a restatement of the diff.

Step 1: Determine branches

@kibotu
kibotu / README.md
Last active July 28, 2026 15:37
E-Mail test automation using Mail.tm

Important: Mail.tm is receive-only. Its API can create inboxes and read messages, but POST /messages is not supported (405). Sending must happen through a separate outbound channel.

What the script does

  1. Get address — GET /domainsPOST /accountsPOST /token
  2. Send loremipsum — via one of:
    • Brevo HTTP API (BREVO_API_KEY + BREVO_SENDER_EMAIL)
    • SMTP (SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS)
    • --manual — you send the email yourself from any client
  3. Read content — polls GET /messages, then GET /messages/{id} for full body
@kibotu
kibotu / opencode-rtk.md
Last active July 24, 2026 08:44
OpenCode RTK

Metrics

rtk gain --history

Guide

brew install rtk && rtk init -g --opencode
@kibotu
kibotu / install-node.sh
Last active July 12, 2026 09:59
Install LTS on RaspberryPi 5 aarch64
#!/usr/bin/env bash
#
# install-node.sh
# Installs the latest Node.js Active LTS release (official arm64 build)
# for 64-bit Raspberry Pi OS / Debian aarch64 (e.g. Raspberry Pi 5, Pi 4 64-bit, Pi 400, etc).
#
# Originally based on a script by Steven de Salas, itself based on
# Richard Stanley's Node-MongoDb-Pi script for the armv6l Pi Zero.
# Rewritten for 64-bit Pi hardware using official nodejs.org arm64 builds
# (the unofficial-builds armv6l tarball is no longer needed on 64-bit Pis).
@kibotu
kibotu / .bash_profile
Created July 12, 2026 09:28
RasberryPi Status on ssh connect
#!/bin/bash
# Uptime
upSeconds=$(cut -d. -f1 /proc/uptime)
days=$((upSeconds / 86400))
hours=$((upSeconds / 3600 % 24))
mins=$((upSeconds / 60 % 60))
secs=$((upSeconds % 60))
UPTIME=$(printf "%d days, %02dh%02dm%02ds" "$days" "$hours" "$mins" "$secs")
@kibotu
kibotu / cli-tools-for-coding-agents-macos.md
Last active July 20, 2026 15:26
Better-Than-Stock CLI Tools for AI Coding Agents on macOS

Medium article https://medium.com/@kibotu/your-ai-coding-agent-uses-your-terminals-tools-give-it-better-ones-bdcfb6737ac9?sk=1eac23694b14a779aed1870693df842f

Better-Than-Stock CLI Tools for AI Coding Agents on macOS

macOS ships grep, find, and cat — decades-old, POSIX-correct, and worse choices than the modern replacements once an LLM is the one calling them. Three reasons that's true, not just aesthetic preference:

  1. Context economy. ripgrep and fd skip .git, node_modules, and build output by default and print compact file:line:match results. grep -r/find without carefully hand-tuned exclusions dump everything, and every irrelevant line an agent reads is context it paid for and now has to reason past.
  2. Fewer wasted round trips. Models are trained on a decade of GitHub, Stack Overflow, and blog content where these newer tools are increasingly the default. They emit corr
@kibotu
kibotu / bark.ts
Created July 7, 2026 14:15
dev logger vite
const DEV = import.meta.env.DEV;
export const bark = {
error: (...args: unknown[]) => {
if (DEV) {
console.error("[Bark]", ...args);
}
},
warn: (...args: unknown[]) => {
if (DEV) {
@kibotu
kibotu / opencode-stats.py
Last active June 26, 2026 14:33
A single-command dashboard that queries your local OpenCode database and renders a box-drawn executive summary of token burn, cost, model mix, tool usage, and session trends — so you know exactly where your API budget is going without opening a spreadsheet.
#!/usr/bin/env python3
"""OpenCode Dashboard — value-first token & usage intelligence."""
import json
import sqlite3
import sys
import unicodedata
from pathlib import Path
from datetime import datetime, timezone
@kibotu
kibotu / predictions.md
Last active June 18, 2026 10:55
WM 2026 Predictions

FIFA World Cup 2026 - Spielplan

Alle Zeiten in mitteleuropäischer Sommerzeit (MESZ/CEST)


1. Spieltag der Vorrunde

Datum Zeit Begegnung Erg.