typescript-utility-types
Use when typeScript utility types, mapped types, and advanced type manipulation. Use when creating flexible, type-safe TypeScript code.
baseline-restorer
Use when multiple fix attempts fail and you need to systematically restore to a working baseline and reimplement instead of fixing broken code.
Full skill instructions
Enforces methodical problem-solving by reverting to last known working state and reimplementing step-by-step instead of trying to fix accumulated broken changes.
When something breaks after multiple failed fix attempts:
# Find last known working state
git log --oneline -20
git show origin/beta:path/to/file.sh # Check beta/main branch
git diff origin/beta -- path/to/file.sh # What changed?
# Verify baseline works
git stash
git checkout origin/beta -- path/to/file.sh
# Test it - does it work?
# Get exact differences
git diff baseline..current -- path/to/file.sh
# Understand each change
# For EACH diff hunk, ask:
# - Why was this changed?
# - What problem was it trying to solve?
# - Did it actually solve that problem?
# Hard revert to working state
git checkout origin/beta -- path/to/file.sh
git add path/to/file.sh
git commit -m "Revert to working baseline from beta"
# Verify baseline works
./test-locally.sh
# Must pass before proceeding
Critical: Don't proceed until baseline is verified working.
Make ONE small change
# Example: Replace sed with awk in ONE function
# Don't change 5 things at once
Test locally immediately
./run-generation-script.sh
terraform validate
# Must pass before committing
Commit if working
git add changed-file.sh
git commit -m "Replace sed with awk in function X"
If it breaks, revert immediately
git reset --hard HEAD~1
# Try different approach or understand why it broke
Repeat for next change
# Run full test suite
make test
terraform validate
# Compare with original broken state
# Did we achieve the goal without breaking things?
# Push only after local verification
git push
Before committing ANY change:
# Made 10 changes trying to "optimize" variable filtering
# Each fix broke something new
# Spent day+ debugging
# Check beta branch - does it work?
git show origin/beta:terraform/build-module.sh > /tmp/beta-version.sh
bash /tmp/beta-version.sh # Verify it works
# Revert to beta version
git checkout origin/beta -- terraform/build-module.sh
# Now reimplement ONLY what's needed (e.g., sed→awk for portability)
# One function at a time, test each change
# Assume it's a CI environment issue
# Try 5 different "fixes" based on guesses
# Each creates new errors
# Find last passing pipeline
git log --oneline | head -20
# Check what changed since then
git diff <last-passing-commit>
# Revert suspicious changes
# Test locally before pushing
# Find working baseline
git log --oneline --all | grep "known working feature"
git show origin/beta:path/to/file
# Compare with baseline
git diff origin/beta -- path/to/file
git diff <working-commit> -- path/to/file
# Revert to baseline
git checkout origin/beta -- path/to/file
git checkout <working-commit> -- path/to/file
# Test locally
terraform validate
mix test
yarn test
# Verify no changes after running script
git diff # Should be empty if script is idempotent
Use when typeScript utility types, mapped types, and advanced type manipulation. Use when creating flexible, type-safe TypeScript code.
Use when writing shell scripts that need to run across different systems, shells, or environments. Covers POSIX compatibility and platform differences.
Use when optimizing Tailwind CSS for production, reducing bundle size, and improving performance. Covers PurgeCSS, JIT mode, and build optimization.
Generate production-ready code from a Figma component or frame using the Figma MCP server
Use when integrating Dialyzer into development workflows and CI/CD pipelines for Erlang/Elixir projects.
Use when ruboCop configuration including YAML config, departments, inheritance, and customization.
Use when Elixir OTP patterns including GenServer, Supervisor, Agent, and Task. Use when building concurrent, fault-tolerant Elixir applications.
Use when creating custom Ameba rules for Crystal code analysis including rule development, AST traversal, issue reporting, and rule testing.
Use when swift's optional handling patterns including optional binding, chaining, nil coalescing, and modern approaches to safely working with optional values while avoiding common pitfalls and force unwrapping.
Use when annotating code with structured metadata, tags, and markers for AI-assisted development workflows. Covers annotation formats, semantic tags, and integration with development tools.
Use when scala collections including immutable/mutable variants, List, Vector, Set, Map operations, collection transformations, lazy evaluation with views, parallel collections, and custom collection builders for efficient data processing.
Use when creating custom React Flow nodes, edges, and handles. Covers custom node components, resizable nodes, toolbars, and advanced customization.
Generate, edit, and beat-sync AI video with leading models in one workspace.
The world's fastest calendar for remote work
Transform Your Design with AI Designer by ImgCreator.ai
Revolutionizing Video Production with AI-Powered Creativity
Extend an image past the frame and let AI fill the new aspect ratio.
Discover your celebrity doppelgänger with StarByFace!
ChainClarity explains 700+ crypto whitepapers in plain English, with layered summaries, comparisons, research tools, alerts, and a $4.99 Pro plan.
Opus.ai: Revolutionize Your Web Experience