Skip to content

liam-machine/liam

Repository files navigation

liam

Liam's AI plugins — Claude Code extensions for data engineering, cloud workflows, and developer productivity.

Status

Plugins are personal tooling. Some may be out of date relative to current Claude Code releases — open an issue if anything is broken.

Installation

Step 1: Add the Marketplace

/plugin marketplace add liam-machine/liam

Step 2: Install a Plugin

Option A - Browse and install interactively:

/plugin

Then select "Browse Plugins" and choose the plugin to install.

Option B - Install directly:

/plugin install databricks-executor@liam-machine/liam

Step 3: Choose Installation Scope

When prompted, select a scope:

Scope Location Use Case
user ~/.claude/settings.json Available in all projects
project .claude/settings.json Shared with team via git
local .claude/settings.local.json Personal, gitignored

Step 4: Restart Claude Code

Restart or start a new session to activate the plugin.

Plugin Structure

liam/
├── databricks-plugin/
│   ├── skills/databricks/             # Comprehensive Databricks admin (13 commands)
│   └── commands/                      # /db:* slash commands
│
├── people-plugin/
│   └── skills/
│       ├── messaging                  # Multi-platform messaging
│       └── github-collaborator        # Add repo collaborators by name
│
├── manim-web-plugin/
│   └── skills/
│       └── manim-web                  # Animated splash screens & web animations
│
├── repo-creator-plugin/
│   └── skills/
│       └── repo                       # Create repos, publish to GitHub
│
├── ssh-pi/
│   └── skills/
│       └── ssh-pi                     # Execute commands on Raspberry Pi via SSH
│
├── next-feature-plugin/
│   └── commands/
│       └── next-feature.md            # /next-feature slash command
│
├── plan-converter-plugin/
│   └── skills/
│       ├── plan-converter                    # Convert plan.md → features.json
│       └── create-next-feature-skill-local   # Scaffold /next-feature skill locally
│
├── atlassian-api-plugin/
│   └── skills/atlassian-api/                 # Jira & Confluence REST API client
│
├── m365-sharepoint-plugin/
│   └── skills/
│       └── sharepoint/                       # SharePoint page editing
│
├── powerbi-local/
│   └── skills/
│       ├── pbi-dev/                   # Power BI development (TMDL, PBIR, DAX)
│       └── pbi-test/                  # Feature testing and verification
│
└── statusline-plugin/
    └── hooks/                         # Rich status line (no skills, hooks only)
Plugin Skills Category
atlassian-api atlassian-api Productivity
databricks databricks + 13 commands Data Engineering
powerbi-local pbi-dev, pbi-test Data Engineering
people messaging, github-collaborator Productivity
manim-web manim-web Creative
repo-creator repo Productivity
ssh-pi ssh-pi Productivity
next-feature /next-feature (command) Productivity
plan-converter plan-converter, create-next-feature-skill-local Productivity
m365-sharepoint sharepoint Productivity
statusline (hooks only) Productivity

Skills

Skills are auto-triggered based on context — Claude automatically uses them when relevant.

atlassian-api - Jira & Confluence REST API client

atlassian-api

Thin Python CLI that wraps the Atlassian Cloud REST API with automatic authentication, JSON formatting, and pagination. Covers full Jira v3 + Confluence v2 with bonus support for attachments, sprints/boards, labels, and bulk operations.

Feature Description
Jira JQL search, issue CRUD, transitions, comments, worklogs, links
Confluence CQL search, page CRUD, comments, spaces, children/descendants
Agile Boards, sprints, backlog (not available via MCP)
Attachments File upload to issues and pages (not available via MCP)
Labels Page label management (not available via MCP)
Auth Basic auth via ~/.atlassian-credentials

Setup — API Token:

  1. Go to https://id.atlassian.com/manage-profile/security/api-tokens
  2. Click Create API token, give it a name (e.g. "Claude Code"), and copy the token
  3. Create ~/.atlassian-credentials with your details:
email=you@company.com
token=YOUR_API_TOKEN_HERE
site=yourcompany.atlassian.net
  1. Secure the file:
chmod 600 ~/.atlassian-credentials

Quick Start:

# Test connection
python3 ${CLAUDE_PLUGIN_ROOT}/skills/atlassian-api/scripts/atlassian.py GET /rest/api/3/myself

# Search Jira issues
python3 ${CLAUDE_PLUGIN_ROOT}/skills/atlassian-api/scripts/atlassian.py POST /rest/api/3/search/jql \
  --data '{"jql":"project = PROJ ORDER BY created DESC","maxResults":10,"fields":["summary","status"]}'

