Init
Ein dünner Wrapper. Die gesamte Arbeit liegt in scripts/init.sh; dieses Skill existiert, um
die beiden Fragen zu stellen, die das Skript nicht selbst beantworten kann, und es dann auszuführen.
1. Fragen
Frage den Menschen in einer kurzen Nachricht nach:
- dem Speicherverzeichnis — wo der dauerhafte Speicher dieses Repositorys lebt.
Schlagen Sie
.agent-memoryvor, wenn es keinen Grund gibt, etwas anderes zu wählen. - der Speichersprache — die Sprache, in der Notizen geschrieben werden. Diese ist
unabhängig von der Sprache, in der der Agent antwortet (siehe
agent-memory); schlagen Sieenvor, wenn es keine Präferenz gibt.
Rate keinen der beiden Werte stillschweigend — ein falsches Speicherverzeichnis ist später lästig zu verschieben, und dies erfordert nur eine kurze Frage.
2. Skript ausführen
Bevor Sie es ausführen — dies ist die schreibende Hälfte, es legt Dateien in --repo .
ab — bestätigen Sie, dass dieses Verzeichnis das Repository ist, das der Mensch einrichten
wollte. Mehrere Projekte können gleichzeitig im selben Harness geöffnet sein (insbesondere
Cursor), und die Shell, in der ein Skill läuft, ist nicht unbedingt die, über die der Mensch
sprach. Eine Zeile, die es benennt, reicht aus.
Kein Harness ist vertrauenswürdig genug, um einem Skill das Plugin-Root zu übergeben, also
verlassen Sie sich nicht allein auf eine Variable. Claude Code setzt CLAUDE_PLUGIN_ROOT und
Cursor setzt CURSOR_PLUGIN_ROOT (gemessen am 2026-08-26), aber jede nur in manchen Kontexten,
und eine Variable, die ein Harness nicht gesetzt hat, ist hier nicht von einer gesetzten zu
unterscheiden. Lokalisieren Sie das Plugin auf die gleiche Weise, wie es .floppy/run nach der
Installation lokalisiert — die beiden Harness-Variablen, dann AI_FLOPPY_HOME für die
Entwicklung, dann den neuesten Checkout unter dem Plugin-Cache — und melden Sie laut,
dass die Installation fehlgeschlagen ist, und nennen Sie den Installationsbefehl, wenn keine
aufgelöst werden kann. Dies
dupliziert die Suche von shim/run (shim/run:11-26), anstatt sie von dort zu lesen, weil
.floppy/run in diesem Repository noch nicht existiert — es zu erstellen ist das Erste, was
das untenstehende Skript tut — und diese Suche normalerweise in der einen Datei lebt, die
dieses Plugin in einen Konsumenten kopiert, die autark bleiben muss. Führen Sie aus:
has_scripts() { [[ -n "${1:-}" ]] && ls "$1"/scripts/*.sh >/dev/null 2>&1; }
if has_scripts "${CLAUDE_PLUGIN_ROOT:-}"; then
floppy_root="$CLAUDE_PLUGIN_ROOT"
elif has_scripts "${CURSOR_PLUGIN_ROOT:-}"; then
floppy_root="$CURSOR_PLUGIN_ROOT"
elif has_scripts "${AI_FLOPPY_HOME:-}"; then
floppy_root="$AI_FLOPPY_HOME"
else
floppy_root="$(ls -d "$HOME"/.claude/plugins/cache/*/floppy/*/ 2>/dev/null | sort -V | tail -n1)"
fi
if ! has_scripts "$floppy_root"; then
echo "x floppy plugin nicht gefunden (ein Cache-Verzeichnis ohne scripts/*.sh gilt als nicht gefunden)." >&2
echo " Installieren: /plugin marketplace add spscream/ai-floppy && /plugin install floppy" >&2
echo " Falls es installiert ist, neu installieren: `plugin update` ist eine Nulloperation, solange die Version unverändert ist." >&2
exit 1
fi
bash "$floppy_root/scripts/init.sh" \
--repo . --memory-dir <ihre Antwort> --language <ihre Antwort>
Dies kann nur auf diese Weise ausgeführt werden — direkt über das Skript, nicht über
.floppy/run — weil .floppy/run in diesem Repository noch nicht existiert; es zu erstellen
ist das Erste, was das Skript tut.
3. Berichten
Lesen Sie die eigene Ausgabe des Skripts in kurzer Form zurück: was erstellt wurde und was bereits vorhanden und unberührt gelassen wurde (das Skript sagt dies pro Datei). Wenn Sie dies später im selben Repository erneut ausführen, ändert sich nichts — das ist beabsichtigt, keine Einschränkung, die einer Entschuldigung bedarf.
Weisen Sie explizit darauf hin, dass quota.lock nicht erstellt wurde — siehe
agent-memory für den Grund, und erwähnen Sie, dass eine echte Messung benötigt wird, sobald
es ein Korpus gibt, der eine Messung wert ist, nicht davor.