Commit 74e9a1b1100f
Changed files (14)
dots/.config/claude/skills/CORE/SKILL.md
@@ -264,6 +264,36 @@ When specialized knowledge is needed, invoke specific skills:
This ensures focused, expert assistance while maintaining consistent core behaviors.
+## Examples
+
+**Example 1: Session initialization**
+```
+[Session starts]
+→ CORE skill auto-loads
+→ Establishes core principles and behaviors
+→ Makes history system available
+→ Sets stack preferences (uv for Python, etc.)
+→ Ready to assist with proper context
+```
+
+**Example 2: User asks about past work**
+```
+User: "What did we do last week with the Tekton pipeline?"
+→ CORE reminds to check history system first
+→ Searches ~/.config/claude/history/sessions/2025-12/
+→ Finds session file with Tekton backport work
+→ Returns summary of what was accomplished
+```
+
+**Example 3: User asks about identity or capabilities**
+```
+User: "What can you help me with?"
+→ CORE skill provides overview of capabilities
+→ Explains operating principles and workflows
+→ Lists available specialized skills
+→ Shows integration with notes, TODOs, and tools
+```
+
---
**This completes the CORE skill quick reference. All additional context is available in the documentation files listed above.**
dots/.config/claude/skills/Git/SKILL.md
@@ -668,3 +668,38 @@ git add config/credentials.json # NO!
11. ✅ **Test before committing** - run pre-commit checks
**Remember**: Future you will thank present you for clear, descriptive commit messages that explain WHY changes were made!
+
+## Examples
+
+**Example 1: Making a clean commit**
+```
+User: "Commit the authentication changes"
+→ Reviews git diff to understand changes
+→ Adds files explicitly: git add src/auth/ tests/auth.test.ts
+→ Creates commit with HEREDOC format
+→ Includes --signoff and Co-Authored-By: Claude
+→ Uses 2-3 bullet points explaining WHY changes were made
+→ Result: Clean, well-documented commit ready to push
+```
+
+**Example 2: Rebasing a feature branch**
+```
+User: "Update my feature branch with latest main"
+→ Checks current branch status
+→ Fetches latest changes: git fetch origin main
+→ Rebases instead of merging: git rebase origin/main
+→ Resolves any conflicts interactively
+→ Force-pushes with lease: git push --force-with-lease
+→ Result: Clean linear history without merge commits
+```
+
+**Example 3: Avoiding common mistakes**
+```
+User: "Add all changes and commit"
+→ STOPS user from using git add -A or git add .
+→ Reviews git status to see what changed
+→ Adds files explicitly by directory/path
+→ Warns if .env or credentials files are staged
+→ Creates proper commit message without emojis
+→ Result: Safe, intentional commit with no secrets
+```
dots/.config/claude/skills/golang/SKILL.md
@@ -866,3 +866,38 @@ Quick check for Nix:
- [Google Go Style Guide](https://google.github.io/styleguide/go/)
- [Go Best Practices 2025](https://www.bacancytechnology.com/blog/go-best-practices)
- [Go Coding Standards](https://leapcell.medium.com/go-coding-official-standards-and-best-practices-5e84f4dbc8ad)
+
+## Examples
+
+**Example 1: Creating a new Go CLI tool**
+```
+User: "Create a CLI tool to parse JSON logs"
+→ Sets up project with go mod init
+→ Creates main.go with cobra for CLI structure
+→ Adds JSON parsing with encoding/json
+→ Writes table-driven tests
+→ Builds with proper flags and versioning
+→ Result: Production-ready Go CLI tool
+```
+
+**Example 2: Writing idiomatic Go code**
+```
+User: "Add error handling to this function"
+→ Reviews existing code for patterns
+→ Adds proper error wrapping with fmt.Errorf
+→ Uses early returns for error cases
+→ Adds context.Context for cancellation
+→ Writes tests for error paths
+→ Result: Idiomatic Go with robust error handling
+```
+
+**Example 3: Optimizing Go performance**
+```
+User: "This function is slow, can you optimize it?"
+→ Profiles with pprof to identify bottlenecks
+→ Reduces allocations with sync.Pool
+→ Uses appropriate data structures (map vs slice)
+→ Adds benchmarks to measure improvement
+→ Documents performance characteristics
+→ Result: Measurably faster code with evidence
+```
dots/.config/claude/skills/Homelab/SKILL.md
@@ -253,3 +253,38 @@ nixos-rebuild dry-build --flake .#<hostname>
- nixos-raspberrypi.cachix.org
Remember: This is a production infrastructure. Always prioritize safety and ask for confirmation before making changes to remote systems.
+
+## Examples
+
+**Example 1: Deploying NixOS configuration**
+```
+User: "Deploy the updated config to kyushu"
+→ Checks current configuration in home repository
+→ Reviews changes with git diff
+→ Builds configuration with nixos-rebuild build
+→ Confirms target host is correct (kyushu)
+→ Deploys with nixos-rebuild switch --target-host
+→ Result: Configuration safely deployed to homelab server
+```
+
+**Example 2: Managing services**
+```
+User: "Restart the wireguard service on all hosts"
+→ Checks which hosts run wireguard in globals.nix
+→ SSHs to each host
+→ Restarts systemd service: systemctl restart wg-quick-wg0
+→ Verifies service is running
+→ Checks VPN connectivity
+→ Result: All wireguard tunnels restored
+```
+
+**Example 3: Troubleshooting DNS issues**
+```
+User: "Why can't I reach home.example.com?"
+→ Checks DNS configuration in globals.nix
+→ Verifies Pi-hole is running
+→ Tests DNS resolution: dig home.example.com
+→ Checks firewall rules and port forwarding
+→ Reviews service logs for errors
+→ Result: DNS issue identified and resolved
+```
dots/.config/claude/skills/Jira/skill.md → dots/.config/claude/skills/Jira/SKILL.md
@@ -1,18 +1,12 @@
-# Jira Issue Management
+---
+name: Jira
+description: Jira issue management for Red Hat issues.redhat.com. USE WHEN user mentions jira, ticket, issue, epic, sprint OR references Jira issue keys (SRVKP-1234, SRVCOM-456) OR wants to manage issue workflows, assignments, tracking OR needs to integrate Jira with org-mode notes and TODOs.
+---
+
+# Jira
-## Purpose
Interactive command-line management of Jira issues, epics, and sprints for Red Hat's issues.redhat.com. Minimizes reliance on the web interface while providing comprehensive issue tracking, workflow automation, and integration with org-mode notes.
-### Context Detection
-
-**This skill activates when:**
-- User mentions "jira", "ticket", "issue", "epic", or "sprint"
-- User references specific Jira issue keys (e.g., SRVKP-1234)
-- Working with Red Hat Jira issues
-- Need to manage issue workflows, assignments, or tracking
-- User wants to automate Jira operations
-- Integrating Jira issues with org-mode notes or TODOs
-
## Workflow Routing
When the user's request matches specific Jira operations, route to the appropriate workflow:
@@ -27,7 +21,6 @@ When the user's request matches specific Jira operations, route to the appropria
| **Search** | "search for", "find issues", "JQL query", complex filtering | `workflows/Search.md` |
| **LinkToNote** | "link to note", "create note for issue", "document issue" | `workflows/LinkToNote.md` |
| **Sprint** | "sprint", "current sprint", "add to sprint" | `workflows/Sprint.md` |
-| **Epic** | "epic", "epic issues", "add to epic" | `workflows/Epic.md` |
| **Transition** | "transition", "workflow", "move issue to", state changes | `workflows/Transition.md` |
## Key Features
@@ -219,6 +212,46 @@ jira sprint list --current
jira sprint add SPRINT-123 SRVKP-1234
```
+## Examples
+
+**Example 1: View a specific Jira issue**
+```
+User: "Show me SRVKP-9243"
+→ Invokes View workflow
+→ Displays issue details (title, status, assignee, description)
+→ Shows recent comments and attachments
+→ Provides issue URL for web access
+```
+
+**Example 2: List my open issues**
+```
+User: "What are my open Jira tickets?"
+→ Invokes List workflow
+→ Filters by current user and excludes Done status
+→ Shows table of open issues with priority and status
+→ Sorted by priority (highest first)
+```
+
+**Example 3: Create a bug report**
+```
+User: "Create a bug for the failing CI tests"
+→ Invokes Create workflow
+→ Prompts for project (defaults to SRVKP)
+→ Sets type to Bug
+→ Asks for summary and description
+→ Creates issue and returns issue key (e.g., SRVKP-9999)
+```
+
+**Example 4: Link Jira issue to org-mode note**
+```
+User: "Create a note for SRVKP-9243"
+→ Invokes LinkToNote workflow
+→ Fetches issue details from Jira
+→ Creates denote note with issue info
+→ Adds Jira URL to note
+→ Links note back in Jira comment (optional)
+```
+
## Tips
1. **Use aliases for common commands**: Add shell aliases for frequent operations
dots/.config/claude/skills/Journal/SKILL.md
@@ -560,3 +560,35 @@ Tracking house options:
- Backup with your regular backup strategy
Remember: Your journal is for you. Write what helps you think, remember, and grow.
+
+## Examples
+
+**Example 1: Creating a daily journal entry**
+```
+User: "Create my journal entry for today"
+→ Uses Journelly format with date heading
+→ Prompts for reflections and highlights
+→ Adds structured sections (work, personal, learnings)
+→ Saves to ~/desktop/org/notes/Journelly.org
+→ Result: Well-structured journal entry for the day
+```
+
+**Example 2: Reviewing past entries**
+```
+User: "What did I write about last week?"
+→ Searches Journelly.org for date range
+→ Extracts entries from the past 7 days
+→ Summarizes key themes and activities
+→ Highlights important decisions or learnings
+→ Result: Quick recap of the week's journal
+```
+
+**Example 3: Adding a reflection**
+```
+User: "Add a reflection about the Tekton work we just did"
+→ Appends to today's journal entry
+→ Captures what was accomplished
+→ Notes lessons learned and insights
+→ Links to relevant history or notes
+→ Result: Reflection recorded for future reference
+```
dots/.config/claude/skills/Nix/SKILL.md
@@ -587,3 +587,38 @@ See `workflows/Security.md` for comprehensive hardening guidance.
- Deploy: `make host/<hostname>/switch` (ask first!)
Remember: Nix is about reproducibility and declarative configuration. When in doubt, consult the manuals and follow the patterns established in the repository.
+
+## Examples
+
+**Example 1: Creating a Nix package**
+```
+User: "Package this Go application for Nix"
+→ Creates derivation with buildGoModule
+→ Adds proper vendorHash for dependencies
+→ Includes meta attributes (description, license, etc.)
+→ Tests build with nix-build
+→ Adds to home-manager or NixOS configuration
+→ Result: Application properly packaged for Nix
+```
+
+**Example 2: Debugging Nix build issues**
+```
+User: "My Nix build is failing, can you help?"
+→ Reviews error message from nix-build
+→ Checks for common issues (missing dependencies, wrong hash)
+→ Uses nix-shell for interactive debugging
+→ Tests fix incrementally
+→ Updates derivation with correct values
+→ Result: Build succeeds, issue resolved
+```
+
+**Example 3: Using Nix flakes**
+```
+User: "Convert this to use flakes"
+→ Creates flake.nix with inputs and outputs
+→ Migrates configuration to flake structure
+→ Updates flake.lock with nix flake update
+→ Tests with nix build or nix develop
+→ Documents flake usage in README
+→ Result: Modern Nix flake structure
+```
dots/.config/claude/skills/Nixpkgs/SKILL.md
@@ -612,3 +612,40 @@ nix-instantiate --parse default.nix
- [Reviewing Contributions](https://ryantm.github.io/nixpkgs/contributing/reviewing-contributions/)
- [Nixpkgs Manual](https://nixos.org/manual/nixpkgs/stable/)
- [Package Naming Conventions](https://nixos.org/manual/nixpkgs/stable/#sec-package-naming)
+
+## Examples
+
+**Example 1: Updating a package in nixpkgs**
+```
+User: "Update tektoncd-cli to the latest version"
+→ Finds package in nixpkgs repository
+→ Updates version and hash in default.nix
+→ Runs nix-build to test the update
+→ Checks for breaking changes or new dependencies
+→ Creates commit following nixpkgs standards
+→ Opens pull request to nixpkgs
+→ Result: Package updated and PR submitted
+```
+
+**Example 2: Reviewing a nixpkgs PR**
+```
+User: "Review nixpkgs PR #12345"
+→ Checks out PR branch locally
+→ Reviews code changes for correctness
+→ Tests build with nix-build
+→ Verifies meta attributes are correct
+→ Checks commit message follows standards
+→ Leaves review comments or approval
+→ Result: Thorough PR review completed
+```
+
+**Example 3: Adding a new package**
+```
+User: "Add this new tool to nixpkgs"
+→ Creates package directory structure
+→ Writes derivation with proper builder (buildGoModule, etc.)
+→ Adds to all-packages.nix
+→ Tests on multiple platforms
+→ Follows nixpkgs contribution guidelines
+→ Result: New package ready for nixpkgs
+```
dots/.config/claude/skills/Notes/SKILL.md
@@ -577,3 +577,36 @@ See the `history-system` skill for complete integration details.
8. Link related notes
Remember: Notes are living documents. It's okay to update, refine, and reorganize as understanding deepens.
+
+## Examples
+
+**Example 1: Creating a new note**
+```
+User: "Create a note about NixOS flakes best practices"
+→ Generates timestamp identifier
+→ Creates denote-formatted filename with tags
+→ Adds org-mode frontmatter (title, date, filetags)
+→ Structures content with headings
+→ Saves to ~/desktop/org/notes/
+→ Result: Well-organized note ready for future reference
+```
+
+**Example 2: Finding related notes**
+```
+User: "Show me notes about Tekton"
+→ Searches denote notes by tag: :tekton:
+→ Also searches by title and content
+→ Returns list of matching notes with timestamps
+→ Shows snippets of relevant content
+→ Result: Quick access to all Tekton-related knowledge
+```
+
+**Example 3: Linking notes together**
+```
+User: "Link this note to my CI/CD planning note"
+→ Finds target note by search
+→ Adds denote link using org-mode format
+→ Creates bidirectional reference
+→ Updates related notes section
+→ Result: Knowledge graph connections established
+```
dots/.config/claude/skills/Org/SKILL.md
@@ -146,3 +146,36 @@ Tested on 354-item todos.org:
- [[file:~/desktop/org/notes/20251205T092927--emacs-batch-mode-for-org-automation__emacs_orgmode_automation_elisp_reference.org][Research Note]]
- See `README.md` for full documentation
+
+## Examples
+
+**Example 1: Reading and parsing org file**
+```
+User: "What TODOs are in my project.org file?"
+→ Uses Emacs batch mode to parse org file
+→ Extracts TODO items with org-element-map
+→ Returns formatted list with priorities and tags
+→ Shows deadlines and scheduled dates
+→ Result: Complete overview of project TODOs
+```
+
+**Example 2: Updating org file programmatically**
+```
+User: "Mark all DONE items as archived"
+→ Reads org file with Emacs batch mode
+→ Finds all DONE entries
+→ Moves them to archive section
+→ Preserves timestamps and properties
+→ Saves updated file
+→ Result: Clean org file with archived history
+```
+
+**Example 3: Extracting information from org**
+```
+User: "Get all meeting notes from last month"
+→ Parses org files for date range
+→ Filters entries with :meeting: tag
+→ Extracts content and metadata
+→ Formats as summary report
+→ Result: Month's meeting notes compiled
+```
dots/.config/claude/skills/Python/SKILL.md
@@ -526,3 +526,38 @@ mypy --version
- Google Python Style Guide
- Type Hints Best Practices
- pytest Good Integration Practices
+
+## Examples
+
+**Example 1: Creating a Python script with uv**
+```
+User: "Create a script to parse CSV files"
+→ Uses uv for dependency management (NOT pip)
+→ Adds PEP 723 inline script metadata
+→ Includes dependencies (pandas, click)
+→ Writes clean, type-annotated code
+→ Makes script executable with proper shebang
+→ Result: Self-contained Python script with uv
+```
+
+**Example 2: Setting up a Python project**
+```
+User: "Initialize a new Python project"
+→ Creates project with uv init
+→ Sets up pyproject.toml with uv
+→ Adds dependencies with uv add
+→ Configures ruff for linting
+→ Sets up pytest for testing
+→ Result: Modern Python project ready for development
+```
+
+**Example 3: Adding type hints and validation**
+```
+User: "Add type hints to this Python code"
+→ Analyzes existing code structure
+→ Adds proper type annotations with typing module
+→ Uses Pydantic for data validation
+→ Runs mypy for type checking
+→ Documents types in docstrings
+→ Result: Type-safe, well-documented Python code
+```
dots/.config/claude/skills/Rust/SKILL.md
@@ -468,3 +468,38 @@ async fn do_stuff_concurrently() {
### Best Practices
- [Rust Project Structure Guide](https://www.djamware.com/post/68b2c7c451ce620c6f5efc56/rust-project-structure-and-best-practices-for-clean-scalable-code)
- [Large Rust Workspaces](https://matklad.github.io/2021/08/22/large-rust-workspaces.html)
+
+## Examples
+
+**Example 1: Creating a Rust CLI application**
+```
+User: "Build a CLI tool to process logs"
+→ Initializes project with cargo new
+→ Adds clap for argument parsing
+→ Implements error handling with anyhow
+→ Writes unit tests and integration tests
+→ Builds optimized binary with cargo build --release
+→ Result: Fast, safe Rust CLI tool
+```
+
+**Example 2: Fixing ownership and borrowing issues**
+```
+User: "Help me fix these borrow checker errors"
+→ Analyzes ownership flow in code
+→ Identifies unnecessary clones or moves
+→ Suggests lifetime annotations where needed
+→ Refactors to use references appropriately
+→ Explains Rust's ownership rules
+→ Result: Clean code that satisfies the borrow checker
+```
+
+**Example 3: Optimizing Rust performance**
+```
+User: "This Rust code is slower than expected"
+→ Uses cargo flamegraph to profile
+→ Identifies allocations and hot paths
+→ Optimizes with iterators and zero-copy operations
+→ Adds benchmark tests with criterion
+→ Measures improvement
+→ Result: Performant Rust code with benchmarks
+```
dots/.config/claude/skills/TODOs/SKILL.md
@@ -516,3 +516,36 @@ See TODO: [[file:~/desktop/org/todos.org::*Implement feature X][Implement featur
- Has SCHEDULED date
- Has DEADLINE
- Otherwise considered dormant (TODO, WAIT)
+
+## Examples
+
+**Example 1: Listing today's TODOs**
+```
+User: "What do I need to do today?"
+→ Searches org files for TODO and NEXT states
+→ Filters by today's date and SCHEDULED items
+→ Shows high-priority items first
+→ Includes deadlines and time estimates
+→ Result: Prioritized list of today's tasks
+```
+
+**Example 2: Creating TODO from conversation**
+```
+User: "Remind me to review the Tekton PRs tomorrow"
+→ Creates TODO in appropriate org file
+→ Sets SCHEDULED date for tomorrow
+→ Adds context and links
+→ Tags appropriately (:tekton:review:)
+→ Result: TODO captured for tomorrow
+```
+
+**Example 3: Completing and archiving TODOs**
+```
+User: "Mark all backport tasks as done"
+→ Finds TODOs matching "backport"
+→ Changes state to DONE
+→ Adds CLOSED timestamp
+→ Archives completed items
+→ Updates project status
+→ Result: Clean TODO list with completed work archived
+```
README.org
@@ -47,10 +47,11 @@
** =/tools=
Custom tools and utilities:
- DNS management scripts (show-dns.sh, update-gandi-dns.sh)
-- Media management scripts (*arr stack automation)
-- Battery monitor
-- Emacs configuration
-- Various Go-based utilities
+- Media management (arr CLI for *arr services, music-playlist-dl for podcasts)
+- GitHub tools (gh-pr for pull request management, claude-hooks for Claude Code)
+- System utilities (battery-monitor, cliphist-cleanup, toggle-color-scheme)
+- Content tools (download-kiwix-zim for offline Wikipedia)
+- Emacs configuration and org-mode utilities (org-manager)
See [[file:tools/README.org][tools/README.org]] for detailed tool documentation.
@@ -326,19 +327,24 @@
**** Claude Code Tools
- =claude-hooks= - Claude Code hooks for session management, tool output capture, and documentation validation
-- =gh-restart-failed= - List and restart failed GitHub workflow checks on pull requests
+- =gh-pr= - GitHub PR management tool for approving, reviewing, and managing pull requests
**** Media and Content Management
-- =arr= - Unified CLI for managing *arr services (Sonarr, Radarr, Lidarr)
+- =arr= - Unified CLI for managing *arr services (Sonarr, Radarr, Lidarr) with Spotify sync support
+- =audible-converter= - Convert Audible AAX files to MP3
- =download-kiwix-zim= - Browse and download ZIM files from the Kiwix library using fzf
- =homepage= - Simple HTML homepage listing all services from globals.nix
+- =jellyfin-auto-collections= - Automated collection management for Jellyfin from external lists
+- =music-playlist-dl= - Automated downloader for electronic music podcasts with playlist generation
**** System Utilities
+- =cliphist-cleanup= - Clipboard history cleanup utility
- =vrsync= - Custom rsync utility
- =vde-thinkpad= - ThinkPad-specific utilities
- =systemd-email= - Email notifications for systemd
- =nixfmt-plus= - Enhanced Nix formatter
- =batzconverter= - Custom conversion utility
+- =toggle-color-scheme= - Toggle between light and dark color schemes
**** Documentation and Organization
- =scripts= - Collection of utility scripts for various tasks