# Search Confluence pages
python3 ${CLAUDE_PLUGIN_ROOT}/skills/atlassian-api/scripts/atlassian.py GET /wiki/rest/api/search \
  --params cql='type=page AND text~"deploy"' limit=10

# Get a Confluence page with content
python3 ${CLAUDE_PLUGIN_ROOT}/skills/atlassian-api/scripts/atlassian.py GET /wiki/api/v2/pages/123456 \
  --params body-format=storage

# Auto-paginate through all results
python3 ${CLAUDE_PLUGIN_ROOT}/skills/atlassian-api/scripts/atlassian.py GET /wiki/api/v2/spaces \
  --paginate --max-pages 10

CLI Syntax:

python3 atlassian.py METHOD PATH [--data JSON] [--params KEY=VAL ...] [--paginate] [--max-pages N] [--raw]

The script uses only Python stdlib (no pip install needed). See Jira endpoints and Confluence endpoints for full API reference.

databricks - Comprehensive Databricks administration

databricks

Full Databricks administration across multiple workspaces: SQL queries, code execution, clusters, warehouses, jobs, secrets, Unity Catalog, pipelines, dashboards, permissions, and deployments.

Feature Description
Multi-Workspace Support for multiple profiles (DEV, PROD, UAT, etc.)
SQL Queries Execute queries via SQL warehouses
Code Execution Python, SQL, Scala, R on Spark clusters (REPL supported)
Clusters Start, stop, list Spark clusters
Warehouses Manage SQL warehouses
Jobs List, trigger, monitor job runs
Secrets Secret scopes and values
Unity Catalog Catalogs, schemas, tables, volumes, grants
Pipelines Delta Live Tables / Lakeflow management
Dashboards Lakeview dashboard management
Permissions Object-level ACLs and grants
Deployment DAB bundle validate, deploy, destroy

Commands:

  • /db:query — Execute SQL queries on warehouses
  • /db:execute — Execute code on Spark clusters (Python, SQL, Scala, R)
  • /db:clusters — Cluster management
  • /db:warehouses — Warehouse management
  • /db:jobs — Job and run management
  • /db:secrets — Secret scope management
  • /db:catalog — Unity Catalog operations
  • /db:pipelines — DLT/Lakeflow pipeline management
  • /db:lakeview — Lakeview dashboard management
  • /db:permissions — Object-level permissions
  • /db:deploy — DAB bundle deployments
  • /db:profiles — List and test profiles
  • /db:setup — Initial configuration

Quick Start:

# List your profiles
python3 ${CLAUDE_PLUGIN_ROOT}/skills/databricks/scripts/db_profiles.py list

# Run SQL on warehouse
python3 ${CLAUDE_PLUGIN_ROOT}/skills/databricks/scripts/db_query.py -c "SHOW DATABASES" -p DEV

# Run Python on Spark cluster
python3 ${CLAUDE_PLUGIN_ROOT}/skills/databricks/scripts/db_execute.py -c "print(spark.version)" -p DEV

# Interactive REPL
python3 ${CLAUDE_PLUGIN_ROOT}/skills/databricks/scripts/db_execute.py --repl -p DEV

# List Unity Catalog tables
python3 ${CLAUDE_PLUGIN_ROOT}/skills/databricks/scripts/db_catalog.py tables main.default -p DEV

See configuration guide for setup.

powerbi-local - Power BI development with Microsoft MCP and Claude computer use

powerbi-local

Local Power BI development using Microsoft's official MCP server and Claude's computer use capabilities. Edit semantic models (TMDL), create reports (PBIR), execute DAX queries, and verify features visually.

Feature Description
Semantic Model Edit tables, measures, columns, relationships via TMDL
Reports Create/edit visuals, pages via PBIR JSON with templates
DAX Queries Execute queries via MCP, test measures
Computer Use Screenshot reports, click slicers, verify visuals
Testing Automated verification of measures, relationships, visuals

Skills included:

  • pbi-dev — Power BI development (TMDL, PBIR, DAX patterns)
  • pbi-test — Feature testing and verification

Commands:

  • /pbi — Power BI development assistance
  • /pbi-test — Test and verify Power BI features

Quick Start:

  1. Install the Power BI MCP server:
npm install -g @microsoft/powerbi-modeling-mcp
  1. Configure MCP in .mcp.json:
{
  "mcpServers": {
    "powerbi": {
      "command": "npx",
      "args": ["-y", "@microsoft/powerbi-modeling-mcp@latest"]
    }
  }
}
  1. Enable PBIP format in Power BI Desktop:

    • File → Options → Preview Features
    • Enable "Power BI Project (.pbip) save option"
    • Enable "Store semantic model in TMDL format"
  2. Ask Claude:

