From first-plan
Detects and installs the native first-plan-engine binary (Rust) on first invocation. Commands that benefit (cochange, hash, ast, index, search) fall back gracefully if the binary is absent, but run 10-100x faster with it.
How this skill is triggered — by the user, by Claude, or both
Slash command
/fp: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`.
Skill que gerencia o lifecycle do binário nativo first-plan-engine.
Qualquer command que se beneficia do engine (/fp:cochange, /fp:refresh quando recalcula co-change, /fp: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 /fp:<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.
npx claudepluginhub vynazevedo/first-plan --plugin fpDetects optional AI engines (Codex, Gemini), confirms with you, writes engine config, and personalizes Claude's writing style. Safe to re-run anytime.
Installs, validates with 10 security checks, registers to orchestrator, and verifies new skills in the Claude Code ecosystem. Use after skill creation or on 'install skill' mentions.
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.