diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index cdc721e..961fa6f 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -75,7 +75,7 @@ skills// Ein Paket pro Skill, Dateiname `dist/-v.zip`. Im ZIP liegt der Ordner `/` mit `SKILL.md` auf oberster Ebene. `README.md` und `CHANGELOG.md` werden nicht eingepackt. -Skills mit `extension/` liefern zusätzlich `dist/-v.mcpb`. Die `.mcpb` enthält **keine** CLI-EXE: sie zeigt auf die Installation aus dem ArtCraft-Launcher (`C:\Program Files\…`). `scripts/fetch-cli` prüft nur, dass die EXE lokal vorhanden ist, und aktualisiert `upstream.json` sowie die Lizenztexte. Die `.mcpb` bleibt unsigniert, solange kein Code-Signing-Zertifikat vorliegt (`mcpb sign` braucht `--cert` / `--key`; `--self-signed` hilft nicht gegen Defender). +Skills mit `extension/` liefern zusätzlich `dist/-v.mcpb`. Die `.mcpb` enthält **keine** CLI-EXE: sie zeigt auf die Installation aus dem ArtCraft-Launcher (`C:\Program Files\…`). `scripts/fetch-cli` prüft nur, dass die EXE lokal vorhanden ist, und aktualisiert `upstream.json` sowie die Lizenztexte. Als `entry_point` dient `server/README.txt`: die MCPB-Prüfung verlangt eine Datei im Paket; gestartet wird der Befehl aus `mcp_config.command`. `mcpb validate` besteht damit, und die Erweiterung startet so. Die `.mcpb` bleibt unsigniert, solange kein Code-Signing-Zertifikat vorliegt (`mcpb sign` braucht `--cert` / `--key`; `--self-signed` hilft nicht gegen Defender). ```sh scripts/package.sh # nur Skill-ZIPs diff --git a/README.md b/README.md index aa54265..5f7f537 100644 --- a/README.md +++ b/README.md @@ -9,8 +9,8 @@ Schritt-für-Schritt-Installation: [docs/INSTALLATION.md](docs/INSTALLATION.md). | Skill | Kurzbeschreibung | Version | Doku | Download | Erweiterung (.mcpb) | |---|---|---|---|---|---| -| [gridcraft-mcp](skills/gridcraft-mcp/) | Excel-Arbeitsmappen (.xlsx, .csv) über den GridCraft-MCP-Server erstellen, öffnen, ändern, berechnen, formatieren und prüfen – Kalkulationen, Stücklisten, Listen, Diagramme, PDF-Export. | 0.1.0 | [README](skills/gridcraft-mcp/README.md) | [gridcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.1.0/gridcraft-mcp-v0.1.0.zip) | [gridcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.1.0/gridcraft-mcp-v0.1.0.mcpb) | -| [wordcraft-mcp](skills/wordcraft-mcp/) | Word-Dokumente (.docx, .odt, .md, PDF) über den WordCraft-MCP-Server erstellen, bearbeiten und prüfen, inkl. Nachverfolgung – mit erprobten Fallen aus WordCraft 0.8.0. | 0.1.0 | [README](skills/wordcraft-mcp/README.md) | [wordcraft-mcp-v0.1.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.1.0/wordcraft-mcp-v0.1.0.zip) | [wordcraft-mcp-v0.1.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.1.0/wordcraft-mcp-v0.1.0.mcpb) | +| [gridcraft-mcp](skills/gridcraft-mcp/) | Excel-Arbeitsmappen (.xlsx, .csv) über den GridCraft-MCP-Server erstellen, öffnen, ändern, berechnen, formatieren und prüfen – Kalkulationen, Stücklisten, Listen, Diagramme, PDF-Export. | 0.2.0 | [README](skills/gridcraft-mcp/README.md) | [gridcraft-mcp-v0.2.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.2.0/gridcraft-mcp-v0.2.0.zip) | [gridcraft-mcp-v0.2.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.2.0/gridcraft-mcp-v0.2.0.mcpb) | +| [wordcraft-mcp](skills/wordcraft-mcp/) | Word-Dokumente (.docx, .odt, .md, PDF) über den WordCraft-MCP-Server erstellen, bearbeiten und prüfen, inkl. Nachverfolgung – mit erprobten Fallen aus WordCraft 0.8.0. | 0.2.0 | [README](skills/wordcraft-mcp/README.md) | [wordcraft-mcp-v0.2.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.2.0/wordcraft-mcp-v0.2.0.zip) | [wordcraft-mcp-v0.2.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.2.0/wordcraft-mcp-v0.2.0.mcpb) | ## Skill installieren diff --git a/docs/INSTALLATION.md b/docs/INSTALLATION.md index cdaf4b2..bf0e06f 100644 --- a/docs/INSTALLATION.md +++ b/docs/INSTALLATION.md @@ -1,13 +1,13 @@ # Claude-Werkzeuge für Word und Excel einrichten -Mit dieser Anleitung kann Claude Word-Dokumente (über **WordCraft für Claude**) und Excel-Tabellen (über **GridCraft für Claude**) direkt auf deinem Rechner erstellen und bearbeiten. Dauer: etwa 10 Minuten. Du brauchst keine Programmierkenntnisse. +Mit dieser Anleitung kann Claude Word-Dokumente (über **WordCraft for Claude**) und Excel-Tabellen (über **GridCraft for Claude**) direkt auf deinem Rechner erstellen und bearbeiten. Dauer: etwa 10 Minuten. Du brauchst keine Programmierkenntnisse. Für jedes Werkzeug installierst du zwei Dinge: | Datei | Was sie ist | Wozu | |---|---|---| -| `…​.mcpb` | **Erweiterung** für die Claude-App | gibt Claude die Werkzeuge (Datei öffnen, schreiben, speichern …) | -| `…​.zip` | **Skill** | Anleitung für Claude, wie man die Werkzeuge richtig benutzt | +| `….mcpb` | **Erweiterung** für die Claude-App | gibt Claude die Werkzeuge (Datei öffnen, schreiben, speichern …) | +| `….zip` | **Skill** | Anleitung für Claude, wie man die Werkzeuge richtig benutzt | Ohne Erweiterung kann Claude nichts tun, ohne Skill macht es mehr Fehler. Installiere also immer beides. @@ -17,25 +17,30 @@ Ohne Erweiterung kann Claude nichts tun, ohne Skill macht es mehr Fehler. Instal - Windows 10 oder 11 - **Claude Desktop** installiert und angemeldet (die App, nicht nur der Browser) -- **ArtCraft-Launcher:** darüber **WordCraft** und **GridCraft** installieren (legt die Programme nach `C:\Program Files\WordCraft\` bzw. `C:\Program Files\GridCraft\`). Die Claude-Erweiterung enthält die Programme **nicht**. - Ein eigener Ordner, in den Claude speichern darf, z. B. `Dokumente\Claude-Ausgabe`. Leg ihn jetzt an. --- -## 1. Dateien herunterladen +## 1. ArtCraft-Launcher und Apps installieren -Öffne die Releases-Seite: **https://git.gundel.dev/dg/claude-skills/releases** +Installiere den [ArtCraft-Launcher](https://getartcraft.com/apps) und darin **WordCraft** und **GridCraft**. Den Standardpfad nicht ändern: `C:\Program Files\WordCraft` bzw. `C:\Program Files\GridCraft`. Die Claude-Erweiterung enthält die Programme **nicht**. -Lade jeweils die neueste Version herunter: +(Installer auch unter [GitHub Releases](https://github.com/storytold/craft-launcher/releases).) -- `wordcraft-mcp-vX.Y.Z.mcpb` und `wordcraft-mcp-vX.Y.Z.zip` -- `gridcraft-mcp-vX.Y.Z.mcpb` und `gridcraft-mcp-vX.Y.Z.zip` +--- + +## 2. Dateien herunterladen + +Lade jeweils die Version **0.2.0** herunter: + +- [wordcraft-mcp-v0.2.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.2.0/wordcraft-mcp-v0.2.0.mcpb) und [wordcraft-mcp-v0.2.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.2.0/wordcraft-mcp-v0.2.0.zip) +- [gridcraft-mcp-v0.2.0.mcpb](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.2.0/gridcraft-mcp-v0.2.0.mcpb) und [gridcraft-mcp-v0.2.0.zip](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.2.0/gridcraft-mcp-v0.2.0.zip) Die ZIP-Dateien **nicht entpacken**. --- -## 2. Erweiterungen installieren +## 3. Erweiterungen installieren Für jede `.mcpb`-Datei: @@ -43,17 +48,19 @@ Für jede `.mcpb`-Datei: 2. Die `.mcpb`-Datei **doppelklicken** – oder sie ins Claude-Fenster ziehen. *Klappt beides nicht:* Einstellungen → Erweiterungen → Erweiterte Einstellungen → „Erweiterung installieren…“ → Datei auswählen. 3. Es öffnet sich ein Installationsfenster. Angaben prüfen und bestätigen. -4. **Nur bei WordCraft für Claude** fragt Claude nach zwei Ordnern: +4. **Nur bei WordCraft for Claude** fragt Claude nach zwei Ordnern: - **Lese-Ordner:** Hier darf Claude Dokumente lesen, z. B. `Dokumente`. - **Schreib-Ordner:** Nur hier darf Claude speichern – deinen Ordner `Dokumente\Claude-Ausgabe` wählen. Nicht denselben wie den Lese-Ordner, dann bleiben deine Originale sicher. -5. Installieren. Die Erweiterung erscheint unter Einstellungen → Erweiterungen und muss **eingeschaltet** sein. +5. Installieren. Die Erweiterung erscheint unter Einstellungen → Erweiterungen. + +**Danach unter Einstellungen → Erweiterungen prüfen, dass beide Erweiterungen eingeschaltet sind.** Frisch installierte Erweiterungen können ausgeschaltet sein. > **Windows meldet „Der Computer wurde durch Windows geschützt“ oder Defender schlägt an?** > Die Erweiterungen sind nicht signiert. Nur installieren, wenn du der Quelle vertraust. --- -## 3. Skills installieren +## 4. Skills installieren Für jede `.zip`-Datei: @@ -64,19 +71,19 @@ Die Skills heißen danach `wordcraft-mcp` und `gridcraft-mcp`. --- -## 4. Claude neu starten +## 5. Claude neu starten Claude **komplett beenden** – auch das Symbol unten rechts in der Taskleiste (Rechtsklick → Beenden) – und wieder öffnen. --- -## 5. Testen +## 6. Testen -Neuen Chat öffnen und eintippen: +Einen **neuen** Chat öffnen (offene Chats sehen neue Werkzeuge evtl. erst später) und eintippen: > Sind die WordCraft- und GridCraft-Werkzeuge verfügbar? Leg zum Test eine kleine Excel-Tabelle mit drei Zeilen in meinem Claude-Ausgabeordner an. -Claude sollte beide Werkzeuge finden und eine `.xlsx`-Datei im Ausgabeordner speichern. Beim ersten Mal fragt Claude, ob es die Werkzeuge benutzen darf – erlauben. +Claude sollte beide Werkzeuge finden und eine `.xlsx`-Datei im Ausgabeordner speichern. Beim ersten Mal fragt Claude, ob es die Werkzeuge benutzen darf – erlauben. Die Werkzeuge heißen mit Präfix `…WordCraft_for_Claude…` bzw. `…GridCraft_for_Claude…`. --- @@ -93,8 +100,9 @@ Claude sollte beide Werkzeuge finden und eine `.xlsx`-Datei im Ausgabeordner spe | Problem | Lösung | |---|---| -| Claude sagt, die Werkzeuge fehlen | ArtCraft-Launcher: Sind WordCraft bzw. GridCraft installiert? Einstellungen → Erweiterungen: Ist die Erweiterung eingeschaltet? Dann Claude komplett beenden (auch Taskleiste) und neu starten. | -| WordCraft speichert nicht („path rejected“) | Claude wollte außerhalb des Schreib-Ordners speichern. Ordner prüfen: Einstellungen → Erweiterungen → WordCraft für Claude → Einstellungen. | +| Claude sagt, die Werkzeuge fehlen | Einstellungen → Erweiterungen: ist die Erweiterung eingeschaltet? Einschalten, dann neuen Chat öffnen. | +| Werkzeuge fehlen, Erweiterung ist eingeschaltet | Prüfen, ob `C:\Program Files\WordCraft\wordcraft-cli.exe` (bzw. `C:\Program Files\GridCraft\gridcraft-cli.exe`) existiert; sonst über den ArtCraft-Launcher installieren. | +| WordCraft speichert nicht („path rejected“) | Claude wollte außerhalb des Schreib-Ordners speichern. Ordner prüfen: Einstellungen → Erweiterungen → WordCraft for Claude → Einstellungen. | | Excel-Formeln zeigen `#NAME?` | Claude hat deutsche Funktionsnamen benutzt. Sagen: „Nutze englische Formeln, wie im Skill beschrieben.“ | | Zahlen sehen im Chat wie `1,450.00 €` aus | Normal. In Excel erscheinen sie richtig als `1.450,00 €`. | | Doppelklick auf `.mcpb` tut nichts | Über Einstellungen → Erweiterungen → Erweiterte Einstellungen → „Erweiterung installieren…“ gehen. | diff --git a/scripts/fetch-cli.ps1 b/scripts/fetch-cli.ps1 index 0479ada..6fa12be 100644 --- a/scripts/fetch-cli.ps1 +++ b/scripts/fetch-cli.ps1 @@ -54,9 +54,11 @@ Erwarteter Pfad: $src "@ } -$verOut = & $src --version 2>&1 | Out-String -if ($LASTEXITCODE -ne 0 -and $Name -eq 'gridcraft-mcp') { - $verOut = & $src version 2>&1 | Out-String +$verResult = Get-ProcessOutputUtf8 $src '--version' +$verOut = $verResult.Output +if ($verResult.ExitCode -ne 0 -and $Name -eq 'gridcraft-mcp') { + $verResult = Get-ProcessOutputUtf8 $src 'version' + $verOut = $verResult.Output } $ver = '' if ($verOut -match '(\d+\.\d+\.\d+)') { $ver = $Matches[1] } diff --git a/scripts/fetch-cli.sh b/scripts/fetch-cli.sh index 1ab7a4c..510fe8c 100644 --- a/scripts/fetch-cli.sh +++ b/scripts/fetch-cli.sh @@ -53,9 +53,20 @@ if [[ ! -f "$ext/server/README.txt" ]]; then "Erwarteter Pfad: $src" > "$ext/server/README.txt" fi -ver_out="$("$src" --version 2>&1 || true)" +# CLI-Ausgabe als UTF-8 lesen (kein Locale-Default wie Windows-1252). +ver_out="$(PYTHONIOENCODING=utf-8 python3 -c ' +import subprocess, sys +r = subprocess.run(sys.argv[1:], capture_output=True) +sys.stdout.buffer.write(r.stdout) +sys.stdout.buffer.write(r.stderr) +' "$src" --version || true)" if [[ ! "$ver_out" =~ [0-9]+\.[0-9]+\.[0-9]+ ]] && [[ "$name" == gridcraft-mcp ]]; then - ver_out="$("$src" version 2>&1 || true)" + ver_out="$(PYTHONIOENCODING=utf-8 python3 -c ' +import subprocess, sys +r = subprocess.run(sys.argv[1:], capture_output=True) +sys.stdout.buffer.write(r.stdout) +sys.stdout.buffer.write(r.stderr) +' "$src" version || true)" fi if [[ ! "$ver_out" =~ ([0-9]+\.[0-9]+\.[0-9]+) ]]; then echo "Version der CLI nicht lesbar: $ver_out" >&2 diff --git a/scripts/lib.ps1 b/scripts/lib.ps1 index b5f4c30..de197d1 100644 --- a/scripts/lib.ps1 +++ b/scripts/lib.ps1 @@ -5,16 +5,38 @@ $ErrorActionPreference = 'Stop' $Root = Split-Path -Parent $PSScriptRoot $SkillsDir = Join-Path $Root 'skills' $DistDir = Join-Path $Root 'dist' -$Utf8NoBom = New-Object System.Text.UTF8Encoding $false +$Utf8NoBom = [System.Text.UTF8Encoding]::new($false) # Datei als UTF-8 lesen, Zeilenenden auf LF vereinheitlichen. function Read-Text([string]$Path) { - return ([IO.File]::ReadAllText($Path, [Text.Encoding]::UTF8) -replace "`r", '') + return ([System.IO.File]::ReadAllText($Path, [System.Text.Encoding]::UTF8) -replace "`r", '') } # Datei als UTF-8 ohne BOM mit LF schreiben (Set-Content wuerde in 5.1 ein BOM schreiben). function Write-Text([string]$Path, [string]$Text) { - [IO.File]::WriteAllText($Path, $Text, $Utf8NoBom) + [System.IO.File]::WriteAllText($Path, $Text, $Utf8NoBom) +} + +# Prozess starten und stdout+stderr als UTF-8 ohne BOM lesen (kein Out-String / Default-Encoding). +# $Arguments ist die Argumentzeile (PS 5.1 hat kein ProcessStartInfo.ArgumentList). +function Get-ProcessOutputUtf8([string]$FileName, [string]$Arguments) { + $psi = New-Object System.Diagnostics.ProcessStartInfo + $psi.FileName = $FileName + $psi.Arguments = $Arguments + $psi.UseShellExecute = $false + $psi.RedirectStandardOutput = $true + $psi.RedirectStandardError = $true + $psi.CreateNoWindow = $true + $psi.StandardOutputEncoding = $Utf8NoBom + $psi.StandardErrorEncoding = $Utf8NoBom + $p = [System.Diagnostics.Process]::Start($psi) + $stdout = $p.StandardOutput.ReadToEnd() + $stderr = $p.StandardError.ReadToEnd() + $p.WaitForExit() + return @{ + ExitCode = $p.ExitCode + Output = ($stdout + $stderr) + } } function Test-Bom([string]$Path) { diff --git a/scripts/update-index.sh b/scripts/update-index.sh index a08a581..649dc20 100755 --- a/scripts/update-index.sh +++ b/scripts/update-index.sh @@ -51,6 +51,7 @@ if [[ $check -eq 1 ]]; then fi echo "README.md ist aktuell." else - printf '%s\n' "$new" > "$readme" + # Explizit UTF-8 schreiben (Locale kann sonst die README verfaelschen). + python3 -c 'import sys; open(sys.argv[1],"w",encoding="utf-8",newline="\n").write(sys.stdin.read())' "$readme" <<< "$new" echo "README.md aktualisiert." fi diff --git a/skills/gridcraft-mcp/CHANGELOG.md b/skills/gridcraft-mcp/CHANGELOG.md index b5b6d8e..743f986 100644 --- a/skills/gridcraft-mcp/CHANGELOG.md +++ b/skills/gridcraft-mcp/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog – gridcraft-mcp +## 0.2.0 (2026-10-19) + +- Erweiterung (`.mcpb`) als Standardweg; `display_name` ohne Umlaut („GridCraft for Claude“, Werkzeug-Präfix jetzt `…_for_Claude`). +- Allgemeine Werkzeugnamen im Skill (Präfix hängt vom Client und vom Erweiterungsnamen ab). +- Doku: ArtCraft-Voraussetzung und „Erweiterung einschalten“; UTF-8-Fix in Manifest und README. +- Apostroph-Falle für Text mit führendem `=` (Beschriftungen wie `= Materialkosten`). + ## 0.1.0 (2026-10-19) - Erste Version: Skill und Claude-Desktop-Erweiterung (`.mcpb`) für GridCraft aus dem ArtCraft-Launcher. diff --git a/skills/gridcraft-mcp/README.md b/skills/gridcraft-mcp/README.md index 2a6b973..9df9900 100644 --- a/skills/gridcraft-mcp/README.md +++ b/skills/gridcraft-mcp/README.md @@ -10,18 +10,21 @@ Erstellt und bearbeitet Excel-Arbeitsmappen (`.xlsx`, `.csv`) über den MCP-Serv - Claude Desktop (die App) - **GridCraft** über den ArtCraft-Launcher (`C:\Program Files\GridCraft\gridcraft-cli.exe`) -- Die Erweiterung `gridcraft-mcp-….mcpb` und dieses Skill-ZIP (siehe [Installation](#installation)) +- Die Erweiterung `gridcraft-mcp-….mcpb` und dieses Skill-ZIP (siehe [Installation](#installation)) -**Keine Ordnerbeschränkung.** Anders als WordCraft kennt GridCraft keine Lese-/Schreib-Roots. Der Server kann jede Datei lesen und schreiben, die der Windows-Benutzer lesen und schreiben darf. In Claude bei den GridCraft-Werkzeugen `open_workbook`, `save_workbook` und `execute_command` auf „Immer fragen“ lassen. +**Keine Ordnerbeschränkung.** Anders als WordCraft kennt GridCraft keine Lese-/Schreib-Roots. Der Server kann jede Datei lesen und schreiben, die der Windows-Benutzer lesen und schreiben darf. In Claude bei den GridCraft-Werkzeugen `open_workbook`, `save_workbook` und `execute_command` auf „Immer fragen“ lassen. ## Installation Schritt-für-Schritt: [docs/INSTALLATION.md](../../docs/INSTALLATION.md). Kurz: -1. `gridcraft-mcp-v….mcpb` und `gridcraft-mcp-v….zip` aus dem [Release](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.1.0/gridcraft-mcp-v0.1.0.mcpb) laden. -2. Die `.mcpb` doppelklicken (oder über Einstellungen → Erweiterungen installieren). -3. Skill-ZIP in Claude hochladen: **„+“ → „Skill erstellen“ → „Skill hochladen“**. -4. Claude komplett beenden (auch Taskleiste) und neu starten. +1. `gridcraft-mcp-v0.2.0.mcpb` und `gridcraft-mcp-v0.2.0.zip` aus dem [Release](https://git.gundel.dev/dg/claude-skills/releases/download/gridcraft-mcp%2Fv0.2.0/gridcraft-mcp-v0.2.0.mcpb) laden. +2. Die `.mcpb` doppelklicken (oder über Einstellungen → Erweiterungen installieren). +3. Unter Einstellungen → Erweiterungen prüfen, dass **GridCraft for Claude** eingeschaltet ist. +4. Skill-ZIP in Claude hochladen: **„+“ → „Skill erstellen“ → „Skill hochladen“**. +5. Claude komplett beenden (auch Taskleiste) und neu starten. + +Wer v0.1.0 installiert hat: alte Erweiterung unter Einstellungen → Erweiterungen entfernen, v0.2.0 installieren, einschalten, Skill-ZIP v0.2.0 hochladen (ersetzt den alten Skill). Alte Skills `wordcraft-dokumente` bitte löschen. **Umsteigen von der manuellen Config:** Wer den Server früher in `claude_desktop_config.json` eingetragen hat: Eintrag `gridcraft` unter `mcpServers` vor der Installation der Erweiterung entfernen (vorher Sicherungskopie der Datei anlegen), sonst gibt es die Werkzeuge doppelt. @@ -31,7 +34,7 @@ Die Erweiterung steuert [GridCraft](https://github.com/storytold/gridcraft) (MIT ## Im Test geprüft -Formeln, Tabellen, Zahlenformate und der PDF-Export. Beim Öffnen und Speichern einer bestehenden `.xlsx` blieben erhalten: verbundene Zellen, Kommentare, bedingte Formatierung, Datenüberprüfung, Namen, blattübergreifende Formeln, Fixierung, A4 quer und die Kopfzeile. +Formeln, Tabellen, Zahlenformate und der PDF-Export. Beim Öffnen und Speichern einer bestehenden `.xlsx` blieben erhalten: verbundene Zellen, Kommentare, bedingte Formatierung, Datenüberprüfung, Namen, blattübergreifende Formeln, Fixierung, A4 quer und die Kopfzeile. ## Bekannte Grenzen @@ -45,18 +48,18 @@ Kurzfassung, die Einzelheiten stehen in [SKILL.md](SKILL.md): ## Test -Neuen Chat öffnen und fragen: „Sind die GridCraft-Tools verfügbar? Lies A1:E10 aus \.“ +Neuen Chat öffnen und fragen: „Sind die GridCraft-Tools verfügbar? Lies A1:E10 aus \.“ -Fehlen die Tools: Einstellungen → Erweiterungen – ist die Erweiterung eingeschaltet? Dann Claude komplett neu starten. +Fehlen die Tools: Einstellungen → Erweiterungen – ist die Erweiterung eingeschaltet? Dann Claude komplett neu starten. ## Stolpersteine - Erweiterungen sind nicht signiert; nur installieren, wenn du der Quelle vertraust. -- Formeln mit deutschen Namen ergeben `#NAME?` – englische Funktionsnamen verlangen. +- Formeln mit deutschen Namen ergeben `#NAME?` – englische Funktionsnamen verlangen. ## Deinstallation/Update -Deinstallation: Einstellungen → Erweiterungen → entfernen; Skill in der Skill-Liste löschen. +Deinstallation: Einstellungen → Erweiterungen → entfernen; Skill in der Skill-Liste löschen. Update: neue `.mcpb` und Skill-ZIP installieren, bestehende Version ersetzen lassen, Claude neu starten. @@ -86,6 +89,6 @@ Auffinden der EXE: Get-ChildItem "$env:ProgramFiles","$env:LOCALAPPDATA" -Recurse -Filter "gridcraft-cli.exe" -ErrorAction SilentlyContinue ``` -## Änderungen +## Änderungen [CHANGELOG.md](CHANGELOG.md) diff --git a/skills/gridcraft-mcp/SKILL.md b/skills/gridcraft-mcp/SKILL.md index ddabb32..1eeff49 100644 --- a/skills/gridcraft-mcp/SKILL.md +++ b/skills/gridcraft-mcp/SKILL.md @@ -9,9 +9,9 @@ GridCraft ist eine Open-Source-Tabellenkalkulation (Rust), die Excel-Parität an ## Voraussetzung -Der MCP-Server muss verbunden sein (Tools wie `write_range`, `read_range`, `execute_command`). Je nach Client heißen sie mit Präfix, z. B. `mcp__…__gridcraft__write_range`; sind sie zurückgestellt, erst per ToolSearch laden. Fehlen sie, dem Nutzer sagen, dass der Server nicht läuft, statt auf etwas anderes auszuweichen. +Die Werkzeuge heißen `write_range`, `read_range`, `execute_command` … mit einem Präfix, der vom Client und vom Namen der Erweiterung abhängt (z. B. `mcp__…__GridCraft_for_Claude__write_range`). Sind sie zurückgestellt, per ToolSearch nach dem Werkzeugnamen ohne Präfix suchen (z. B. `write_range`) und alle benötigten in einem Aufruf laden. Fehlen sie, dem Nutzer sagen, dass der Server nicht läuft, statt auf etwas anderes auszuweichen. -**Standardweg:** GridCraft aus dem ArtCraft-Launcher und die Claude-Desktop-Erweiterung „GridCraft für Claude“ sind installiert und eingeschaltet (siehe `docs/INSTALLATION.md`). Fehlen die Tools: ArtCraft-Installation und Einstellungen → Erweiterungen prüfen, Claude komplett beenden (auch Taskleiste) und neu starten. +**Standardweg:** GridCraft aus dem ArtCraft-Launcher und die Claude-Desktop-Erweiterung „GridCraft for Claude“ sind installiert und eingeschaltet (siehe `docs/INSTALLATION.md`). Fehlen die Tools: ArtCraft-Installation und Einstellungen → Erweiterungen prüfen, Claude komplett beenden (auch Taskleiste) und neu starten. **Alternative (Entwickler):** Eintrag `gridcraft` in `claude_desktop_config.json`; die App kann ihn beim Speichern eigener Einstellungen überschreiben. diff --git a/skills/gridcraft-mcp/extension/manifest.json b/skills/gridcraft-mcp/extension/manifest.json index 7315221..bda148e 100644 --- a/skills/gridcraft-mcp/extension/manifest.json +++ b/skills/gridcraft-mcp/extension/manifest.json @@ -1,9 +1,9 @@ { "manifest_version": "0.3", "name": "gridcraft-mcp", - "display_name": "GridCraft für Claude", - "version": "0.1.0", - "description": "Excel-Arbeitsmappen (.xlsx, .csv) erstellen und bearbeiten. Getestet mit GridCraft 0.8.0. Erfordert GridCraft aus dem ArtCraft-Launcher. Ohne Ordnersperre – GridCraft kann alle Dateien lesen und schreiben, auf die der Benutzer Zugriff hat.", + "display_name": "GridCraft for Claude", + "version": "0.2.0", + "description": "Excel-Arbeitsmappen (.xlsx, .csv) erstellen und bearbeiten. Getestet mit GridCraft 0.8.0. Benötigt GridCraft aus dem ArtCraft-Launcher unter C:\\Program Files\\GridCraft\\. Ohne Ordnersperre – GridCraft kann alle Dateien lesen und schreiben, auf die der Benutzer Zugriff hat.", "author": { "name": "Dominic Gundel" }, @@ -32,7 +32,7 @@ "tools": [ { "name": "execute_command", - "description": "Run ANY GridCraft command by id with JSON params — every ribbon/menu action is a command. Find ids and parameter docs with list_commands. Examples: {\"command\":\"cell.set\",\"params\":{\"cell\":\"B2\",\"input\":\"=SUM(A1:A9)\"}}; {" + "description": "Run ANY GridCraft command by id with JSON params — every ribbon/menu action is a command. Find ids and parameter docs with list_commands. Examples: {\"command\":\"cell.set\",\"params\":{\"cell\":\"B2\",\"input\":\"=SUM(A1:A9)\"}}; {" }, { "name": "list_commands", @@ -80,7 +80,7 @@ }, { "name": "sort_range", - "description": "Sort a range by one or more columns. keys: [{\"column\":\"B\",\"order\":\"desc\"}, …] or just [\"B\"]. Without `range` the current region around the selection is sorted; header detection follows Excel unless `header` is given." + "description": "Sort a range by one or more columns. keys: [{\"column\":\"B\",\"order\":\"desc\"}, …] or just [\"B\"]. Without `range` the current region around the selection is sorted; header detection follows Excel unless `header` is given." }, { "name": "filter", diff --git a/skills/wordcraft-mcp/CHANGELOG.md b/skills/wordcraft-mcp/CHANGELOG.md index 165534a..372ff0c 100644 --- a/skills/wordcraft-mcp/CHANGELOG.md +++ b/skills/wordcraft-mcp/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog – wordcraft-mcp +## 0.2.0 (2026-10-19) + +- Erweiterung (`.mcpb`) als Standardweg; `display_name` ohne Umlaut („WordCraft for Claude“, Werkzeug-Präfix jetzt `…_for_Claude`). +- Allgemeine Werkzeugnamen im Skill (Präfix hängt vom Client und vom Erweiterungsnamen ab). +- Doku: ArtCraft-Voraussetzung und „Erweiterung einschalten“; UTF-8-Fix in Manifest und README. + ## 0.1.0 (2026-10-19) - Erste Version: Skill und Claude-Desktop-Erweiterung (`.mcpb`) für WordCraft aus dem ArtCraft-Launcher. diff --git a/skills/wordcraft-mcp/README.md b/skills/wordcraft-mcp/README.md index 0752853..5d714c9 100644 --- a/skills/wordcraft-mcp/README.md +++ b/skills/wordcraft-mcp/README.md @@ -4,13 +4,13 @@ ## Zweck -Erstellt, bearbeitet und prüft Word-Dokumente über den MCP-Server von WordCraft – inklusive Nachverfolgung von Änderungen und der Fallen, die beim Praxistest mit WordCraft 0.8.0 aufgefallen sind. Die Anweisungen für Claude stehen in [SKILL.md](SKILL.md). +Erstellt, bearbeitet und prüft Word-Dokumente über den MCP-Server von WordCraft – inklusive Nachverfolgung von Änderungen und der Fallen, die beim Praxistest mit WordCraft 0.8.0 aufgefallen sind. Die Anweisungen für Claude stehen in [SKILL.md](SKILL.md). ## Voraussetzungen - Claude Desktop (die App) - **WordCraft** über den ArtCraft-Launcher (`C:\Program Files\WordCraft\wordcraft-cli.exe`) -- Die Erweiterung `wordcraft-mcp-….mcpb` und dieses Skill-ZIP (siehe [Installation](#installation)) +- Die Erweiterung `wordcraft-mcp-….mcpb` und dieses Skill-ZIP (siehe [Installation](#installation)) Falls der Plugin-Skill `wordcraft-dokumente` installiert ist: deaktivieren, damit Claude `wordcraft-mcp` verwendet. @@ -18,10 +18,13 @@ Falls der Plugin-Skill `wordcraft-dokumente` installiert ist: deaktivieren, dami Schritt-für-Schritt: [docs/INSTALLATION.md](../../docs/INSTALLATION.md). Kurz: -1. `wordcraft-mcp-v….mcpb` und `wordcraft-mcp-v….zip` aus dem [Release](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.1.0/wordcraft-mcp-v0.1.0.mcpb) laden. -2. Die `.mcpb` doppelklicken (oder über Einstellungen → Erweiterungen installieren). Lese- und Schreib-Ordner setzen; Schreibordner vorher anlegen und nicht gleich dem Leseordner wählen. -3. Skill-ZIP in Claude hochladen: **„+“ → „Skill erstellen“ → „Skill hochladen“**. -4. Claude komplett beenden (auch Taskleiste) und neu starten. +1. `wordcraft-mcp-v0.2.0.mcpb` und `wordcraft-mcp-v0.2.0.zip` aus dem [Release](https://git.gundel.dev/dg/claude-skills/releases/download/wordcraft-mcp%2Fv0.2.0/wordcraft-mcp-v0.2.0.mcpb) laden. +2. Die `.mcpb` doppelklicken (oder über Einstellungen → Erweiterungen installieren). Lese- und Schreib-Ordner setzen; Schreibordner vorher anlegen und nicht gleich dem Leseordner wählen. +3. Unter Einstellungen → Erweiterungen prüfen, dass **WordCraft for Claude** eingeschaltet ist. +4. Skill-ZIP in Claude hochladen: **„+“ → „Skill erstellen“ → „Skill hochladen“**. +5. Claude komplett beenden (auch Taskleiste) und neu starten. + +Wer v0.1.0 installiert hat: alte Erweiterung unter Einstellungen → Erweiterungen entfernen, v0.2.0 installieren, einschalten, Skill-ZIP v0.2.0 hochladen (ersetzt den alten Skill). Alte Skills `wordcraft-dokumente` bitte löschen. **Umsteigen von der manuellen Config:** Wer den Server früher in `claude_desktop_config.json` eingetragen hat: Eintrag `wordcraft` unter `mcpServers` vor der Installation der Erweiterung entfernen (vorher Sicherungskopie der Datei anlegen), sonst gibt es die Werkzeuge doppelt. @@ -31,18 +34,18 @@ Die Erweiterung steuert [WordCraft](https://github.com/storytold/wordcraft) (MIT ## Test -Neuen Chat öffnen und fragen: „Sind die WordCraft-Tools verfügbar?“ +Neuen Chat öffnen und fragen: „Sind die WordCraft-Tools verfügbar?“ -Fehlen die Tools: Einstellungen → Erweiterungen – ist die Erweiterung eingeschaltet? Dann Claude komplett neu starten. +Fehlen die Tools: Einstellungen → Erweiterungen – ist die Erweiterung eingeschaltet? Dann Claude komplett neu starten. ## Stolpersteine -- Speichern mit „path rejected“: Ziel lag außerhalb des Schreib-Ordners. Einstellungen → Erweiterungen → WordCraft für Claude → Einstellungen prüfen. +- Speichern mit „path rejected“: Ziel lag außerhalb des Schreib-Ordners. Einstellungen → Erweiterungen → WordCraft for Claude → Einstellungen prüfen. - Erweiterungen sind nicht signiert; nur installieren, wenn du der Quelle vertraust. ## Deinstallation/Update -Deinstallation: Einstellungen → Erweiterungen → entfernen; Skill in der Skill-Liste löschen. +Deinstallation: Einstellungen → Erweiterungen → entfernen; Skill in der Skill-Liste löschen. Update: neue `.mcpb` und Skill-ZIP installieren, bestehende Version ersetzen lassen, Claude neu starten. @@ -77,6 +80,6 @@ Auffinden der EXE: Get-ChildItem "$env:ProgramFiles","$env:LOCALAPPDATA" -Recurse -Filter "wordcraft-cli.exe" -ErrorAction SilentlyContinue ``` -## Änderungen +## Änderungen [CHANGELOG.md](CHANGELOG.md) diff --git a/skills/wordcraft-mcp/SKILL.md b/skills/wordcraft-mcp/SKILL.md index 0019162..9bc9e01 100644 --- a/skills/wordcraft-mcp/SKILL.md +++ b/skills/wordcraft-mcp/SKILL.md @@ -9,9 +9,9 @@ WordCraft ist ein Open-Source-Textverarbeitungsprogramm (Rust), das Word-Paritä ## Voraussetzung -Der MCP-Server muss verbunden sein (Tools wie `execute`, `list_commands`, `render_page`). In claude.ai heißen sie `mcp__claude-device__lcl-wordcraft-*` und sind oft **deferred**: zuerst per ToolSearch laden (`select:mcp__claude-device__lcl-wordcraft-list_commands,...`, alle benötigten in einem Aufruf). Fehlen sie auch dann, dem Nutzer den Grund nennen statt auszuweichen. +Die Werkzeuge heißen `list_commands`, `execute`, `render_page` … mit einem Präfix, der vom Client und vom Namen der Erweiterung abhängt (z. B. `mcp__…__WordCraft_for_Claude__list_commands`). Sind sie zurückgestellt, per ToolSearch nach dem Werkzeugnamen ohne Präfix suchen (z. B. `list_commands`) und alle benötigten in einem Aufruf laden. Fehlen sie auch dann, dem Nutzer den Grund nennen statt auszuweichen. -**Standardweg:** WordCraft aus dem ArtCraft-Launcher und die Claude-Desktop-Erweiterung „WordCraft für Claude“ sind installiert und eingeschaltet (siehe `docs/INSTALLATION.md`). Fehlen die Tools: ArtCraft-Installation und Einstellungen → Erweiterungen prüfen, Claude komplett beenden (auch Taskleiste) und neu starten – nicht auf ein anderes Programm ausweichen. +**Standardweg:** WordCraft aus dem ArtCraft-Launcher und die Claude-Desktop-Erweiterung „WordCraft for Claude“ sind installiert und eingeschaltet (siehe `docs/INSTALLATION.md`). Fehlen die Tools: ArtCraft-Installation und Einstellungen → Erweiterungen prüfen, Claude komplett beenden (auch Taskleiste) und neu starten – nicht auf ein anderes Programm ausweichen. **Alternative (Entwickler):** Eintrag `wordcraft` in `claude_desktop_config.json` mit `wordcraft-cli.exe mcp --author Claude --automation-read-root --automation-write-root \claude_out`. Store-Pfad: `%LOCALAPPDATA%\Packages\Claude_pzs8sxrjxfjjc\LocalCache\Roaming\Claude\`. Die App kann den Eintrag beim Speichern eigener Einstellungen überschreiben – dann neu eintragen und sofort neu starten. diff --git a/skills/wordcraft-mcp/extension/manifest.json b/skills/wordcraft-mcp/extension/manifest.json index 597add7..1390d97 100644 --- a/skills/wordcraft-mcp/extension/manifest.json +++ b/skills/wordcraft-mcp/extension/manifest.json @@ -1,9 +1,9 @@ { "manifest_version": "0.3", "name": "wordcraft-mcp", - "display_name": "WordCraft für Claude", - "version": "0.1.0", - "description": "Word-Dokumente (.docx, .odt, .md, PDF) erstellen und bearbeiten. Getestet mit WordCraft 0.8.0. Erfordert WordCraft aus dem ArtCraft-Launcher.", + "display_name": "WordCraft for Claude", + "version": "0.2.0", + "description": "Word-Dokumente (.docx, .odt, .md, PDF) erstellen und bearbeiten. Getestet mit WordCraft 0.8.0. Benötigt WordCraft aus dem ArtCraft-Launcher unter C:\\Program Files\\WordCraft\\.", "author": { "name": "Dominic Gundel" }, @@ -54,7 +54,7 @@ }, { "name": "open_document", - "description": "Open a .docx, .doc, .odt, .rtf, .md, .tex, .html, .txt or .json file, or any other text file (.m3u, .log, .ini…) as plain text." + "description": "Open a .docx, .doc, .odt, .rtf, .md, .tex, .html, .txt or .json file, or any other text file (.m3u, .log, .ini…) as plain text." }, { "name": "save_document",