Skip to content

Instantly share code, notes, and snippets.

@sriprasanna
sriprasanna / composing-claude-code-skills.md
Created May 6, 2026 10:45
Composing Claude Code skills

Composing Claude Code skills

I've used Claude Code almost every day for close to a year. When Agent Skills shipped late last year, we adopted them on day one. Within a week the catalogue was a mess, with some skills doing one thing and others trying to do five, so we went back to the Unix rule. Each skill does one thing well, and if it starts doing two things, you split it.

The model started using the skills better on its own almost straight away. Claude Code skills auto-trigger, so if a skill's description matches the task, the model can pick it up without being asked. As we made each skill narrower, Claude picked the right one more often, and the auto-triggering got better too.

Once the single-purpose skills were clean, bigger workflows became much easier. You mostly write down the order things should happen.

That's not a new idea. The first time it clicked for me was in 2012, early in my career, sitting in our ThoughtWorks office in Kampala, Uganda. My tech lead Chris Ford gave a talk called *Functio

{
"Parameters": {
"inputName": {
"Type": "String",
"MinLength": 1
}
},
"Outputs": {
"outputName": {
"Value": {
@sriprasanna
sriprasanna / game-of-life.md
Last active April 14, 2021 09:12
Kata - Game of life

Conway's Game of Life - Challenge

The Game of Life, also known simply as Life, is a cellular automaton devised by the British mathematician John Horton Conway in 1970.

Gospers Glider gun

The game is a zero-player game, meaning that its evolution is determined by its initial state, requiring no further input. One interacts with the Game of Life by creating an initial configuration and observing how it evolves. It is Turing complete and can simulate a universal constructor or any other Turing machine.

Source : Wikipedia

@sriprasanna
sriprasanna / install_sshuttle_mac
Last active August 29, 2015 14:21
Install sshuttle on mac
#/bin/bash
echo "Installing PyXAPI"
cd /tmp
curl -O http://www.pps.univ-paris-diderot.fr/~ylg/PyXAPI/PyXAPI-0.1.tar.gz
tar -xzvf PyXAPI-0.1.tar.gz
cd PyXAPI-0.1
./configure
make
sudo make install
cd ..
@sriprasanna
sriprasanna / rapidftr in rhel
Last active August 29, 2015 14:20
Install RapidFTR in RHEL
Para instalar docker in RHEL7
https://docs.docker.com/installation/rhel/
--------------------------------------------------
sudo su -
service docker start
mkdir -p /data/production
docker pull rapidftr/rapidftr
chcon -Rt svirt_sandbox_file_t /data/production
docker run -d -P -p 80:80 -p 443:443 -p 6984:6984 -p 5984:5984 -v /data/production:/data --name rapidftr rapidftr/rapidftr:release-2.0.0_latest
# If the service doesn't run
sudo service docker restart
sudo service rapidftr restart
sudo docker logs -f rapidftr
# More debug steps will go below
@sriprasanna
sriprasanna / Res.sh
Last active August 29, 2015 14:17 — forked from Garland-g/Res.sh
#!/bin/bash
#Author: Travis Gibson
#This script requires an argument for the resolution width
#Thanks go out to eCharles for a patch in the comments of this link here: http://blog.echarles.net/2013/10/01/Ubuntu-13.04-On-MacbookPro-Retina
if [ -z "$1" ]; then
echo "Usage: Res.sh <resolution_width>";
exit 1;
fi
erg=$( echo "$1")
check=$(xrandr -q | grep DP-2 | cut -d " " -f 4 | cut -d "x" -f 1)
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8 />
<title>Trello Test</title>
<style>
li.pass{
color:green;
}
li.fail{

Keybase proof

I hereby claim:

  • I am sriprasanna on github.
  • I am batman (https://keybase.io/batman) on keybase.
  • I have a public key whose fingerprint is CB89 1086 D0BD D5B8 0D19 551F DF4D 28C8 3CFD 49C8

To claim this, I am signing this object:

sudo apt-get update
sudo apt-get install --yes apt-file && apt-file update
sudo apt-get install --yes python-software-properties
sudo apt-add-repository --yes ppa:longsleep/couchdb
sudo apt-get update
sudo apt-get --purge --yes remove libcurl3
sudo apt-get clean
sudo apt-get --print-uris --yes install libcurl3 couchdb imagemagick openjdk-7-jdk ruby1.8 thin openssh-server rubygems1.8 libxslt-dev libxml2-dev libzip2 libzip-dev build-essential | grep ^\' | cut -d\' -f2 > dependencies.txt
mkdir debs && cd debs
wget -nc -i ../dependencies.txt