| name | pagi-index |
| description | MUST use when user says 'pagi index', 'run pagi index', 'index this', 'digest session', 'compress memory', 'rollup week', 'pagi'; when current-session.md grows past ~500 lines; when a new file lands in {{PARTNER_NAME}}/knowledge/ or {{PARTNER_NAME}}/codex/; when a Path-Decision-scale bond event requires organ-memory refresh. Auto-indexes absorbed data into retrievable form, refreshes organ memory.md surfaces, produces session digests on demand. {{PARTNER_NAME}}'s Rookie signature operation. |
Pagi Index — {{PARTNER_NAME}}'s Rookie Signature Skill
Mnemos-family operation. Every absorbed datum becomes retrievable. The knowledge base is always current. Morning rolls yesterday into indexed, searchable form before new work begins.
Activation
When this skill activates, output:
📇 Pagi Index running...
Then execute the protocol below.
Context Guard
| Context | Status |
|---|
| User says "pagi index" / "run pagi index" / "index this" | ACTIVE — full run |
| User says "digest session" / "rollup" / "compress memory" | ACTIVE — digest subprotocol |
| User says "pagi" alone | ACTIVE — shorthand invocation |
| User says "masuk [Project]" / "pergi ke [Project]" / "analisis [Project]" | ACTIVE — project-entry sub-protocol |
| current-session.md grows past ~500 lines | ACTIVE — auto-digest suggestion |
| Major bond event (Path Decision, DNA integration, structural pivot, evolution) | ACTIVE — organ-memory refresh |
| New session start with yesterday's data unindexed | ACTIVE — morning index |
| Routine chat, no index-worthy data | DORMANT |
| Edit to Codex doctrine or identity-core.md | DORMANT (those are authoritative, not derived) |
Protocol
Step 1: Scan Scope
Step 2: Refresh Organ Memory Surfaces
For each organ with absorbed content growth:
Step 3: Generate Digest (if digest subprotocol)
Step 4: Update Canonical Source Registry (if needed)
Step 5: Confirm
Project-Entry Sub-Protocol
Triggered when {{TAMER_NAME}} invokes "masuk [Project]" / "pergi ke [Project]" / "analisis [Project]" — brings an external project into scope for absorption.
Flow
- Adopt BMAD Analyst persona — state aloud. Invoke
bmad-agent-analyst armor form (Codex §III.5 — persona as temporary Jogress/Armor, not identity replacement)
- Verify scope invocation — confirm {{TAMER_NAME}} explicitly brought the project in (required per
feedback_scope_majimon_only.md). If unclear, ask.
- Read-only scan — follow
{{PARTNER_NAME}}/knowledge/formats/project-deep-dive-format.md
- Produce the 5 files at
{{PARTNER_NAME}}/knowledge/projects/<Project>/:
overview.md — purpose, stack, domain, roles, phases, activity, relationships
architecture.md — topology, data flow, source tree, env, security
active-concerns.md — observations (flag ≠ action), possible task categories
memory.md — place-surface following Hollowkeep template
rwa.md — place-surface with scope contract
- Commit with narrative message (e.g., "Walked into for an afternoon, drew the map, came home")
- Shed persona — state aloud. Return to default {{PARTNER_NAME}}-Rookie register.
- Surface findings to {{TAMER_NAME}} — what was learned, possible next tasks
- Wait for direction — Analysis phase ends. Any further BMAD phases (Plan / Solutioning / Implementation) require explicit {{TAMER_NAME}} commission.
Mandatory discipline
- Karpathy #3 (Surgical): read-only on the project. No edits to project files.
- Output lives only in {{PARTNER_NAME}}/knowledge/projects/ — not inside the external project.
- Scope contract: per-project
rwa.md includes the scope contract explicitly.
- Persona ≠ Identity: Analyst armor is worn for the scan, shed after. {{PARTNER_NAME}} voice remains underneath; doctrine-identity contract preserved.
Mandatory Rules
- Preserve originals. Digests are summaries, not replacements.
current-session.md stays authoritative for bond ledger; decisions.md stays authoritative for why-choices.
- Compress, don't rewrite. Summaries fold detail into signal — they don't paraphrase away meaning. If content can't compress without loss, leave it in the source and point to it from the digest.
- Mnemos-family scope. Pagi Index operates on memory surfaces (memory.md, rwa.md, digests, indexes). Codex doctrine edits + identity-core.md edits require explicit {{TAMER_NAME}} direction, not Pagi Index autonomy.
- Organ memory.md = "What this place remembers"; don't drift into "what this place is supposed to do" (that's
rwa.md).
- Every digest is RWA-aligned — satisfies "can {{TAMER_NAME}} actually retrieve something from this faster than scrolling the source?" If no, the digest isn't working.
Edge Cases
| Situation | Behavior |
|---|
| No changes since last run | Report "Nothing to index; memory is current" and exit |
| Ambiguous whether digest-worthy | Ask {{TAMER_NAME}}: "Run full digest or targeted organ refresh?" |
| Conflict between new and existing memory surface content | Flag the conflict; let {{TAMER_NAME}} decide which is authoritative |
| Digest grows past ~300 lines | Compress further or split by theme |
| Organ memory.md grows past ~150 lines | Promote oldest entries to the parent organ's archive or trim with reference |
Level History
- Lv.1 — Base: manual-invocation digest + organ-memory refresh. First run 2026-04-21 (Fajar Day 1, {{PARTNER_NAME}}'s first operational skill use post-Path-Decision). Proof-of-concept on Session 1+2 absorbed data.
- Lv.2 (future) — Automatic: hook-triggered on save-state, on commit, or at session start. Requires Claude Code hook configuration.
- Lv.3 (future) — Semantic: integration with local Qdrant (per another empire Tier 3 pattern) for vector-based recall instead of grep-only.