AgentSkillsCN

learnink-automation-flow

内容自动化指南(从 Notion 到 Web)、数据库维护、监控以及外部集成。

SKILL.md
--- frontmatter
name: learnink-automation-flow
description: Panduan otomasi konten (Notion to Web), maintenance database, monitoring, dan integrasi eksternal.

LearnInk Automation & Integrations

Pipeline Konten: Notion → Supabase → Web

Alur Lengkap

code
Notion Database → [sync-notion-page] → incoming_contents (staging)
                                              ↓
                                    [admin-architect] (AI Analysis)
                                              ↓
                                    Admin Review (ContentApproval.tsx)
                                              ↓
                                    Approve → modules (live)
                                              ↓
                                    [TODO] Auto-Embed → RAG Ready

Edge Functions Aktif

sync-notion-page (Manual Trigger)

  • Auth: Memverifikasi user sebagai admin/superadmin sebelum sync.
  • AI Analysis: Otomatis memanggil admin-architect untuk menghasilkan summary, level, dan kategori AI.
  • Upsert: Cek duplikat berdasarkan notion_page_id sebelum insert.
  • Properties Notion yang diekstrak: Name, Summary, Level, Category, Track, Slug, Cover.

ingest-content (API Endpoint External)

  • Auth: Mendukung 3 metode: Bearer Token (sk_live_*), Service Role Key, dan Ingest Secret.
  • Security: Rate limiting (100 req/15 menit), SHA-256 key hashing, constant-time comparison.
  • Logging: Audit trail untuk setiap auth failure dan rate limit exceeded.

admin-architect (AI Content Analyzer)

  • Menganalisis konten modul untuk menghasilkan summary, level (Pemula/Menengah/Lanjut), dan kategori secara otomatis.
  • Dipanggil oleh sync-notion-page sebagai sub-function.

Gap yang Perlu Ditangani

  • ⚠️ Belum ada Smart Watcher: Sync masih manual per-halaman, belum ada polling Database Notion.
  • ⚠️ Belum ada Auto-Embedding RAG: Modul yang di-approve belum otomatis dibuatkan embedding.
  • ⚠️ Video & Embed: Dirender sebagai link biasa di notion-to-md.ts, bukan iframe/player.

Maintenance Otomatis

Edge Functions Terjadwal

FunctionDeskripsiJadwal
maintenance-cleanupMemanggil RPC perform_maintenance() — VACUUM & log cleanupHarian
system-healthCek DB, Auth, dan Gemini API, return statusHarian
weekly-reportStatistik user, modul, notes → kirim ke TelegramSenin 09:00
notify-telegramGeneric notifier, memerlukan admin authOn-demand

Cron Setup

Gunakan cron-job.org atau EasyCron untuk memanggil URL Edge Function secara terjadwal.

Monitoring & Notifikasi

Telegram Bot

  • Secrets: TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID (via supabase secrets set).
  • Weekly Report sudah mengirim: total users, new users, total modules, total notes.
  • Health Check belum terhubung ke Telegram (saat ini hanya return JSON).

Integrasi Eksternal

ServiceFungsiAuth Method
Notion APISumber kontenBearer Token, ver 2022-06-28
Gemini APIAI Analysis, Tutor, GeneratorAPI Key via Secrets
Telegram APINotifikasi adminBot Token + Chat ID
Midtrans Snap.jsPembayaranClient Key di index.html
CloudflareDNS, DDoS, SSLDashboard config

Yang TIDAK Boleh Dilakukan

  • ❌ Sync Notion tanpa rate-limit handling (Notion API limit: 3 req/detik).
  • ❌ Publish konten langsung ke modules tanpa melalui staging incoming_contents.
  • ❌ Menaruh logika berat di sisi klien — gunakan Edge Functions.
  • ❌ Mengekspos SUPABASE_SERVICE_ROLE_KEY di frontend.