Skip to content
Back to skills

Matematic Marketplace Installer

ASecurity

Generuje skrypt instalacyjny MateMatic Marketplace dla prawników - Windows .bat (bez Git/npm). Użyj gdy - /marketplace install, "zainstaluj skille", "installer dla kancelarii", "jak zainstalować skille bez GitHub".

  • 6 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 19, 2026
ai-agentsgoshellbashnodegitapi

Works with

  • claude code
  • api

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 19, 2026

npx -y skills add matematicsolutions/awesome-matematic-skills-pl --skill matematic-marketplace-installer --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Matematic Marketplace Installer?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Matematic Marketplace Installer
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/matematicsolutions-matematic-marketplace-installer/badge)](https://www.skillsdirectory.com/skills/matematicsolutions-matematic-marketplace-installer)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: matematic-marketplace-installer
description: Generuje skrypt instalacyjny MateMatic Marketplace dla prawników - Windows .bat (bez Git/npm). Użyj gdy - /marketplace install, "zainstaluj skille", "installer dla kancelarii", "jak zainstalować skille bez GitHub".
allowed-tools: Bash, Read, Write
license: Apache-2.0
data-residency: local
requires-human-approval: true
pii-egress: none
---

# MateMatic Marketplace Installer

Generuje gotowe skrypty instalacyjne skilli MateMatic dla docelowych użytkowników
(prawnicy, kancelarie) - bez wymagania Git, npm ani wiedzy technicznej.

## Safety Tiers

| Tier | Operacje | Reguła |
|------|----------|--------|
| **R** | Podgląd listy skilli do instalacji | Bez potwierdzenia |
| **M** | Generowanie skryptu .bat / .ps1 | Pokaż zawartość przed zapisem |
| **D** | Nadpisanie istniejących skilli w `~/.claude/skills/` | Użytkownik wpisuje "potwierdzam" |

## Tryby

### `/marketplace install [skill-slug]`
Generuje `install-matematic-skills.bat` gotowy do uruchomienia przez prawnika.

### `/marketplace list`
Wyświetla dostępne skille z awesome-matematic-skills-pl z opisem.

### `/marketplace check`
Sprawdza co jest już zainstalowane w `~/.claude/skills/`.

## Workflow generowania instalatora

1. Pobierz `marketplace.json` z `matematicsolutions/awesome-matematic-skills-pl` (ścieżka: `.claude-plugin/marketplace.json`)
2. Zapytaj które skille lub "wszystkie"
3. Wygeneruj `install-matematic-skills.bat` (patrz szablon poniżej)
4. Wygeneruj `README-instalacja.txt` z instrukcją krok po kroku
5. Dostarcz oba pliki gotowe do wysłania klientowi

## Szablon install-matematic-skills.bat

> **Szablon, nie gotowy plik.** Tryb `/marketplace install` podstawia trzy placeholdery przed zapisem `.bat` na dysk:
>
> - `__GIT_REF__` -> domyślnie tag najnowszej publikacji z `marketplace.json` (np. `refs/tags/v0.6.0`); klient może wymusić inny przez `--ref main` lub `--ref vX.Y.Z`. Pinowanie do taga = powtarzalna instalacja (audytowalna).
> - `__SKILL_SLUGS__` -> lista slugów wybranych skilli, oddzielona spacjami (np. `let-it-be redline-docx-pl saos-orzecznictwo`).
> - `__EXTRACTED_DIR__` -> nazwa katalogu po rozpakowaniu ZIP-a: dla taga `vX.Y.Z` to `awesome-matematic-skills-pl-X.Y.Z`, dla `main` to `awesome-matematic-skills-pl-main`.
>
> Surowy szablon poniżej **nie zadziała** uruchomiony bez podstawienia.

```batch
@echo off
setlocal enabledelayedexpansion
chcp 65001 >nul

echo MateMatic Marketplace Installer
echo ================================
echo Instaluje skille AI dla Claude Code
echo.

:: Katalog docelowy
set "SKILLS_DIR=%USERPROFILE%\.claude\skills"
if not exist "%SKILLS_DIR%" mkdir "%SKILLS_DIR%"

:: Tymczasowy katalog pobrania
set "TMP_DIR=%TEMP%\matematic-install-%RANDOM%"
mkdir "%TMP_DIR%"

echo [1/4] Pobieranie skilli z MateMatic Marketplace...
:: __GIT_REF__ = refs/tags/vX.Y.Z (domyślnie najnowszy tag z marketplace.json) lub refs/heads/main (bleeding-edge).
powershell -Command "Invoke-WebRequest -Uri 'https://github.com/matematicsolutions/awesome-matematic-skills-pl/archive/__GIT_REF__.zip' -OutFile '%TMP_DIR%\skills.zip' -UseBasicParsing"

if not exist "%TMP_DIR%\skills.zip" (
    echo BLAD: Nie udalo sie pobrac. Sprawdz polaczenie z Internetem.
    pause
    exit /b 1
)

echo [2/4] Rozpakowywanie...
powershell -Command "Expand-Archive -Path '%TMP_DIR%\skills.zip' -DestinationPath '%TMP_DIR%\extracted' -Force"

echo [3/4] Instalowanie skilli...
:: [LISTA SKILLI - generowana dynamicznie]
:: UWAGA: nazwa katalogu po Expand-Archive zalezy od ref ZIPa - dla taga vX.Y.Z bedzie "awesome-matematic-skills-pl-X.Y.Z", dla main "awesome-matematic-skills-pl-main". Tryb /marketplace install podstawia __EXTRACTED_DIR__.
:: Skille leza w pakietach: <plugin>\skills\<slug> (np. dokumenty\skills\redline-docx-pl) - szukamy sluga we wszystkich pakietach.
for %%S in (__SKILL_SLUGS__) do (
    set "SRC="
    for /d %%P in ("%TMP_DIR%\extracted\__EXTRACTED_DIR__\*") do if exist "%%P\skills\%%S\SKILL.md" set "SRC=%%P\skills\%%S"
    set "DST=%SKILLS_DIR%\%%S"
    if exist "!SRC!" (
        :: UWAGA: rd /s /q usuwa lokalne modyfikacje w skillu. Klient ostrzezony w README-instalacja.txt.
        if exist "!DST!" rd /s /q "!DST!"
        xcopy /e /i /q "!SRC!" "!DST!" >nul
        echo   OK: %%S
    ) else (
        echo   POMINIETY: %%S ^(nie znaleziono^)
    )
)

:: Zapis manifestu integralnosci skills-lock.json (SHA256 per zainstalowany skill) - patrz
:: sekcja "Integralnosc" ponizej. Self-contained (bez zewnetrznego pliku) - dziala tez u klienta
:: bez Git/npm. Hashuje TYLKO skille z tej instalacji (__SKILL_SLUGS__), nie cudze skille klienta.
echo [4/4] Zapis manifestu integralnosci...
powershell -Command ^
  "$e=[ordered]@{}; foreach ($s in ('__SKILL_SLUGS__' -split '\s+' | Where-Object { $_ })) { $f = Join-Path '%SKILLS_DIR%' (Join-Path $s 'SKILL.md'); if (Test-Path $f) { $h = (Get-FileHash $f -Algorithm SHA256).Hash.ToLower(); $e[$s] = [ordered]@{ source='matematicsolutions/awesome-matematic-skills-pl'; sourceType='github'; ref='__GIT_REF__'; skillPath=((Get-ChildItem '%TMP_DIR%\extracted\__EXTRACTED_DIR__' -Directory | Where-Object { Test-Path (Join-Path $_.FullName \"skills\$s\SKILL.md\") } | Select-Object -First 1 | ForEach-Object { $_.Name + '/skills/' + $s + '/SKILL.md' })); computedHash=\"sha256:$h\" } } }; $json = ([ordered]@{version=1; skills=$e} | ConvertTo-Json -Depth 6); [System.IO.File]::WriteAllText('%SKILLS_DIR%\..\skills-lock.json', $json, (New-Object System.Text.UTF8Encoding($false)))"

:: Czyszczenie
rd /s /q "%TMP_DIR%"

echo.
echo ================================
echo Instalacja zakonczona.
echo Uruchom nowa sesje Claude Code.
echo Skille beda dostepne jako /nazwa-skilla
echo ================================
pause
```

## Szablon README-instalacja.txt

```
INSTRUKCJA INSTALACJI - MateMatic Marketplace
=============================================

WYMAGANIA:
- Claude Code (pobierz z claude.ai/code)
- Polaczenie z Internetem

INSTALACJA:
1. Zweryfikuj zrodlo pliku - powinien pochodzic z oficjalnego release
   github.com/matematicsolutions/awesome-matematic-skills-pl/releases.
   Jezeli kancelaria ma polityke whitelistingu - zglos plik do IT przed otwarciem.
2. (ZALECANE dla kancelarii) Zweryfikuj sume SHA256:
   - Pobierz z release page plik `checksums.txt`.
   - W PowerShell w katalogu pobranego .bat uruchom:
       Get-FileHash -Algorithm SHA256 install-matematic-skills.bat
   - Porownaj z linia w checksums.txt. Jezeli niezgodne - NIE uruchamiaj, zglos
     wsparcie@matematic.co.
3. Kliknij dwukrotnie install-matematic-skills.bat
   (Windows SmartScreen moze pokazac ostrzezenie. Jezeli plik pochodzi z innego
    zrodla niz oficjalny release - NIE uruchamiaj. Jezeli jest z release i polityka
    kancelarii pozwala - kliknij "Wiecej informacji" -> "Uruchom i tak".
    Prawa administratora NIE sa wymagane - skrypt pisze do %USERPROFILE%.)
4. Poczekaj az pojawi sie "Instalacja zakonczona!"
5. Uruchom Claude Code od nowa
6. Sprawdz: wpisz /szukaj-orzeczen "dobro dziecka" - komenda jest dostepna

PROBLEMY:
- Jesli Windows blokuje skrypt: Wlasciwosci pliku -> Odblokuj
  (Tylko gdy plik pochodzi z oficjalnego release. W innym wypadku - zglos IT.)
- Jesli brak Internetu: sprawdz firewall firmowy

Wsparcie: support@matematic.co
```

## Uwagi techniczne

- Nie wymaga Git (używa `Invoke-WebRequest` + `Expand-Archive`)
- Nie wymaga npm/node
- Działa na Windows 10/11 z PowerShell 5.1+
- Skrypt **nadpisuje** istniejące skille o tych samych nazwach (lokalne modyfikacje skopiowanych skilli przepadają). Klient, który dostosował skill po instalacji, powinien zrobić kopię przed re-runem.
- Ścieżka docelowa: `%USERPROFILE%\.claude\skills\` (katalog skilli Claude Code w profilu użytkownika)
- **Reproducible install**: domyślny ref to **najnowszy tag** z `marketplace.json` (audytowalna wersja). Tryb `--ref main` pobiera `HEAD` (do testowania, nie do produkcji w kancelarii).
- **Weryfikacja integralności SHA256** (v0.6.1+): wraz z każdym release MateMatic publikuje plik `checksums.txt` jako asset release page zawierajacy SHA256 dla generowanego `install-matematic-skills.bat`. Klient kancelarii powinien:
  1. Pobrać `checksums.txt` z tej samej strony co .bat.
  2. Uruchomić `Get-FileHash -Algorithm SHA256 install-matematic-skills.bat` w PowerShell.
  3. Porównać hex z linią w `checksums.txt` (case-insensitive, lower-case standard).

  Workflow generowania `checksums.txt` jest częścią release pipeline MateMatic (`gh release upload vX.Y.Z install-matematic-skills.bat checksums.txt`). Klient dostaje hash spod tej samej autorytatywnej domeny `github.com/matematicsolutions/...` co plik instalacyjny - nie potrzebuje osobnego kanału.

  **Ograniczenie znane**: GitHub nie publikuje stabilnej sumy dla automatycznie generowanych `archive/refs/tags/...zip` (regeneruje przy każdym żądaniu). `checksums.txt` dotyczy konkretnie wygenerowanego `install-matematic-skills.bat` (deterministyczny output skilla), nie archiwum całego repo.

## Integralność (`skills-lock.json`)

Wzorzec zapożyczony z `tutti-os/tutti` (skills-lock.json: `source` + `sourceType` +
`skillPath` + `computedHash` SHA256 per skill). Uzupełnia `checksums.txt`: tamten chroni
plik `.bat` PRZED uruchomieniem, ten wykrywa, że zainstalowany skill cicho się zmienił
PO instalacji (wymiar „Supply chain" z `audyt-kodu-25-wymiarow-pl`).

Krok `[4/4]` w szablonie `.bat` liczy SHA256 `SKILL.md` każdego skilla z tej instalacji
i zapisuje `skills-lock.json` obok katalogu skilli (`%USERPROFILE%\.claude\skills-lock.json`),
razem z refem, z którego pobrano paczkę. Przy kolejnej instalacji lub audycie można
porównać hash i wykryć drift (ktoś ręcznie zmienił skill albo źródło podmieniło zawartość
pod tym samym slugiem), zamiast ufać, że „wygląda tak samo".

To narzędzie do wykrywania, NIE blokada - gdy hash się nie zgadza, poinformuj
użytkownika, nie przerywaj automatycznie instalacji (kancelaria nie ma kontekstu, żeby
ocenić, czy drift jest zamierzony).

Ręczne przeliczenie manifestu (np. audyt własnego katalogu skilli):
[scripts/write-skills-lock.ps1](scripts/write-skills-lock.ps1).

Files in this skill

  • SKILL.md10 KB
  • scripts/write-skills-lock.ps12.4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.