noskill
Skill dan agent untuk kerja development seperti tim engineering: tiket dikerjakan developer, dicek reviewer, diuji QA, lalu masuk DONE. Kodenya hanya mengubah yang diminta, memakai ulang yang sudah ada, dan setiap klaim selesai disertai bukti test.
/plugin install noskill --marketplace awahids/noskill
Install
Jalankan di Claude Code. Perintah satu langkah butuh Claude Code 2.1.275 atau lebih baru:
/plugin install noskill --marketplace awahids/noskill
Untuk versi yang lebih lama, tambahkan marketplace dulu:
/plugin marketplace add awahids/noskill /plugin install noskill@noskill
Untuk mencoba tanpa memasang, clone repo-nya lalu muat untuk satu sesi:
git clone https://github.com/awahids/noskill claude --plugin-dir ./noskill
Update plugin dengan /plugin update noskill. Semua skill dipanggil dengan awalan /noskill:.
Skill tambahan (user guide, mockup, standup, proposal) ada di plugin terpisah noskill-extras. Pasang hanya kalau perlu:
/plugin install noskill-extras@noskill
Lewat akun Claude (claude.ai, desktop, Cowork)
Pasang sekali di akun, lalu plugin tersinkron ke chat, Cowork, dan setiap sesi Claude Code yang login dengan akun yang sama, termasuk sesi cloud.
- Buka claude.ai/customize/plugins (Customize → Plugins).
- Pilih Add → Add marketplace, lalu isi:
awahids/noskill
- Pilih plugin noskill (dan noskill-extras kalau perlu), lalu Add. Aktifkan Sync automatically supaya update dari GitHub langsung masuk.
- Di sesi Claude Code yang sudah terbuka, jalankan
/reload-plugins.
Di chat claude.ai hanya skill yang aktif. Agent dan hook berjalan di Claude Code dan Cowork. Pada plan Team/Enterprise, menu Add marketplace bisa dibatasi oleh Owner organisasi.
Mulai cepat
- Buat profil project sekali di setiap repo:
/noskill:project-profile. Hasilnyadocs/noskill/project-profile.mdberisi stack, command test yang sudah dicoba, struktur folder, dan helper yang bisa dipakai ulang. - Perbaiki bug atau tambah fitur kecil:
/noskill:tiket fix tombol simpan tidak validasi email. Claude menulis satu tiket, kamu setujui, lalu tiket berjalan sampai DONE. - Fitur besar:
/noskill:feature-flowlalu ceritakan fiturnya. Alurnya dimulai dari PRD, dengan pertanyaan klarifikasi lebih dulu. - Cek progres kapan saja dengan
/noskill:tiket. Kalau sesi terputus, lanjutkan dengan/noskill:tiket lanjut.
Cara kerja
Aturan inti, aktif di setiap sesi
Saat sesi dimulai, plugin memuat sekitar 12 baris aturan lewat hook, jadi aturan ini berlaku juga ketika tidak ada skill yang dipanggil:
- Ubah hanya yang diminta. Tidak ada refactor, rename, atau dependency baru yang tidak diminta.
- Pikir dulu, lalu pilih cara paling sederhana. Pakai helper yang sudah ada di codebase, meskipun penggantinya cuma satu baris.
- Logic bisnis punya test positif, negatif, dan batas, dan test dibuktikan gagal dulu sebelum implementasi.
- Kode efisien: tidak ada query di dalam loop, data diambil seperlunya, dan data besar dipaginasi.
- Hemat token: cari dulu, baca bagian yang perlu saja, dan batasi output command.
- "Selesai" hanya diklaim setelah test dijalankan dan hasilnya terlihat.
Dua mode kerja
Mode cepat
Untuk bug fix, fitur kecil, atau revisi fitur yang sudah ada. Permintaan langsung jadi satu tiket (maksimal tiga) berisi AC positif dan negatif, file yang disentuh, dan cara verifikasi. Setelah kamu setujui, tiket masuk loop.
Mode lengkap
Untuk fitur atau modul baru. Desain domain dilanjutkan PRD (dengan pertanyaan klarifikasi), lalu tiket. Di antaranya ada BRD dengan tiga pilihan level: lengkap (BR → UAT, untuk sign-off atau UAT formal), ringkas (US → AC → TECH + Test Case), atau tanpa BRD (tiket langsung dari PRD). Setiap tahap butuh persetujuanmu.
Pekerjaan dilakukan di branch baru (feat/… atau fix/…) dengan satu commit per tiket. Di akhir kamu memilih push + PR (deskripsinya disusun dari tiket), merge lokal, atau biarkan dulu.
Alur tiket
Tiket berstatus HOLD ditanyakan ke kamu. Tiket lain yang tidak bergantung padanya tetap jalan.
Setiap tiket adalah satu file Markdown di docs/noskill/tickets/. Isinya acceptance criteria, file yang boleh diubah, cara verifikasi, dan bagian Riwayat yang mencatat setiap perpindahan status beserta alasannya. Agent tidak saling memanggil. Mereka mengembalikan verdict ke orkestrator (feature-flow), yang menjadi satu-satunya pihak yang memindahkan status. Dengan begitu setiap keputusan tercatat di file dan bisa di-commit.
Aturan tiket
Satu tiket per endpoint (BE), per fitur atau halaman (FE), atau per bug. Migration, test, dan Swagger ikut ke tiket endpoint-nya, tidak dipecah per layer. Perubahan kecil digabung: maksimal 3 endpoint simple di resource yang sama, atau perubahan kecil di halaman yang sama, jadi satu tiket. AC ditulis dengan checklist batas (batas kolom database, pencocokan teks case-insensitive, input kosong, respons error, upload/import, periode, role).
Kalau BE dan FE sama-sama berubah, tiket BE memuat Kontrak API sejak dibuat: path, request, response sukses, dan kode error. Tiket FE merujuk kontrak itu lewat integrates_with, jadi developer FE bisa mulai bersamaan dengan BE. QA tiket FE menunggu tiket BE selesai, lalu menguji FE dan BE bersama dengan BE sungguhan.
Selama loop, test hanya dijalankan untuk yang tersentuh tiket. Typecheck, lint, dan seluruh test dijalankan sekali di akhir.
Mode paralel
Bisa dipilih saat tiket disetujui. Selagi reviewer mengecek tiket A, developer sudah mengerjakan tiket B. Setiap tiket aktif mendapat git worktree sendiri, jadi perubahannya tidak tercampur. Tiket boleh jalan bersamaan kalau dependensinya sudah DONE dan file yang disentuh tidak beririsan. Maksimal 2 tiket aktif, atau 3 kalau tiketnya ada di repo berbeda. Setiap tiket yang lolos QA di-merge ke branch kerja.
Hemat waktu per tiket
- Revisi dilanjutkan oleh developer yang sama, jadi tiket dan kode tidak dibaca ulang dari nol.
- Setiap tiket punya
complexity. Tiketsimpledikerjakan developer dengan Sonnet, tiketcomplexdengan model sesi. - Database dan server dinyalakan sekali per sesi lalu dipakai bersama oleh semua QA.
- Typecheck dan lint per tiket memakai versi cepat dengan cache (
tsc --incremental,eslint --cache), dicatat di profil project. - Laporan lengkap agent disimpan di
docs/noskill/reports/. Sesi utama hanya menerima verdict dan ringkasan beberapa baris, jadi tetap ringan di fitur dengan banyak tiket. - Riwayat tiket mencatat jam, dan
/noskill:tiket boardmenampilkan berapa lama tiap tiket di tahap developer, review, dan QA.
Multi-repo
Satu fitur bisa menyentuh beberapa repo, misalnya api NestJS, web Vue, dan mobile Flutter. Daftarkan repo-repo itu di bagian ## Repo pada project-profile.md. PRD, BRD, dan semua tiket tetap di satu repo, yaitu repo tempat sesi berjalan, jadi board-nya cuma satu. Setiap tiket punya field repo: dan hanya mengubah repo itu. Tiket di repo pemakai (web) bergantung pada tiket di repo penyedia (api). Branch kerja bernama sama dibuat di setiap repo, commit dilakukan di repo masing-masing, dan di akhir dibuat satu PR per repo yang saling menautkan.
Agent
| Agent | Peran | Ubah kode | Model |
|---|---|---|---|
developer | Mengerjakan satu tiket atau bug. Menyusun rencana dulu, memakai helper yang ada, menulis test (bukti RED), lalu menjalankan quality gate. | Ya | sesi |
ticket-reviewer | Mengecek kesesuaian dengan AC, scope, reuse, kesederhanaan, efisiensi, dan test. Hasilnya APPROVED, CHANGES_REQUESTED, atau BLOCKED. | Tidak | Sonnet |
qa-tester | Menjalankan test positif, negatif, dan batas terhadap AC dan TC. Hasilnya PASS atau FAIL dengan bug report. | Tidak | Sonnet |
brd-tracer | Menurunkan PRD menjadi BR, PROC, US, AC, TECH, dan TC. | Tidak | Sonnet |
task-planner | Mengubah PRD dan BRD menjadi file tiket berstatus TODO. | Tidak | Sonnet |
Semua skill
Penjelasan lengkap tiap skill — kapan dipakai, langkah kerja, hasil, dan aturan penting — ada di halaman Detail skill.
Yang muncul di menu / hanya feature-flow, tiket, lazy, project-profile, prd-writer, dan debug-assistant. Skill bertanda internal dipakai otomatis oleh agent dan orkestrator, jadi tidak ditampilkan di menu.
Alur kerja
feature-flow | Orkestrator mode cepat, lengkap, dan paralel: tiket → developer → reviewer → QA → DONE, termasuk branch dan PR. |
ticket-workflow internal | Format file tiket, alur status, verdict agent, dan board. |
project-profile | Men-scan repo sekali menjadi profil yang dibaca semua agent: command, struktur, helper, aturan project, dan tracker. |
Requirement & desain
prd-writer | PRD baku dengan diagram Mermaid, didahului minimal 5 pertanyaan klarifikasi. Ada juga mode Reverse-PRD dari kode yang sudah ada. |
erp-requirements internal | ERP/WMS dalam dua bagian: checklist desain domain (master data, stock ledger, workflow status, RBAC, audit trail, roadmap MVP) dan rantai requirement BR → PROC → US → AC → TECH → TC → UAT dengan ID yang bisa ditelusuri. |
task-breakdown internal | Memecah PRD/BRD menjadi task yang punya dependency, cara verifikasi, dan kolom Trace. |
Standar & kualitas
coding-standards internal | Naming, struktur folder, ORM dan migration, format response API, dokumentasi Swagger/OpenAPI, TDD, quality gate, dan checklist review untuk NestJS, Laravel, Golang, Vue, dan Next.js. Detail per stack dibaca saat dibutuhkan saja. |
debug-assistant | Debugging terstruktur: reproduce → isolasi → root cause → verifikasi dengan bukti. |
Tambahan — plugin noskill-extras (opsional)
mockup-prototype | Mockup atau prototype UI dari PRD, per layar dan per role. |
user-guide | Panduan untuk pengguna non-teknis, dengan langkah per fitur dan flowchart dalam bahasa sehari-hari. |
standup-update | Standup atau status report, dibaca langsung dari Riwayat tiket. |
freelance-proposal | Proposal project per fase dengan harga Rupiah dan syarat pembayaran. |
Shortcut
| Perintah | Fungsi |
|---|---|
/noskill:tiket atau /noskill:tiket board | Status semua tiket, pertanyaan dari tiket HOLD, dan durasi tiap tahap per tiket. |
/noskill:tiket fix <deskripsi> | Bug fix atau perubahan kecil lewat mode cepat. |
/noskill:tiket lanjut [jawaban] | Melanjutkan tiket yang tertunda dari sesi sebelumnya. |
/noskill:tiket rapikan [ID] | Rapikan tiket lama agar sesuai aturan tiket terbaru. Usulan ditampilkan dulu, diterapkan setelah kamu setujui. /noskill:tiket rapikan review <ID> mereview ulang kode tiket DONE. |
/noskill:lazy <permintaan> | Lazy senior dev mode: langsung kerjakan solusi paling sederhana dan terpendek yang jalan, tanpa tiket, review, atau QA. |
/noskill:feature-flow | Alur kerja lengkap, mode cepat atau dari PRD. |
/noskill:project-profile | Membuat atau me-refresh profil project. |
Konfigurasi
Folder hasil
Secara default, semua dokumen yang dihasilkan ditulis ke docs/noskill/. Untuk menggantinya, buka /config lalu ubah opsi Folder dokumen noskill, atau isi di ~/.claude/settings.json:
{ "pluginConfigs": { "noskill@noskill": { "options": { "docs_dir": "docs" } } } }docs/noskill/
├── project-profile.md profil project
├── prd.md PRD (mode lengkap)
├── 01-business/ … 05-testing/ BRD: BR, PROC, US/AC, TECH, TC/UAT
├── tickets/
│ ├── FIX-001.md satu file per tiket
│ └── WMS-BE-004.md
└── reports/
└── WMS-BE-004/ laporan lengkap agent per putaran
├── dev-1.md
├── review-1.md
└── qa-1.md
Bahasa
Instruksi di dalam skill, agent, dan hook ditulis dalam bahasa Inggris supaya lebih hemat token (±20–40% lebih sedikit). Semua yang dibaca pengguna tetap berbahasa Indonesia: jawaban, PRD, BRD, tiket, dan laporan agent.
Tracker
Isi tracker: github atau tracker: notion di profil project supaya board tercermin di GitHub Issues atau database Notion. Sinkronnya satu arah dari file ke tracker, dan hanya terjadi saat tiket dibuat, DONE, BUG, atau HOLD.
Eval
Repo ini menyertakan 16 case uji perilaku:
- developer memakai helper yang ada dan menulis test negatif/batas
- reviewer menolak duplikasi
- mode cepat berhenti di gate
- aturan inti berlaku tanpa skill
- tiket dibuat langsung dari PRD (tanpa BRD)
- fitur lintas repo dipecah jadi tiket per repo
- endpoint kecil di resource yang sama digabung jadi satu tiket, dengan AC batas (int4, case-insensitive)
- developer bekerja di worktree tiket (mode paralel)
/noskill:lazymemakai helper yang ada, tanpa tiket atau abstraksi baru/noskill:tiket rapikanmengusulkan penggabungan tiket per layer tanpa mengubah file sebelum disetujui, lalu menerapkannya setelah disetujui/noskill:tiket rapikan reviewmembuat tiket BUG dari temuan review ulang tiket DONE- QA menolak implementasi yang AC negatifnya gagal, dan meloloskan implementasi yang benar
- QA langsung BLOCKED tanpa menyalakan DB/server sendiri kalau URL environment tidak diberikan
brd-tracermenurunkan PRD jadi dokumen BRD ringkas dengan ID traceable
Jalankan setelah mengubah skill atau agent:
claude plugin eval . --scaffold --trust-plugin --allow-tools Write Edit Bash
Di Linux butuh bubblewrap dan socat. Satu putaran (1 run per case) memakan beberapa menit dengan biaya sekitar $2.
Tanpa plugin
Skill bisa disalin langsung. Hook aturan inti tidak ikut terpasang dengan cara ini, dan skill dipanggil tanpa awalan noskill:.
cp -r noskill/skills/* ~/.claude/skills/ cp noskill/agents/*.md ~/.claude/agents/
Untuk Claude.ai, buat ZIP dari satu folder skill (nama folder harus sama dengan name di SKILL.md, dan folder references/ ikut di dalamnya), lalu unggah lewat Customize → Skills → Upload a skill. Agent dan hook hanya berjalan di Claude Code.
cat, jadi berjalan di macOS, Linux, dan WSL. Di Windows tanpa WSL, hook tidak berjalan, tetapi skill dan agent tetap berfungsi.