Jun 16, 2026, 9:09 AM
This commit is contained in:
@@ -1,20 +0,0 @@
|
||||
---
|
||||
name: my-suite-gather-web
|
||||
description: Fetches sources from the web. Uses web_search when needed, then web_fetch for extraction.
|
||||
user-invocable: false
|
||||
metadata: {"openclaw":{"emoji":"🌐","requires":{"config":["tools.web.fetch.enabled"]}}}
|
||||
---
|
||||
|
||||
# Gather Web
|
||||
|
||||
## When to use
|
||||
- Użytkownik podał URL lub trzeba znaleźć źródła w WWW.
|
||||
|
||||
## Steps
|
||||
1) Jeśli jest URL → `web_fetch(url=..., extractMode="markdown")`
|
||||
2) Jeśli brak URL → `web_search(query=..., count=3)` → wybierz 1–3 wyniki → `web_fetch(...)`
|
||||
|
||||
## Artifacts
|
||||
Zapisz do:
|
||||
- `{baseDir}/runs/<runId>/sources.md` (linki + krótkie ekstrakty)
|
||||
- `{baseDir}/runs/<runId>/inputs.json` (metadane wejścia)
|
||||
@@ -1,33 +0,0 @@
|
||||
---
|
||||
name: my-suite-orchestrator
|
||||
description: Orchestrates the suite: routes to sub-skills, enforces guardrails, and produces auditable outputs.
|
||||
user-invocable: true
|
||||
metadata: {"openclaw":{"emoji":"🧭","always":true}}
|
||||
---
|
||||
|
||||
# My Suite — Orchestrator
|
||||
|
||||
## Responsibility (single)
|
||||
Zarządzaj wykonaniem zadania: wybierz właściwy sub-skill, utrzymaj porządek artefaktów i guardrails.
|
||||
|
||||
## Routing rules (deterministic)
|
||||
- Jeśli źródło to URL / WWW → użyj **my-suite-gather-web**
|
||||
- Jeśli źródło to plik/ścieżka → użyj **my-suite-gather-files**
|
||||
- Jeśli trzeba przetworzyć/oczyścić dane → użyj **my-suite-transform**
|
||||
- Jeśli trzeba złożyć wynik w raport → użyj **my-suite-report**
|
||||
|
||||
## Global guardrails (MUST)
|
||||
- Preferuj narzędzia “read-only” i web tools (web_fetch/web_search) nad exec.
|
||||
- `exec` tylko gdy:
|
||||
1) to konieczne,
|
||||
2) pasuje do allowlisty z my-suite-transform,
|
||||
3) dotyczy wyłącznie plików w `{baseDir}/runs/<runId>/`.
|
||||
- Artefakty zapisuj w `{baseDir}/runs/<runId>/...`
|
||||
- Jeśli brakuje danych → max 3 pytania doprecyzowujące, potem stop.
|
||||
|
||||
## Output contract
|
||||
Zawsze zwróć:
|
||||
- TL;DR
|
||||
- Co było wejściem
|
||||
- Co powstało (artefakty i ścieżki)
|
||||
- Następne kroki
|
||||
@@ -1,18 +0,0 @@
|
||||
---
|
||||
name: my-suite-quickfetch
|
||||
description: Slash-safe quick fetch: bypass model and run web_fetch directly on provided URL.
|
||||
user-invocable: true
|
||||
command-dispatch: tool
|
||||
command-tool: web_fetch
|
||||
command-arg-mode: raw
|
||||
metadata: {"openclaw":{"emoji":"⚡","requires":{"config":["tools.web.fetch.enabled"]}}}
|
||||
---
|
||||
|
||||
# QuickFetch (slash)
|
||||
|
||||
Usage:
|
||||
- `/my-suite-quickfetch https://example.com`
|
||||
|
||||
Notes:
|
||||
- This bypasses the model and dispatches to web_fetch.
|
||||
- Provide a single URL as the raw args string.
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
name: my-suite-report
|
||||
description: Produces the final report.md from gathered/transformed artifacts. No exec.
|
||||
user-invocable: false
|
||||
metadata: {"openclaw":{"emoji":"📝","always":true}}
|
||||
---
|
||||
|
||||
# Report
|
||||
|
||||
## Inputs
|
||||
- `{baseDir}/runs/<runId>/sources.md` i/lub `input.txt`
|
||||
- `{baseDir}/runs/<runId>/result.raw` (jeśli istnieje)
|
||||
- `transform.log` (opcjonalnie)
|
||||
|
||||
## Output
|
||||
Zapisz:
|
||||
- `{baseDir}/runs/<runId>/report.md`
|
||||
|
||||
Format report.md:
|
||||
- TL;DR
|
||||
- Evidence (źródła, linki, fragmenty)
|
||||
- Steps taken (bez sekretów)
|
||||
- Artifacts (ścieżki)
|
||||
- Next actions (max 5)
|
||||
@@ -1,40 +0,0 @@
|
||||
---
|
||||
name: my-suite-transform
|
||||
description: Deterministic transformations with a strict command allowlist (exec is optional and constrained).
|
||||
user-invocable: false
|
||||
metadata: {"openclaw":{"emoji":"🧪","requires":{"config":["group:runtime"],"bins":["jq"]}}}
|
||||
---
|
||||
|
||||
# Transform (Allowlisted exec)
|
||||
|
||||
## Golden rule
|
||||
Preferuj transformacje bez `exec`. Jeśli `exec` jest potrzebny → tylko allowlista poniżej.
|
||||
|
||||
## Command allowlist (STRICT)
|
||||
Dozwolone są WYŁĄCZNIE te komendy (dokładne wzorce):
|
||||
|
||||
1) `jq --version`
|
||||
2) `jq -c . <INPUT >OUTPUT`
|
||||
3) `jq -r . <INPUT >OUTPUT`
|
||||
4) `head -n <N> <INPUT`
|
||||
5) `tail -n <N> <INPUT`
|
||||
6) `wc -l <INPUT`
|
||||
7) `grep -n "<literal>" <INPUT`
|
||||
8) `sed -n '<start>,<end>p' <INPUT`
|
||||
|
||||
### Constraints (MUST)
|
||||
- `<INPUT>` i `<OUTPUT>` MUSZĄ być ścieżkami pod `{baseDir}/runs/<runId>/`
|
||||
- `<N>` to liczba 1..500
|
||||
- `"<literal>"` nie może zawierać znaków: `; | & $ \` ( ) { }`
|
||||
- Zakaz: `rm`, `mv`, `cp` poza run, `curl`, `wget`, `ssh`, `sudo`, `chmod`, `chown`, `dd`, `mkfs`, `> /dev/*` itd.
|
||||
|
||||
## Execution steps
|
||||
1) Waliduj, czy polecenie pasuje do allowlisty i constraintów.
|
||||
2) Jeśli nie pasuje → przerwij i zaproponuj alternatywę bez exec.
|
||||
3) Jeśli pasuje → uruchom `exec` tylko na plikach w katalogu run.
|
||||
4) Wynik zapisz do:
|
||||
- `{baseDir}/runs/<runId>/transform.log`
|
||||
- `{baseDir}/runs/<runId>/<output files>`
|
||||
|
||||
## Why this exists
|
||||
Zapobiega command injection i ogranicza skutki błędów do sandboxowego katalogu run.
|
||||
Reference in New Issue
Block a user