Skills and configuration for AI coding agents. Works with Claude Code, OpenCode, Codex, and Amp.
| Skill | What It Does |
|---|---|
| ask-questions-if-underspecified | Requirement clarification. Ask focused questions before implementing. |
| browse-site | Browser automation using agent-browser CLI. Navigate, click, fill forms, screenshot, scrape. |
| code-simplifier | Simplifies and refines code for clarity, consistency, and maintainability while preserving behavior. |
| create-plan | Generate concise implementation plans. Scope, action items, open questions, documentation links. |
| create-spec | Create or update SPEC.md from requirements, notes, or interview output. Structures information into consistent spec format. |
| create-vault | Create Ampi-ready SQLite vaults from document folders or existing SQLite tables with search contracts. |
| execute-plan | Work through PLAN.md one task at a time. Questions before action, summaries after, learning persistence. |
| fetch-github-file | Fetch source code from GitHub URLs. Auto-triggers on GitHub file links and supports line ranges, directories, and full repo clones via gh CLI. |
| frontend-design | Build distinctive, production-grade interfaces that don't look like AI slop. Opinionated about typography, color, motion, and spatial composition. |
| frontend-slides | Create stunning, animation-rich HTML presentations, including PPT/PPTX-to-web workflows. |
| guide | Interactive teaching mode. Orchestrates clarification, planning, and guided execution. |
| interview | Deep requirements gathering through exhaustive questioning. Hands off to create-spec or create-plan when complete. |
| liveview-forms | Build correct, resilient forms in Phoenix LiveView. Validation, error feedback, recovery, nested forms, uploads. |
| liveview-optimistic-ui | Build LiveView interactions that feel instant. JS commands, streams, error recovery, race conditions, accessibility. |
| mcp-builder | Build high-quality MCP servers for Python (FastMCP) and Node/TypeScript MCP SDK integrations. |
| project-memory | Maintain durable, project-specific memory in MEMORY.md. Persists preferences, conventions, and lessons across sessions. |
| roadmap | Create a ROADMAP.md for open source projects. Vision, milestones, timeline (Now/Next/Later/Future). Follows open source conventions. |
| skill-creator | Meta-skill for building new skills. Structure, progressive disclosure, bundled resources. |
| smart-commit | Analyze unstaged changes, group into atomic commits, generate conventional commit messages. |
| spec-story | Transform a dense SPEC.md into an entertaining narrative. Same information, actually fun to read. |
| stop-slop | Remove AI writing patterns from prose. Eliminate filler phrases, formulaic structures, and predictable AI tells. |
| tech-docs-writer | Technical writer that transforms codebases into clear documentation. README files, API docs, architecture guides. |
| update-deps | Update Elixir Mix/Hex dependencies safely, including verification and migration handling. |
| write-test | Write meaningful tests using coverage as a guide. Prioritizes real user workflows over implementation details. |
| Agent | What It Does |
|---|---|
| create-plan | Create implementation plans through interviewing. Thinks deeply before planning. |
| execute-plan | Execute PLAN.md tasks one at a time with human oversight. |
| plan-reviewer | Deep analysis of PLAN.md before execution. Validates against codebase, checks task decomposition, identifies risks. |
| Script | What It Does |
|---|---|
| wiggum | Autonomous coding loop (Ralph Wiggum technique). Iterates through a plan until complete. |
The guide skill orchestrates a full learning workflow:
┌─────────────────────────────────────────────────────────────────────────┐
│ guide skill │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Clarify │───▶│ Plan │───▶│ Teach │───▶│ Archive │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ ask-questions create-plan Guide through history/YYYY-MM-DD- │
│ skill workflow each item plan-<name>.md │
│ ─▶ PLAN.md with hints │
│ │
└─────────────────────────────────────────────────────────────────────────┘
- Clarify — Uses ask-questions to gather requirements one at a time (voice-friendly)
- Plan — Creates PLAN.md with action items, scope, and documentation links
- Teach — Guides you through each step with hints, not solutions
- Archive — Moves completed plan to
history/YYYY-MM-DD-plan-<name>.md
For standalone planning without teaching, use create-plan directly.
The Ralph Wiggum technique lets you run an AI agent in a loop until work is complete. Based on Geoffrey Huntley's methodology.
Wiggum supports two modes:
Uses a PLAN.md file with checkboxes. Exits when all [ ] become [x].
┌─────────────────────────────────────────────────────────────────────────┐
│ Plan Mode Loop │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Plan │───▶│ Pick │───▶│ Complete │───▶│ Commit │──┐ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │ │
│ create-plan ONE task Verify via git commit │ │
│ ─▶ PLAN.md from plan tests/lint (no push) │ │
│ │ │
│ ◀──────────────────────────────────────────────┘ │
│ Loop until all tasks [x] complete │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Step 1: Create a plan
amp "create a plan for adding user authentication"
# or
claude "create a plan for adding user authentication"Step 2: Run the loop
wiggum PLAN.md # Interactive (confirm each task)
wiggum --auto PLAN.md # Autonomous (let it run)
wiggum --auto --max 20 PLAN.md # With iteration limitUses a prompt string. Exits when Claude outputs <promise>DONE</promise>.
Best for well-defined, verifiable tasks without a plan file:
# Fix lint errors until clean
wiggum --prompt "Fix all ESLint errors. Run npm run lint to verify."
# Make tests pass
wiggum --auto --prompt "Make all tests in src/auth pass" --promise "TESTS_PASS"
# Refactor with verification
wiggum --prompt "Convert all class components to functional components"How it works: Each iteration, Claude sees the current codebase state (including changes from previous iterations). The codebase carries the progress, even though each Claude instance is stateless.
| Flag | Description |
|---|---|
-a, --auto |
Auto-continue without confirmation |
-m, --max N |
Maximum iterations (cost control) |
--prompt TEXT |
Task prompt (enables promise mode) |
--promise TEXT |
Completion signal (default: DONE) |
- Stateless iterations — Each run re-reads full context, preventing drift
- Plan evolution — Claude updates the plan when reality diverges (splits tasks, adds blockers)
- Operational learning — Discoveries are written to AGENTS.md for future iterations
- Safe commits — Commits after each task, never pushes (you review and push)
"If Ralph falls off the slide, you don't just put him back — you put up a sign that says 'SLIDE DOWN, DON'T JUMP.'"
Each failure teaches what guardrails to add. Tune the plan, tune AGENTS.md, iterate.
For human-in-the-loop execution where you want oversight and learning:
┌─────────────────────────────────────────────────────────────────────────┐
│ Manual Execution Flow │
├─────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │create-plan │───▶│execute-plan│───▶│execute-plan│───▶ ... ───▶ Done │
│ └────────────┘ └────────────┘ └────────────┘ │
│ │ │ │ │ │
│ ▼ ▼ ▼ ▼ │
│ PLAN.md Task 1 done Task 2 done Archive spec to│
│ created + summary + summary specs/ │
│ │
│ Human triggers each step. Reviews. Commits when ready. │
│ │
└─────────────────────────────────────────────────────────────────────────┘
Workflow:
- Create a plan:
"create a plan for adding OAuth support" - Execute tasks one at a time:
"execute the plan"or"continue the plan" - Agent asks clarifying questions before acting
- After each task: marks
[x]and adds inline summary - Commit when ready:
/smart-commit - Repeat until done, then archive
SPEC.mdtospecs/YYYY-MM-DD-<title>.mdand removePLAN.md
Key behaviors:
- Questions first — Unlike wiggum, asks before acting (human is present)
- One task at a time — Complete focus, then hand back control
- Learning persistence — Updates AGENTS.md with project conventions discovered
- Documentation updates — Checks
docs/and updates if building user-facing features - Plan mutations — Splits tasks, adds blockers, restructures as needed
When to use which:
| Scenario | Use |
|---|---|
| Well-defined tasks, want speed | wiggum --auto |
| Learning a new codebase | execute-plan |
| Complex decisions needed | execute-plan |
| Repetitive refactoring | wiggum |
| Building new features | execute-plan |
Add the marketplace and install specific skills:
# Add the marketplace (one time)
/plugin marketplace add wunki/amplify
# Install individual skills
/plugin install browse-site@amplify
/plugin install frontend-design@amplify
/plugin install fetch-github-file@amplifyOr install everything at once:
/plugin install wunki/amplifyClone and run make to install for all detected tools:
git clone https://github.com/wunki/amplify.git
cd amplify
makeThis detects which tools you have installed (Claude Code, OpenCode, Codex, Amp) and copies skills, agents, and configuration to each.
To install for a specific tool only:
make claude # Claude Code only
make opencode # OpenCode only
make codex # Codex only
make amp # Amp onlyUse the skill installer:
$skill-installer wunki/amplify/browse-site
$skill-installer wunki/amplify/frontend-designAmp reads skills from .agents/skills/ in your workspace. Either:
- Run
make ampto install to~/.config/amp/skills/ - Or copy skills directly to your project's
.agents/skills/directory
| Tool | Skills Directory |
|---|---|
| Claude Code | ~/.claude/skills/ |
| OpenCode | ~/.claude/skills/ (shared with Claude Code) |
| Codex | ~/.codex/skills/ |
| Amp | ~/.config/amp/skills/ |
OpenCode reads from ~/.claude/skills/, so this repo uses that shared location instead of installing a separate OpenCode skills directory.
The config/ directory contains tool-specific settings:
config/
├── AGENTS.md # Shared agent profile (symlinked to all tools)
├── amp/
│ └── settings.json
├── codex/
│ └── config.toml
└── opencode/
├── opencode.json
└── themes/
config/AGENTS.md is the shared agent profile that gets symlinked to each tool's configuration directory. Edit it once, changes propagate everywhere.
- Create
skills/<name>/SKILL.mdwith frontmatter:--- name: skill-name description: What it does. Include trigger phrases for auto-activation. ---
- Add
scripts/for executable code,references/for on-demand docs - Run
make
Config files are symlinked (changes propagate immediately).
Skills and agents are rsynced (run make after changes).
The Makefile auto-discovers skills in skills/ and agents in agents/, then distributes them to each tool's expected location.
All three major tools use the same SKILL.md format with YAML frontmatter. The only difference is directory location. This repo handles that by:
- Storing skills once in
skills/ - Using
maketo copy to each tool's directory - Providing a Claude Code marketplace for plugin-based installation
| Feature | Claude Code | Codex | Amp |
|---|---|---|---|
| Skill format | SKILL.md | SKILL.md | SKILL.md |
| Plugin system | Yes (marketplace) | Yes ($skill-installer) | No |
| Config file | CLAUDE.md | AGENTS.md | AGENTS.md |
There's a slide deck in docs/presentation.md that explains the philosophy behind this repo. Run it with slides:
brew install slides
slides docs/presentation.mdMIT. Individual skills may have their own licenses (see LICENSE.txt in skill directories).