Skip to content

Instantly share code, notes, and snippets.

@vivekhaldar
vivekhaldar / claude-code-statusline.sh
Created February 5, 2026 20:32
Dynamic statusline script for Claude Code CLI — shows git status, context usage, model info, and estimated cost
#!/usr/bin/env bash
# Read JSON input from stdin
input=$(cat)
# Extract data from JSON
current_dir=$(echo "$input" | jq -r '.workspace.current_dir')
model_name=$(echo "$input" | jq -r '.model.display_name // "Claude"')
output_style=$(echo "$input" | jq -r '.output_style.name // ""')
@vivekhaldar
vivekhaldar / protocol-wars-presentation.html
Created January 12, 2026 21:49
Protocol Wars: Agentic Commerce - UCP vs ACP Presentation
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Protocol Wars: Agentic Commerce</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=Syne:wght@400;500;600;700;800&family=IBM+Plex+Sans:wght@300;400;500;600&display=swap" rel="stylesheet">
<style>
@vivekhaldar
vivekhaldar / claude-code-primitives-slides.html
Created January 12, 2026 16:19
Claude Code Primitives: Skills, Commands & Subagents - A Pedagogical Guide
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Claude Code Primitives — Skills, Commands & Subagents</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,400&family=DM+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=DM+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>
@vivekhaldar
vivekhaldar / coverage-report-guide.html
Created December 18, 2025 17:34
Continuous Test Coverage Setup Guide for Monorepos
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Continuous Test Coverage for Monorepos</title>
<style>
* { box-sizing: border-box; }
body {
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
@vivekhaldar
vivekhaldar / prompt-diff-scrollable.html
Created December 15, 2025 02:43
Comparison: Claude Frontend Skill vs Gemini Generative UI Prompts (scrollable header, synced columns)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prompt Diff: Google vs Claude - Full Text Comparison</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600&family=Bricolage+Grotesque:wght@400;600;800&family=Lora:ital,wght@0,400;1,400&display=swap');
:root {
@vivekhaldar
vivekhaldar / prompt-diff-scrollable.html
Created December 15, 2025 02:39
Comparison: Claude Frontend Skill vs Gemini Generative UI Prompts (scrollable header)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prompt Diff: Google vs Claude - Full Text Comparison</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600&family=Bricolage+Grotesque:wght@400;600;800&family=Lora:ital,wght@0,400;1,400&display=swap');
:root {
@vivekhaldar
vivekhaldar / prompt-diff.html
Created December 15, 2025 02:14
Comparison: Claude Frontend Skill vs Gemini Generative UI Prompts
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prompt Diff: Google vs Claude - Full Text Comparison</title>
<style>
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@300;400;500;600&family=Bricolage+Grotesque:wght@400;600;800&family=Lora:ital,wght@0,400;1,400&display=swap');
:root {
@vivekhaldar
vivekhaldar / theagentcompany-deep-dive.html
Created December 10, 2025 20:28
TheAgentCompany Benchmark Deep Dive - NeurIPS 2025 Paper Analysis
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TheAgentCompany: Deep Dive</title>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<style>

Software Design Document

1. Introduction

This document describes a command-line Python application for Automatic Time Tracking by Watching Computer Screen. The application periodically captures screenshots on macOS, processes them using a vision-based language model, and generates time-tracking reports.

The design covers:

  • Overall architecture
  • System components
  • Data flows
  • Implementation details

Product Specification: Automatic Time Tracking by Watching Computer Screen

1. Overview

Goal

The objective of this software is to automatically measure and analyze how time is spent on a computer by periodically capturing screenshots, using a vision-based language model (LLM) to describe the content, and summarizing the results to generate a high-level report of time allocation across applications and tasks.

Use Case