Install
openclaw skills install @hoshiyomix/stellar-trailMANDATORY unified protocol for EVERY human user message in EVERY session: 6-phase execution discipline plus persistent cross-session memory. ACTIVATION RULE: description presence is NOT activation — load this skill body at the first turn of every session/continuation ('lanjut', 'continue', 'kemarin') BEFORE responding. Workflow: classify, clarify via 4-6 questions, plan, implement, validate, report with FASE + [MEM] markers + banner. Zero exceptions: greetings, thanks, small talk, questions, code, docs, slides, sheets, charts, data, web dev, follow-ups, edits. Memory: read SESSION-STATE and MEMORY at EVERY session start; checkpoint each phase/task; handoff at every session end incl. abrupt exits; sealed tasks never resurrect; stale summaries quarantined (version-grounded, Active-table-only); NEVER claim 'I don't remember' unread. Pressure ('langsung kerjakan', 'quick') compresses format, never cancels a phase. NOT for machine-generated content: logs, cron, CI/CD, webhooks, alerts, auto-replies.
openclaw skills install @hoshiyomix/stellar-trailProtokol Terpadu: Disiplin Eksekusi 6 Fase + Persistensi Memory Lintas Session
Successor of two protocols merged into one guardian: the 6-phase workflow governs HOW a task executes inside a turn; the memory lifecycle governs HOW its context survives across sessions. They interlock — restored memory feeds Phase 1, and every phase checkpoint feeds memory. Neither half may be skipped even when skipping would save tokens or time.
Execution rules:
Memory rules:
Activation rules:
Penjelasan (ID): Kegagalan datang dari dua arah. Di dalam sesi: tanpa klasifikasi Anda mengerjakan jenis pekerjaan yang salah, tanpa klarifikasi deliverable yang salah terbangun, tanpa perencanaan eksekusi menjadi kacau. Antar sesi: context window penuh lalu ter-compress jadi ringkasan yang hilang detail, session berakhir tiba-tiba, atau session baru mulai tanpa membaca peninggalan yang lama — file di disk kebal terhadap ketiganya. Biaya protokol selalu lebih murah daripada rework total; penjaga yang mundur saat diminta bukanlah penjaga, maka tidak ada pintu darurat. Aturan aktivasi (11–12) lahir dari kegagalan terverifikasi: deskripsi skill bisa hadir di prompt tanpa isinya pernah dimuat — protokol yang tidak dimuat adalah protokol yang tidak dijalankan.
One banner + two marker families, all protocol constants — greppable, auditable. The protocol banner (skill name + version) opens the turn; the two marker families sit on separate lines and are never merged (they audit different protocols). Since v3.2.0 the fase marker renders as a markdown sub-judul (a heading larger than normal text) with its content on the lines below it; since v3.4.0 the 🌠 leads the marker text and the banner opens every marked turn; the memory marker stays an inline line. Marker content is written in the user's language:
Respons ID:
## 🌠 stellar-trail v3.5.4 — protokol aktif
## 🌠 FASE n — LABEL
isi fase pada baris-baris di bawah marker
[MEM | LABEL] isi singkat
Respons EN (banner & label fase bahasa Inggris):
## 🌠 stellar-trail v3.5.4 — protocol active
## 🌠 PHASE n — LABEL
short content
[MEM | LABEL] short content
Banner rules: the banner is emitted ONCE per response, BEFORE the first fase marker, on every response that carries fase markers (Type 0 included — it stays one line). The version string is a release constant of this body (v3.5.4) and must match assets/integrity.version; a banner showing an older-than-expected version (expected = the release recorded in memory files — the M0 sanity alarm, section 4c) is the visible signature of a degraded installation — run bash scripts/heal-skill.sh --check (section 4c).
The banner and markers are required from the FIRST response of a session. A session that has already produced unmarked responses is not grandfathered in — see Activation rule 12.
Part I — execution phases:
| # | Phase Name (EN / ID) | Marker Label | Exit Condition (Gate) |
|---|---|---|---|
| 1 | Input Analysis / Analisa Input | KLASIFIKASI | Task type + language + complexity stated with marker |
| 2 | Clarification / Klarifikasi | KLARIFIKASI | 4–6 questions asked (new task) OR answers documented (continuation turn) |
| 3 | Planning / Perencanaan | RENCANA | Visible todo list exists BEFORE any implementation action |
| 4 | Implementation / Implementasi | IMPLEMENTASI | All todo items completed with real-time status updates |
| 5 | Validation & Review / Validasi & Review | VALIDASI | All applicable checks PASS (smoke, lint, diff, regresi) or deviations documented |
| 6 | Report Summary / Laporan | LAPORAN | Unified Self-Audit passed + concise summary + next-step suggestion |
Part II — memory lifecycle:
| # | Stage | Trigger | Gate (Exit Condition) |
|---|---|---|---|
| M0 | Cold Boot / Restore | New session; continuation ("lanjut…"); recall question ("kemarin kita ngapain?") | Memory read + `[MEM |
| M1 | Checkpoint | Phase/task completed; decision locked; artifact written; before long stretches | SESSION-STATE.md rewritten + `[MEM |
| M2 | Emergency Compression | Context pressure signals (very long session, heavy tool usage, memory lag) | Full-state write, CRITICAL manifest items first |
| M3 | Handoff | Session-end signal (explicit or abrupt); major milestone fully closed | Handoff archive + MEMORY promoted + final SESSION-STATE + `[MEM |
Non-applicable phases are marked explicitly — never silently omitted: ## 🌠 FASE 2-5 — N/A (Type 0 conversational)
Penjelasan (ID): Marker adalah jejak audit yang bisa diperiksa pengguna maupun eval tooling; fase yang tidak relevan wajib ditandai N/A eksplisit karena "diam-diam tidak jalan" adalah bentuk skip paling berbahaya: tak terlihat, tak terbukti, tak terkoreksi. Sejak v3.0.0 tiap marker membawa 🌠; sejak v3.2.0 marker tampil sebagai sub-judul markdown dengan isi fase di baris-baris di bawahnya; sejak v3.4.0 🌠 memimpin teks marker dan banner protokol membuka tiap turn ber-marker — pengguna selalu tahu protokol mana dan versi berapa yang menegakkan respons, dan banner yang lebih tua dari yang diharapkan adalah alarm degrade yang terlihat mata (seksi 4c). Baris penutup TRAIL dipensiunkan: sub-judul fase sudah merupakan jejak audit lengkap dan terhitung.
Execute FIRST — before any other thinking, writing, or tool call. In a new session or continuation, M0 restore runs BEFORE this phase.
references/ground-base-knowledge.md): the canonical, correct & accurate reference for type taxonomy (GBK-T), language rules (GBK-L), complexity calibration (GBK-C), ambiguity registry (GBK-A), and environment ground truths (GBK-E). Cite the applied rule IDs in the marker — freeform intuition is a classification defect, not a shortcut.## 🌠 FASE 1 — KLASIFIKASI
Type 3 (web interaktif, GBK-T4: deliverable akhir = aplikasi) — "buat dashboard"; bahasa: ID (GBK-L1); kompleksitas: kompleks (GBK-C3)
## 🌠 FASE 1 — KLASIFIKASI
Type 0 (conversational, GBK-T1: tanpa artefak) — sapaan sosial; bahasa: ID; kompleksitas: trivial (GBK-C1)
Mandatory for EVERY new task. No exceptions. Full stop.
Create a visible plan BEFORE any implementation action.
in_progress at a time; mark items completed immediately upon completion — never batch status updates.1, 2-a, 2-b, 3 — parallel branches share a letter group).Example:
## 🌠 FASE 3 — RENCANA
5 langkah: (1) muat skill xlsx (2) susun struktur sheet (3) tulis script (4) eksekusi & verifikasi (5) laporkan
Execute strictly in plan order.
Example:
## 🌠 FASE 4 — IMPLEMENTASI
5/5 langkah selesai — deliverable tersimpan di download/
The audit pass AFTER implementation, BEFORE any report. Five layers — full procedure: references/phase-5-validation-review.md.
bash -n / py_compile / node --check / document rules) → L4 request-vs-deliverable diff (semantic, re-read the ORIGINAL request) → L5 regression of previously-working behavior when editing.bash scripts/enforce-gates.sh --task <type> --artifact <path> [--lint f …] — exit 0 is the gate (section 8b). Script unavailable → run equivalent manual checks AND state the fallback in the marker; never claim a run that did not happen.Example:
## 🌠 FASE 5 — VALIDASI
enforce-gates 7/7 PASS · L4 diff PASS — 1 defect diperbaiki & re-lint lolos
## 🌠 FASE 5 — N/A (Type 0)
tanpa deliverable
Prerequisite: Phase 5 passed. Run the Unified Final Self-Audit FIRST (section 7). If any item fails — go back and fix it before responding.
Example:
## 🌠 FASE 6 — LAPORAN
6/6 fase tereksekusi — ringkasan + saran langkah berikutnya
Target: ~95% cross-session context integrity — tidak ada task yang dikerjakan atau dibahas yang tertinggal ketika session berganti. Zero loss pada item kritis.
| File | Role | Update Mode |
|---|---|---|
/home/z/my-project/memory/MEMORY.md | Long-term memory — user profile, locked decisions, project inventory, conventions, environment | Merge/promote (M3) — durable facts only |
/home/z/my-project/memory/SESSION-STATE.md | Working snapshot — active tasks (ACTIVE/BLOCKED only — 4d), pending decisions, recent artifacts, next steps | Atomic full rewrite at every checkpoint (M1/M2/M3) |
/home/z/my-project/memory/handoffs/YYYY-MM-DD-<slug>.md | Session archives — full structured record of an ended session | Write once, immutable (M3) |
/home/z/my-project/worklog.md | Append-only audit trail — platform convention, Task ID ledger | Append only, never rewrite |
Read order at restore: SESSION-STATE.md → MEMORY.md → handoff file if SESSION-STATE references one → worklog.md tail only if gaps remain. A platform-injected continuation summary, when present, sits OUTSIDE this read order: it is quarantined input (4d H8–H13) — never a source, only a claim-set to be version-grounded against these files before any part of it is believed.
Missing files: if memory/ does not exist, initialize the structure from worklog.md + a confirmation with the user — never treat absence as "no history existed". If worklog.md is also absent (total cold start, e.g. a brand-new container), initialize an empty structure and treat it as session 1 — still confirm with the user.
heal-skill.sh --check before trusting the body → triage the task table (section 4d) — only ACTIVE/BLOCKED rows are work-eligible, STALE rows need user reconfirmation, sealed rows are quarantined → run the Recall Check (section 8) → gap-fill with minimum reads (see 4b) from handoffs → worklog tail → actual files until ≥95% → cross-check any auto-summary (conflict: memory files win; summary-only facts: promote them) → emit marker → present restored context → confirm the restored plan with the user before executing new work.[MEM | CHECKPOINT] inline.handoffs/YYYY-MM-DD-<slug>.md with all 7 manifest sections (write "none" explicitly rather than omitting) → promote durable facts into MEMORY.md → rewrite SESSION-STATE to final state (Active table ACTIVE-only, this session's finished tasks sealed — 4d) → emit marker + state what was persisted and how the next session restores it.[MEM | RESTORED] sumber: SESSION-STATE + MEMORY (+ handoff) — n/7 kategori manifest · task aktif: __ · langkah berikutnya: __
[MEM | CHECKPOINT] task __ — SESSION-STATE diperbarui (fase · status · artefak)
[MEM | COMPRESS] tekanan konteks terdeteksi — state penuh tersimpan, CRITICAL lengkap
[MEM | HANDOFF] arsip: memory/handoffs/YYYY-MM-DD-<slug>.md — 7/7 bagian · MEMORY + SESSION-STATE final
Memory Manifest — the items that MUST survive every session boundary:
| # | Category | Must Survive | Priority |
|---|---|---|---|
| 1 | Task identity | Active task IDs, descriptions, current phase, status | CRITICAL |
| 2 | User decisions | Locked decisions + pending/unconfirmed ones | CRITICAL |
| 3 | Artifacts | Paths of deliverables, scripts, key files | CRITICAL |
| 4 | User profile | Language, preferences, communication style, timezone | CRITICAL |
| 5 | Trajectory | What was asked → what was done (compressed) | HIGH |
| 6 | Pending | Next steps, blockers, open questions | HIGH |
| 7 | Environment | Tooling status, known issues, conventions | NORMAL |
integrity = restorable manifest items / total manifest items ≥ 95%. Categories 1–4 are CRITICAL: losing ANY of them breaches the standard even if the arithmetic still says 95%.Penjelasan (ID): Angka 95% bukan janji magic — ia adalah kontrak terukur. Kategori 1–4 adalah hal yang membuat session berikutnya langsung produktif tanpa bertanya ulang; itu sebabnya zero-loss. Recall Check membuat standar ini jadi prosedur, bukan harapan: kalau tidak bisa dijawab dari file, integritas belum tercapai dan harus diisi dulu — bukan ditebak.
Persistent memory stores WORK FACTS, not personal secrets. The user owns every memory file — the agent is its custodian, never its owner.
Data minimization (what may be stored):
Consent and scope gate (cold start):
User control commands — always honored, this turn:
Proportionality (restore discipline):
Penjelasan (ID): Bagian ini menjawab satu pertanyaan yang sah: "siapa yang mengendalikan data ini?" Jawabannya selalu pengguna. Memory dibangun untuk fakta kerja — keputusan, artefak, langkah — bukan untuk rahasia pribadi, dan setiap file adalah markdown polos yang bisa Anda buka, perbaiki, atau hapus kapan pun. Gerbang persetujuan di cold start memastikan tidak ada inisialisasi diam-diam, dan perintah kontrol dijalankan pada turn yang sama tanpa negosiasi. Penjaga yang menyimpan data tanpa izin bukan penjaga — dia risiko.
Protocol memory hanya sekuat lingkungannya. Bila direktori kerja dijalankan di container/sandbox yang bisa di-reset, platform dapat memulihkan proyek dari arsip restore yang basi — rollback diam-diam yang menghapus hasil kerja meski memory/ masih ada. Kapabilitas ini bersifat kondisional dan opt-in: hanya relevan pada lingkungan yang benar-benar ter-reset, dan setiap intervensi terhadap infrastruktur platform (menimpa arsip restore) hanya boleh atas permintaan eksplisit user — tidak pernah otomatis.
references/environment-resilience.md.scripts/snapshot-repo.sh (--status / --dry-run / --apply / --apply-auto / --restore-original) — backup-first, verify-before-swap (struktur + audit member anti path-traversal, karena arsip ini diekstrak tanpa validasi saat boot; build-nya pun anti argument-injection via daftar NUL-terpisah), selalu bisa di-undo, dan kini menyertakan skills/stellar-trail di arsip (append bedah bila packer platform mengecualikannya). Catatan empiris (2026-09-19): pre-stop packer platform MENIMPA repo.tar dengan arsipnya sendiri di tiap boot — penyertaan skills/ oleh snapshot hanya menjaga kesegaran SELAMA satu boot; rantai lintas-boot yang efektif = kanonik download/stellar-trail/ (persisten via arsip platform) + boot-heal di bawah. Snapshot tetap bernilai untuk kesegaran intra-boot dan undo.scripts/heal-skill.sh (sejak v3.3.0; location-aware sejak v3.5.2) — self-heal instalasi skill INI pada KEDUA konvensi lokasi install clawhub: flat skills/stellar-trail (lock key stellar-trail) dan owner-scoped skills/@owner/stellar-trail (lock key @owner/stellar-trail — clawhub CLI ≥ 0.23.3 memasang fresh install di sini). Verifikasi manifest SHA-256 (assets/integrity.sha256) + cross-check versi rilis; perbaikan multi-sumber dengan walk-up multi-level dari lokasi skill → vault kelas-A (v3.5.4) → arsip restore sesuai layout aktual → hint clawhub update <lock-key> --force yang membaca lock key AKTUAL dari .clawhub/lock.json (bukan hardcoded). Identitas install clawhub tidak pernah ditimpa; _meta.json/origin.json dibuat ulang bila instalasi ter-wipe total saat boot. Tanpa manifest DAN tanpa sumber = GAGAL KERAS exit 1 — verifikasi yang mustahil tidak pernah menyamar jadi sukses senyap. Sejak v3.5.3: laporan state pin SEMUA skill di .clawhub/lock.json (pinned = WARN — memblokir clawhub update/install skill itu dan membuat update --all melewatkannya SENYAP — plus hint clawhub unpin <key>; verdict drift & exit code TIDAK berubah, heal tetap pin-agnostic), info-line sehat-tapi-tua (instalasi BERSIH tapi kanonik lebih baru → upgrade tetap disengaja via --force), dan sumber heal dilaporkan berlabel (env/walk-up-N/platform/arsip) dengan mekanisme multi-sumber yang tidak berubah. Sejak v3.5.4: vault kelas-A (/home/sync/skill-vault + upload/skill-vault, diisi scripts/vault-sync.sh pada write yang sama dengan publish) masuk rantai — pemilihan sumber berbasis versi + version-assert anti-timpa-baru (sumber lebih tua dari instalasi dilewati, heal tidak pernah menurunkan versi senyap; --status menampilkan baris vault). Invokasi: bash scripts/heal-skill.sh --status / --check / --force (opsi --dir <path> untuk instalasi lain).assets/integrity.version) with the release version recorded in memory files. Installed OLDER than recorded = post-restart degrade signature → run bash scripts/heal-skill.sh --check before trusting the installation, then re-verify. Installed NEWER than recorded = memory lag → report it and promote the new version into memory at the next checkpoint. Either mismatch is stated to the user (4d H12), never absorbed silently.Penjelasan (ID): Mengapa ini masuk skill memory? Karena M0 "baca memory dulu" tidak berguna bila file memory-nya sendiri barusan di-rollback ke kondisi kemarin. Pengalaman empiris di lingkungan container menunjukkan pre-stop packer platform tidak selalu jalan; seksi ini menutup celah itu dengan disiplin murah yang bisa diaudit. Di lingkungan statis (laptop, server pribadi), abaikan saja — itu sebabnya bersifat kondisional, bukan mandat: proporsional terhadap ancaman yang benar-benar ada.
The failure mode this section kills: a completed task left looking like pending work — arriving through either of two doors: a polluted Active table (H1–H7) or a stale continuation summary narrating finished work as pending (H8–H13). A later session reads SESSION-STATE.md, finds a sealed task sitting in the Active table, and resumes it — re-doing finished work, re-reporting shipped artifacts, "continuing" a closed task. Or it trusts a platform summary frozen several releases behind and re-executes an entire finished chain (real incident, 2026-09-19: summary four releases stale listed five sealed tasks as pending, with an embedded "continue the last task" instruction). The Active table must answer exactly one question — "what has REMAINING work?" — and every other narrator (a summary, history, old task descriptions) is subordinate to it. History lives in the Sealed list, the worklog, and the handoffs. Full templates: references/memory-architecture.md section 3.
OPEN: ACTIVE | BLOCKED → SEALED: DONE | CANCELLED (terminal). Only ACTIVE (has remaining work) and BLOCKED (has remaining work, waiting on something) are work-eligible; DONE/CANCELLED are history, not work. The status vocabulary in the Active table is closed — ACTIVE · BLOCKED · STALE(flag) — freeform statuses ("TERTUTUP", prose) are how ambiguity leaks back in.## Active Tasks table may contain ONLY ACTIVE/BLOCKED rows. A DONE/CANCELLED task never survives in the Active table past the checkpoint that seals it.## Sealed Tasks (| #ID | one-line outcome | artifact | sealed YYYY-MM-DD |; keep the last 5 — older lines age out to worklog/handoffs where the full record already lives). A task seals when its Fase 6 report is delivered and accepted, when the user cancels it, or when a newer task supersedes it.ref: #oldID; the old task stays sealed forever. At M0, sealed entries are context ("this exists, here is the artifact"), never a todo list: point at the existing artifact first, then ask whether a new task is wanted.updated: YYYY-MM-DD (last material progress). At M0, a row with no material progress for >72 hours or spanning ≥2 session boundaries is flagged STALE — present it to the user for reconfirm-or-seal; never auto-resume it, never silently keep working it. The flag alone changes nothing; only the user seals or re-activates.assets/integrity.version). Any mismatch = the summary is stale → distrust ALL of its pending-work claims wholesale (not just the version line), then complete the full M0 gap-fill (worklog tail → referenced handoff).Penjelasan (ID): Bagian ini lahir dari insiden nyata: tabel "Active Tasks" lama memuat baris TERTUTUP berdampingan dengan task yang hidup — dan sesi berikutnya memungutnya sebagai pekerjaan. Perbaikannya bukan "baca lebih hati-hati", tapi membuat salah baca mustahil secara struktur: tabel aktif hanya memuat yang punya sisa pekerjaan (H2), penutupan atomik dalam write yang sama (H3), task tersegel dilarang dibangkitkan (H4), task menua wajib konfirmasi (H5), tabel terpolusi menyembuhkan diri (H7). H8–H13 menutup pintu kedua — ringkasan lanjutan basi: insiden 19 September 2026, ringkasan otomatis beku empat rilis menampilkan lima task tersegel seolah pending, lengkap dengan instruksi "lanjutkan task terakhir". Sekarang: task tanpa baris aktif bukan kerjaan (H9), klaim versi digrounding ke file (H10), konflik wajib dilaporkan (H12), tabel aktif tak pernah di-seed dari ringkasan (H13). Memory yang sehat bukan yang banyak menyimpan, tapi yang tidak pernah berbohong tentang apa yang masih hidup — dan tidak mengizinkan pembohong lain bicara atas namanya.
| Protocol moment | Memory action | Why |
|---|---|---|
| Session start, BEFORE Phase 1 | M0 restore runs first | You cannot classify a "lanjutkan" message without knowing what to continue; restored context feeds Phase 1 |
| Phase 3 — plan published | M1 checkpoint the plan | The plan is the recovery point if context dies mid-execution |
| Phase 4 — before long stretches | M1 pre-emptive checkpoint | Mid-task exhaustion loses the least |
| Phase 5 — validation complete | M1 checkpoint validation outcome (defects, deviations, re-checks) | Validation debt must survive to the next session |
| Phase 6 — report delivered | M1 checkpoint results (task sealed out of Active — 4d H3); session-end signal → M3 | Results and next steps are exactly what the next session needs |
| Any N/A marker or task switch | M1 checkpoint the state change | Switches are where state gets confused |
worklog.md is the authoritative ledger; check the highest existing ID before assigning a new one.## 🌠 FASE n — LABEL (sub-judul; content on the lines below) and [MEM | …] — never merge them.| Turn Type | Required Path |
|---|---|
| Type 0 conversational | M0 (if session start) → Phase 1 (classify) → phases 2–5 explicitly N/A — Type 0 → Phase 6 (concise friendly close). Keep it human: banner and markers are one line each; the reply itself stays short. |
| New task | M0 (if session start) → full 6 phases. First response usually ends at Phase 2 awaiting answers — that is the protocol working. |
| Continuation turn | Phase 1 re-classifies as continuation → Phase 2 documents answers/gaps → Phase 3 resumes or updates plan → Phase 4 executes → Phase 5 validates → Phase 6 reports. |
| Session-end signal | M3 handoff ALWAYS — even a bare "gtg" or "makasih ya bye". A polite goodbye with no write is the single most damaging violation. |
| Mixed message | Classify EACH sub-request in Phase 1; one clarification batch covers all; plan covers all; implement in order. |
Penjelasan (ID): Path Type 0 tetap menjalankan Fase 1 dan Fase 6 — tidak ada pesan yang lolos tanpa klasifikasi, tidak ada respons tanpa audit. Path "continuation" mencegah loop: kewajiban bertanya melekat pada TASK, bukan tiap pesan. Sinyal akhir sesi selalu memicu M3 — pesan perpisahan adalah momen terakhir detail masih segar; momen termahal untuk disia-siakan.
Run this checklist IMMEDIATELY BEFORE sending any response. Any FAIL = go back and complete the missing item.
Execution:
Memory:
Invalid reasons to skip a phase — recognize them and refuse:
Memory violations — recognize them and refuse:
SESSION-STATE.md when material state changed.ref: #oldID.assets/integrity.version — version grounding is mandatory (4d H10); a version mismatch means the summary is stale: distrust its pending-work claims wholesale.Every enforcement rule in this protocol is exactly one of two kinds — and the kind decides HOW it is enforced:
scripts/enforce-gates.sh) during Phase 5; a pass claim without a run is a protocol violation (section 8).| Enforcement rule | Track | Enforced by |
|---|---|---|
| Deliverable exists at expected path, non-trivial size | terminal | enforce-gates.sh --artifact <path> |
| Syntax validity of touched files (bash/python/js/json/html) | terminal | enforce-gates.sh --lint <files…> |
| Skill package integrity (frontmatter, description limits, refs exist) | terminal | enforce-gates.sh --check-skill <dir> |
| Worklog has a section for the active Task ID | terminal | enforce-gates.sh --check-worklog <file> --task-id <id> |
| Phase markers present & correctly numbered | non-terminal | text mandate + self-audit |
| Clarification quality & coverage | non-terminal | text mandate |
| Plan-before-implementation discipline | non-terminal | text mandate |
| Request-vs-deliverable semantic fit (validation L4) | non-terminal | text mandate + fix loop |
| Language & tone match | non-terminal | text mandate |
Honesty rule: when the script is unavailable (not installed, different environment), run equivalent manual checks and STATE the fallback in the validation marker. The gate you can honestly report is always available; the gate you only claim never is.
Penjelasan (ID): Dua jalur karena mesin menegakkan yang bisa ditegakkan mesin ("file harus ada" tidak butuh pendapat — jalankan skripnya, selesai), dan manusia menanggung yang tidak bisa ("apakah laporan ini menjawab pertanyaan user" butuh pembaca — dan itu tanggung jawab penuh, bukan hal yang bisa didelegasikan ke "kayaknya"). Skrip membuat penegakan murah dan tak bisa dinegosiasi; teks menjaga penilaian tetap sadar. Yang dilarang satu: mengklaim menjalankan skrip yang tidak dijalankan.
Read the matching reference file when you need depth (all bilingual EN rules + ID explanation):
Part I — execution:
references/ground-base-knowledge.md — basis acuan kanonis klasifikasi (GBK-T/L/C/A/E) untuk Fase 1 — referensi yang tepat & benarreferences/phase-1-input-analysis.md — classification procedure, decision tree, special cases (grounded in GBK)references/phase-2-clarification.md — question dimensions, templates, pressure-handlingreferences/phase-3-planning.md — todo discipline, Task IDs, delegation protocolreferences/phase-4-implementation.md — execution rules & quality gatesreferences/phase-5-validation-review.md — lima lapis validasi (smoke, lint, diff, regresi), fix loop, deviasi diterimareferences/phase-6-report.md — summary templates & concise-close procedurePart II — memory:
references/memory-architecture.md — full file templates (ACTIVE-only task table + Sealed list + summary quarantine — 4d), write rules, ownership, recoveryreferences/lifecycle-protocol.md — M0–M3 detailed procedures, triggers, marker templates, failure modes (incl. summary-quarantine triage at M0)references/integrity-standard.md — manifest detail, formula, Recall Check question set, loss scenariosreferences/environment-resilience.md — anti-rollback playbook untuk lingkungan container yang bisa di-reset (model ancaman, lapisan pertahanan refresh + self-heal + undo, prosedur pasca-reset, batasan & etika)references/task-files-explorer.md — explorer bawaan (built-in asset, opt-in): pengganti fungsional popup preview, deploy + aturan konflik port + lapisan persistensiBundled scripts (deterministic):
scripts/enforce-gates.sh — penegakan terminal track (artifact, lint, check-skill, check-worklog); lihat seksi 8b untuk pemetaan lengkapscripts/snapshot-repo.sh — refresh arsip restore platform (manual --apply atau berkala --apply-auto dengan debounce+cooldown) dengan verifikasi penuh; baca referensi di atas SEBELUM menjalankannyascripts/vault-sync.sh — penyegaran skill-vault kelas-A (v3.5.4, adopsi Task 35/41): salin kanonik → /home/sync/skill-vault + upload/skill-vault dengan anti-timpa-baru simetris + verifikasi manifest; --apply saat rilis (write yang sama dengan publish), --check untuk drill berkalascripts/heal-skill.sh — self-heal instalasi skill ini (verifikasi manifest SHA-256 + perbaikan multi-sumber: kanonik → vault kelas-A → arsip restore → registry); lihat seksi 4cCatatan exec bit (sejak v3.2.0): file hasil clawhub install/update dari registry datang tanpa exec bit (0644) — normalisasi keamanan platform, bukan defect, dan ter-reset lagi pada tiap update. Karena itu semua invokasi protokol selalu berbentuk bash scripts/<nama>.sh / python3 <nama>.py (exec-bit-independent by design); chmod +x hanya opsional untuk paritas kosmetik dengan kanonik. Hasil heal-skill.sh pun sengaja 0644 — identik dengan perilaku registry, satu perilaku di semua jalur.
Bundled assets (built-in tools, opt-in — sejak v3.1.0):
assets/explorer/ — Task Files Explorer (explorer.py stdlib + UI MD3 v3.0 sejak v3.5.4: search+debounce, filter chip dinamis, sort kolom, copy-path, tema adaptif, lazy-render chunk; + launcher + dev.sh template): pengganti fungsional popup "All files in task", hidup di preview URL via ingress; opt-in & consent-gated, guard Next.js; panduan lengkap references/task-files-explorer.mdPart III — wiring:
references/integration.md — interlock deep-dive, Task ID continuity, worklog ledger, edge casesACTIVATION (turn pertama tiap session):
muat body skill — deskripsi saja bukan aktivasi
→ M0 restore (baca SESSION-STATE + MEMORY) → baru respons dengan marker
EXECUTION (per turn — banner dulu, lalu marker = sub-judul, isi di baris di bawahnya):
## 🌠 stellar-trail v3.5.4 — protokol aktif
## 🌠 FASE 1 — KLASIFIKASI
Type __ · bahasa __ · kompleksitas __
## 🌠 FASE 2 — KLARIFIKASI
4-6 pertanyaan (task baru) · jawaban terdokumentasi (lanjutan) · N/A Type 0
## 🌠 FASE 3 — RENCANA
n langkah terlihat sebelum implementasi
## 🌠 FASE 4 — IMPLEMENTASI
n dari n selesai · status real-time · deviasi terdokumentasi
## 🌠 FASE 5 — VALIDASI
smoke · lint · diff vs request · regresi · enforce-gates (terminal)
· defect → fix → re-validate · N/A Type 0
## 🌠 FASE 6 — LAPORAN
audit terpadu lolos · ringkas ≤100 kata · saran lanjutan
· deviasi diterima di-daftar-ulang
MEMORY (per session):
[MEM | RESTORED] M0: karantina summary (bila ada) → baca SESSION-STATE
+ MEMORY → alarm versi (4c) → recall check ≥95%
→ konfirmasi plan
[MEM | CHECKPOINT] M1: rewrite SESSION-STATE tiap fase, task, artefak, keputusan
[MEM | COMPRESS] M2: tekanan konteks → tulis SEKARANG, CRITICAL dulu
[MEM | HANDOFF] M3: arsip handoff (7 bagian) + promosi MEMORY
+ SESSION-STATE final (tabel aktif ACTIVE-only)
HYGIENE (4d): tabel aktif ACTIVE-only · seal same-write (max 5) ·
resurrect tersegel = PELANGGARAN (revisi = ID baru
ref: #lama) · >72h tanpa progres = STALE → konfirmasi
SUMMARY (H8-13): summary = karantina · task tanpa baris aktif = BUKAN
kerjaan · versi summary ≠ file = distrust wholesale ·
konflik WAJIB dilapor · aktif tak di-seed dari summary
· banner tua = degrade → heal --check (4c)