Skip to content

Instantly share code, notes, and snippets.

View cowwoc's full-sized avatar

Gili Tzabari cowwoc

  • Montreal, Quebec, Canada
View GitHub Profile
@cowwoc
cowwoc / chatgpt_system_message_callback.py
Last active March 31, 2026 03:37
docker-compose.yml
"""
LiteLLM CustomLogger callback to strip system messages from requests
routed to ChatGPT subscription models.
System messages are merged into the first user message since the ChatGPT
Codex endpoint doesn't support the system role.
Registered via litellm_settings.callbacks in litellm-config.yaml.
"""
@cowwoc
cowwoc / install-claude-clipboard-sync.ps1
Last active February 1, 2026 03:30
Claude Code clipboard sync installer
<#
.SYNOPSIS
Installs Claude Code clipboard sync for Windows Terminal + WSL2
.DESCRIPTION
This script:
1. Creates the clipboard watcher PowerShell script
2. Creates a VBS wrapper for hidden execution
3. Creates a startup shortcut
4. Configures Windows Terminal keybindings
.NOTES
@cowwoc
cowwoc / compare-docs.md
Last active December 18, 2025 18:13
Custom command for optimizing Claude Code documents
description Compare two documents semantically with relationship preservation to identify content and structural differences

Semantic Document Comparison Command

Task: Compare two documents semantically: {{arg1}} vs {{arg2}}

Goal: Determine if documents contain the same semantic content AND preserve relationships (temporal, conditional, cross-document) despite different wording/organization.

<style id="jsbin-css">
.sortable-ghost {
opacity: .5;
background: #C8EBFB;
}
2019/08/28 10:53:30 [WARN] Invalid log level: "1". Defaulting to level: TRACE. Valid levels are: [TRACE DEBUG INFO WARN ERROR]
2019/08/28 10:53:30 [INFO] Terraform version: 0.12.7
2019/08/28 10:53:30 [INFO] Go runtime version: go1.12.9
2019/08/28 10:53:30 [INFO] CLI args: []string{"C:\\Program Files\\terraform\\terraform.exe", "plan"}
2019/08/28 10:53:30 [DEBUG] Attempting to open CLI config file: C:\Users\GiliTzabari\AppData\Roaming\terraform.rc
2019/08/28 10:53:30 [DEBUG] File doesn't exist, but doesn't need to. Ignoring.
2019/08/28 10:53:30 [INFO] CLI command args: []string{"plan"}
2019/08/28 10:53:30 [TRACE] Meta.Backend: no config given or present on disk, so returning nil config
2019/08/28 10:53:30 [TRACE] Meta.Backend: backend has not previously been initialized in this working directory
2019/08/28 10:53:30 [DEBUG] New state was assigned lineage "0db9a572-bed3-6dd8-ae0d-c4ae44468444"
webpackJsonp([3],{
/***/ 0:
/***/ function(module, exports, __webpack_require__) {
var Preconditions = __webpack_require__(6);
var Authentications = __webpack_require__(9);
var LoginPanel = __webpack_require__(15);
var Form = __webpack_require__(14);
var ForbiddenException = __webpack_require__(16);
/******/ (function(modules) { // webpackBootstrap
/******/ // install a JSONP callback for chunk loading
/******/ var parentJsonpFunction = window["webpackJsonp"];
/******/ window["webpackJsonp"] = function webpackJsonpCallback(chunkIds, moreModules) {
/******/ // add "moreModules" to the modules object,
/******/ // then flag all "chunkIds" as loaded and fire callback
/******/ var moduleId, chunkId, i = 0, callbacks = [];
/******/ for(;i < chunkIds.length; i++) {
/******/ chunkId = chunkIds[i];
/******/ if(installedChunks[chunkId])
/* jshint browserify: true */
var Preconditions = require("preconditions/Preconditions");
var User = require("net/User");
var Authentication = require("net/Authentication");
var Authentications = require("page/util/Authentications");
var Html = require("page/util/Html");
var Form = require("page/util/Form");
var LoginPanel = require("page/util/LoginPanel");
var ConflictingResourceException = require("util/ConflictingResourceException");
var RequestScope = require("util/RequestScope");
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
import java.io.File;
package com.mycompany.jackson639;
import com.fasterxml.jackson.annotation.JacksonInject;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.fasterxml.jackson.databind.InjectableValues;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;