Skip to content

Instantly share code, notes, and snippets.

View ericboehs's full-sized avatar

Eric Boehs ericboehs

  • Oddball
  • Enid, OK
  • 00:04 (UTC -05:00)
View GitHub Profile
@ericboehs
ericboehs / gh-action-trace
Last active March 25, 2026 18:42
gh-action-trace — Find all direct and transitive uses of GitHub Actions in an org. Traces dependency chains through shared/reusable workflows and reports pinning status (SHA/tag/branch).
#!/usr/bin/env bash
#
# gh-action-trace — Find all direct and transitive uses of GitHub Actions in an org.
#
# Traces the full dependency chain: repos that directly reference target actions,
# repos that call shared/reusable workflows containing those actions, and external
# shared workflows that wrap them. Reports pinning status (SHA/tag/branch) for each.
#
# Requires: gh (GitHub CLI), jq, base64
#
@ericboehs
ericboehs / statusline.sh
Last active March 30, 2026 16:30
Claude Code status line — git status, proxy detection, pace-aware usage tracking, auto-wrapping
#!/bin/bash
input=$(cat)
# --- Configuration ---
PACE_AHEAD_THRESHOLD=10 # Show warning when this many % ahead of expected pace
PACE_BEHIND_THRESHOLD=25 # Show nudge when this many % behind expected pace
USAGE_ALWAYS_SHOW=90 # Always show usage when actual % >= this value
# --- Parse input JSON ---
current_dir=$(echo "$input" | jq -r '.workspace.current_dir')
@ericboehs
ericboehs / com.boehs.no-show-more.tar.gz
Last active March 17, 2026 02:50
Mattermost plugin to disable Show More/Show Less post truncation
@ericboehs
ericboehs / index.html
Created March 10, 2026 18:02
Zip-first address form — #nobuild single HTML file with auto-fill city/state from postal code, 60+ countries, searchable country picker. Preview: https://gistpreview.github.io/?a93f4f172b0f9e488976c5a6983f2329
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Address Form — Zip First</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@picocss/pico@2/css/pico.min.css">
<style>
:root {
--pico-font-size: 100%;
@ericboehs
ericboehs / chatgpt-history
Created March 1, 2026 21:41
🔍 chatgpt-history – CLI to access and sync ChatGPT conversation history via Safari
#!/usr/bin/env bash
#
# chatgpt-history - CLI to access ChatGPT conversation history via Safari
#
# Requires:
# - Safari open with a chatgpt.com tab (logged in)
# - Safari > Develop > Allow JavaScript from Apple Events (enabled)
# - jq installed
#
# Usage:
@ericboehs
ericboehs / watch-ci
Created February 27, 2026 20:44
watch-ci: Monitor GitHub Actions CI status for the current branch, with colored output and auto-exit on pass/fail
#!/bin/bash
# Script to watch CI status for the current branch
# Usage: bin/watch-ci [interval_seconds]
set -e
# Default interval (in seconds)
INTERVAL=${1:-10}
@ericboehs
ericboehs / o16g-outcome-engineering.html
Created February 27, 2026 18:05
Outcome Engineering: The o16g Manifesto - A printable one-page reference with dark mode and print styles
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Outcome Engineering: The o16g Manifesto</title>
<style>
@page {
margin: 0.5in;
size: letter;
@ericboehs
ericboehs / claude-jsx-to-html
Created February 23, 2026 16:01
Convert Claude Desktop JSX artifacts into standalone HTML files that run directly in the browser
#!/usr/bin/env bash
# Converts a Claude Desktop JSX artifact into a standalone HTML file
# that runs directly in the browser via CDN-loaded React + Babel.
#
# Usage: claude-jsx-to-html input.jsx [output.html]
# If output is omitted, writes to input.html alongside the .jsx file.
set -euo pipefail
if [[ $# -lt 1 ]]; then
@ericboehs
ericboehs / propresenter-status
Last active February 22, 2026 21:46
Read-only ProPresenter status tool — live service timing, playlist, slides, and message pacing
#!/usr/bin/env ruby
# frozen_string_literal: true
# propresenter-status - Read-only ProPresenter status tool
#
# Queries the ProPresenter REST API to show current slide, playlist, and
# presentation details. Includes service timing info.
#
# Usage: propresenter-status status
# propresenter-status playlist
@ericboehs
ericboehs / sermon-highlights
Last active February 22, 2026 16:50
Extract yellow-highlighted ProPresenter screen items (scriptures, key points, graphics) from .pages or .docx sermon files
#!/usr/bin/env ruby
# frozen_string_literal: true
# sermon-highlights - Extract ProPresenter screen items from a sermon document
#
# Accepts .pages or .docx files. For .pages files, Pages.app is used to
# convert to .docx automatically. Parses yellow-highlighted text (scriptures,
# pull quotes, graphics) intended for display on screen. Bible version tags
# like (NKJV) immediately after highlighted scripture references are
# automatically captured. Rich text formatting (bold, italic, underline) is