Install
openclaw skills install @pmuhammadagus-byte/coding-2Gunakan saat membangun dashboard HTML dinamis yang membaca dari data API (mis. generalDataApi), merancang skema DB sebelum frontend, membuat chart real-time dengan polling, atau bekerja dengan endpoint data serupa. Aktif saat user minta 'bikin live dashboard dari data ini', 'chart real-time 60 detik', atau 'dashboard baca dari API'.
openclaw skills install @pmuhammadagus-byte/coding-2Skill milik user: coding-2. Mengikuti Skill Architecture Standard X∞ (wajib).
Membangun dashboard HTML dinamis yang dibacking oleh data API: merancang skema DB dari data, mendesain backend API (generalDataApi), lalu merender chart yang masing-masing memanggil API sendiri dan mem-polling tiap 60 detik untuk update real-time.
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 ditambahkan. Konten domain (skema DB, generalDataApi, polling 60s, style_lint.py) 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.
Use this skill when:
Don't use when: Simple static HTML or non-dashboard work.
This skill provides specialized capabilities for coding, focused on building a real-time HTML dashboard backed by a data API.
| Mistake | Fix |
|---|---|
| Designing UI before DB schema | Design schema from data first |
| One API call for all charts | Each chart requests its own data |
| No polling | Set 60s interval for real-time updates |
| Hardcoding endpoint | Use the generalDataApi contract with session_group_id |
| Excuse | Reality |
|---|---|
| "I'll skip the DB schema" | Schema drives the API design. |
| "One request is enough" | Each chart needs its own data fetch. |
| "Polling is overkill" | The spec requires real-time updates. |
session_group_id.https://teamo-dev.floatai.cn/api/engine/generalDataApi, method=POST.
{"session_group_id":"$SESSION_GROUP_ID$", "collection_name":<表名>}{"code":0, "result": {"data": [<JSON数组>]}}generalDataApi per chart, 60s poll → insert the sales data.orders" → add a chart component that POSTs collection_name: "orders" and re-renders on the 60s timer.$SESSION_GROUP_ID$ and ${表名} at runtime — never hardcode placeholder strings into the final request.result.data as a JSON array — guard for code !== 0 before rendering.scripts/style_lint.py — checks an HTML/JS dashboard for the skill's conventions (independent fetch per chart, 60s poll, code !== 0 guard, no leftover placeholders). Example:
python3 scripts/style_lint.py dashboard.html --require-poll 60000