Install
openclaw skills install @pmuhammadagus-byte/dynamic-dashboard-builderGunakan saat user ingin membuat dashboard HTML dinamis dari tabel database yang sudah ada dengan refresh data berkala. Aktif saat user minta 'bikin dashboard dari tabel ini', 'dashboard dengan polling', atau 'tampilkan data DB jadi chart live'. Wajib konfirmasi endpoint, polling rate, dan skema dulu.
openclaw skills install @pmuhammadagus-byte/dynamic-dashboard-builderSkill milik user: dynamic-dashboard-builder. Mengikuti Skill Architecture Standard X∞ (wajib).
Membangun dashboard HTML dinamis dari tabel database eksisting dengan refresh periodik—dengan gerbang validasi: endpoint harus terpercaya & disetujui user, polling rate disepakati, skema di-review, dan tidak mengekspos PII. Mencegah hardcode endpoint & auto-create skema tanpa izin.
Aktif ketika user meminta hal yang cocok dengan deskripsi di atas. Negative trigger: di luar scope deskripsi.
Baca OS/ARCH/runtime sebelum bertindak. Termux Android ARM64 ≠ Ubuntu x86_64.
IF uncertainty → VERIFY IF high risk → ASK/STOP IF tool unavailable → ALTERNATIVE IF action fails → RECOVER
Evidence-first. Bedakan FAKTA vs HIPOTESIS. Confidence: CONFIRMED/LIKELY/POSSIBLE/UNKNOWN.
Ambil tindakan relevan, lalu VERIFY. Jangan klaim sukses sebelum diverifikasi.
Pilih tool berdasar kebutuhan+konteks. Jangan asal panggil semua tool.
Ingat hal relevan; abaikan noise. Retrieve saat dibutuhkan, update bila berubah.
ACTION → VERIFY → SUCCESS? Jika tidak: DIAGNOSE → RETRY/CHANGE STRATEGY.
transient→retry; timeout→backoff; auth→credential check; dependency→diagnosis; unknown→investigate.
NEVER log secret. REDACT API KEY/TOKEN/PASSWORD/SECRET sebelum simpan. PII: MINIMIZE→REDACT→HASH.
Self-eval: capai goal? terverifikasi? ada asumsi? ada gagal? Kirim ke Agent Evaluation Engine.
Emit: START/PROGRESS/TOOL CALL/ERROR/RETRY/SUCCESS/FAILURE + TRACE_ID (tanpa secret).
FULL→OPTIMIZED→LOW RESOURCE mode bila terbatas. Prioritas: TASK>SAFETY>RELIABILITY.
USE→OBSERVE→EVALUATE→FIND WEAKNESS→IMPROVE→TEST→NEW VERSION (via evaluasi+regresi).
Semver. Perubahan struktur = MAJOR. CHANGELOG wajib. CHANGELOG
description rusak (berisi teks changelog) diganti deskripsi trigger nyata; Node 2 (PURPOSE) & Node 3 (METADATA) diisi (bukan stub); metadata.openclaw.version diset 0.2.1 seragam dengan _meta/origin. Konten domain (validation gates, core rules, error handling) dipertahankan.Tahu OS/ARCH/RUNTIME/versi/tool/API tersedia.
Trust hierarchy: OFFICIAL>PRIMARY>REPUTABLE>COMMUNITY>UNKNOWN. Tandai VERIFIED/LIKELY/UNCERTAIN/OUTDATED/CONFLICTING.
Berhenti pada: SUCCESS/FAILURE/BLOCKED/NEED USER/NEED CREDENTIAL/NEED TOOL/NEED VERIFICATION.
User wants to create a dynamic HTML dashboard from existing database tables with periodic data refresh.
digraph when_to_use {
"Have data source?" [shape=diamond];
"Need dashboard?" [shape=diamond];
"User approved config?" [shape=diamond];
"dynamic-dashboard-builder" [shape=box];
"Stop" [shape=box];
"Have data source?" -> "Need dashboard?" [label="yes"];
"Have data source?" -> "Stop" [label="no"];
"Need dashboard?" -> "User approved config?" [label="yes"];
"Need dashboard?" -> "Stop" [label="no"];
"User approved config?" -> "dynamic-dashboard-builder" [label="yes"];
"User approved config?" -> "Stop" [label="no"];
}
async function fetchData(endpoint) {
const res = await fetch(endpoint, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ collection_name: userApprovedTable })
});
if (!res.ok) throw new Error(HTTP ${res.status});
return res.json();
}
</Good>
<Bad>
```javascript
// ❌ Wrong: Hardcoded endpoint — NEVER do this
const API_URL = 'https://third-party.com/api/engine/generalDataApi';
setInterval(() => fetch(API_URL), 60000); // Hardcoded 60s polling
| Scenario | Response |
|---|---|
| API failure | Show last cached data + error indicator |
| Rate limit hit | Exponential backoff (2x, 4x, 8x...) |
| Invalid schema | Stop and ask user, never auto-correct |
| Auth failure | Alert user immediately, do not retry |
| Network timeout | Retry max 3x with 5s delay, then alert |
| Excuse | Reality |
|---|---|
| "The endpoint is internal, it's fine" | Internal endpoints change. Always configurable. |
| "60s polling is standard" | Standard ≠ safe. Confirm with user and endpoint owner. |
| "I'll create the schema automatically" | Auto-creation destroys data. Always confirm first. |
| "It's just a dashboard, no risk" | Dashboards expose data. PII leaks are permanent. |
Before marking dashboard complete: