SKILL·0DBDB1

verify

anthropics
Aktualisiert 7 days ago
7,717
1,187
7,717
Auf GitHub ansehen
Metadesign

Über

Die Verify-Skill führt die Build- und Release-Skripte des Repositorys end-to-end in einer isolierten Umgebung ohne Netzwerkzugriff aus. Sie ist dafür konzipiert, Änderungen an CLI-bezogenen Skripten wie download_cli.py und build_wheel.py sicher zu testen. Dies verhindert unbeabsichtigtes Überschreiben lokaler Binärdateien durch die Verwendung von Stub-Befehlen und isolierten Umgebungen.

Schnellinstallation

Claude Code

Empfohlen
Primär
npx skills add anthropics/claude-agent-sdk-python -a claude-code
Plugin-BefehlAlternativ
/plugin add https://github.com/anthropics/claude-agent-sdk-python
Git CloneAlternativ
git clone https://github.com/anthropics/claude-agent-sdk-python.git ~/.claude/skills/verify

Kopieren Sie diesen Befehl und fügen Sie ihn in Claude Code ein, um diese Fähigkeit zu installieren

Dokumentation

Verifying the build scripts

The SDK itself is a library (drive it through import claude_agent_sdk), but the scripts/ directory is a set of CLIs run by the release workflows. Verify them by running them, not by importing them.

NEVER run the real installer

scripts/download_cli.py shells out to curl https://claude.ai/install.sh | bash (and the PowerShell equivalent). Running it for real overwrites the claude binary on the developer's machine. Do not run bash install.sh, and do not invoke download_cli.py with latest/stable (or any case variant) against the real network.

Instead, put stub curl / bash / powershell on a temp PATH and drive the script under env -i with an isolated HOME (so find_installed_cli() cannot discover the real binary and copy it into src/claude_agent_sdk/_bundled/).

The harness

SB=$(mktemp -d); mkdir -p $SB/stub $SB/home $SB/repo/src/claude_agent_sdk
cp scripts/{download_cli.py,build_wheel.py,update_cli_version.py,_cli_version_validation.py} $SB/repo/scripts/
printf '__cli_version__ = "2.1.208"\n' > $SB/repo/src/claude_agent_sdk/_cli_version.py

