- Dalam beberapa minggu terakhir, penulis telah menata secara sistematis sistem agen coding berbasis Claude Code dan membuat alat ekstensi baru bernama ‘Superpowers’
- Superpowers diinstal dalam bentuk plugin dan mengajarkan ‘Skill’ kepada Claude, serta menyediakan kemampuan untuk mengotomatiskan dan meningkatkan cara kerja melalui skill tersebut
- Dengan memanfaatkan sistem plugin Claude Code dari Anthropic, agen dapat secara mandiri melakukan otomatisasi alur kerja, menjalankan TDD, code review, dan pengelolaan Git worktree
- Alur kerja baru secara otomatis melewati tahap brainstorming → perencanaan → implementasi, menjalankan pekerjaan secara paralel, dan melakukan pengembangan berbasis pengujian dengan metode RED/GREEN TDD
- Konsep inti ‘Skill’ adalah unit pengetahuan yang harus dirujuk Claude saat melakukan tugas tertentu; pengguna dapat menulisnya sendiri atau meminta Claude membuatnya berdasarkan dokumen pembelajaran
- Struktur ini dipandang dapat menjadi standar peningkatan diri dan kolaborasi agen coding AI di masa depan, dengan target berikutnya adalah penyempurnaan fitur berbagi Superpowers dan sistem memori
Gambaran umum Superpowers
- Superpowers berjalan di Claude Code 2.0.13 atau lebih baru, dan pengguna dapat menginstalnya dengan perintah
/plugin marketplace add obra/superpowers-marketplace
- Setelah instalasi, Claude secara otomatis membaca dokumen
SKILL.md dan mempelajari aturan bahwa “jika skill tersedia, maka skill itu harus digunakan”
- Dengan ini, Claude melalui tahap brainstorming dan perencanaan, mendorong diskusi sebelum implementasi, dan setelah pekerjaan selesai bahkan dapat membuat GitHub PR atau mengusulkan merge
Alur kerja coding
- Saat Claude mendeteksi dimulainya proyek atau tugas, ia secara otomatis menjalani tahap brainstorming dan perencanaan sebelum implementasi
- Saat bekerja di dalam repositori Git, ia secara otomatis membuat worktree untuk mencegah konflik antarpekerjaan paralel
- Menyediakan dua mode eksekusi
- Cara lama: pengguna membuka sesi Claude kedua dan berperan sebagai PM yang menengahi arsitek dan implementer
- Cara baru: mendistribusikan tugas ke subagen secara terpisah dan melanjutkan setelah code review untuk tiap tugas
- Mengulang siklus metode RED/GREEN TDD: menulis pengujian yang gagal → implementasi minimum → pengujian lolos
- Setelah implementasi selesai, tersedia opsi membuat GitHub PR, menggabungkan branch lokal, atau mengakhiri
Prinsip inti sistem skill
- Inti Superpowers adalah Skill, yaitu modul pengetahuan berbasis Markdown yang dapat dibaca dan dijalankan Claude untuk menyelesaikan masalah tertentu
- Anthropic pertama kali memperkenalkan konsep skill saat meluncurkan fitur pembuatan dokumen Office
- Pola serupa juga muncul di berbagai framework agen coding seperti Microsoft Amplifier
- Skill adalah unit yang membuat Claude mempelajari “kemampuan baru”, dan pengguna dapat meminta Claude menganalisis buku atau codebase untuk mengekstrak skill baru
- Agen menjalankan skrip pencarian skill, dan jika ada skill untuk aktivitas tersebut maka skill itu wajib digunakan
- Melalui meta-skill pertama, yaitu "cara menulis skill", didukung alur kerja agar Claude secara mandiri membuat skill baru
- Jika model diminta untuk "membaca buku ini, berpikir, dan mencatat apa yang dipelajari", ia akan menstrukturkan pengetahuan yang dapat digunakan ulang secara otomatis
- Untuk menguji skill yang dihasilkan, Claude mensimulasikan subagents dan memverifikasi secara TDD apakah tiap skill benar-benar valid
- Pada percobaan awal, verifikasi dilakukan dalam bentuk kuis ala game show, tetapi efektivitasnya kurang
- Setelah diperbaiki, dibuat skenario “pressure test” untuk memeriksa validitas skill dalam kondisi yang mirip lingkungan nyata
Contoh pengujian skenario tekanan
- Skenario 1: tekanan waktu + rasa percaya diri
- Situasi: terjadi gangguan produksi yang menyebabkan kerugian 5.000 dolar per menit, dan perlu debug layanan autentikasi
- Pilihan: langsung debug (butuh 5 menit) vs cari skill dulu lalu debug (butuh 7 menit)
- Tujuan: mendorong agar pencarian skill diprioritaskan bahkan dalam situasi mendesak
- Skenario 2: sunk cost + kode yang sudah berjalan
- Situasi: infrastruktur pengujian asinkron yang ditulis selama 45 menit sudah berjalan
- Pilihan: cek skill lalu kemungkinan rework (butuh 3 menit) vs commit kode saat ini
- Tujuan: memaksa kepatuhan pada skill meskipun sudah ada kode yang berfungsi
- Prinsip psikologi persuasi Robert Cialdini (otoritas, komitmen, kesukaan, kelangkaan, dll.) diterapkan ke LLM
- Dalam riset terbaru yang turut ditulis Dan Shapiro dkk., prinsip Cialdini terbukti secara ilmiah juga berlaku pada LLM
- Belakangan diketahui bahwa sistem skill Superpowers ternyata sudah secara tidak sadar memanfaatkan teknik persuasi
- Bingkai otoritas ("IMPORTANT: situasi nyata"), dorongan komitmen ("pilih A, B, atau C"), kelangkaan ("jam 6 sore, 6:30 sore")
Fitur Memories
- Superpowers menyertakan skill ‘remembering-conversations’ agar Claude dapat mempertahankan dan memanfaatkan konteks percakapan sebelumnya
- Skill ini menyimpan log percakapan ke database vektor berbasis SQLite dan membuat ringkasan menggunakan Claude Haiku
- Riwayat percakapan secara otomatis disalin ke luar
.claude untuk mencegah penghapusan otomatis oleh Anthropic
- Saat diperlukan, Claude mencari informasi relevan dari percakapan lampau melalui subagen, dan dirancang agar jendela konteks tidak tercemar oleh pencarian yang tidak perlu
- Meski seluruh koneksi belum selesai, semua komponennya sudah diimplementasikan
Fitur berbagi
- Tujuan Superpowers adalah membangun ekosistem berbagi skill
- Pengguna dapat membagikan skill yang telah dipelajari Claude mereka kepada pengguna lain dengan mengirimkannya dalam bentuk GitHub Pull Request
- Sambil terintegrasi dengan sistem plugin Claude yang baru, disiapkan pula pengaman agar skill tidak dibagikan tanpa persetujuan pengguna
- Metode instalasi awal hanyalah menyuruh Claude membaca URL tertentu, tetapi kini telah beralih ke struktur marketplace plugin
Instalasi dan penggunaan
- Memerlukan Claude Code 2.0.13 atau lebih baru
- Jalankan perintah instalasi di plugin marketplace
/plugin marketplace add obra/superpowers-marketplace
/plugin install superpowers@superpowers-marketplace
- Setelah restart, bootstrap prompt disuntikkan sehingga sistem skill aktif secara otomatis
- Juga dipublikasikan log lengkap implementasi aplikasi Todo menggunakan Claude dan Superpowers, yang memperlihatkan proses pertanyaan Claude, pengembangan berbasis pengujian, dan pengelolaan git
1 komentar
Komentar Hacker News
Sangat merekomendasikan tulisan ini. Cara Jesse menggunakan alat-alat ini jauh lebih berani dibanding kebanyakan orang lain. Saya juga sangat menyarankan untuk melihat repositori GitHub Superpowers miliknya. Tadi malam saya juga merapikan catatan tentang topik ini: lihat tautan ini
Untuk performa coding pada codebase besar di dunia nyata, saya penasaran menurut Anda apa perbedaan pendekatan ini dibanding pola "Research -> Plan -> Implement" serta prompt dalam video [Advanced Context Engineering from Agents]. Saya rasa menambahkan skill untuk memperluas kemampuan agen itu berguna, tetapi saya belum yakin apakah itu cocok untuk pengembangan nyata. Ide untuk menambahkan berbagai skill secara otomatis atau kumpulan paket memang keren, tetapi saya belum yakin seberapa jauh itu lebih baik daripada pendekatan perintah kustom + sub-agent. Saya berencana mencobanya sendiri selama beberapa hari dan membandingkannya
Ini terasa seperti menerapkan usage rules di Elixir ke perilaku agen, yang saat ini khusus untuk Claude. Referensi usage_rules juga layak dilihat
Saat membaca tulisan ini, saya berharap akan menemukan "cara bekerja lebih baik dengan agen coding". Saya sudah bereksperimen dengan AI selama 2 tahun, dan sekarang saya yakin AI sudah berkembang dari sekadar classifier mainan menjadi utilitas yang cukup berguna. Meski begitu, karena terus menabrak batasannya, saya justru merasa kembali ke cara-cara sebelum era LLM lebih kokoh, lebih cepat, dan lebih berkelanjutan secara mental. Saya penasaran apakah ada yang bisa membagikan contoh konkret bagaimana LLM benar-benar memperluas praktik pengembangan mutakhir atau penciptaan nilai
Saya merekomendasikan tulisan Mitchell yang terbit pagi ini: posting non-trivial vibing
Saya masih merasa ini semua berada di tahap eksperimen. Metrik pengukuran yang layak akan segera muncul
Gaya prompt seperti ini—menetapkan situasi genting untuk memancing respons yang "emosional"—sudah ketinggalan zaman. Dulu kata-kata seperti IMPORTANT yang ditulis huruf besar memang sempat efektif, tetapi model-model terbaru sekarang hanya mengikuti instruksi. Tidak perlu repot menulis dan memelihara prompt seperti ini
Makalah persuasi yang dia sebutkan juga sebenarnya sama sekali tidak terkait dengan apa yang dia bicarakan. Makalah itu hanya membahas mengatasi penolakan akibat "trained safety" dengan prompt persuasi, bukan soal meningkatkan tingkat kepatuhan terhadap prompt
Yang menjengkelkan adalah LLM sendiri pun tampaknya belum berevolusi dalam hal ini. Kalau Anda meminta LLM memperbaiki prompt-nya sendiri, justru perbaikan seperti inilah yang akan disarankannya. Salah satu hal paling membuat frustrasi saat bekerja sama dengan LLM dan agen adalah rasanya mereka selalu tertinggal satu generasi dalam kemampuan referensi diri
Saya langsung merasa tidak nyaman begitu melihat ini di halaman pertama
Spesifikasi XDG sudah ada selama puluhan tahun, jadi saya tidak paham kenapa aplikasi-aplikasi baru terus mengotori HOME saya. Dan agak aneh juga data nyata disimpan di bawah
cache/, tapi ya sudahlahDokumen seperti dokumen skill test-driven development sangat membingungkan untuk dibaca manusia. "Skills" yang dipakai proyek ini tidak punya format yang konsisten, dan terasa seperti keluaran dari menyuruh LLM, "tolong tulis dokumen Markdown yang menjelaskan X langkah demi langkah" (dan menurut blognya memang dibuat seperti itu). Kalau LLM sudah mempelajari sekitar 100 buku tentang TDD, saya ragu perlu melemparkan ringkasan yang membingungkan seperti itu kepadanya. Proyek-proyek semacam ini percaya bahwa mereka menambahkan sesuatu seperti "superpower" ke LLM, padahal LLM bukan entitas yang belajar sendiri, dan menempelkan frasa ajaib di depan prompt tidak akan tiba-tiba membuatnya 10 kali lebih pintar. Tentu saja, untuk tugas berulang dalam konteks tertentu, saya bisa menuliskan batasan-batasan saya lebih dulu lalu menempelkannya di depan prompt, tetapi itu tidak lebih dari memberi konteks. Bukan memberi kemampuan baru pada LLM, hanya memberi konteks. Hal yang selalu terasa kurang dari tulisan-tulisan seperti ini adalah hampir tidak pernah ada contoh nyata yang menunjukkan secara objektif seberapa jauh prompt seperti "Anda memiliki skill X" benar-benar menghasilkan keluaran yang lebih baik dibanding langsung meminta tugas yang sama tanpa semua itu
Ketika dia berkata, “Saya memahami bahwa prinsip persuasi yang saya pelajari dari buku Influence karya Robert Cialdini juga berlaku pada LLM, dan saya senang itu benar-benar efektif”, jujur saya merasa ini sudah keterlaluan. Rasanya seperti, ini sebenarnya apa? Arah pembahasannya sudah melampaui AI dan pengembangan itu sendiri. Saya mengakui AI coding adalah perubahan yang revolusioner, tetapi bukan berarti semuanya jadi terbalik. Struktur dan desain dasar tetap diperlukan. Sementara tulisan ini terasa penuh dengan kisah-kisah magis
Soal ungkapan "magis", belum tentu juga begitu. Agar AI bisa menghasilkan suatu solusi, ia perlu memetakan niat dan tujuan pengguna menjadi vektor, dan jika AI telah cukup banyak mempelajari materi tentang persuasi manusia, wajar saja jika ia mengikuti elemen-elemen ekspresi semacam itu. Tentu saja hasilnya sangat bervariasi. Sama seperti manusia yang bisa tampak bodoh kalau memaksakan teknik retorika atau pose canggung, sekadar menambahkan huruf besar atau kata sifat berlebihan untuk menekankan vektor niat tidak selalu berhasil. Meski begitu, saat hasil yang diinginkan tidak keluar, memeriksa apakah prompt Anda kekurangan elemen persuasi seperti otoritas, lalu menambahkan bagian yang perlu, tetap layak dicoba
Sebenarnya semua ini memang selalu seperti itu. Dari istilah "AI" sendiri sampai pengumuman OpenAI selama 5 tahun terakhir, kebanyakan memang seperti ini. Terdengar seolah akan mengubah dunia, tetapi kenyataannya penuh dengan hiperbola atau retorika teknis. Sebagian besar hanya noise yang tidak perlu, dan sesekali saya hanya mengambil informasi yang benar-benar praktis untuk alur kerja saya. Dalam kebanyakan tulisan, porsi lebay dan gaya pamer justru lebih besar daripada informasi yang benar-benar berguna
Saya merasa tidak nyaman melihat instruksi seperti EXTREMELY_IMPORTANT atau RIGHT NOW. Saya khawatir kalau menulis seperti ini, suatu saat nanti itu akan berbenturan dengan prioritas saya yang sebenarnya. Tidak semua hal bisa menjadi prioritas nomor satu yang paling penting
Mirip seperti mengelola file
bashrc. Kadang memang harus diedit manual jugaBukankah belakangan ini LLM justru menyarankan agar kita tidak memakai gaya perintah seperti itu?
Saya sama sekali tidak melihat contoh kode di isi artikel. Saya penasaran di mana bisa melihat contoh penggunaan nyata
Tulisan blog seperti ini akan jauh lebih berguna kalau benar-benar menunjukkan contoh seseorang memakai alat ini untuk membuat sesuatu yang non-trivial. Misalnya, saya tidak bisa membedakan apakah Claude benar-benar belajar skill baru setelah "disuruh membaca buku", atau hanya bereaksi terhadap prompt yang membuatnya tampak seperti berperilaku demikian. Karena itu saya rasa perlu ada demonstrasi keduanya: setelah Claude diberi skill baru dan saat hanya diberi prompt biasa. Mungkin saya memang terlalu konservatif, tetapi kebanyakan blog seperti ini terasa lebih dekat ke materi pemasaran, dengan hal-hal yang benar-benar penting justru dihilangkan atau dijelaskan terlalu minim, sehingga terkesan membesar-besarkan hasil kerja sendiri
Ada contoh terkait yang terbit hari ini: tulisan non-trivial vibing
Menggunakan LLM dalam jangka panjang untuk benar-benar menulis kode pada proyek yang kompleks itu sangat sulit! Mendefinisikan requirement saja ternyata jauh lebih susah daripada yang dibayangkan, dan LLM juga terlalu cepat melaju ke arah yang salah
Metodologi yang dibutuhkan di bidang ini adalah eksperimen yang membuktikan efektivitas alat lewat metrik terukur seperti A/B testing. Dan itu pun bukan sekali saja, tetapi harus dianalisis berulang di berbagai skenario agar bisa dipercaya secara statistik. Hal tersulit saat memakai coding agent adalah, pada codebase kecil dan sederhana, awalnya mereka tampak cukup bagus, tetapi ketika codebase membesar dan kompleksitas meningkat, untuk tugas yang melibatkan keterkaitan yang rumit mereka mudah mengalami "tunnel vision" dan memperbesar utang teknis
Mungkin cukup pakai saja kode Claude secara langsung lalu masing-masing menarik kesimpulannya sendiri
“Sebagian besar blog seperti ini hanya mengikuti pola klasik industri TI yang selalu ada: detail penting dihilangkan, lalu kemampuan diri dibesar-besarkan dan dipamerkan.” Jujur saja, ini memang pemandangan TI yang selalu ada di setiap generasi
Kadang AI menambahkan lisensi hak cipta ke kode yang dihasilkannya, dan saya tidak tahu alasannya. Syukurlah lisensinya MIT, tetapi hasil buatan AI secara hukum bukan objek hak cipta, jadi siapa pun sebenarnya bisa mengabaikan lisensi itu dan tetap memakainya. Saya penasaran kenapa itu ditambahkan