Skip to content

Instantly share code, notes, and snippets.

View melvinlee's full-sized avatar

melvinlee melvinlee

  • Singapore
View GitHub Profile
---
name: kong-debug
description: Systematic debugging guide for Kong Gateway issues without relying on the Admin API. Use this skill whenever the user mentions Kong Gateway, Kong proxy, Kong plugins, 502/503/504 errors from Kong, Kong routes or services not working, Kong configuration issues, Konnect troubleshooting, or any API gateway problems that involve Kong. Trigger even if the user just says "my API gateway is broken" and Kong is in context. This variant focuses on proxy-side signals (response headers, logs, declarative config, container/network probes) for environments where the Admin API is disabled, locked down, or unreachable (e.g., Konnect data planes, hardened production).
---
# Kong Gateway Debugging (No Admin API)
Systematic playbook for diagnosing Kong Gateway issues using only proxy-side signals: response headers, logs, declarative config, container state, and network probes. This matches the reality of most production Kong deployments, where the Admin API is intentionally not exposed.
Mos
# LLM Wiki
A personal knowledge base maintained by Claude Code.
Based on Andrej Karpathy's LLM Wiki pattern.
## Purpose
This wiki is a structured, interlinked knowledge base for planning a trip to Japan.
Claude maintains the wiki. The human curates sources, asks questions, and guides the analysis.
@melvinlee
melvinlee / llm-wiki.md
Created April 13, 2026 02:09 — forked from karpathy/llm-wiki.md
llm-wiki

LLM Wiki

A pattern for building personal knowledge bases using LLMs.

This is an idea file, it is designed to be copy pasted to your own LLM Agent (e.g. OpenAI Codex, Claude Code, OpenCode / Pi, or etc.). Its goal is to communicate the high level idea, but your agent will build out the specifics in collaboration with you.

The core idea

Most people's experience with LLMs and documents looks like RAG: you upload a collection of files, the LLM retrieves relevant chunks at query time, and generates an answer. This works, but the LLM is rediscovering knowledge from scratch on every question. There's no accumulation. Ask a subtle question that requires synthesizing five documents, and the LLM has to find and piece together the relevant fragments every time. Nothing is built up. NotebookLM, ChatGPT file uploads, and most RAG systems work this way.

Look it up yourself — 3 ways
1. crt.sh (Certificate Transparency logs)
https://crt.sh/?q=cust001.api.standardchartered.com
This will show all certs ever issued for that hostname, including issuer, validity dates, SANs, and CT log timestamps.
2. OpenSSL from your workstation
bashecho | openssl s_client \
-connect <domain>:443 \
-servername <domain> 2>/dev/null \
| openssl x509 -noout -text
This gives you the full cert — subject, issuer, SANs, validity period, key algorithm, and signature.
if __name__ == "__main__":
import argparse
parser = argparse.ArgumentParser(description="Process Monitor MCP Server")
parser.add_argument(
"--transport",
choices=["sse", "http"],
default="http",
help="Transport type: 'sse' or 'http' (streamable HTTP, default)",
)
@melvinlee
melvinlee / sqlplus-pod.yaml
Created April 3, 2025 04:27
Oracle sqlplus
apiVersion: v1
kind: Pod
metadata:
name: sqlplus-client
labels:
app: sqlplus
spec:
containers:
- name: sqlplus
image: gvenzl/oracle-free:23
@melvinlee
melvinlee / oracle-sts.yaml
Created April 2, 2025 13:19
Oracle Statefulset Manifest
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: oracle-db
namespace: default
labels:
app: oracle-db
spec:
serviceName: oracle-svc
replicas: 1
@melvinlee
melvinlee / mount-ebs.sh
Created March 28, 2025 01:17
This script attaches and mounts an EBS volume to an EC2 instance
#!/bin/bash
#
# EBS Volume Mount CLI Script
# This script attaches and mounts an EBS volume to an EC2 instance
#
set -e
# Define console colors
BLUE='\033[0;34m'
@melvinlee
melvinlee / myapp.py
Created February 29, 2024 03:41
stramlist
import streamlit as st
import time
col1, col2, col3 = st.columns([1,2,1])
col1.markdown("# Welcome to my app")
uploaded_photo = col2.file_uploader("Upload a photo")
camera_photo = col2.camera_input("Take a photo")
@melvinlee
melvinlee / Dockerfile
Created August 10, 2020 11:56
Baked NuGet packages cache into base images.
FROM mcr.microsoft.com/dotnet/core/sdk:3.1
# warmup NuGet package cache
WORKDIR /sln
COPY *.sln .
COPY projectfiles.tar .
RUN tar -xvf projectfiles.tar
RUN dotnet restore \
--source https://api.nuget.org/v3/index.json