Przejdź do treści
Biblioteka skilli
DevOps i chmura · Budowanie i kod

switchyard

/switchyard

Dodaje i poprawia zadania w manifestach .yard.toml na tablicy Switchyard i diagnozuje zadania zakończone czerwonym statusem.

Repozytorium
switchyard ↗
Licencja
MIT
Ostatnia zmiana repozytorium
13.11.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
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 13.11.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

Dodaje i poprawia zadania w manifestach .yard.toml na tablicy Switchyard i diagnozuje zadania zakończone czerwonym statusem.

Oryginalny opis (EN)

Switchyard tasks and `.yard.toml` manifests. Use when adding, changing or fixing tasks for a repo on the Switchyard board, or when a Switchyard task failed (red lamp) and needs diagnosing.

Jak działa

  1. Add or change tasks
  2. Diagnose a failed task
Sekcje z nagłówków SKILL.md, w oryginale · 81 linii, 578 słów
Podgląd SKILL.md
---
name: switchyard
description: Switchyard tasks and `.yard.toml` manifests. Use when adding, changing or fixing tasks for a repo on the Switchyard board, or when a Switchyard task failed (red lamp) and needs diagnosing.
---

Switchyard runs a repo's builds, launches and deploys from a board on the
user's desktop. Tasks live in a `.yard.toml` beside the code; the `yard` CLI
talks to the daemon that runs them. The full key reference is the manifest
section of
https://github.com/NathanielInman/switchyard/blob/main/docs/design.md#manifest-reference
(or `docs/design.md` in a Switchyard checkout). Read it before using a key
that is not in the example below.

## Add or change tasks

1. Learn how the repo is really built and run: `package.json` scripts,
   `Makefile`, `Cargo.toml`, `project.godot`, the README, CI config.
2. No `.yard.toml` yet: run `yard add <repo dir>` to scaffold one from what it
   detects, then edit it. One already there: edit it in place.
3. Shape each task:
   - `steps` are the build, run in order; a failing step stops the task.
     A long-lived process (dev server, game window) goes in `run`, which
     starts after the steps succeed.
   - `heavy = true` for builds that eat memory or every core (compilers,
     bundlers, Gradle, engine imports). Heavy builds queue for one main line
     and run at idle priority. Add `mem` when the build has a known ceiling.
   - `confirm = "hold"` for deploys and anything that touches shared state;
     `"type"` for the destructive ones.
   - `check` for services that should answer after they start.
   - `retry` only for a step with a known crash (OOM kill, flaky importer),
     with a comment naming the cause.
   - `params` with `{name}` placeholders replace near-duplicate tasks.
   - `errors` names the matchers for the toolchain (`rust`, `typescript`,
     `go`, `csharp`, `gradle`, `godot`, `python`, `generic`) so the log opens
     on the first real error.
   - Ids are the TOML keys (`[task.<id>]`) and unique across every manifest
     the user has.
4. Load and verify: `yard reload`, then `yard ls`. Done when every new or
   changed task is listed and `yard ls` prints no `!` problem line for this
   file (problems go to stderr).
5. A task missing with no problem line usually means the repo is outside the
   user's `scan` list. `yard add` says so when it is. Ask before editing their
   `config.toml`; a repo they cannot commit to takes an overlay in
   `tasks.d/` with an explicit `dir` instead.

Run a new task to prove it only when the user asks, and never a task with
`confirm` set.

```toml
[task.storefront]
tags  = ["projects"]
heavy = true
steps = ["pnpm install", "pnpm build"]
run   = "pnpm start"
check = "curl -fsS localhost:3000/health"
errors = ["typescript", "generic"]

[task.storefront.retry]
step = 2
on = "signal"        # the bundler gets OOM-killed on a cold cache
attempts = 3

[task.storefront-deploy]
label   = "storefront deploy"
confirm = "hold"
steps   = ["./scripts/deploy.sh {env}"]

[task.storefront-deploy.params.env]
default = "staging"
```

## Diagnose a failed task

1. `yard ls --json` and find the task with `"phase": "failed"`. Its `error`
   field holds the first real error, with file and line when the matcher
   found them.
2. `yard log <id> -n 200` for the context around it. `yard history <id>
   --json` shows whether it failed the same way before; exits at 128 or above
   are signals (an OOM kill shows up this way).
3. Fix the cause in the code or the manifest. A build killed for memory
   wants `mem` raised or `heavy = true`, not a retry.
4. Rerun with `yard run <id>`. It returns at once; poll `yard ls --json` until
   the task's `phase` is `ok`, `running` or `failed`. Done when it is `ok` or
   `running`, or when a failure is explained to the user with the error line.

Wersje

W bazie nie ma innych skilli o nazwie switchyard.

Migawka bazy z 13.11.2026 · wersja paczki 3f6b4e6c5d61 (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

  • 100yard
    Prowadzi dziennik Yard gałęzi przy planowaniu, budowie, poprawkach i przeglądzie zmian, z etapami, zadaniami i decyzjami.
  • 100yard
    Prowadzi dziennik Yard gałęzi przy planowaniu, budowie, poprawkach i przeglądzie zmian, z etapami, zadaniami i decyzjami.
  • 100minimal-config
    Pomaga edytować minimal.toml w systemie budowania Minimal: dodawać pakiety, definiować zadania, przypinać [upstream], rozwiązywać błędy mip check i wyjaśniać zmiany locked_commit.

Uwagi i zgłoszenia

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