May 17, 2026, 11:40 PM

This commit is contained in:
Paweł Domański
2026-05-18 06:40:19 +00:00
commit 64944cf004
896 changed files with 310709 additions and 0 deletions
+65
View File
@@ -0,0 +1,65 @@
---
name: dbadmin-blog-registry
description: Konfiguracja, wytyczne i polityki dla bloga niszowego dbadmin.pl (Database Engineering) w systemie PaperClip.
user-invocable: false
metadata:
openclaw:
project_id: database_engineering
project_type: niche_blog
parent_hub: personal_authority_hub
---
domain:
production: "dbadmin.pl"
staging: "staging.dbadmin.pl"
content:
language: "pl"
tone: "ekspercki, praktyczny, empatyczny, wspierający. Ton doświadczonego inżyniera tłumaczącego zawiłości 'accidental DBA'. Konkretny, bez akademickiego żargonu i bez lania wody."
audience:
- przypadkowi administratorzy (accidental DBA)
- backend developerzy
- administratorzy systemów (sysadmin / DevOps)
- junior DBA
seo:
primary_topics:
- Oracle
- SQL Server
- PostgreSQL
- backup i odtwarzanie (np. RMAN, NetWorker)
- optymalizacja wydajności (performance tuning dla opornych)
- High Availability (HA)
- automatyzacja i monitoring
- troubleshooting bazodanowy
excluded_topics:
- absolutne podstawy składni SQL (np. jak zrobić prosty SELECT)
- czysto teoretyczne rozważania (np. akademickie postacie normalne)
- ogólne newsy technologiczne bez kontekstu dla administratorów
eeat:
author_entity: "main_author"
requires_first_hand_experience: true
requires_disclosure: true
requires_sources: true
geo:
requires_summary_box: true
requires_faq: true
requires_definitions: true
requires_comparison_table: true
requires_evidence_pack: true
content_types:
- troubleshooting_guide
- architecture_note
- backup_strategy
- performance_case_study
- tool_comparison
- checklist
linking_rules:
to_hub:
- autor bio / o mnie
- metodologia pracy
to_niche:
- self_hosted_devops (np. konteneryzacja baz danych w Dockerze)
+20
View File
@@ -0,0 +1,20 @@
---
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 13 wyniki → `web_fetch(...)`
## Artifacts
Zapisz do:
- `{baseDir}/runs/<runId>/sources.md` (linki + krótkie ekstrakty)
- `{baseDir}/runs/<runId>/inputs.json` (metadane wejścia)
+33
View File
@@ -0,0 +1,33 @@
---
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
+18
View File
@@ -0,0 +1,18 @@
---
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.
+24
View File
@@ -0,0 +1,24 @@
---
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)
+40
View File
@@ -0,0 +1,40 @@
---
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.