"Add a YoY Growth measure to the Sales table"
"Create a bar chart showing sales by region"
"Test if my new measure works correctly"
"Add a relationship between Products and Sales"

Requirements:

  • Windows 10/11 (Power BI Desktop is Windows-only)
  • Power BI Desktop (non-Store version recommended)
  • Node.js 18+
  • Claude Code with computer use enabled

See architecture documentation for details.

people - Person-directed actions (messaging + GitHub collaboration)

people

Person-directed actions: send messages across platforms and manage GitHub collaborators. Resolves contact names to platform-specific identifiers.

Feature Description
Platforms Teams, WhatsApp, iMessage, Messenger
GitHub Add/remove collaborators by contact name
Mode Draft by default (manual send)
Contacts Name-based lookup with platform routing
Inference Work keywords trigger work platform (Teams)
Platform macOS only

Skills included:

  • messaging — Multi-platform messaging
  • github-collaborator — Add repo collaborators by name

Quick Start:

  1. Ensure platform apps are installed (Teams, WhatsApp, Messages, Messenger)
  2. Grant Accessibility permissions to Terminal (System Settings > Privacy & Security > Accessibility)
  3. Add contacts to ${CLAUDE_PLUGIN_ROOT}/skills/messaging/references/contacts.yaml
  4. Ask Claude:
"Message James about the Databricks pipeline"     # → Teams (work keyword detected)
"Message James about drinks on Friday"            # → Asks which platform
"WhatsApp James: Running 10 minutes late"         # → WhatsApp (explicit)
"Add James as a collaborator to my active repo"   # → GitHub (uses github handle)

See setup guide for platform-specific configuration.

statusline - Rich status line with usage tracking and git info

statusline

Rich Claude Code status line displaying context usage, API rate limits, git info, and visual progress bars.

Feature Description
Context Token count with progress bar (e.g., 10%-20K/200K)
Session 5-hour API rate limit with time remaining
Weekly 7-day rate limit with time remaining
Git Repo, branch, status (* unstaged, + staged, ↑↓ ahead/behind)
Cost Session cost and duration

Example Output:

Opus 4.5 | 💭 █░░░░░░░ 10%-20K/200K | ⏱ █░░░░░░░ 6%-4h42m | 📅 █░░░░░░░ 2%-2d12h | $1.25 | 5m | liam:main[✓] | v2.0.31

Quick Start:

After installing the plugin, ask Claude to set up the statusline:

"Set up the rich statusline for me"

Or manually:

# Copy the script
mkdir -p ~/.claude/scripts
cp ${CLAUDE_PLUGIN_ROOT}/scripts/statusline.py ~/.claude/scripts/

# Add to ~/.claude/settings.json
{
  "statusLine": {
    "type": "command",
    "command": "python3 ~/.claude/scripts/statusline.py"
  }
}
manim-web - Animated splash screens and web animations with Manim

manim-web

Create professional splash screens, loading animations, and web-ready motion graphics using Manim Community — the animation engine behind 3Blue1Brown's videos.

Feature Description
Formats GIF, WebM (transparent), MP4, MOV
Quality 480p to 4K presets
Templates Logo reveals, loaders, UI components
Easing 20+ rate functions (bounce, elastic, back, etc.)

Quick Start:

# Install Manim
pip install manim

# Create a simple splash screen
cat > splash.py << 'EOF'
from manim import *

class LogoReveal(Scene):
    def construct(self):
        logo = Text("MyApp", font_size=96, gradient=(BLUE, PURPLE))
        self.play(FadeIn(logo, scale=0.8), rate_func=ease_out_back, run_time=1)
        self.wait(0.5)
EOF

# Render with transparency for web
manim -t --format webm -qh splash.py LogoReveal

Using the render helper:

# Use presets for common use cases
python3 ${CLAUDE_PLUGIN_ROOT}/skills/manim-web/scripts/render_web.py splash.py LogoReveal --preset splash

# List available presets
python3 ${CLAUDE_PLUGIN_ROOT}/skills/manim-web/scripts/render_web.py --list-presets

Templates included:

  • splash_screens.py — Logo reveals, particle entries, morphing shapes
  • web_components.py — Buttons, cards, loaders, notifications

See animation reference and easing reference for full documentation.

repo-creator - Create repositories and publish to GitHub

repo-creator

Create repositories with a guided workflow: initialize git, publish to GitHub (personal or organization), and set up virtual environments.

Feature Description
Targets Personal repos, organization repos
Publishing GitHub CLI (gh) integration
Environments venv, conda, npm
Config Persistent path preferences

Quick Start:

