Last verified: 2026-08-26
What It Is
Workflow praktis untuk bekerja dengan Codex di repository tim tanpa memasukkan artefak planning pribadi ke Git atau issue tracker tim.
Fondasinya berasal dari workflow terbaru Matt Pocock. Pengalaman pengguna di Reddit dipakai sebagai reality check untuk mengurangi ceremony, context overhead, dan over-engineering.
Mode Operasi
Personal Mode — Default
Gunakan ketika tim belum menyepakati workflow Matt Pocock. Semua planning dan artefak sementara disimpan di .scratch/; hanya code dan tests yang disiapkan untuk merge request.
Gunakan Personal Mode.
Simpan planning, spec, tickets, research, prototype, dan temporary debug
artifacts di .scratch/. Jangan mengubah atau membuat AGENTS.md, CLAUDE.md,
CONTEXT.md, docs/agents/, docs/adr/, .out-of-scope/, atau issue tracker tim.
Code dan regression test boleh diedit. Local commit hanya jika saya izinkan.
Jangan push, membuat MR, merge, deploy, atau mengubah production tanpa
permintaan eksplisit.Dalam mode ini:
- Gunakan
grill-me, bukangrill-with-docs. to-spec,to-tickets,wayfinder, danresearchharus diarahkan ke.scratch/.- Jangan menjalankan
setup-matt-pocock-skills. - Jangan mengubah label atau membuat issue pada tracker tim.
Team Mode — Hanya Jika Disepakati
Gunakan ketika tim memutuskan bahwa issue tracker, domain glossary, ADR, dan agent configuration menjadi artefak resmi bersama.
Install skill secara global cukup sekali. Setelah itu, jalankan setup berikut pada setiap repo yang akan memakai workflow ini:
setup-matt-pocock-skills
→ pilih issue tracker
→ sepakati label triage
→ tentukan lokasi domain docs dan ADRSetup ini menyiapkan aturan kerja repo dan menghasilkan dokumentasi yang seharusnya dikomit. Ia tidak perlu dijalankan ulang pada setiap task.
USER — Invoke skill:
Gunakan skill setup-matt-pocock-skills untuk repo ini.
Kami memakai GitLab. Periksa konfigurasi yang sudah ada, tanyakan keputusan satu per satu,
dan tampilkan draft sebelum menulis file. Jangan commit atau push.AGENT — Automatic: Memeriksa repo, lalu menanyakan issue tracker, label triage, dan layout domain docs. Setelah Anda menyetujui draft, agent memperbarui file konfigurasi repo.
USER — Decision: Menentukan tracker, label, single/multi-context, serta menyetujui file yang akan ditulis.
Quick Decision
Jawab empat pertanyaan berikut secara berurutan. Gunakan flow pertama yang cocok:
- Apakah ini bug yang root cause-nya belum diketahui? Gunakan
diagnosing-bugs. - Apakah pekerjaan sangat besar dan keputusan utamanya masih kabur? Gunakan
wayfinder. - Apakah menyentuh security, PII, transaksi, migration, atau compatibility? Gunakan flow high risk meskipun diff-nya kecil.
- Apakah dapat selesai dalam satu session? Jika ya, gunakan flow perubahan kecil; jika tidak, gunakan flow fitur normal.
Cara Membaca Flow
| Label | Artinya |
|---|---|
| USER — Invoke skill | Prompt yang Anda kirim untuk memulai skill |
| AGENT — Automatic | Codex mengeksplorasi repo, menulis artefak, atau menjalankan check sesuai skill |
| USER — Decision | Keputusan domain, scope, risiko, atau approval yang tetap harus Anda berikan |
| USER — External action | Izin eksplisit untuk commit, push, membuat issue, merge request, atau deploy |
Di Codex, cukup tulis “Gunakan skill <nama>…”. Slash command tidak wajib. Skill yang dipanggil boleh menjalankan subskill secara otomatis; Anda tidak perlu memanggil setiap subskill satu per satu.
Dependency skill hanya perlu di-install sekali. Pada Team Mode, grill-with-docs memakai grilling dan domain-modeling; Anda cukup memanggil grill-with-docs.
Template Pemanggilan Skill
Gunakan bentuk berikut dan hapus bagian yang tidak relevan:
Gunakan skill <nama-skill> untuk <tujuan>.
Mode: Personal Mode.
Sumber konteks: <issue URL/nomor, spec path, ticket, atau percakapan ini>.
Scope: <yang termasuk>.
Out of scope: <yang tidak boleh dikerjakan>.
Batas tindakan: <boleh edit/commit lokal/publish issue; jangan push/merge/deploy>.
Output yang saya inginkan: <spec, tickets, code, diagnosis, atau review>.
Lokasi artefak personal: .scratch/<feature>/.
Stop dan minta keputusan saya ketika: <checkpoint penting>.Tidak perlu mengulang detail yang sudah ada dalam conversation yang sama. Pada fresh session, selalu sertakan URL/path spec atau ticket karena context lama tidak ikut otomatis.
Authority yang Sering Terlupakan
implementmeminta agent membuat commit. Tulis eksplisit apakah commit lokal diizinkan; commit tidak berarti push.code-reviewmembandingkan<fixed-point>...HEAD, sehingga perubahan harus sudah berada dalam commit lokal. Sebutkan base branch atau commit, misalnyaorigin/development.- Jika belum ingin commit, minta review worktree biasa, bukan skill
code-review. - Review default dilakukan di execution thread yang sama setelah implementation dan test selesai.
code-reviewdipakai bila memang perlu fresh eyes. - Dalam Personal Mode, arahkan
to-spec,to-tickets, danwayfinderke.scratch/dan larang publikasi ke tracker tim. - Dalam Team Mode, sebutkan tracker dan minta draft/approval sebelum publish.
- Push, merge, deploy, perubahan production, dan temporary production instrumentation selalu membutuhkan izin terpisah.
Apa Itu Fresh Session?
Fresh session adalah tindakan manual: USER membuka task Codex baru, lalu memberikan URL/path artefak canonical.
Gunakan skill implement untuk ticket .scratch/<feature>/issues/<ticket>.md.
Spec induk: .scratch/<feature>/PRD.md.
Kerjakan hanya ticket ini dan ikuti AGENTS.md repo.Tidak perlu handoff jika spec dan ticket sudah menangkap seluruh konteks. Gunakan handoff hanya ketika ada keputusan penting dalam conversation yang belum tersimpan:
Gunakan skill handoff. Session berikutnya akan mengimplementasikan ticket <path/URL>.
Referensikan spec/ticket/ADR yang sudah ada; jangan duplikasi isinya.Thread Discipline
- Satu planning thread untuk satu substantial work item.
- Setelah ticket siap, gunakan satu fresh normal thread untuk setiap independent implementation ticket.
- Selama masih ticket yang sama, tetap di thread tersebut untuk implementation, test, debugging, fix, verification, dan self-review.
- Buat thread baru hanya ketika execution responsibility atau ticket boundary berubah.
- Dedicated
<TICKET-ID> — Reviewthread bersifat opsional: gunakan untuk change yang besar, high-risk, security/contract-sensitive, atau ketika memang diminta fresh eyes. - Integration thread menunggu semua ticket yang diperlukan oleh flow integration selesai, bukan selalu seluruh feature besar.
Review Discipline
Bedakan empat jenis pengecekan:
| Jenis | Pertanyaan utama | Scope dan timing |
|---|---|---|
| Implementation review | Did we build this correctly? | Satu ticket; default-nya self-review di execution thread setelah test, lalu fix dan verify. |
| Independent review | Apa yang mungkin luput dari implementer? | Fresh thread untuk change besar/high-risk atau permintaan eksplisit. |
| Integration verification | Do these pieces work together? | Boundary antar-repo/service; setelah semua dependency ticket untuk flow tersebut selesai. |
| Final cross-repo review | Did we build the right overall solution? | PRD, implementation, contract, security, compatibility, dan acceptance criteria; biasanya di integration thread setelah integration test. |
Review mengikuti ticket; integration mengikuti dependency graph.
<WORK> — Planning
├── <TICKET-A> → implement → test → self-review → fix/verify
├── <TICKET-B> → implement → test → self-review → fix/verify
└── <WORK>-INT-001 → integration verification → final cross-repo review → DONEPilih Flow Berdasarkan Pekerjaan
| Kondisi | Flow |
|---|---|
| Perubahan kecil dan jelas | USER: acceptance criteria → SKILL: implement → AGENT: test + self-review + local commit bila diizinkan → optional independent review → USER: push/MR |
| Fitur normal, beberapa layer atau session | SKILL: grill-me → USER: decisions → SKILL: to-spec ke .scratch/ → USER: review → SKILL: to-tickets ke .scratch/ → fresh session per ticket: implement + test + self-review → integration + final review |
| Perubahan kecil tetapi berisiko tinggi | SKILL: research ke .scratch/ + grill-me → USER: security decisions/review → SKILL: to-spec + implement + test + self-review → independent review → integration + final review bila lintas repo |
| Bug sulit atau regression | SKILL: diagnosing-bugs → USER: evidence/hypothesis checkpoint → AGENT: regression test + root-cause fix + self-review → optional independent review |
| Program besar dan masih kabur | SKILL: wayfinder dengan local tracker .scratch/ → USER: resolve decision tickets → SKILL: to-spec → to-tickets → fresh session per implementation ticket → integration + final review sesuai dependency graph |
Contoh Kasus dan Flow
1. Perubahan Kecil dan Jelas
Case: Mengubah pesan validasi nomor telepon agar lebih mudah dipahami pengguna.
USER — Invoke skill:
Gunakan skill implement untuk mengubah pesan validasi nomor telepon.
Mode: Personal Mode.
Acceptance criteria:
- Pesan baru muncul untuk format nomor yang tidak valid.
- Aturan validasi tidak berubah.
- Flow lain tidak ikut berubah tanpa sengaja.
Batas tindakan: boleh edit dan membuat commit lokal setelah checks lulus.
Jangan push, merge, atau deploy. Lakukan self-review di execution thread;
jangan jalankan independent code-review otomatis. Stop setelah commit dan
laporkan SHA serta checks yang dijalankan.AGENT — Automatic: Memeriksa validator dan seluruh caller, mengubah titik yang tepat, menjalankan targeted test/typecheck, lalu membuat commit lokal.
USER — Optional independent review:
Gunakan skill code-review terhadap origin/development bila perubahan ini membutuhkan fresh eyes.
Spec source: acceptance criteria pada conversation ini.
Review only; jangan edit, commit, atau push.AGENT — Automatic: Membandingkan origin/development...HEAD, lalu melaporkan temuan Standards dan Spec secara terpisah.
USER — Decision: Menentukan apakah temuan perlu diperbaiki. Jika ya, panggil implement lagi untuk temuan yang disetujui, lalu ulangi review.
USER — External action: Setelah self-review dan, bila ada, independent review bersih, minta push atau pembuatan merge request secara eksplisit.
Output: Perubahan kode, satu regression test bila perilakunya non-trivial, dan deskripsi singkat di merge request. Tidak perlu to-spec atau to-tickets.
2. Fitur Normal yang Menyentuh Beberapa Layer
Case: Menambahkan pencarian properti berdasarkan lokasi dari database, API, sampai UI.
USER — Invoke discovery skill:
Gunakan skill grill-me untuk merancang pencarian properti berdasarkan lokasi.
Tujuan: pengguna dapat mencari proyek dari database sampai UI.
Mode: Personal Mode.
Batas tindakan: cari fakta dari repo, tanyakan keputusan satu per satu,
dan jangan implementasi atau menulis dokumentasi ke project.
Jangan mengubah CONTEXT.md, ADR, issue tracker, commit, atau push.AGENT — Automatic: Menelusuri repo untuk fakta, lalu menjalankan interview satu pertanyaan per giliran tanpa meninggalkan domain docs di project.
USER — Decision: Menjawab pertanyaan domain dan desain. Setelah tidak ada asumsi penting tersisa, tulis: “Saya konfirmasi kita sudah mencapai shared understanding.”
Keputusan yang perlu digali:
- Lokasi dicari berdasarkan kota, kecamatan, atau free text.
- Aturan pagination, sorting, dan batas hasil.
- Bentuk loading, empty, success, dan error state.
- Authorization, masking, dan kontrak backward compatibility.
- Test seam yang dapat memverifikasi behavior end-to-end.
USER — Invoke spec skill:
Gunakan skill to-spec berdasarkan conversation ini.
Mode: Personal Mode.
Simpan spec ke .scratch/property-search/PRD.md.
Tampilkan dan minta approval saya untuk test seam terlebih dahulu.
Jangan publish ke issue tracker, implementasi, commit, atau push.AGENT — Automatic: Mengeksplorasi repo, mengusulkan test seam, lalu menyintesis spec lokal. Skill tidak mengulang interview requirement.
USER — Decision: Review spec bersama pihak yang relevan. Koreksi problem, scope, contract, testing, dan out-of-scope sebelum lanjut.
USER — Invoke ticket skill:
Gunakan skill to-tickets untuk .scratch/property-search/PRD.md.
Mode: Personal Mode. Gunakan local markdown tracker.
Draft vertical slices dan blocking edges terlebih dahulu.
Setelah approval, tulis satu file per ticket di
.scratch/property-search/issues/. Jangan publish ke issue tracker tim.AGENT — Automatic: Membuat draft tickets end-to-end, meminta approval, lalu menulis local Markdown tickets setelah Anda menyetujui breakdown.
Contoh vertical-slice tickets:
- Pengguna dapat mencari proyek berdasarkan kota, termasuk API, UI, dan test.
- Pengguna dapat mempersempit hasil berdasarkan kecamatan, termasuk empty state.
- Pengguna dapat membuka halaman berikutnya tanpa mengubah filter aktif.
Hindari ticket terpisah seperti “buat tabel”, “buat controller”, dan “buat component”. Pembagian per layer menunda feedback end-to-end.
USER — Fresh session per ticket:
Gunakan skill implement untuk .scratch/property-search/issues/01-search-by-city.md.
Spec induk: .scratch/property-search/PRD.md.
Kerjakan hanya scope ticket ini. Gunakan tdd pada test seam yang disepakati.
Boleh edit dan membuat commit lokal setelah targeted checks dan full suite lulus.
Lakukan self-review di execution thread. Jangan jalankan independent code-review otomatis.
Jangan push, merge, atau deploy.
Stop setelah commit dan laporkan SHA.AGENT — Automatic: Membaca ticket/spec, mengerjakan satu vertical slice, menjalankan checks, dan membuat commit lokal.
USER — Optional independent review:
Gunakan skill code-review terhadap origin/development hanya jika ticket ini high-risk atau membutuhkan fresh eyes.
Spec source: .scratch/property-search/PRD.md.
Ticket: .scratch/property-search/issues/01-search-by-city.md.
Review only; jangan edit, commit, atau push.Ulangi implement → test → self-review → fix untuk setiap ticket yang berada di frontier. Ticket yang masih blocked belum boleh dikerjakan.
USER — External action: Minta push dan merge request hanya setelah self-review dan independent review bila diperlukan bersih. Untuk pekerjaan lintas repo, lanjutkan ke integration verification dan final review.
Output: Spec dan tickets lokal di .scratch/, implementasi dan test per ticket, serta merge request yang hanya berisi perubahan code/test yang disetujui.
3. Perubahan Kecil tetapi Berisiko Tinggi
Case: Menambahkan masking NIK pada response API tertentu.
USER — Invoke research skill:
Gunakan skill research untuk memetakan penggunaan NIK pada flow ini.
Telusuri contract, seluruh consumer, role, log, cache, export, dan error response.
Gunakan source code dan dokumentasi primer. Mode: Personal Mode.
Simpan hasilnya di .scratch/research/nik-masking.md.
Jangan menulis ke docs/, mengubah production code, commit, atau push.AGENT — Automatic: Menjalankan background research agent dan menulis temuan beserta sumbernya ke repo.
USER — Decision: Membaca temuan dan memastikan tidak ada consumer atau trust boundary yang terlewat.
USER — Invoke discovery skill:
Gunakan skill grill-me berdasarkan .scratch/research/nik-masking.md.
Fokus pada role, format masking, compatibility, logging, dan rollback.
Mode: Personal Mode. Tanyakan keputusan satu per satu.
Jangan menulis domain docs, implementasi, commit, atau push.AGENT — Automatic: Memisahkan fakta dari keputusan tanpa menulis domain glossary atau ADR ke project.
USER — Decision: Menjawab pertanyaan sampai shared understanding, lalu mengonfirmasi bahwa discovery selesai.
Hal yang wajib diputuskan:
- Role mana yang boleh melihat nilai penuh.
- Format masking yang benar dan konsisten.
- Apakah data masih muncul di log, cache, export, atau error response.
- Dampak perubahan terhadap consumer lama.
- Test untuk pengguna authorized dan unauthorized.
USER — Invoke spec skill:
Gunakan skill to-spec dari conversation dan research ini.
Mode: Personal Mode. Simpan spec ke .scratch/nik-masking/PRD.md
setelah saya menyetujui test seam.
Pastikan authorization, logging, compatibility, dan rollback tercatat eksplisit.
Jangan publish ke issue tracker, implementasi, commit, atau push.USER — Manual review: Minta pemilik API/security atau consumer terkait menyetujui spec. Keputusan manusia ini tidak digantikan oleh skill.
USER — Invoke implementation skill:
Gunakan skill implement untuk .scratch/nik-masking/PRD.md.
Test behavior authorized dan unauthorized melalui public interface.
Jangan melemahkan authorization atau mengubah contract di luar spec.
Boleh edit dan membuat commit lokal setelah semua checks lulus.
Lakukan self-review di execution thread setelah checks lulus.
Jangan jalankan independent code-review otomatis; jangan push, merge, atau deploy.AGENT — Automatic: Mengimplementasikan spec, menjalankan regression/security behavior tests, dan membuat commit lokal.
USER — Invoke independent review (fresh session):
Gunakan skill code-review terhadap origin/development.
Spec source: .scratch/nik-masking/PRD.md.
Review only; jangan edit atau push.USER — Manual review: Lakukan approval security/contract terakhir. code-review membantu memeriksa Standards dan Spec, tetapi bukan pengganti security approval.
Output: Spec singkat tetapi eksplisit, security/contract review, regression tests, dan rollback plan bila kontraknya berubah.
Ukuran diff tidak menentukan ukuran proses. Authentication, authorization, encryption, PII, transaksi, database migration, dan breaking API selalu diperlakukan sebagai high risk.
4. Bug Sulit atau Regression
Case: Dekripsi RSA kadang gagal di production, tetapi tidak konsisten di local.
USER — Invoke diagnosis skill:
Gunakan skill diagnosing-bugs untuk kegagalan dekripsi RSA.
Expected: payload valid selalu berhasil didekripsi.
Actual: sebagian request gagal dengan <error/message>.
Environment: terjadi di <environment/runtime/version>.
Evidence: <log yang sudah disanitasi, sample payload non-sensitif, atau trace>.
Bangun satu red-capable feedback loop sebelum membuat teori.
Simpan temporary harness, replay payload, dan debug output di .scratch/debug/rsa/.
Regression test final tetap ditempatkan pada test suite resmi.
Jangan mengubah production atau menambah production instrumentation tanpa izin.
Stop setelah menampilkan 3–5 ranked hypotheses; jangan fix dulu.AGENT — Automatic: Mencoba membangun reproduksi yang cepat dan deterministik. Jika belum bisa, agent meminta artifact atau akses yang benar daripada menebak.
USER — Decision: Memberikan artifact yang aman, mengoreksi ranking hypotheses dengan pengetahuan domain, dan menyetujui instrumentation bila memang diperlukan.
USER — Continue diagnosis:
Lanjutkan diagnosing-bugs. Uji satu hypothesis pada satu waktu.
Setelah root cause terbukti, ubah minimal repro menjadi regression test,
terapkan root-cause fix, hapus seluruh debug instrumentation, dan jalankan ulang
original repro. Boleh membuat commit lokal setelah checks lulus.
Lakukan self-review di execution thread. Jangan jalankan independent code-review otomatis;
jangan push, merge, atau deploy.AGENT — Automatic: Menguji predictions, membuktikan root cause, membuat regression test sebelum fix, memperbaiki titik bersama yang benar, dan membersihkan instrumentation.
Urutan diagnosis:
- Bedakan fakta, asumsi, dan hipotesis.
- Bandingkan input, key format, encoding, padding, runtime, dan environment.
- Cari shared function dan seluruh caller sebelum mengubah kode.
- Buat reproduksi terkecil yang masih gagal.
- Terapkan satu fix di titik bersama jika semua caller melewatinya.
USER — Optional independent review:
Gunakan skill code-review terhadap origin/development bila fresh eyes diperlukan.
Spec source: bug report <issue URL> dan diagnosis pada conversation ini.
Review only; jangan edit atau push.USER — External action: Push dan merge request hanya dilakukan setelah original repro dan regression test sama-sama lulus serta review bersih.
Output: Reproduksi yang dapat dijalankan, bukti root cause, regression test, fix, dan catatan singkat tentang kondisi pemicu. Jangan mulai dari to-spec hanya karena bug-nya kompleks.
5. Program Besar dan Masih Kabur
Case: Migrasi penyimpanan file dari local storage ke MinIO sambil mempertahankan aplikasi legacy.
USER — Invoke planning skill:
Gunakan skill wayfinder untuk migrasi local storage ke MinIO.
Destination: spec migrasi yang implementable dan disetujui.
Scope: compatibility aplikasi legacy, migration data, cutover, rollback,
security, observability, dan operasi.
Out of scope: implementasi production.
Mode: Personal Mode.
Tracker: local Markdown di .scratch/minio-migration/wayfinder/.
Gunakan grilling untuk interview; jangan invoke domain-modeling atau menulis CONTEXT/ADR.
Simpan research dan prototype artifacts di bawah .scratch/minio-migration/.
Planning only. Tampilkan destination, fog, dan proposed frontier untuk approval
sebelum membuat map atau decision tickets. Jangan membuat atau mengubah issue
GitLab, domain docs, commit, atau push.AGENT — Automatic: Menjalankan grilling, lalu menyiapkan local map, decision tickets, blocking edges, dan research subagents setelah Anda menyetujui draft. Seluruh artifact tetap di .scratch/.
USER — Decision: Menjawab keputusan satu per satu dan menyetujui map. Jangan menjawab fakta teknis yang dapat dicari agent; Anda hanya memutuskan trade-off.
Contoh decision tickets:
- Apakah masa transisi memakai read fallback atau dual write.
- Cara memigrasikan file lama dan memverifikasi integritasnya.
- Strategi cutover, rollback, retry, dan idempotency.
- Ownership bucket, access control, encryption, dan audit log.
- Kompatibilitas URL atau identifier file terhadap consumer lama.
USER — Fresh session per decision ticket:
Gunakan skill wayfinder pada map .scratch/minio-migration/wayfinder/<map-file>.md.
Resolve hanya ticket .scratch/minio-migration/wayfinder/<decision-ticket>.md
pada session ini.
Planning only; jangan mengimplementasikan destination.
Catat resolution, close ticket setelah keputusan disetujui,
dan update Decisions-so-far pada map.AGENT — Automatic: Meng-claim ticket, menjalankan research, prototype, atau grilling sesuai jenisnya, lalu memperbarui map. Satu session hanya menyelesaikan satu decision ticket; research tickets dapat berjalan paralel.
USER — Decision: Untuk grilling/prototype tickets, bereaksi terhadap pilihan dan prototype. Untuk research tickets, review evidence dan pilih trade-off yang mengikuti fakta tersebut.
wayfinder menghasilkan peta keputusan, bukan implementation tickets. Setelah keputusan penting selesai, hasilnya diringkas menjadi spec, lalu baru dipecah menjadi tickets.
USER — Invoke spec after the map is resolved:
Gunakan skill to-spec berdasarkan local wayfinder map dan seluruh resolved tickets
di .scratch/minio-migration/wayfinder/.
Destination sekarang sudah jelas. Tampilkan test seam untuk approval,
lalu simpan spec ke .scratch/minio-migration/PRD.md.
Jangan publish ke issue tracker, implementasi, commit, atau push.USER — Invoke implementation tickets:
Gunakan skill to-tickets untuk .scratch/minio-migration/PRD.md.
Mode: Personal Mode. Gunakan local Markdown tracker dan simpan tickets di
.scratch/minio-migration/issues/.
Gunakan vertical slices; gunakan expand-contract untuk perubahan storage contract
yang tidak dapat diland secara green sekaligus. Draft dan blocking edges harus
saya approve sebelum file ditulis. Jangan publish ke issue tracker tim.USER — Fresh implementation session:
Gunakan skill implement untuk .scratch/minio-migration/issues/<ticket>.md.
Spec induk: .scratch/minio-migration/PRD.md.
Kerjakan hanya ticket frontier ini dan jalankan checks yang tercantum.
Boleh membuat commit lokal setelah checks lulus.
Lakukan self-review di execution thread. Jangan jalankan independent code-review otomatis.
Jangan push, merge, atau deploy.Setiap implementation ticket tetap menjalani test dan self-review di execution thread. Setelah semua dependency flow selesai, jalankan integration verification dan final cross-repo review. Gunakan code-review pada fresh session hanya untuk ticket atau perubahan yang memang high-risk/contract-sensitive.
USER — External action: Cutover, migration production, dan rollback drill memerlukan approval manusia tersendiri; selesainya implementation ticket bukan izin deploy.
Output: Decision map yang resolved, spec migrasi, vertical-slice atau expand-contract tickets, verification plan, dan rollback plan.
Exit Criteria
| Flow | Dianggap Selesai Ketika |
|---|---|
| Perubahan kecil | Acceptance criteria terpenuhi, checks lulus, dan self-review selesai |
| Fitur normal | Setiap ticket sudah implement + test + review; flow lintas repo sudah integration-verified dan final-reviewed |
| High risk | Behavior, security, compatibility, test, rollback, dan independent review sudah selesai |
| Bug sulit | Root cause terbukti, regression test gagal sebelum fix dan lulus setelah fix, lalu self-review selesai |
| Program besar | Semua keputusan pemblokir selesai dan setiap ticket punya verification path serta review yang sesuai |
Lokasi Dokumentasi
| Artefak | Personal Mode | Team Mode |
|---|---|---|
| Spec dan acceptance criteria | .scratch/<feature>/PRD.md | Issue tracker atau lokasi resmi repo |
| Tickets dan blocking edges | .scratch/<feature>/issues/ | Issue tracker tim |
| Research dan prototype | .scratch/research/ dan .scratch/prototypes/ | Lokasi yang disepakati tim |
| Temporary debug artifacts | .scratch/debug/ | Tetap temporary; jangan dikomit |
| Domain glossary dan ADR | Jangan dibuat | CONTEXT.md dan docs/adr/ sebagai artefak resmi |
| Code dan regression tests | Source/test directory resmi | Source/test directory resmi |
| Progress dan hasil test | Conversation lokal sampai MR dibuat | Ticket atau merge request |
| Pola reusable dan lesson learned | My Second Brain | My Second Brain, dengan link ke sumber canonical |
Jangan menyalin seluruh spec atau tickets ke My Second Brain. Simpan hanya pola dan lesson learned yang tetap berguna lintas project.
Git Ignore Strategy
Global ignore hanya memuat pola tooling yang aman lintas repository:
.codegraph/
.scratch/
graphify-out/Jika suatu repo pernah menghasilkan dokumentasi personal dengan nama generik, tambahkan hanya pada .git/info/exclude repo tersebut:
CONTEXT.md
CONTEXT-MAP.md
docs/agents/
**/docs/adr/
.out-of-scope/Jangan global-ignore AGENTS.md, CLAUDE.md, docs/, tests/, scripts/, research/, NOTES.md, atau pola *prototype*. Nama tersebut dapat menjadi file resmi project.
Ignore hanya memengaruhi file yang belum tracked. Jika file sudah pernah dikomit, jangan mengandalkan ignore untuk mencegah perubahan ikut ter-stage.
Guardrails Penting
- Personal Mode adalah default pada repository tim yang belum mengadopsi workflow ini.
- Jangan menjalankan
setup-matt-pocock-skills,grill-with-docs, ataudomain-modelingdalam Personal Mode. - Seluruh planning, spec, tickets, research, prototype, dan debug artifacts personal harus berada di
.scratch/. - Jangan membuat spec dan tickets untuk perubahan kecil yang dapat selesai dalam satu session.
to-specdipakai setelah keputusan utama cukup jelas; skill ini menyintesis, bukan menggantikan interview.- Jalankan
to-ticketssetelah spec mendapat human review. - Satu ticket idealnya menghasilkan satu behavior end-to-end yang dapat diverifikasi.
- Gunakan fresh session untuk setiap independent implementation ticket; tetap di thread yang sama selama implementation, test, debugging, fix, verification, dan self-review. Gunakan
handoffketika context mulai panjang. - Gunakan
tdddi dalam implementasi ketika test seam sudah jelas, bukan sebagai ceremony wajib. - Gunakan
prototypehanya untuk menjawab pertanyaan desain; simpan di.scratch/prototypes/, lalu hapus atau bawa temuannya ke spec. - Self-review dan test tetap wajib per implementation ticket.
code-reviewhanya menambah independent/fresh-eyes review terhadap standard repo dan spec; ia bukan pengganti test. - Tambahkan reviewer terpisah hanya untuk authentication, encryption, transaksi, production migration, atau perubahan berisiko tinggi lainnya.
- Setelah dependency flow lintas repo selesai, lakukan integration verification dan final cross-repo review, biasanya dalam integration thread yang sama.
- Code dan regression tests tetap berada pada lokasi resmi project; jangan menyembunyikannya di
.scratch/. - Team Mode hanya digunakan setelah tim menyetujui tracker, domain docs, ADR, dan agent configuration sebagai artefak bersama.
- Jangan commit, push, merge, atau deploy otomatis kecuali tindakan tersebut memang diminta.
- Jangan simpan credential, token, PII, atau detail production sensitif di spec maupun My Second Brain.
Skill Cheat Sheet
| Skill | Siapa yang Memanggil | Kapan Dipakai |
|---|---|---|
setup-matt-pocock-skills | USER | Team Mode saja, setelah workflow disepakati tim |
grill-me | USER | Discovery default dalam Personal Mode; tidak menulis domain docs |
grill-with-docs | USER | Team Mode ketika glossary dan ADR memang menjadi artefak resmi |
grilling | Otomatis oleh skill discovery/wayfinder | Interview satu keputusan per giliran; biasanya tidak dipanggil langsung |
domain-modeling | Otomatis atau USER | Team Mode untuk memperbarui glossary dan menawarkan ADR |
to-spec | USER | Personal: .scratch/<feature>/PRD.md; Team: tracker/lokasi resmi |
to-tickets | USER | Personal: .scratch/<feature>/issues/; Team: issue tracker |
implement | USER | Mengerjakan satu spec atau ticket dengan batas authority eksplisit |
tdd | Otomatis melalui implement, atau USER | Red→green per behavior ketika test seam sudah jelas |
code-review | USER, bila perlu fresh eyes | Mereview committed diff terhadap fixed point, Standards, dan Spec; bukan default untuk setiap ticket |
diagnosing-bugs | USER | Bug sulit, intermittent, atau performance regression |
wayfinder | USER | Personal: local tracker .scratch/; Team: shared issue tracker |
research | USER atau otomatis oleh wayfinder | Personal output ke .scratch/research/ |
prototype | USER atau otomatis oleh wayfinder | Personal output ke .scratch/prototypes/, lalu hapus atau serap ke keputusan |
handoff | USER | Context mulai panjang dan pekerjaan perlu dilanjutkan di fresh session |
Dasar Rekomendasi dan Sources
- Matt Pocock Skills menjadi sumber utama untuk flow, setup, dan nama skill terbaru.
- Matt Pocock Skills di skills.sh digunakan untuk memeriksa katalog skill yang tersedia.
grillingskill menjadi dependency internal untuk interview satu pertanyaan per giliran.- Diskusi shared chat tentang thread dan review discipline menjadi sumber pembaruan workflow ini.
- X, YouTube, dan AI Hero memberi konteks tentang perubahan dan filosofi workflow.
- Reddit menjadi sumber sekunder untuk melihat pengalaman nyata: skill kecil dan fresh context membantu, tetapi terlalu banyak agent, reviewer, dan ceremony dapat memperlambat pekerjaan.
- Riset Reddit ini merupakan triangulasi beberapa diskusi, bukan studi sistematis atau benchmark besar.
Periksa kembali sumber resmi ketika tanggal verifikasi sudah lama karena nama dan behavior skill dapat berubah.