Liam's AI plugins — Claude Code extensions for data engineering, cloud workflows, and developer productivity.
Plugins are personal tooling. Some may be out of date relative to current Claude Code releases — open an issue if anything is broken.
/plugin marketplace add liam-machine/liamOption A - Browse and install interactively:
/pluginThen select "Browse Plugins" and choose the plugin to install.
Option B - Install directly:
/plugin install databricks-executor@liam-machine/liamWhen 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 |
Restart or start a new session to activate the plugin.
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 are auto-triggered based on context — Claude automatically uses them when relevant.
atlassian-api - Jira & Confluence REST API client
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:
- Go to https://id.atlassian.com/manage-profile/security/api-tokens
- Click Create API token, give it a name (e.g. "Claude Code"), and copy the token
- Create
~/.atlassian-credentialswith your details:
email=you@company.com
token=YOUR_API_TOKEN_HERE
site=yourcompany.atlassian.net
- Secure the file:
chmod 600 ~/.atlassian-credentialsQuick 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 10CLI 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
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 DEVSee configuration guide for setup.
powerbi-local - Power BI development with Microsoft MCP and Claude computer use
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:
- Install the Power BI MCP server:
npm install -g @microsoft/powerbi-modeling-mcp- Configure MCP in
.mcp.json:
{
"mcpServers": {
"powerbi": {
"command": "npx",
"args": ["-y", "@microsoft/powerbi-modeling-mcp@latest"]
}
}
}-
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"
-
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)
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 messaginggithub-collaborator— Add repo collaborators by name
Quick Start:
- Ensure platform apps are installed (Teams, WhatsApp, Messages, Messenger)
- Grant Accessibility permissions to Terminal (System Settings > Privacy & Security > Accessibility)
- Add contacts to
${CLAUDE_PLUGIN_ROOT}/skills/messaging/references/contacts.yaml - 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
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
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 LogoRevealUsing 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-presetsTemplates included:
splash_screens.py— Logo reveals, particle entries, morphing shapesweb_components.py— Buttons, cards, loaders, notifications
See animation reference and easing reference for full documentation.
repo-creator - Create repositories and publish to GitHub
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 orgWorkflow:
- Checks/creates config for default paths
- Verifies GitHub CLI is installed and authenticated
- Creates local repo with
git init - Publishes to GitHub (private/public choice)
- Optionally sets up venv, conda, or npm
- Activates environment and confirms setup
Configuration:
The skill stores preferences in ~/.claude/repo-creator-config.json:
personalReposPath- Default directory for personal reposconfiguredPaths- Saved paths for quick selection
See configuration guide for details.
ssh-pi - Execute commands on Raspberry Pi via SSH
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:
- Configure SSH alias in
~/.ssh/config:
Host pi
HostName raspberrypi.local
User pi
- 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 infoSee configuration guide for SSH setup.
plan-converter - Convert plan.md to features.json and scaffold /next-feature locally
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.jsoncreate-next-feature-skill-local— Scaffold/next-featureskill 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
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
msalandrequests - 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
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-featureRequirements:
- A
features.jsonfile in your project with feature definitions - The feature-dev plugin installed for guided implementation
- Power BI Local Development - Architecture for local Power BI development with Claude Code using Microsoft MCP and computer use
MIT