# Personal repository
/repo my-new-project

# Organization repository
/repo my-org-project org

Workflow:

  1. Checks/creates config for default paths
  2. Verifies GitHub CLI is installed and authenticated
  3. Creates local repo with git init
  4. Publishes to GitHub (private/public choice)
  5. Optionally sets up venv, conda, or npm
  6. Activates environment and confirms setup

Configuration:

The skill stores preferences in ~/.claude/repo-creator-config.json:

  • personalReposPath - Default directory for personal repos
  • configuredPaths - Saved paths for quick selection

See configuration guide for details.

ssh-pi - Execute commands on Raspberry Pi via SSH

ssh-pi

Execute commands, run scripts, and manage files on a Raspberry Pi via SSH for local Mac + remote Pi development workflows.

Feature Description
Commands Execute shell commands via ssh pi "command"
Scripts Run local bash/python scripts on Pi
Sync rsync directories with common excludes
Helper Bundled pi-exec.sh for info, logs, temp

Quick Start:

  1. Configure SSH alias in ~/.ssh/config:
Host pi
    HostName raspberrypi.local
    User pi
  1. Ask Claude:
"Run htop on the pi"
"Sync this project to /home/pi/project"
"Check the pi's temperature"
"Deploy this script to the raspberry pi and run it"

Common Operations:

# Execute command
ssh pi "python3 --version"

# Sync project
rsync -avz ./project/ pi:/home/pi/project/

# System info
${CLAUDE_PLUGIN_ROOT}/skills/ssh-pi/scripts/pi-exec.sh info

See configuration guide for SSH setup.

plan-converter - Convert plan.md to features.json and scaffold /next-feature locally

plan-converter

End-to-end feature development pipeline: convert plan.md into features.json, then scaffold a /next-feature skill in the project repo.

Feature Description
Plan Conversion Parse plan.md into features.json with phases, IDs, validation criteria
Platform Detection Auto-detects iOS/Android/Web from tech stack for validation
Phase-Based IDs 100-based spacing (Phase 1: F100–F199) for easy insertion
Local Scaffolding Creates /next-feature skill in project's .claude/skills/
Progress Tracking Completion percentage overall and by phase after each feature

Skills:

  • plan-converter — Convert plan.md to features.json
  • create-next-feature-skill-local — Scaffold /next-feature skill in the project repo

Quick Start:

# 1. Convert your plan
"Convert plan.md to features.json"

# 2. Scaffold the /next-feature skill locally
"Create the next-feature skill for this project"

# 3. Implement features one by one
/next-feature

# 4. Jump to a specific feature
/next-feature F102

See schema reference for the complete features.json structure.

m365-sharepoint - SharePoint page editing and content management

m365-sharepoint

Read and edit SharePoint modern pages. Uses REST API for reading page structure and generates PnP PowerShell commands for editing operations.

Feature Description
List Pages List all pages in a SharePoint site
Read Content Get page sections, web parts, and text content
Edit Text Generate PnP commands to update text web parts
Add Sections Generate PnP commands to add page sections
Authentication MSAL device code flow with PnP client ID

Quick Start:

# List pages in a site
python3 ${CLAUDE_PLUGIN_ROOT}/skills/sharepoint/scripts/sp_pages.py list "https://tenant.sharepoint.com/sites/MySite"

# Get page sections and web parts (shows instance IDs for editing)
python3 ${CLAUDE_PLUGIN_ROOT}/skills/sharepoint/scripts/sp_pages.py sections "https://tenant.sharepoint.com/sites/MySite" "Home.aspx"

# Generate PnP command to edit text
python3 ${CLAUDE_PLUGIN_ROOT}/skills/sharepoint/scripts/sp_pages.py edit-text \
  "https://tenant.sharepoint.com/sites/MySite" \
  "Home.aspx" \
  "instance-id-here" \
  "<p>New content</p>"

Requirements:

  • Python 3.9+ with msal and requests
  • PnP PowerShell for editing operations (Install-Module PnP.PowerShell)

See PnP commands reference for complete PowerShell documentation.

next-feature - Implement the next feature from features.json

next-feature

Slash command that reads features.json and implements the next feature using the feature-dev agent, with Chrome browser automation and automatic commits.

Feature Description
Input Reads features.json from project root
Agent Uses feature-dev agent for implementation
Browser Chrome automation when needed
Commit Auto-commits after validation

Quick Start:

/next-feature

Requirements:

  • A features.json file in your project with feature definitions
  • The feature-dev plugin installed for guided implementation

Documentation

License

MIT

About

Liam's AI plugins for Claude Code — data engineering, cloud workflows, developer productivity

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors