Personal collection of Claude Code commands and utilities.
In Claude Code:
/plugins → Marketplace → Add → omriariav/omri-cc-stuff
Then install the copy plugin from the marketplace.
Copy data/tables/text to clipboard, formatted for your destination.
| Command | Description |
|---|---|
/copy:slack |
Format for Slack (ASCII tables, *bold*) |
/copy:gchat |
Format for Google Chat (same as Slack) |
/copy:gmail |
Format for Gmail/email (rich text paste) |
/copy:gdocs |
Format for Google Docs (Markdown, paste via Edit → Paste from Markdown) |
/copy:jira |
Format for Jira Cloud (Markdown) |
/copy:md |
Markdown (standard syntax) |
/copy:cleartext |
Plain text (universal) |
/copy:richformat |
Rich Text Format (RTF) for Word, Pages |
Usage:
/copy:slack → Auto-detect what to copy, format for Slack
/copy:slack the summary table → Copy specific content for Slack
/copy:gmail → Auto-detect, format as rich text for email
Features:
- Auto-detects what to copy from conversation context
- Formats text, tables, lists, code, summaries
- Numbers auto-formatted (e.g.,
$2.45Mnot2450000) - QuickChart URLs for numeric data visualization
Example:
You: Compare the top programming languages
Claude: | Language | Stars | Growth |
|------------|--------|--------|
| Python | 142K | +18% |
| JavaScript | 128K | +12% |
| Rust | 89K | +31% |
You: /copy:slack
Claude: ✓ Copied to clipboard (format: Slack)
Convert a Markdown file containing LaTeX math into a native Google Doc whose equations are real, editable equation objects — not images, not literal $$ text. This is the gap /copy:gdocs can't fill: Google Docs' "Paste from Markdown" silently drops $...$ math, and there's no Docs API to insert equations. The pipeline routes through .docx instead:
markdown+LaTeX →[pandoc]→ .docx (OMML) →[gws upload + convert]→ Google Doc
/gdoc-math ~/notes/laplace.md → convert a file
/gdoc-math ~/notes/laplace.md --name "Notes" → set the Doc title
/gdoc-math → use the last math content in the conversation
Requirements (the skill verifies all up front):
pandoc—brew install pandocpython3— parsesgwsoutput (default on macOS)gws(Google Workspace CLI), authenticated for Drive —go install github.com/omriariav/workspace-cli/cmd/gws@latestthengws auth login
Features:
- Inline (
$…$) and display ($$…$$) math, plus\(…\)/\[…\]delimiters - Equations land as native, clickable, editable Google Docs equation objects (verified via OMML round-trip)
- Auto-trashes the intermediate
.docx— only the Google Doc remains - Optional
default_folder_idinconfig.jsonto drop Docs in a specific Drive folder - Ships a runnable sample at
examples/math-demo.md
Use
/copy:gdocsfor plain prose/tables with no math (clipboard, instant). Use/gdoc-mathwhen the content has formulas that must stay editable.
Two skills under one plugin, sharing the same X API credentials.
⚠️ Migrating from the oldtweetplugin? This release renames the plugin (tweet→x) and moves its directory (plugins/tweet/→plugins/x/). Claude Code's plugin cache still points at the old path, so/plugin updatewill fail withPlugin source not found at .../plugins/tweet. Uninstall the oldtweetplugin via/plugin, then installxfresh. Your Keychain credentials (servicex-api) are untouched and will be picked up automatically. SeeRELEASES.mdfor the full migration path.
Post tweets directly from Claude Code. Drafts the text, shows a preview with character count, and asks for approval before posting. Learns your voice over time from editing patterns and feedback.
/x:tweet Testing my new tweet skill from Claude Code
/x:tweet Announce the launch of our new attribution feature
Workflow:
- Draft tweet text (or use your text as-is)
- Preview with character count (max 280)
- Approve / Edit / Cancel
- Posts via X API v2, returns tweet URL
Fetch a tweet by URL or ID via the X API v2 and load it into the conversation as markdown — with author, timestamp, metrics, replied-to / quoted context, and media. Useful for "summarize this thread", "draft a reply to this", or quoting a tweet in another piece of writing.
/x:read https://x.com/jack/status/20
/x:read 20
Hand the resulting tweet ID to /x:tweet --reply-to <id> to chain a reply. Note: each read is metered by X (~$0.005 / post read on the standard tier).
Setup (one-time):
pip3 install requests-oauthlibOn first run, /x:tweet will pop up native macOS dialogs to store your X API credentials securely in Keychain (/x:read reuses the same credentials). Get keys from developer.x.com → your app → Keys and Tokens (Consumer Key/Secret + Access Token/Secret with Read+Write permissions).
Alternatively, set env vars in ~/.zshrc: X_API_KEY, X_API_SECRET, X_ACCESS_TOKEN, X_ACCESS_TOKEN_SECRET.
Evaluate any skill's design quality against best practices. Scores 10 dimensions (29-point rubric), detects anti-patterns, and optionally applies safe fixes.
/skill-reviewer publisher-lookup → Review by skill name
/skill-reviewer --fix my-skill → Review + auto-apply safe fixes
/skill-reviewer --compare skill-a skill-b → Side-by-side comparison
/skill-reviewer --with-logs my-skill → Review + include transcript usage evidence
Dimensions scored: Progressive Disclosure, Description Quality, Gotchas, Non-Obvious Content, Flexibility, Setup & Config, Memory, Scripts, Frontmatter, Hooks Integration.
Grades: A (25-29), B (20-24), C (15-19), D (10-14), F (0-9)
Skill cleanliness signals (v1.1.0): Every per-skill review now includes a "Skill Cleanliness Signals" section adapting the skill-cleaner methodology by @steipete — description budget cost, duplicates across roots (with keep-priority), and opt-in usage evidence via --with-logs. Read-only; informs the rubric, doesn't replace it.
Search past Claude Code and Codex session history by keyword and get the right resume command (claude --resume <id> or codex resume <id>) to pick up where you left off. Results from both sources interleave by recency, each tagged with its source.
/find-session deploy → Search current project (both sources) for "deploy"
/find-session --all taboola → Search across all projects
/find-session --all --codex taboola → Codex sessions only
/find-session --all --json auth → Structured JSON output
Features:
- Two sources in one search: Claude Code (
~/.claude/projects/) and Codex (~/.codex/sessions/) --source claude|codex|both(defaultboth), with shorthand--claude/--codex/--both- Searches user messages and custom titles (not assistant text); Codex previews skip injected
role: userboilerplate (# AGENTS.md,<environment_context>, etc.) - Word-boundary matching for clean terms, literal match for punctuation (
claude-mem,c++) - Shows custom title (from
/rename) when set, falls back to first message preview (Codex has no titles → always preview-based) - Codex subagent sessions (guardian judges, spawned children) excluded by default;
--include-subagentsto keep them - Optional Haiku summarization for untitled sessions (asks before running)
--jsonmode for programmatic use (addssource+ per-resultresume_cmd)- Git-aware project root resolution (works from subdirectories); Codex sessions scoped by recorded
cwd
Configuration (config.json):
| Setting | Default | Description |
|---|---|---|
max_results |
20 | Max sessions to show |
use_haiku_summary |
true | Enable Haiku summarization prompt |
haiku_threshold |
50 | Max results for Haiku to trigger |
haiku_model |
claude-haiku-4-5-20251001 |
Model for summarization |
exclude_slugs |
[] |
Project slugs to skip in --all mode |
Review any project's .claude/ folder setup against best practices. Scores 8 dimensions (24-point rubric), detects anti-patterns, and produces an actionable improvement report.
/claude-reviewer → Review current project
/claude-reviewer ~/Code/myproject → Review specific project
/claude-reviewer --global → Review only ~/.claude/ global config
/claude-reviewer --with-logs → Add transcript-based unused-skill detection
Skill fleet audit (v1.2.0): Every report now includes a ## Skill Fleet Audit section adapting the skill-cleaner methodology by @steipete at fleet level — total budget, trim candidates, duplicates across roots, and opt-in unused detection. Companion to skill-reviewer v1.1.0's per-skill signals.
Dimensions scored: CLAUDE.md Quality, Permission Hygiene, Modular Instructions, Custom Commands, Skills Setup, Agent Configuration, Git Hygiene, Progressive Disclosure.
Grades: A (21-24), B (16-20), C (11-15), D (6-10), F (0-5)
Live flight data, destination weather, and historical delay analysis for Ben Gurion Airport (TLV), pulling from data.gov.il (flights) and Open-Meteo (weather). A SessionStart hook quietly snapshots flight data so the historical database accumulates over time.
/natbag departures → Departures board (status, gate, terminal)
/natbag arrivals → Arrivals board
/natbag LY001 → Status of a specific flight
/natbag delayed → Only delayed / canceled flights
/natbag weather Paris → Current weather at a destination city
/natbag history El Al → On-time / delay history for an airline
Features:
- Bilingual (Hebrew + English) input and output
- Rolling ~3-day live window; gates, terminals, check-in zones
- Local SQLite history accrues daily snapshots → on-time performance, delay/cancellation rates, per-flight change tracking
- Ships IATA reference data (999 airlines, 9,240 airports); user history lives in
~/.natbag/ - Pure Python 3 stdlib +
sqlite3+curl— no API keys, no pip installs
Primes Claude with a peer-collaborator stance at SessionStart (based on Amanda Askell's prompting philosophy — positive framing, permission to push back, no apology spirals). A SessionStart hook injects the frame from frame.md; edit that file to tune the stance.
| Command | Description |
|---|---|
/coacher:status |
Integrity check — verify the frame is in the current context |
/coacher:audit |
Cross-check frame.md against your CLAUDE.md and flag stance conflicts |
/coacher:reset |
Re-anchor the frame mid-session if Claude drifts into hedging |
/coacher:rant <text> |
Vent raw frustration → Claude extracts the intent and acts on it |
Requires python3 (stdlib only). The hook degrades gracefully — if python3 is missing or the frame is empty, it exits cleanly with no failure.
| Command | Description |
|---|---|
/setup-pulse |
Install claude-pulse statusline |
Installs claude-pulse - shows real-time context usage in your statusline.
/setup-pulse
After running, you'll see: 72k/200k (36%) with color-coded warnings (green/yellow/red).
Contributions welcome! Feel free to open a PR or issue.
Free to use with attribution. Credit: Omri Ariav