cat > $SB/stub/curl <<'EOF'
#!/bin/bash
out=""; prev=""; for a in "$@"; do [ "$prev" = "-o" ] && out="$a"; prev="$a"; done
echo "[stub curl] argv: $*" >> "$MARKER"
[ -n "$out" ] && printf '%b' "${CURL_BODY:-#!/bin/bash\necho hi\n}" > "$out"
exit ${CURL_EXIT:-0}
EOF
cat > $SB/stub/bash <<'EOF'
#!/bin/bash
{ echo "[stub bash] argc=$#"; for a in "$@"; do echo "    <$a>"; done; } >> "$MARKER"
EOF
chmod +x $SB/stub/*

cd $SB/repo
env -i HOME=$SB/home PATH=$SB/stub:/usr/bin:/bin MARKER=$SB/m \
    CLAUDE_CLI_VERSION=2.1.208 .venv/bin/python scripts/download_cli.py

run_command() captures the child's output, so the stubs must log to a $MARKER file — printing to stderr is swallowed.

Flows worth driving

  • update_cli_version.py <version> — the whole validator surface is reachable here: a concrete version writes the file; latest/stable, v2.1.207, next, 2.1, and a quote-breakout string each exit 1 with a distinct message and leave the file untouched.
  • build_wheel.py --skip-sdist — reads the pin, then chains into download_cli.py. Rewrite _cli_version.py in the sandbox to a moving tag / single quotes / garbage / delete it: each must fail before any subprocess is spawned. --cli-version <v> bypasses the pin (intentional escape hatch; the release workflow does not use it).
  • download_cli.py — set CURL_BODY to an HTML error page or an empty string to prove the body check refuses it with no retry; empty the PATH to prove a missing curl fails fast in one attempt; CURL_EXIT=22 to prove a genuine transient failure still retries 3×.
  • The Windows path is unreachable on Linux. It is behind platform.system() == "Windows". Drive it with a small runner that patch.object(m.platform, "system", return_value="Windows") and a stub powershell that reads the -Command text and honours $env:CLAUDE_CLI_INSTALL_SCRIPT. This is the one place where forcing the platform is legitimate.

Gotchas

  • ${CURL_BODY:-default} treats an empty body as unset. Use a separate stub that does : > "$out" to test the empty-body branch.
  • The retry path really sleeps (jitter up to 5s, then 2s + 4s). A full three-attempt run takes ~10s; budget for it rather than assuming a hang.

GitHub Repository

anthropics/claude-agent-sdk-python
Pfad: .claude/skills/verify
0
FAQ

Häufig gestellte Fragen

Was ist der Skill verify?

verify ist ein Claude Skill von anthropics. Skills bündeln Anweisungen und Ressourcen, die Claude bei Bedarf lädt, um Aufgaben rund um verify ohne zusätzliche Eingaben auszuführen.

Wie installiere ich verify?

Verwende die Installationsbefehle auf dieser Seite: Füge verify als Plugin zu Claude Code hinzu oder klone das Repository in dein Skills-Verzeichnis. Starte Claude danach neu, damit der Skill geladen wird.

Zu welcher Kategorie gehört verify?

verify gehört zur Kategorie Meta.

Kann ich verify kostenlos nutzen?

Ja. verify ist auf AIMCP gelistet und kann kostenlos installiert werden.

Verwandte Skills

content-collections
Meta

Diese Skill bietet eine produktionsgetestete Einrichtung für Content Collections – ein TypeScript-first-Tool, das Markdown/MDX-Dateien in typsichere Datensammlungen mit Zod-Validierung umwandelt. Verwenden Sie ihn beim Erstellen von Blogs, Dokumentationsseiten oder inhaltsstarken Vite + React-Anwendungen, um Typsicherheit und automatische Inhaltsvalidierung zu gewährleisten. Er behandelt alles von der Vite-Plugin-Konfiguration und MDX-Kompilierung bis hin zur Deployment-Optimierung und Schema-Validierung.

Skill ansehen
polymarket
Meta

Diese Fähigkeit ermöglicht es Entwicklern, Anwendungen mit der Polymarket-Prognosemärkte-Plattform zu erstellen, einschließlich API-Integration für Handel und Marktdaten. Sie bietet außerdem Echtzeit-Datenstreaming über WebSocket, um Live-Trades und Marktaktivitäten zu überwachen. Nutzen Sie sie zur Implementierung von Handelsstrategien oder zur Erstellung von Tools, die Live-Marktaktualisierungen verarbeiten.

Skill ansehen
creating-opencode-plugins
Meta

Diese Fähigkeit unterstützt Entwickler dabei, OpenCode-Plugins zu erstellen, die in über 25 Ereignistypen wie Befehle, Dateien und LSP-Operationen eingreifen. Sie bietet die Plugin-Struktur, Event-API-Spezifikationen und Implementierungsmuster für JavaScript/TypeScript-Module. Nutzen Sie sie, wenn Sie den Lebenszyklus des OpenCode KI-Assistenten mit benutzerdefinierter ereignisgesteuerter Logik abfangen, überwachen oder erweitern müssen.

Skill ansehen
sglang
Meta

SGLang ist ein hochperformantes LLM-Serving-Framework, das sich auf schnelle, strukturierte Generierung für JSON, Regex und agentenbasierte Workflows unter Verwendung seines RadixAttention-Prefix-Cachings spezialisiert. Es bietet deutlich schnellere Inferenz, insbesondere für Aufgaben mit wiederholten Präfixen, was es ideal für komplexe, strukturierte Ausgaben und Mehrfachdialoge macht. Wählen Sie SGLang gegenüber Alternativen wie vLLM, wenn Sie constrained decoding benötigen oder Anwendungen mit umfangreicher Präfix-Weitergabe entwickeln.

Skill ansehen