Skip to content

Instantly share code, notes, and snippets.

View simianhacker's full-sized avatar

Chris Cowan simianhacker

View GitHub Profile
@simianhacker
simianhacker / SKILL.md
Created June 5, 2026 01:08
PR workflow skill: reviewer-focused PR body format with What / How to Verify / Breaking Changes — keeps PRs concise and scannable for humans
name pr-workflow
description Full PR procedure: upstream vs origin detection, PR_BODY.md flow, gh pr create invocation. Loaded on PR intent ('open a PR', 'open the PR', 'create the PR').

PR Workflow

Loaded skill: pr-workflow

Procedure

@simianhacker
simianhacker / how-indexing-works.html
Created May 17, 2026 06:41
How Indexing Works — Semantic Code Search
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>How Indexing Works — Semantic Code Search</title>
<style>
:root {
--bg: #0d1117;
--surface: #161b22;
@simianhacker
simianhacker / filename-based-language-detection.md
Created May 10, 2026 06:41
Example spec: Filename-Based Language Detection for Semantic Code Search — used in the blog post 'Research, Plan, Ship'
status in-progress
worktree filename-based-language-detection
project semantic-code-search
tags
spec
created 2026-05-08

Filename-Based Language Detection

@simianhacker
simianhacker / eui-theme-customization-guide.md
Last active December 2, 2025 18:52
Guide to Creating Customized Themes with Elastic UI (EUI)

Creating a Customized Theme with EUI

User Prompt

/research Explain how to create a customized theme with EUI.

Overview

EUI uses a sophisticated JavaScript-based theming system that provides:

KQL Quick Reference

Fields

  • content: - Text in files (quoted: content: "auth")
  • filePath: - Paths with wildcards (NO quotes: filePath: *test*)
  • kind: - Symbol type (quoted: kind: "function_declaration")
  • language: - Language (no quotes: language: python)

Syntax Rules

@simianhacker
simianhacker / gemini-eui-theme-session.md
Created September 1, 2025 22:08
Gemini CLI session demonstrating how to find and use EUI theme variables.

Gemini CLI Session: EUI Theme Variable Investigation

This Gist documents a session with the Gemini CLI, demonstrating how it can be used to investigate and understand theme variables within the Elastic UI (EUI) framework.

Prompt 1: "What are the EUI theme varibles for the border color?"

1. Initial Search

To begin, I used a broad semantic search to find files related to EUI's theme and border colors.

@simianhacker
simianhacker / tsvb-examples.ndjson
Last active April 21, 2020 14:31
Demystifying Rates in TSVB
{"attributes":{"description":"","kibanaSavedObjectMeta":{"searchSourceJSON":"{\"query\":{\"language\":\"kuery\",\"query\":\"\"},\"filter\":[]}"},"title":"TSVB Example: Events Per Second","uiStateJSON":"{}","version":1,"visState":"{\"type\":\"metrics\",\"aggs\":[],\"params\":{\"axis_formatter\":\"number\",\"axis_position\":\"left\",\"axis_scale\":\"normal\",\"default_index_pattern\":\"metricbeat-*\",\"default_timefield\":\"@timestamp\",\"id\":\"61ca57f0-469d-11e7-af02-69e470af7417\",\"index_pattern\":\"kibana_sample*\",\"interval\":\">=10m\",\"isModelInvalid\":false,\"series\":[{\"axis_position\":\"right\",\"chart_type\":\"bar\",\"color\":\"rgba(104,204,202,1)\",\"fill\":\"1\",\"formatter\":\"number\",\"id\":\"61ca57f1-469d-11e7-af02-69e470af7417\",\"line_width\":\"0\",\"metrics\":[{\"id\":\"61ca57f2-469d-11e7-af02-69e470af7417\",\"type\":\"count\"},{\"id\":\"d2ea8870-79a2-11ea-8742-197c8d25f072\",\"type\":\"math\",\"variables\":[{\"id\":\"d745a530-79a2-11ea-8742-197c8d25f072\",\"name\":\"count\",\"field\":\"6
@simianhacker
simianhacker / index.js
Created February 10, 2016 22:18
Metric Sledgehammer
module.exports = function (kibana) {
return new kibana.Plugin({
id: 'metric_sledgehammer',
uiExports: {
sledgehammers: [
]
}
});
};
var wd = require('wd');
var _ = require('lodash');
var chai = require('chai');
var chaiAsPromised = require('chai-as-promised');
var asserters = wd.asserters;
var mocha = require('mocha');
chai.use(chaiAsPromised);
chai.should();
chaiAsPromised.transferPromiseness = wd.transferPromiseness;
define(function (require) {
'use strict';
var _ = require('lodash');
var vents = {};
return {
on: function (id, cb) {
if (!_.isArray(vents[id])) {
vents[id] = [];
}
vents[id].push(cb);