Agent Skill
2/7/2026

writing-agent-skills

Author and structure effective Agent Skills. Use when creating new skills, refining existing ones, or auditing skill structure and best practices.

K
kylehughes
1GitHub Stars
1Views
npx skills add kylehughes/knapsack

SKILL.md

Namewriting-agent-skills
DescriptionAuthor and structure effective Agent Skills. Use when creating new skills, refining existing ones, or auditing skill structure and best practices.

Knapsack

Kyle Hughes's dotfiles and development environment configuration for macOS.

Installation

# Clone repository
cd ~ && git clone git@github.com:kylehughes/knapsack.git Knapsack
cd ~/Knapsack

# Run all setup tasks
make set-up/all

Or run individual setup tasks:

make set-up/homebrew        # Install Homebrew
make set-up/dependencies    # Install dependencies from Brewfile
make set-up/dotfiles        # Install dotfiles
make set-up/local-functions # Create local functions directory

Structure

Dotfiles

Configuration files managed by make set-up/dotfiles:

ConfigurationTypeDescription
claude/CLAUDE.mdSymlinkClaude AI configuration.
config/ghostty/*SymlinkGhostty terminal configuration.
config/zsh/functions/*SymlinkCustom shell functions.
gitconfigSymlinkGlobal git configuration.
gitconfig_localCopyLocal git overrides (not tracked).
tmux.confSymlinktmux configuration.
vim/*Symlinkvim configuration and plugins.
vimrcSymlinkvim configuration.
zshrcSymlinkzsh shell configuration.

Shell Functions

Custom zsh functions for common workflows, autoloaded from ~/.config/zsh/functions/:

Git Workflow Functions

FunctionDescriptionUsage
git-add-amend-force-pushStage all changes, amend commit, and force push.git-add-amend-force-push
git-add-commitStage all changes and commit with message.git-add-commit "message"
git-fetch-pullFetch remote changes and pull with rebase.git-fetch-pull
git-log-dagShow detailed commit graph with author info.git-log-dag [options]
git-log-graphShow commit history as decorated graph.git-log-graph [options]
git-log-prettyShow formatted log with details on one line.git-log-pretty [options]
git-push-upstreamPush current branch and set upstream tracking.git-push-upstream
git-status-diffShow status and diff for review.git-status-diff

Functions follow the tool-action naming convention for clarity and tab completion support.

Local Functions

Machine-specific functions can be placed in ~/.config/zsh/functions-local/ (not tracked in git):

# Create local functions directory
make set-up/local-functions

# Add a local function
echo '#!/usr/bin/env zsh
# my-local-function - Description here.
echo "This function only exists on this machine"' > ~/.config/zsh/functions-local/my-local-function
chmod +x ~/.config/zsh/functions-local/my-local-function

Local functions are autoloaded just like tracked functions but remain private to each machine.

Dependencies

Managed via Brewfile:

brew bundle install    # Install all dependencies
brew bundle check      # Check for missing packages
brew bundle cleanup    # Remove unlisted packages

Development

Documentation Standards

All scripts and configuration files follow consistent documentation patterns:

  • File headers: Simple one-line descriptions with usage information for scripts.
  • Section headers: Title Case sections marked with --- Section Name ---.
  • Comments: Complete sentences with periods, explaining why not what.
  • No decorations: Clean, readable formatting without excessive separators.

Theme

A Gengar-inspired purple theme consistent across all terminal applications:

ColorHexUsage
Background#1c1c1cTerminal background.
Foreground#eeeeeePrimary text.
Purple#af5fffStatus bars, borders.
Bright Purple#d7afffActive elements.
Grey#444444Inactive elements.
Skills Info
Original Name:writing-agent-skillsAuthor:kylehughes