chronik
Skill20 starsChanged 5 months agoMITView on GitHub
Use when the GM asks to update, extend, or fix the Campaign Chronicle (Campaign_Chronicle.md) from PlayerNotes. Triggers on requests to add a session to the chronicle, summarize player notes into the campaign record, or fix missing details in existing chronicle entries. The core discipline is preserving precise information exchange details — who told whom what, what was withheld, what intelligence each party gained.
In this repository3 other files it gives its agents.
- session-creationSkill
- vault-scoutSkill
- worldbuildingSkill
The file
We split this skill into the rules it gives an agent
9 rules. About 0 are common, 8 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈8
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 8
Update the Campaign Chronicle from PlayerNotes with strict information-exchange precision.
- Distinctive: line 14
If the Chronicle entry doesn't answer that question, it's incomplete.
- Distinctive: line 56
Write the entry following the established Chronicle format:
- Distinctive: line 60
Keep entries factual and precise — the Chronicle is not prose, it's a record
- Distinctive: line 64
Before presenting the draft, verify against the PlayerNotes:
- Distinctive: line 79
Commit with a descriptive message: if the vault is git-tracked
- Distinctive: line 91
When fixing an existing Chronicle entry (not writing a new one):
- Very specific: line 92
Read the current entry with vault_read_section on the Chronicle (or a Read of only its lines), not the whole Chronicle
- Distinctive: line 93
Read the corresponding PlayerNotes
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Campaign Chronicle Update Assistant
Update the Campaign Chronicle from PlayerNotes with strict information-exchange precision. The Chronicle is the campaign's canonical record of what happened — if information gets lost in summarization, it's lost forever.
The Cardinal Rule
For every NPC interaction in the Chronicle, a reader must be able to answer: "What exactly does each party know after this conversation that they didn't know before?"
If the Chronicle entry doesn't answer that question, it's incomplete.
Source of Truth Hierarchy
Per the vault's CLAUDE.md:
- PlayerNotes = what HAPPENED (player actions, canon)
- In-game calendar / dates = when events occurred (canon)
- Session prep files = what was PLANNED (context, may or may not be canon depending on player actions)
The Chronicle synthesizes all three, but PlayerNotes always win on what occurred.
Workflow
Phase 1: Read and Identify
- Read the PlayerNotes for the target session(s) whole. They are the source of truth and rarely have sections to pick from, so they are the read ladder's exception.
- Read the session prep through the read ladder: list the files in
Sessions/Session N/, callvault_read_noteon each (a small file comes back whole, a large one as an outline), thenvault_read_sectionfor the parts the player notes touch. The prep holds GM context about NPC motivations, hidden agendas, and what information NPCs were trying to extract. - Check every NPC the player notes mention:
vault_mentions(note="NPC Name", paths=["Sessions/Session N"])for what that session's prep says about them, andvault_read_note(note="NPC Name")for who they are. Pay attention to faction, relationships, and any campaign-connection sections; read those withvault_read_sectionwhen the note is large. - Check in-game dates — if the vault tracks dates (e.g. via a calendar plugin or in-frontmatter
game_date:), anchor each event chronologically.
Phase 2: Extract Information Exchange Events
For EVERY scene where a PC talks to an NPC, build this matrix:
Scene: [PC] meets [NPC] at [Location]
├── What PC SHARED (explicitly stated in PlayerNotes)
│ └── List each piece of information with the exact phrasing from the notes
├── What PC WITHHELD or REFUSED to share
│ └── Note what was asked for and refused, with the reason if given
├── What NPC GAINED (cross-ref with Session prep — did the NPC learn something they were specifically after?)
│ └── Connect shared info to NPC's hidden goals from prep files
├── What PC LEARNED (new facts, NPC backstory, world info)
│ └── Include NPC revelations, offers, philosophy shared
└── What was OFFERED but not yet resolved
└── Deals, trades, future commitmentsCritical: PlayerNotes are written colloquially with typos and phonetic spellings. Cross-reference NPC and location names against existing vault notes to get canonical spellings.
Phase 3: Draft the Chronicle Entry
Write the entry following the established Chronicle format:
### ~[Date] [Month] — [Event Title]headings- Bullet points with
[[wikilinks]]to all NPCs, locations, factions - Bold section markers for information exchange: use
**What [PC] shared:**,**What [NPC] learned:**,**What [PC] did NOT share:**when a scene involves significant information exchange - Keep entries factual and precise — the Chronicle is not prose, it's a record
Phase 4: Cross-Reference Check
Before presenting the draft, verify against the PlayerNotes:
- Every NPC interaction has its information exchange captured
- Every deal/offer/refusal is recorded with both sides
- No intelligence gained by NPCs is omitted (cross-ref with Session prep hidden goals)
- No new facts learned by PCs are omitted
- In-game dates are consistent with any vault-tracked calendar
- All entity names use canonical vault spellings with correct
[[wikilinks]] - Metadata from PlayerNotes (XP, skill training, downtime activities) is translated into narrative facts where relevant (e.g., "5 XP for [[PC One]]" becomes training/downtime activities)
Phase 5: Present and Write
- Show the draft to the GM with the information exchange matrix for review
- Apply edits based on GM feedback
- Write to
PC/Campaign_Chronicle.mdin the correct chronological position - Commit with a descriptive message if the vault is git-tracked
Common Pitfalls to Avoid
- Flattening conversations into "they met and talked" — the whole point of this skill is to prevent this
- Missing what NPCs learned — PlayerNotes only show the player's POV. Cross-reference Session prep to understand what the NPC was fishing for and whether they got it
- Conflating "offered" with "accepted" — if a deal was offered but refused, both the offer AND the refusal must be in the Chronicle
- Losing the reason for refusals — "[[PC One]] refused" is incomplete. "[[PC One]] refused because [[PC Two]] argued the information was more valuable" is precise
- Ignoring accidental information leaks — if a PC mentioned something in passing that an NPC reacted to (per player notes), that's intelligence the NPC gained, even if the PC didn't intend to share it
Updating Existing Entries
When fixing an existing Chronicle entry (not writing a new one):
- Read the current entry with
vault_read_sectionon the Chronicle (or aReadof only its lines), not the whole Chronicle - Read the corresponding PlayerNotes
- Build the information exchange matrix
- Identify what's missing from the current entry
- Rewrite only the affected section, preserving surrounding entries.
Editworks after a partialRead, so read only the lines you change.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

