Przejdź do treści
Biblioteka skilli
Inne · Automatyzacja

param-write

/param-write

Zapisuje wartości do żywych parametrów sterownika Motorcortex: pojedynczo, zbiorczo lub w wycinku tablicy.

Licencja
MIT
Ostatnia zmiana repozytorium
28.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
0
Przestarzałość

Brak sygnałów. Repozytorium zmienione 28.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Zapisuje wartości do żywych parametrów sterownika Motorcortex: pojedynczo, zbiorczo lub w wycinku tablicy.

Oryginalny opis (EN)

Write values to live Motorcortex parameters on the connected controller — single value, bulk write, or partial array slice. Confirms writability and reports failures clearly. Use to command setpoints, toggle inputs, or push test values.

Jak działa

  1. Step 1: Verify connection
  2. Step 2: Pre-flight each path
  3. Step 3: Confirm intent for risky writes
  4. Step 4: Write
  5. Step 5: Verify
  6. Notes
Sekcje z nagłówków SKILL.md, w oryginale · 74 linii, 591 słów
Podgląd SKILL.md
---
name: param-write
description: Write values to live Motorcortex parameters on the connected controller — single value, bulk write, or partial array slice. Confirms writability and reports failures clearly. Use to command setpoints, toggle inputs, or push test values.
review-by: 2027-01-28
---

Write to live Motorcortex parameter(s): "$ARGUMENTS"

This skill calls the controller MCP tools (`check_connection`,
`set_parameter`, …) from this plugin's own bundled `mcx-core` MCP
server — no other plugin is required. Other Motorcortex plugins may expose
the same tool surface; if several are connected, prefer the `mcx-core`
server's tools.

Parse the arguments for:
- **path** + **value** for a single write, OR
- **items**: list of `{path, value [, offset, length]}` for bulk writes

If the user gave a value but no path, or vice versa, ask once.

## Step 1: Verify connection

Call `check_connection`. If not connected, ask for the controller IP and call `configure_connection(url="wss://<ip>")`. Stop on persistent failure.

**Confirm it is the right machine.** The connection persists across sessions,
so it may still point at a controller from earlier work. Compare the
`MCX_URL` it reports with the machine the user is talking about: if they
mention a local simulation (`localhost`, `127.0.0.1`), a portal VM, or a
different IP than the one connected, stop and ask before writing. Name the
controller URL in the Step 3 summary and in the final report — every write
result carries it as `controller`.

## Step 2: Pre-flight each path

For every target path, call `get_parameter_info(path)` and inspect:
- **`param_type`**: must be `INPUT`, `PARAMETER`, `PARAMETER_VOLATILE` or `PARAMETER_PERSISTENT`. `OUTPUT` → refuse, explain that outputs are computed by the controller.
- **`elements`**: scalar (1) vs array. The provided value shape must match — scalar to scalar, list-of-N to array of size N (or use `offset`/`length` for a slice).
- **`data_type`**: coerce numeric literals correctly (`BOOL` → true/false, `INT32` → integer, `DOUBLE` → float).
- **`flags`**: `LINK_IS_ACTIVE` means a link drives this value, so a written value is overwritten by the link — say so and ask before writing. `OVERWRITE_IS_ACTIVE` means the value is currently being overridden.
- **`unit`**, when present: state it with the value in the Step 3 summary, and check the user's number is in that unit (mm vs m, deg vs rad).

If any path fails pre-flight, list the issues and stop **before** writing anything. Do not partial-write.

## Step 3: Confirm intent for risky writes

Live parameter writes affect the running controller. Before writing, summarize what you are about to do (controller URL, then path → old value → new value) and ask the user to confirm if any of the following apply:
- Mode/state commands (paths matching `*/stateCommand`, `*/modeCommand`, `*/enable*`, `*/reset*`)
- Anything under `root/Logic/...` or `root/MainControlLoop/...`
- The user is on a real (non-simulation) machine — check `config.json:Mode == "Production"` if the package is at hand, or just ask.

For obviously safe scratch values (e.g. user parameters under `root/UserParameters/...`), proceed without extra confirmation.

## Step 4: Write

Single write:
```
set_parameter(path="root/...", value=<scalar or list>)
```

Bulk (≥2 values, atomic round-trip — preferred when targeting multiple paths):
```
set_parameter_list(items=[
  {"path": "root/Foo/a", "value": 1.0},
  {"path": "root/Foo/b", "value": [0, 0, 0]},
  {"path": "root/Bar/slice", "value": [9, 9], "offset": 2, "length": 2}
])
```

## Step 5: Verify

After writing, read the values back (`get_parameter` or `get_parameter_list`) and report, starting with the controller URL the write went to:
- ✓ written + verified for each path, OR
- ✗ mismatch → show requested vs actual (the controller may clamp, reject, or overwrite from a feedback loop)

## Notes
- Writing to an `output` parameter will be rejected by the MCP — do not retry, fix the path.
- `PARAMETER_VOLATILE` is not persisted across controller restarts; mention this if the user expects persistence.
- For test/setpoint sweeps, use `set_parameter_list` in a loop — never `set_parameter` per element.

Wersje

W bazie nie ma innych skilli o nazwie param-write.

Migawka bazy z 13.11.2026 · wersja paczki af73500729f8 (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 100param-explore
    Przeszukuje żywe drzewo parametrów sterownika Motorcortex: wylistowanie ścieżek, odczyt wartości i metadanych.
  • 90desk-plot
    Wykreśla na żywo sygnały sterownika Motorcortex w działającym Desku: wyszukuje parametry, dodaje ślady i ustawia częstotliwość.
  • 96s04-08-param-validation
    Dodaje jednolitą walidację parametrów wejściowych, granice wartości i filtrowanie niebezpiecznych danych w API i formularzach.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.