From rpl-magang
Generate weekly/biweekly logbook (Catatan Harian & Kehadiran) for MBKM/P3NK — supports single week, batch, and import from existing files
How this skill is triggered — by the user, by Claude, or both
Slash command
/rpl-magang:logbook [--week N] [--batch] [--import /path/to/file] [--output-dir /path][--week N] [--batch] [--import /path/to/file] [--output-dir /path]This skill is limited to the following tools:
The summary Claude sees in its skill listing — used to decide when to auto-load this skill
<objective>
{..., entries:[{tanggal, uraian_aktivitas}]} → satu tabel,
satu baris per hari, satu blok tanda tangan di akhir.{..., weeks:[{label, periode, entries:[{tanggal, items:[...]}]}]}
→ satu tabel + satu tanda tangan per pekan, ganti halaman antar pekan.Catatan render di dalam sel Uraian:
items (list) → tiap item jadi bullet point (untuk hari dengan banyak
aktivitas). String uraian_aktivitas tetap dipakai bila ada.*teks* → italic (istilah teknis/asing), `teks` → monospace code
(perintah/berkas). Nama brand/ID (ClickUp IR-xxxx, dsb) biarkan biasa.Pilihan bentuk ikut permintaan mahasiswa: bisa "1 baris = 1 hari" atau "1 baris = 1 pekan dengan rentang tanggal + bullet". Tanyakan bila ambigu.
test -f ~/.claude/magang-tools/config.json && echo "ok" || echo "missing"
If missing → tell user: "Jalankan /rpl-magang:init dulu sebelum membuat logbook." Stop.
Load config to get logbook template structure and formatting.
Check $ARGUMENTS:
--import /path → Import mode (Step 2b)--batch → Batch mode (Step 2c)Ask (can batch these questions):
Tell user: "Gw akan konversi file kamu ke format template UPI."
Read the file at the provided path.
Analyze its content and extract:
Jika file PDF (mis. export ClickUp/Notion/Docs): teksnya bisa berupa
gambar — baca per halaman (Read dengan pages) untuk isi, lalu ekstrak
hyperlink yang tersemat:
~/.claude/magang-tools/venv/bin/python ~/.claude/magang-tools/scripts/extract_pdf_links.py \
--pdf "[path.pdf]"
Enrich (opsional, kalau ada link + tooling): untuk tiap link, ambil detail agar uraian akurat:
clickup → ClickUp MCP clickup_get_task (custom id seperti IR-9633) untuk
judul/ID/status task atau bug.gitlab → glab mr view <iid> -R <project-path> untuk judul/state Merge
Request.google → catat sebagai dokumen pendukung (judul saja).Gabungkan hasilnya ke uraian (judul MR, ID bug, status) sehingga aktivitas
harian deskriptif dan terverifikasi. Lewati enrich bila MCP/glab tak tersedia
atau user tak mengizinkan akses.
Show extracted entries to user for review: "Ini yang berhasil gw parse dari file kamu:" Ask if there's anything to correct or add.
Ask: "Berapa minggu yang mau dibuat sekaligus?" (e.g. 4) Then for each week, ask for the date range. Activities will be collected per week in Step 4.
Read student_identity from config.json. If present, confirm:
"Pakai data ini? Nama: [X], NIM: [Y], Mitra: [Z], Penyelia: [W]"
If absent or different → ask:
After collecting (or correcting), persist back to
config.json under student_identity so laporan / logbook / pks reuse
it without re-asking:
{ "student_identity": { "nama": "...", "nim": "...", "mitra": "...", "penyelia": "..." } }
For each working day in the week(s), ask for:
User can provide activities in any form — informal notes, English, bullet points. Always expand and rewrite as formal Bahasa Indonesia sentences (2–3 kalimat per entry). Example:
Input: "fixing bug payment timeout" Output: "Melakukan identifikasi dan perbaikan bug pada modul payment service yang menyebabkan kegagalan transaksi akibat kondisi timeout. Perbaikan diverifikasi melalui pengujian unit test dan dinyatakan berhasil."
If a day was off (holiday, izin) → include entry with note: "Tidak masuk — [alasan]"
Determine output directory:
--output-dir in args → use thatDraft filename: Logbook_[NamaMhs]_Minggu[N].md (spaces → underscore)
Write .md draft with this structure:
# CATATAN HARIAN & KEHADIRAN PESERTA
## KEGIATAN MBKM KEGIATAN PROGRAM MSIB / P3NK (MAGANG MANDIRI) PADA MITRA
**Nama Mahasiswa :** [nama]
**NIM :** [nim]
**Nama Mitra :** [mitra]
**Nama Penyelia :** [penyelia]
| No. | Tanggal | Uraian Aktivitas | Paraf Penyelia |
|-----|---------|-----------------|----------------|
| 1 | [tanggal] | [aktivitas] | |
| 2 | ... | ... | |
---
Peserta, Penyelia,
[Nama Mahasiswa] [Nama Penyelia]
NIM: [NIM]
Tell user: "Draft disimpan di [path]. Cek dulu sebelum export ke DOCX."
Ask: "Mau langsung export ke DOCX sekarang?"
If Yes:
/tmp/logbook_data_[week].json~/.claude/magang-tools/venv/bin/python ~/.claude/magang-tools/scripts/generate_logbook.py \
--data /tmp/logbook_data_[week].json \
--output "[output_dir]/Logbook_[NamaMhs]_Minggu[N].docx"
If No → tell user how to re-run later: "/rpl-magang:logbook --week [N]"
Show:
✅ Logbook Minggu [N] selesai!
Draft : [path].md
DOCX : [path].docx (atau belum di-export)
Entries: [N] hari
Next: cetak DOCX, minta tanda tangan penyelia di kolom Paraf, scan jadi PDF.
Nama file final: Logbook_[NamaMhs].pdf
Provides UI/UX resources: 50+ styles, color palettes, font pairings, guidelines, charts for web/mobile across React, Next.js, Vue, Svelte, Tailwind, React Native, Flutter. Aids planning, building, reviewing interfaces.
Fetches up-to-date documentation from Context7 for libraries and frameworks like React, Next.js, Prisma. Use for setup questions, API references, and code examples.
npx claudepluginhub dikdns/upi-rpl-laporan-magang --plugin rpl-magang