magnusrodseth
User⚙️ There are many like them, but these dotfiles are mine. A stow-managed macOS setup: Zsh, Neovim, tmux, Ghostty, and a pile of Claude Code tooling.
Categories
Indexed Skills (56)
github-cli
GitHub CLI workflows for issues, labels, and PRs with proper linking, base branch handling, and structured descriptions
screenshots
Locate macOS screenshots saved to ~/screenshots/ and route them into downstream workflows — most commonly attaching to GitHub PR/issue/comment bodies via the gh image extension, but also useful for previewing, organizing, copying to clipboard, or feeding into other tools. Use when the user mentions "screenshots", "today's screenshots", "find a screenshot", "attach screenshots", "upload screenshot", "images on machine", or wants to locate, preview, or share a local screenshot.
dispatching-parallel-agents
Use multiple Claude agents to investigate and fix independent problems concurrently
defense-in-depth-validation
Validate at every layer data passes through to make bugs impossible
root-cause-tracing
Systematically trace bugs backward through call stack to find original trigger
systematic-debugging
Four-phase debugging framework that ensures root cause investigation before attempting fixes. Never jump to solutions.
verification-before-completion
Run verification commands and confirm output before claiming success
gardening-skills-wiki
Maintain skills wiki health - check links, naming, cross-references, and coverage
sharing-skills
Contribute skills back to upstream via branch and PR
writing-skills
TDD for process documentation - test with subagents before writing, iterate until bulletproof
address-copilot-review
Take a GitHub pull request through Copilot's code review end to end: check out the PR, fetch Copilot's summary and inline review comments, investigate the codebase to judge each one, apply agreed fixes, commit and push, then reply to and resolve each Copilot thread. Pauses for approval before any GitHub write and asks before dismissing a comment it disagrees with. Use when the user asks to "address the Copilot review", "go through Copilot comments", handle/triage a Copilot PR review, or reply to and resolve Copilot review threads on a PR.
agent-browser
Browser automation CLI for AI agents. Use when the user needs to interact with websites, including navigating pages, filling forms, clicking buttons, taking screenshots, extracting data, testing web apps, or automating any browser task. Triggers include requests to "open a website", "fill out a form", "click a button", "take a screenshot", "scrape data from a page", "test this web app", "login to a site", "automate browser actions", or any task requiring programmatic web interaction.
building-native-ui
Complete guide for building beautiful apps with Expo Router. Covers fundamentals, styling, components, navigation, animations, patterns, and native tabs.
playwright-cli
Automates browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to navigate websites, interact with web pages, fill forms, take screenshots, test web applications, or extract information from web pages.
product-marketing-context
When the user wants to create or update their product marketing context document. Also use when the user mentions 'product context,' 'marketing context,' 'set up context,' 'positioning,' or wants to avoid repeating foundational information across marketing tasks. Creates `.claude/product-marketing-context.md` that other marketing skills reference.
preserving-productive-tensions
Recognize when disagreements reveal valuable context, preserve multiple valid approaches instead of forcing premature resolution
brainstorming-ideas-into-designs
Interactive idea refinement using Socratic method to develop fully-formed designs
executing-plans
Execute detailed plans in batches with review checkpoints
finishing-a-development-branch
Complete feature development with structured options for merge, PR, or cleanup
code-review-reception
Receive and act on code review feedback with technical rigor, not performative agreement or blind implementation
requesting-code-review
Dispatch code-reviewer subagent to review implementation against plan or requirements before proceeding
subagent-driven-development
Execute implementation plan by dispatching fresh subagent for each task, with code review between tasks
using-git-worktrees
Create isolated git worktrees with smart directory selection and safety verification
writing-plans
Create detailed implementation plans with bite-sized tasks for engineers with zero codebase context
pulling-updates-from-skills-repository
Sync local skills repository with upstream changes from obra/superpowers-skills
testing-skills-with-subagents
RED-GREEN-REFACTOR for process documentation - baseline without skill, write addressing failures, iterate closing loopholes
scale-game
Test at extremes (1000x bigger/smaller, instant/year-long) to expose fundamental truths hidden at normal scales
address-review
Take a GitHub pull request's code review feedback end to end: check out the PR, fetch review summaries and unresolved inline threads from any reviewer (bots like Copilot and humans alike), investigate the codebase to judge each comment, apply agreed fixes, commit and push, then reply to each thread and resolve where appropriate. Pauses for approval before any GitHub write, asks before dismissing a comment it disagrees with, and leaves human-opened threads for the human to resolve unless told otherwise. Use when the user asks to "address the review", "address review comments", "go through the PR feedback", "address the Copilot review", handle/triage a PR review, or reply to and resolve review threads on a PR.
web-design-guidelines
Review UI code for Web Interface Guidelines compliance. Use when asked to "review my UI", "check accessibility", "audit design", "review UX", or "check my site against best practices".
remembering-conversations
Search previous Claude Code conversations for facts, patterns, decisions, and context using semantic or text search
collision-zone-thinking
Force unrelated concepts together to discover emergent properties - "What if we treated X like Y?"
inversion-exercise
Flip core assumptions to reveal hidden constraints and alternative approaches - "what if the opposite were true?"
meta-pattern-recognition
Spot patterns appearing in 3+ domains to find universal principles
conductor-setup
Set up Conductor (conductor.build) for a repository. Creates conductor.json, setup scripts for .env symlinking, and configures dev server run commands. Use when the user asks to "set up Conductor", "configure Conductor", "add conductor.json", "create conductor config", or mentions Conductor workspaces for a new or existing repo.
entur
Look up public transit travel times and routes in Norway using the Entur APIs. Use when the user asks about travel time, transit routes, how to get somewhere, or distance between locations in Norway. Triggers on "travel time from X to Y", "how long from X to Y", "reisetid fra X til Y", "transit from X to Y", "kollektivt fra X til Y", /entur, or any question about getting between two places via public transport in Norway.
few-shot-examples
Best practices for designing few-shot (input→output) examples in prompts for AI and agentic applications. Use when writing or reviewing prompts that need consistent formatting, structured/JSON output, classification, extraction, edge-case handling, or hallucination reduction; or when the user mentions few-shot, multishot, in-context examples, or "show the model an example".
find-skills
Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.
format-teams-message
Format a message for Microsoft Teams and copy it to the clipboard as HTML so Teams renders formatting (bold, headings, code blocks, lists, links, blockquotes) on paste. Use when the user wants to paste a formatted message into Teams. Triggers on "copy to teams", "format for teams", "teams message", "paste to teams", or any request to prepare a rich-formatted message for Microsoft Teams.
humanize
Detect and rewrite prose that reads as AI-generated. Strips em dashes, curly quotes, AI vocabulary (delve, underscore, tapestry, vibrant, robust), negative parallelisms ("not just X, but Y"), rule-of-three filler, weasel attributions, puffery, didactic disclaimers, and citation artifacts. Use when the user says "humanize this", "de-slop", "make this less AI", "sounds like ChatGPT", "remove AI tells", "rewrite without AI voice", "this reads AI-generated", or pastes prose for cleanup.
image-generation
Generate and edit images via OpenAI's gpt-image-2 (ChatGPT Images 2.0) API. Use when the user asks to "generate an image", "create an image", "make a picture of X", "draw X", "edit this image", "remove the background from this image", "extend this image", "regenerate this image with Y", or invokes /image-generation. Outputs PNG/JPEG/WebP files to disk. Requires OPENAI_API_KEY in the environment.
merge-resolver
Git expert that analyzes merge conflicts by examining branches, commits, and diffs to provide resolution recommendations. Use when there are merge conflicts to resolve. Triggers on "merge conflict", "resolve conflict", "git conflict", "CONFLICT in", or when git status shows unmerged paths.
notion-cli
Interact with Notion via the `ntn` CLI — create, read, update, and trash pages; upload files; manage blocks via the public API. Use when the user wants to publish content to Notion, post a blog post or document to a Notion database, upload images to Notion, manage Notion pages from the command line, or asks about ntn / Notion CLI / NOTION_API_TOKEN / Notion integrations.
Export markdown as professional PDF using pandoc + eisvogel + xelatex. Use when the user asks to: create a PDF, export markdown to PDF, generate a report/handout/document as PDF, or when they mention PDF, pandoc, print-ready, or document export.
sparring-partner
Intellectual sparring partner for refining ideas, strategies, and decisions. Use when you need someone to challenge your thinking, poke holes in plans, or explore alternatives. Triggers on "challenge this", "poke holes", "devil's advocate", "stress test this idea", "what am I missing", or any request for constructive critical feedback on ideas or plans.
tanstack-seo
Complete SEO setup for TanStack Router / TanStack Start projects. Covers: dynamic OG image generation with Satori + Resvg, centralized SEO config and meta tag helpers, structured data (JSON-LD) for Organization/WebSite/Article/FAQ/Breadcrumb/Software schemas, dynamic XML sitemap, robots.txt, llms.txt for AI crawlers, per-route head functions with canonical URLs, Twitter Cards, Open Graph tags, web manifest, and favicon configuration. Use when setting up SEO for a new TanStack project, adding OG image generation, creating sitemaps, adding structured data, implementing meta tags, or optimizing a TanStack site for search engines and social sharing.
vault
Extract insights from conversations and store them in your Obsidian vault. Use when you want to capture learnings, how-to guides, brags, decisions, or any knowledge from the current chat into your second brain. Triggers on "save to vault", "store this in obsidian", "capture this learning", "add to vault", "remember this in obsidian", or any request to persist knowledge to the Obsidian vault.
opencode-docs
OpenCode + OhMyOpenCode configuration reference - agents, tools, MCP, skills, commands, hooks, permissions, providers, and Sisyphus orchestration patterns
vercel-react-best-practices
React and Next.js performance optimization guidelines from Vercel Engineering. This skill should be used when writing, reviewing, or refactoring React/Next.js code to ensure optimal performance patterns. Triggers on tasks involving React components, Next.js pages, data fetching, bundle optimization, or performance improvements.
aso-keyword-research
App Store Optimization keyword research using the public iTunes Search API. Computes keyword popularity (5-100) and difficulty (1-100) scores based on RespectASO algorithms. Use when the user asks to research ASO keywords, find keyword opportunities, check keyword difficulty, analyze App Store competition, optimize App Store keywords, or find sweet spot keywords. Triggers on "ASO", "keyword research", "keyword difficulty", "keyword popularity", "App Store keywords", "App Store optimization keywords".
image-processing
Process images in TypeScript/JavaScript using Bun's built-in Bun.Image API — resize, crop, rotate, flip, compress, convert formats (JPEG/PNG/WebP/HEIC/AVIF), generate blurry placeholders (LQIP/ThumbHash), and read metadata. Use when the user mentions image processing, resizing, cropping, downsizing, compressing, thumbnails, converting image formats, WebP/AVIF/HEIC conversion, image optimization, placeholder/LQIP/blur-up, EXIF/orientation, palette/indexed PNG, stripping metadata, or working with images from S3, file uploads, or clipboards in a Bun project. Also trigger on "make this image smaller", "thumbnail this", "convert to webp", "generate a blur placeholder", or any chained image pipeline task. Replaces sharp on Bun.
linkedin-mcp
Read LinkedIn DMs/threads, look up people and company profiles, search and inspect job postings, and send messages or connection requests via the linkedin MCP server. Use when the user asks to check LinkedIn messages/inbox, read a conversation, search messages, look up a profile or company, search jobs, send a LinkedIn DM, or send/accept a connection request.
git-branch-cleanup
Safely delete local git branches that are already merged, squash/rebase-merged, or whose remote was deleted, while protecting the current branch, the default branch, and any worktree-checked-out branch. Use when the user wants to clean up, prune, tidy, or delete "done"/merged/stale local branches, shrink a long `git branch` list, or remove branches after merging a PR.
read-up-on
Jog the agent's memory on a topic, person, or project that lives somewhere in the user's Obsidian vault (second brain). Works from any directory on the machine. Use when the user says "read up on X", "catch me up on X", "what do I know about X", "remind yourself about X", or otherwise asks for a briefing on a subject they expect to be in their vault but won't say where.
scaffold-presentation
Scaffold a new slide deck in the user's central presentations repo (~/dev/personal/presentations), sourcing content from the current code repo, the current conversation, or material in the Obsidian vault, and matching or creating a brand theme. Works from any directory. Use when the user says "make a presentation about X", "scaffold a deck", "turn this into slides", "lag en presentasjon om X", "create a talk from this repo/conversation", or wants to present something they have been working on.
copy-to-clipboard
Format text/messages nicely based on context and copy to clipboard using pbcopy. Use when the user wants to draft and copy a message, email, post, or any text to their clipboard. Triggers on "copy to clipboard", "draft a message", "write an email and copy it", "copy this", or any request to prepare and copy text for pasting elsewhere.
youtube-transcribe
Transcribe YouTube videos and extract key information using yt-dlp. Use when the user shares a YouTube URL and wants to transcribe it, summarize it, extract key points, or dump learnings from a video. Triggers on YouTube links (youtube.com/watch, youtu.be) combined with requests to "transcribe", "summarize", "watch", "extract", "key points", "notes from this video", or "what does this video say".
Bio shown is the top-scored skill's repo description as a fallback — real GitHub bios land in a future update.