Help us improve
Share bugs, ideas, or general feedback.
From first-plan
Detects and installs native Rust first-plan-engine binary on first invocation of commands like cochange, hash for 10-100x speedup. Downloads from GitHub Releases with graceful fallback.
npx claudepluginhub vynazevedo/first-plan --plugin first-planHow this skill is triggered — by the user, by Claude, or both
Slash command
/first-plan:engine-bootstrapThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Skill que gerencia o lifecycle do binário nativo `first-plan-engine`.
Launches ralphex CLI for autonomous plan execution with progress monitoring. Handles installation, mode selection (Full/Review/Codex-only), plan picking from docs/plans/*.md, and max iterations.
Universal intent router. Takes any natural language request and routes it to the highest-ROI skill automatically. One line of output explaining the choice, then full execution. Use when the user says "/jarvis I want to..." or asks for anything without specifying a workflow.
Prepares local development environment for Claude Code usage: detects OS, installs Git and GitHub CLI, and guides through optional installation phases for design and development workflows.
Share bugs, ideas, or general feedback.
Skill que gerencia o lifecycle do binário nativo first-plan-engine.
Qualquer command que se beneficia do engine (/first-plan:cochange, /first-plan:refresh quando recalcula co-change, /first-plan:hot em monorepo grande, etc) deve consultar esta skill antes de cair no fallback markdown.
Locais onde procurar o binário, na ordem:
1. ${CLAUDE_PLUGIN_ROOT}/engine/bin/first-plan-engine
2. ${HOME}/.local/bin/first-plan-engine
3. $(which first-plan-engine) # se está no PATH
Verificar via:
ENGINE=""
for candidate in \
"${CLAUDE_PLUGIN_ROOT}/engine/bin/first-plan-engine" \
"${HOME}/.local/bin/first-plan-engine" \
"$(command -v first-plan-engine 2>/dev/null)"; do
if [ -x "$candidate" ]; then
ENGINE="$candidate"
break
fi
done
Se ausente e o command que precisou foi invocado, oferecer:
O command /first-plan:<X> ficaria 10-100x mais rapido com o engine nativo (Rust binary).
Quer baixar agora? (~5MB, single-file static binary, opt-in)
Opcoes:
A) Sim - download automatico para ${CLAUDE_PLUGIN_ROOT}/engine/bin/
B) Nao - usar fallback markdown (continua funcionando)
C) Manual - instrucoes para download via cargo install ou wget
Detectar arch + OS, baixar release matching:
ARCH=$(uname -m) # x86_64 ou aarch64
OS=$(uname -s) # Linux ou Darwin
case "$OS-$ARCH" in
Linux-x86_64) TARGET="x86_64-unknown-linux-musl" ;;
Linux-aarch64) TARGET="aarch64-unknown-linux-musl" ;;
Darwin-x86_64) TARGET="x86_64-apple-darwin" ;;
Darwin-arm64) TARGET="aarch64-apple-darwin" ;;
*) echo "unsupported: $OS-$ARCH"; exit 1 ;;
esac
DEST="${CLAUDE_PLUGIN_ROOT}/engine/bin"
mkdir -p "$DEST"
URL="https://github.com/vynazevedo/first-plan/releases/latest/download/first-plan-engine-${TARGET}.tar.gz"
curl -fsSL "$URL" | tar xz -C "$DEST"
chmod +x "$DEST/first-plan-engine"
"$DEST/first-plan-engine" --version
git clone https://github.com/vynazevedo/first-plan
cd first-plan/engine
cargo install --path crates/cli
Binário fica em ~/.cargo/bin/first-plan-engine.
Releases em https://github.com/vynazevedo/first-plan/releases. Download binário matching arch, extract, chmod +x, place em PATH.
Após detectar binário, comparar versão com a esperada pelo plugin:
INSTALLED=$("$ENGINE" --version | awk '{print $2}')
EXPECTED="0.3.0"
# se diferentes, sugerir update
Se usuário recusa download OU download falha (rede restrita, corp proxy):
Esta skill retorna ao caller:
engine_path: <path> se disponívelengine_path: null se ausenteCaller decide se usa engine ou fallback baseado nesse retorno.