obra.
84 skills across 13 repos
- 100/100
Commenting Intent
Comment WHY code exists and non-obvious decisions, not WHAT code does (mechanics)
- 100/100
Creating Skills
TDD for process documentation - test with subagents before writing, iterate until bulletproof
- 100/100
Designing Before Coding
Design in pseudocode first, iterate approaches, then translate to code
- 100/100
Domain-Focused Naming
Name code by what it does in the domain, not how it's implemented or its history
- 100/100
Encapsulating Complexity
Hide implementation details behind interfaces - work at domain level (what), not implementation level (how)
- 100/100
Exploring Alternatives
Try 2-3 different approaches before implementing - don't settle for first design you think of
- 100/100
Installing Skills System
Fork, clone to ~/.clank, run installer, edit CLAUDE.md
- 100/100
Keeping Routines Focused
Each routine does one thing and does it well - extract when routines have multiple responsibilities
- 100/100
Localizing Variables
Declare variables in smallest possible scope, initialize close to first use, minimize span and live time
- 100/100
Maintaining Consistent Abstractions
Class interfaces present one cohesive abstraction - don't mix domain logic with serialization, persistence, or unrelated concerns
- 100/100
Naming Variables
Choose names that fully and accurately describe what the variable represents
- 100/100
Reducing Complexity
Managing complexity is software's primary technical imperative - all other goals are secondary
- 100/100
Refactoring Safely
Refactor with tests first, one change at a time, never mix refactoring with bug fixes or new features
- 100/100
Simplifying Control Flow
Flatten nested conditionals with early returns or table-driven methods - keep nesting depth under 3 levels
- 100/100
Single Purpose Variables
Use each variable for exactly one purpose - no hybrid coupling or hidden meanings
- 100/100
Validating Inputs
Check all external inputs for validity - garbage in, nothing out, never garbage out
- 100/100
Writing Evergreen Comments
Write comments explaining WHAT and WHY, never temporal context or history
- 100/100
chronicle
|
- 100/100
e2e-scenario-testing
Use when verifying a running application end-to-end through its real interface — a web UI, a CLI, or a TUI — by writing and executing agent-run "scenario cards" against a freshly built instance with falsifiable assertions. Trigger on "test it end to end", "prove the UI actually works", "write/run a scenario", or after a change touches a user-facing surface that unit tests can't fully cover. Not for unit tests, pure code review, or API-only checks.
- 100/100
maintaining-documentation
Use when documentation needs creating, checking, or maintaining — docs may have drifted from code, pre-release doc verification, updating docs after finishing code work, adding or enforcing project terminology, deciding where a new doc should live, or a routine re-audit of previously verified docs.
- 100/100
roborev-design-review
Request a design review for a commit and present the results
- 100/100
roborev-design-review-branch
Request a design review for all commits on the current branch and present the results
- 100/100
roborev-fix
Use when the user asks to fix open failing reviews, invokes /roborev-fix, or provides job IDs; do not use when the user only pastes review findings with no request to discover or close reviews
- 100/100
roborev-refine
Iterative review-fix loop for the current branch — reviews via daemon, fixes inline, re-reviews until passing or max iterations reached
- 100/100
roborev-respond
Add a comment to a roborev code review and close it
- 100/100
roborev-review
Request a code review for a commit and present the results
- 100/100
roborev-review-branch
Request a code review for all commits on the current branch and present the results
- 100/100
syncing-obsidian
Use when reading or writing files in an Obsidian vault that is synced with obsync. Ensures changes are pulled before reading and pushed after writing. Also covers sync status, file history, version restore, and diagnosing sync issues.
- 100/100
maintaining-macos-defaults
Use on demand to reconcile a Mac's GUI-changed settings into version control — when the user says "reconcile my mac defaults", "capture my macOS settings", or after they've changed System Settings and want the keepers tracked. Drives homedir-manager's `defaults` verb (capture/drift/apply) against a versioned desired-state file.
- 100/100
managing-homedir
Use when adding, changing, deploying, onboarding, or auditing homedir-manager content repos — the marker-based symlink deployment system that manages dotfiles and config across your machines. Covers the update workflow, the manifest, OS-splitting, secrets, new-machine onboarding, and the audit process.
- 100/100
blender-reconstruct
Build and review evidence tagged Blender architectural candidates while preserving unrelated scene content.
- 100/100
depth-inspect
Inspect native RGB, depth, confidence, calibration, and poses to make finite, source traceable reference points and surface measurements.
- 100/100
scan-ingest
Preserve and inventory scan archives while retaining capture variants, hashes, calibration, and frame provenance.
- 100/100
scan-register
Fit and independently validate rigid scan alignment from named, source traceable correspondences.
- 100/100
scan-to-model
Coordinate evidence based reconstruction from scans, photos, plans, and measurements into a reviewable Blender architectural model.
- 100/100
source-observe
Use when cataloging or annotating visible construction in photographs or scan RGB, especially before registration or while the base model may be replaced.
- 100/100
street-view-reference
Collect and verify Google Street View exterior references for a building reconstruction, preserving panorama identity, imagery dates, attribution and viewpoint separately from calibrated scan evidence.
- 100/100
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, or modifying behavior. Explores user intent, requirements and design before implementation.
- 100/100
dispatching-parallel-agents
Use when facing 2+ independent tasks that can be worked on without shared state or sequential dependencies
- 100/100
executing-plans
Use when you have a written implementation plan to execute in a separate session with review checkpoints
- 100/100
finishing-a-development-branch
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work
- 100/100
receiving-code-review
Use when receiving code review feedback, before implementing suggestions, especially if feedback seems unclear or technically questionable - requires technical rigor and verification, not performative agreement or blind implementation
- 100/100
requesting-code-review
Use when completing tasks, implementing major features, or before merging to verify work meets requirements
- 100/100
subagent-driven-development
Use when executing implementation plans with independent tasks in the current session
- 100/100
systematic-debugging
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
- 100/100
test-driven-development
Use when implementing any feature or bugfix, before writing implementation code
- 100/100
using-git-worktrees
Use when starting feature work that needs isolation from current workspace or before executing implementation plans - ensures an isolated workspace exists via native tools or git worktree fallback
- 100/100
using-superpowers
Use when starting any conversation - establishes how to find and use skills, requiring skill invocation before ANY response including clarifying questions
- 100/100
verification-before-completion
Use when about to claim work is complete, fixed, or passing, before committing or creating PRs - requires running verification commands and confirming output before making any success claims; evidence before assertions always
- 100/100
writing-plans
Use when you have a spec or requirements for a multi-step task, before touching code
- 100/100
writing-skills
Use when creating new skills, editing existing skills, or verifying skills work before deployment
- 100/100
developing-claude-code-plugins
Use when working on Claude Code plugins (creating, modifying, testing, releasing, or maintaining) - provides streamlined workflows, patterns, and examples for the complete plugin lifecycle
- 100/100
example-workflow
Use when demonstrating plugin workflow features - shows how skills can guide multi-step processes
- 100/100
working-with-claude-code
Use when working with Claude Code CLI, plugins, hooks, MCP servers, skills, configuration, or any Claude Code feature - provides comprehensive official documentation for all aspects of Claude Code
- 100/100
finding-duplicate-functions
Use when auditing a codebase for semantic duplication - functions that do the same thing but have different names or implementations. Especially useful for LLM-generated codebases where new functions are often created rather than reusing existing ones.
- 100/100
mcp-cli
Use MCP servers on-demand via the mcp CLI tool - discover tools, resources, and prompts without polluting context with pre-loaded MCP integrations
- 100/100
using-tmux-for-interactive-commands
Use when you need to run interactive CLI tools (vim, git rebase -i, Python REPL, etc.) that require real-time input/output - provides tmux-based approach for controlling interactive sessions through detached sessions and send-keys
- 60/100
windows-vm
Create, manage, or connect to a headless Windows 11 VM running in Docker with SSH access. Use when the user wants to spin up, stop, restart, or SSH into a Windows VM.
- 100/100
Brainstorming Ideas Into Designs
Interactive idea refinement using Socratic method to develop fully-formed designs
- 100/100
Code Review Reception
Receive and act on code review feedback with technical rigor, not performative agreement or blind implementation
- 100/100
Collision-Zone Thinking
Force unrelated concepts together to discover emergent properties - "What if we treated X like Y?"
- 100/100
Condition-Based Waiting
Replace arbitrary timeouts with condition polling for reliable async tests
- 100/100
Defense-in-Depth Validation
Validate at every layer data passes through to make bugs impossible
- 100/100
Gardening Skills Wiki
Maintain skills wiki health - check links, naming, cross-references, and coverage
- 100/100
Getting Started with Skills
Skills wiki intro - mandatory workflows, search tool, brainstorming triggers
- 100/100
Inversion Exercise
Flip core assumptions to reveal hidden constraints and alternative approaches - "what if the opposite were true?"
- 100/100
Meta-Pattern Recognition
Spot patterns appearing in 3+ domains to find universal principles
- 100/100
Preserving Productive Tensions
Recognize when disagreements reveal valuable context, preserve multiple valid approaches instead of forcing premature resolution
- 100/100
Pulling Updates from Skills Repository
Sync local skills repository with upstream changes from obra/superpowers-skills
- 100/100
Remembering Conversations
Search previous Claude Code conversations for facts, patterns, decisions, and context using semantic or text search
- 100/100
Root Cause Tracing
Systematically trace bugs backward through call stack to find original trigger
- 100/100
Scale Game
Test at extremes (1000x bigger/smaller, instant/year-long) to expose fundamental truths hidden at normal scales
- 100/100
Sharing Skills
Contribute skills back to upstream via branch and PR
- 100/100
Simplification Cascades
Find one insight that eliminates multiple components - "if this is true, we don't need X, Y, or Z"
- 100/100
Test-Driven Development (TDD)
Write the test first, watch it fail, write minimal code to pass
- 100/100
Testing Anti-Patterns
Never test mock behavior. Never add test-only methods to production classes. Understand dependencies before mocking.
- 100/100
Testing Skills With Subagents
RED-GREEN-REFACTOR for process documentation - baseline without skill, write addressing failures, iterate closing loopholes
- 100/100
Tracing Knowledge Lineages
Understand how ideas evolved over time to find old solutions for new problems and avoid repeating past failures
- 100/100
When Stuck - Problem-Solving Dispatch
Dispatch to the right problem-solving technique based on how you're stuck