4.5 KiB
4.5 KiB
Stufe 0: Ergebnisse
Verhaltensfragen aus KONZEPT.md 20, Stufe 0: Wie lesen Claude Code und OpenCode die Dateien, die Hugin schreibt? Stand 19.10.2026.
| Werkzeug | Version |
|---|---|
| Claude Code | 2.1.303 (Changelog-Auswertung mit 2.1.302) |
| OpenCode | 1.19.3; Fragen 1–3, 6, 7 zuerst mit 1.15.4, gleiches Ergebnis. OpenCode 2 nicht installiert |
So geprüft (Spalte „Wie“):
- S0 –
scripts/stage0.sh: nuropencode debug …und der Server vonopencode serve, kein Modellaufruf, kostenlos. - RT –
scripts/tool-smoke-test.sh: echte Modellaufrufe (Claude Code mithaiku, OpenCode mitopenai/gpt-6-luna). Ergebnis auch inCOMPATIBILITY.md. - CL – Changelog bzw. Release-Notes.
Geklärt
| # | Frage | Ergebnis | Folge für Hugin | Wie |
|---|---|---|---|---|
| 1 | Unbekannte Felder in SKILL.md (allowed-tools, paths, effort)? |
OpenCode übergeht sie still, der Skill lädt | Zusätze für Claude stehen in derselben Datei; der Skill bleibt portable (→ 7.1) |
S0 |
| 2 | Gleicher Skill-Name in .claude/skills/ und .opencode/skills/? |
nur eine Fassung wird geladen, welche, ist nicht verlässlich | Hugin legt einen Skill nie an beiden Orten ab; .opencode/skills/ nur bei opencode_reads_claude: false |
S0 |
| 3 | Liest OpenCode .claude/commands/ oder .claude/agents/? |
nein, beide nicht | Befehle und Subagenten je Werkzeug am eigenen Ort, keine Doppel (→ 7.3, 7.4) | S0 |
| 3a | Liest OpenCode .opencode/commands/ und .opencode/agents/? |
ja; permission mit deny wirkt |
Format der Übersetzer bestätigt | S0, RT |
| 4 | Liest OpenCode ohne AGENTS.md die CLAUDE.md und löst deren @-Verweise auf? |
liest CLAUDE.md, löst @ nicht auf |
keine Doppel: Regeln kommen in OpenCode nur über instructions an; keine eigene AGENTS.md nötig |
RT |
| 5 | Claude Code und AGENTS.md |
liest AGENTS.md ab 2.1.277 nur ohne CLAUDE.md; mit beiden Dateien nur CLAUDE.md |
unkritisch: Hugin legt CLAUDE.md an, Regeln kommen nicht doppelt |
CL, RT |
| 6 | JSONC in opencode.json? |
ja, Kommentare und Komma am Ende werden gelesen | das CLI erhält Kommentare beim Ändern (hujson) | S0 |
| 7 | Werkzeug- und Rechtenamen | OpenCode-Werkzeuge: read, grep, glob, edit, write, bash, webfetch, websearch, task, skill, todowrite, question; Rechte u. a. edit, bash, webfetch, external_directory |
Fähigkeitsklasse read sperrt auch websearch (→ KONZEPT.md 7.4) |
S0 |
| 8a | Benannte Argumente in Claude Code (arguments, $name)? |
wirken in 2.1.303 | Übersetzer bestätigt; ab welcher Version, ist offen (siehe unten) | RT |
| 8b | Wirkt metadata: opencode/slash? |
nein: jeder Skill ist ohnehin ein Slash-Befehl, auch mit opencode/slash: "false" |
Feld nicht nötig; Linter-Hinweis H023 | S0 |
| 8c | Wirkt metadata: opencode/autoinvoke: "false"? |
nein: das Modell lädt den Skill trotzdem selbst, auch mit disable-model-invocation: true in derselben Datei. Claude Code hält sich an disable-model-invocation |
„nur von Hand“ geht in OpenCode 1 nicht; Linter-Hinweis H023, Ausweg targets: [claude] |
RT |
| – | MCP: type: remote, headers, {env:VAR} |
funktioniert; die Verbindung mit dem Key aus der Umgebungsvariable klappt | Übersetzer bestätigt. Ab 1.19 zeigt debug config Header nur maskiert |
S0, RT |
| – | MCP in Claude Code aus .mcp.json |
Server stehen auf „Pending approval“, bis jemand zustimmt; settings.local.json im Repo hilft dabei nicht |
in der Hilfe für Teams beschrieben; der Rauchtest stimmt mit --settings zu |
RT |
Wie die Slash-Liste geprüft wird: opencode serve starten und GET /command
abfragen. Das ist dieselbe Liste, die das TUI bei / anbietet.
Offen
| # | Frage | So prüfen |
|---|---|---|
| 8a | Ab welcher Version kennt Claude Code benannte Argumente? Davon hängt die Untergrenze 2.1.105 ab | ältere Version installieren, dann TOOLS=claude scripts/tool-smoke-test.sh |
| 9 | Unterstützt OpenCode MCP-Prompts und -Ressourcen? | nur zur Information, Hugin baut nicht darauf |
| 10 | OpenCode 2: alte MCP-Form (mcp.<name>, enabled)? unbekannte Felder? Doppel bei Skills? opencode/autoinvoke? |
OPENCODE=<opencode-2> scripts/stage0.sh und OPENCODE=<opencode-2> OPENCODE_MODEL=… scripts/tool-smoke-test.sh |
Nebenbefund
Auf dem Entwicklungsrechner ist global ein OpenCode-Plugin skill-registry
installiert, das Skills, Agenten und Befehle von http://localhost:8000
synchronisieren will. Beide Skripte schalten es mit --pure ab.