diff --git a/README.md b/README.md
index b5bf809..498309e 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@ Install `bitcoinui` in your AI coding tool.
### [Claude](https://code.claude.com/docs/en/slash-commands)
```sh
-curl -L -o ~/.claude/commands/bitcoinui.md https://bitcoinui.ai/bitcoinui.md
+curl -fsSL https://bitcoinui.ai/install.sh | bash
claude
/bitcoinui
```
@@ -43,7 +43,7 @@ claude
### [Codex](https://github.com/openai/codex/blob/main/docs/skills.md)
```sh
-curl -fsSL https://bitcoinui.ai/install-codex.sh | bash
+curl -fsSL https://bitcoinui.ai/install.sh | bash
codex
$bitcoinui
```
@@ -51,7 +51,7 @@ $bitcoinui
### [Cursor](https://cursor.com/docs/agent/chat/commands)
```sh
-curl -L -o ~/.cursor/commands/bitcoinui.md https://bitcoinui.ai/bitcoinui.md
+curl -fsSL https://bitcoinui.ai/install.sh | bash
cursor
/bitcoinui
```
@@ -59,7 +59,7 @@ cursor
### [OpenCode](https://opencode.ai/docs/commands/)
```sh
-curl -L -o ~/.config/opencode/command/bitcoinui.md https://bitcoinui.ai/bitcoinui.md
+curl -fsSL https://bitcoinui.ai/install.sh | bash
opencode
/bitcoinui
```
diff --git a/site/index.html b/site/index.html
index 3725cc1..82bf253 100644
--- a/site/index.html
+++ b/site/index.html
@@ -34,28 +34,28 @@
Bitcoin UI iOS
Design Review
- $ curl -L -o ~/.claude/commands/bitcoinui.md https://bitcoinui.ai/bitcoinui.md
+ $ curl -fsSL https://bitcoinui.ai/install.sh | bash
$ claude
> /bitcoinui
- $ curl -fsSL https://bitcoinui.ai/install-codex.sh | bash
+ $ curl -fsSL https://bitcoinui.ai/install.sh | bash
$ codex
> $bitcoinui
- $ curl -L -o ~/.cursor/commands/bitcoinui.md https://bitcoinui.ai/bitcoinui.md
+ $ curl -fsSL https://bitcoinui.ai/install.sh | bash
$ cursor
> /bitcoinui
- $ curl -L -o ~/.config/opencode/command/bitcoinui.md https://bitcoinui.ai/bitcoinui.md
+ $ curl -fsSL https://bitcoinui.ai/install.sh | bash
$ opencode
> /bitcoinui
diff --git a/site/install-codex.sh b/site/install-codex.sh
index f6133dd..ba2daa2 100644
--- a/site/install-codex.sh
+++ b/site/install-codex.sh
@@ -1,15 +1,4 @@
#!/usr/bin/env bash
set -euo pipefail
-CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
-SKILL_DIR="$CODEX_HOME/skills/bitcoinui"
-REF_DIR="$SKILL_DIR/references"
-BASE_URL="https://bitcoinui.ai/skills/bitcoinui"
-
-mkdir -p "$REF_DIR"
-
-curl -fsSL -o "$SKILL_DIR/SKILL.md" "$BASE_URL/SKILL.md"
-curl -fsSL -o "$REF_DIR/bitcoinui-rubric.md" "$BASE_URL/references/bitcoinui-rubric.md"
-
-echo "Installed to $SKILL_DIR"
-echo "Restart Codex to pick up new skills."
+curl -fsSL https://bitcoinui.ai/install.sh | bash
diff --git a/site/install.sh b/site/install.sh
new file mode 100644
index 0000000..b9001f5
--- /dev/null
+++ b/site/install.sh
@@ -0,0 +1,60 @@
+#!/usr/bin/env bash
+set -euo pipefail
+
+BITCOINUI_URL="https://bitcoinui.ai/bitcoinui.md"
+SKILL_BASE_URL="https://bitcoinui.ai/skills/bitcoinui"
+CODEX_HOME="${CODEX_HOME:-$HOME/.codex}"
+INSTALLED=0
+
+echo "Installing bitcoinui..."
+echo ""
+
+# Claude Code
+if command -v claude >/dev/null 2>&1 || [ -d "$HOME/.claude" ]; then
+ mkdir -p "$HOME/.claude/commands"
+ curl -fsSL -o "$HOME/.claude/commands/bitcoinui.md" "$BITCOINUI_URL"
+ echo "Installed for Claude Code"
+ INSTALLED=$((INSTALLED + 1))
+fi
+
+# Cursor
+if command -v cursor >/dev/null 2>&1 || [ -d "$HOME/.cursor" ]; then
+ mkdir -p "$HOME/.cursor/commands"
+ curl -fsSL -o "$HOME/.cursor/commands/bitcoinui.md" "$BITCOINUI_URL"
+ echo "Installed for Cursor"
+ INSTALLED=$((INSTALLED + 1))
+fi
+
+# OpenCode
+if command -v opencode >/dev/null 2>&1 || [ -d "$HOME/.config/opencode" ]; then
+ mkdir -p "$HOME/.config/opencode/command"
+ curl -fsSL -o "$HOME/.config/opencode/command/bitcoinui.md" "$BITCOINUI_URL"
+ echo "Installed for OpenCode"
+ INSTALLED=$((INSTALLED + 1))
+fi
+
+# Codex
+if command -v codex >/dev/null 2>&1 || [ -d "$CODEX_HOME" ]; then
+ SKILL_DIR="$CODEX_HOME/skills/bitcoinui"
+ REF_DIR="$SKILL_DIR/references"
+ mkdir -p "$REF_DIR"
+ curl -fsSL -o "$SKILL_DIR/SKILL.md" "$SKILL_BASE_URL/SKILL.md"
+ curl -fsSL -o "$REF_DIR/bitcoinui-rubric.md" "$SKILL_BASE_URL/references/bitcoinui-rubric.md"
+ echo "Installed for Codex"
+ INSTALLED=$((INSTALLED + 1))
+fi
+
+echo ""
+
+if [ "$INSTALLED" -eq 0 ]; then
+ echo "No supported tools detected."
+ echo ""
+ echo "Install one of these first:"
+ echo " - Claude Code: https://claude.ai/code"
+ echo " - Cursor: https://cursor.com"
+ echo " - OpenCode: https://opencode.ai"
+ echo " - Codex: https://github.com/openai/codex"
+ exit 1
+fi
+
+echo "Done! Run /bitcoinui (or \$bitcoinui in Codex)."