Skip to content

Instantly share code, notes, and snippets.

View mrf's full-sized avatar

Mark Ferree mrf

View GitHub Profile
@mrf
mrf / statusline.sh
Created February 9, 2026 18:54
Claude Code multi-line statusline with context, rate limits, model, git branch, thinking mode, and cost
#!/bin/bash
# Claude Code Statusline - Multi-line, column-aligned status display
# Lines share a 3-column grid so pipes line up:
# [Col A: 31 chars] | [Col B: 31 chars] | [Col C: variable]
# Line 1: model | context bar | dir branch [wt]
# Line 2: current bar | weekly bar | extra bar
# Line 3: resets time | resets datetime | resets date
# Line 4: think ●●● | $cost
# Receives JSON via stdin from Claude Code
@mrf
mrf / README.md
Created February 9, 2026 18:53
Claude Code multi-line statusline with context, rate limits, model, git branch, thinking mode, and cost

Claude Code Statusline

A multi-line, column-aligned statusline for Claude Code that displays model info, context usage, rate limits, and more — all in your terminal.

Screenshot Layout

Opus 4.6                        | ●●●●●○○○○○○○○○○ 35% 70k/200k  | my-project main
current: ●●○○○○○○○○○○○○○ 12%   | weekly:  ●○○○○○○○○○○○○○○ 5%   | extra: ○○○○○○○○○○○○○○○ $0.00/$50.00
resets 3:42pm | resets Feb 12, 8:00am | resets Mar 1
@mrf
mrf / SKILL.md
Created February 2, 2026 17:47
tmux-spawn
name description
tmux-claude
Expert guidance for managing multiple Claude Code sessions in tmux. Helps with creating and organizing windows/panes for parallel AI coding sessions, navigating between sessions, naming conventions, and efficient multi-agent workflows. Use when users need help running multiple Claude Code instances, organizing tmux layouts for AI-assisted development, or orchestrating parallel coding tasks.

tmux Multi-Session Claude Code Expert

You are an expert at managing multiple Claude Code sessions using tmux. You help users efficiently run, organize, and navigate parallel AI coding sessions.

Core Concepts

#!/bin/bash
# Claude Code Statusline - Shows cwd, model, context usage, cost, git branch
# Receives JSON via stdin from Claude Code
input=$(cat)
# Extract data using jq
MODEL=$(echo "$input" | jq -r '.model.display_name // "?"')
CURRENT_DIR=$(echo "$input" | jq -r '.workspace.current_dir // ""')
PROJECT_DIR=$(echo "$input" | jq -r '.workspace.project_dir // ""')
set -g mouse on
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
set-option -sg escape-time 10
set-option -g focus-events on
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
2019/10/29 12:06:54 [INFO] Terraform version: 0.12.12
2019/10/29 12:06:54 [INFO] Go runtime version: go1.12.9
2019/10/29 12:06:54 [INFO] CLI args: []string{"/usr/local/bin/terraform", "apply", "myplan"}
2019/10/29 12:06:54 [DEBUG] Attempting to open CLI config file: /Users/mferree/.terraformrc
2019/10/29 12:06:54 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2019/10/29 12:06:54 [DEBUG] checking for credentials in "/Users/mferree/.terraform.d/plugins"
2019/10/29 12:06:54 [INFO] CLI command args: []string{"apply", "myplan"}
2019/10/29 12:06:54 [TRACE] Meta.BackendForPlan: instantiated backend of type *local.Local
2019/10/29 12:06:54 [DEBUG] checking for provider in "."
2019/10/29 12:06:54 [DEBUG] checking for provider in "/usr/local/bin"
2019/10/29 12:06:57 [WARN] Provider "aws" produced an invalid plan for aws_s3_bucket.my_bucket, but we are tolerating it because it is using the legacy plugin SDK.
The following problems may be the cause of any confusing errors from downstream operations:
- .force_destroy: planned value cty.False does not match config value cty.NullVal(cty.Bool)
- .versioning: attribute representing nested block must not be unknown itself; set nested attribute values to unknown instead
2019/10/29 12:06:57 [TRACE] <root>: eval: *terraform.EvalCheckPlannedChange
2019/10/29 12:06:57 [TRACE] EvalCheckPlannedChange: Verifying that actual change (action Create) matches planned change (action Create)
aws_s3_bucket.my_bucket: Creating...
aws_s3_bucket.my_bucket: Creation complete after 3s [id=testing-terraform-provider-my-bucket]
2019/10/29 12:07:00 [WARN] Provider "aws" produced an invalid plan for aws_cloudfront_distribution.s3_distribution, but we are tolerating it because it is using the legacy plugin SDK.
The
aws_cloudfront_distribution.s3_distribution: Creating...
Error: rpc error: code = Unavailable desc = transport is closing
panic: interface conversion: interface {} is nil, not map[string]interface {}
2019-10-29T11:59:55.304-0700 [DEBUG] plugin.terraform-provider-aws_v2.33.0_x4:
2019-10-29T11:59:55.304-0700 [DEBUG] plugin.terraform-provider-aws_v2.33.0_x4: goroutine 216 [running]:
2019-10-29T11:59:55.304-0700 [DEBUG] plugin.terraform-provider-aws_v2.33.0_x4: github.com/terraform-providers/terraform-provider-aws/aws.expandRestrictions(...)
2019-10-29T11:59:55.304-0700 [DEBUG] plugin.terraform-provider-aws_v2.33.0_x4: /opt/teamcity-agent/work/5d79fe75d4460a2f/src/github.com/terraform-providers/terraform-provider-aws/aws/cloudfront_distribution_configuration_structure.go:1027
@mrf
mrf / cVimrc
Last active December 11, 2018 17:20
map ? <C-/>
let blacklists = ["*://inbox.google.com/* i j k ?"]
let blacklists = ["*://mail.google.com/* i j k ?"]
@mrf
mrf / keybase.md
Last active June 23, 2016 17:17
keybase.md

Keybase proof

I hereby claim:

  • I am mrf on github.
  • I am mrf (https://keybase.io/mrf) on keybase.
  • I have a public key whose fingerprint is D9C8 F615 DEAF 9109 FB37 2ADF 9DFB 3C62 C83A C589

To claim this, I am signing this object: