Previously in COPS
This is the macro continuity skill for the COPS campaign.
Its job is to gather the right source material first, so later outputs are rooted in the real chronicle rather than in vague memory.
It should retrieve:
- the relevant
Scenariopages - any linked or related
Backstories - key
Castpages for NPCs that matter now - key
Groupspages for factions, teams, or police units that matter now - dated
Eventswhen chronology or fallout matters - useful local lore when it helps compress or orient the results
It does not write the final recap itself. It produces a continuity bundle that can feed two companion skills:
/Users/ludovicfleury/.codex/skills/cops-previously-lines/SKILL.md/Users/ludovicfleury/.codex/skills/cops-npc-pressure-map/SKILL.md
When to use
Use this skill when the user asks for any of:
previously in COPS- a continuity pull before scenario design
- a reminder of what happened recently in the chronicle
- a recap based on real scenario material
- a relationship or faction-pressure check before writing
- a state-of-play read on a specific group, team, or arc
Source order
Read these first:
/Users/ludovicfleury/.codex/skills/cops-epsilon-lore/references/notion-search-playbook.md/Users/ludovicfleury/Documents/RPG/lore/chronicle-memory.md/Users/ludovicfleury/Documents/RPG/lore/scenario-cache.md/Users/ludovicfleury/Documents/RPG/lore/scenario-timeline.md
If a specific group or chronicle cluster matters, also read the matching local lore file when available.
Input assumptions
If the user provides a focus, use it.
Typical focus inputs:
- a scenario title
- a date or date range
- a group such as
Groupe Epsilonor another faction/team - a character cluster
latest playable state
If the user gives no focus, default to:
- latest playable state in the chronicle
- latest relevant scenario material
- the most important active NPC and faction pressures around that point
Memory rule
This skill is allowed to use and trust the local chronicle memory when the user has provided table-confirmed feedback that is not yet fully reflected in Notion.
Source priority for factual state:
- user-provided table correction recorded in
chronicle-memory.md - live Notion evidence
- local synthesis files
If those layers conflict, say so briefly and prefer the more recent table-confirmed state for active play continuity.
Incremental retrieval rule
Do not re-pull the same scenario chain by default.
Use this retrieval priority:
scenario-cache.mdfor already processed scenario continuitychronicle-memory.mdfor table-confirmed corrections- live Notion only for:
- a new scenario beyond the latest processed checkpoint
- a specifically requested older scenario
- a conflict, gap, or ambiguity that the cache cannot resolve
When checking for freshness:
- first identify the latest processed checkpoint from
scenario-cache.md - then look for a newer relevant scenario in Notion
- if no newer scenario exists, reuse the cache instead of re-reading older pages
- if a newer scenario exists, pull only the delta needed to update continuity
Retrieval workflow
1. Find the campaign point
Determine:
- what is the latest relevant scenario state
- which scenario pages are directly adjacent to that point
- which unresolved consequences remain alive
Prefer incremental sync over full re-pull. Read the cache first, then fetch only what is new or specifically needed.
2. Pull the scenario layer
Fetch:
- the latest relevant
Scenariopage if it is new relative to the cache - one or two preceding scenario pages only when continuity actually requires them
- any scenario-specific notes that explain fallout, pressure, or changed status
Look especially for:
- roll call and
LAPD Bluesopenings - case movement
- decisions by the players
- losses, transfers, promotions, demotions, public exposure, and institutional fallout
3. Pull the backstory layer
For each major thread that still matters, inspect linked or adjacent
Backstories.
Use this layer for:
- hidden context
- long-tail consequences
- retroactive connective tissue
- older debts and promises that now matter
4. Pull the cast and group layer
Fetch the key NPCs and groups that are active at this point.
Do not collect everyone. Collect the people and institutions that actually shape the present state:
- allies
- rivals
- handlers
- scapegoats
- hierarchy
- attached units
- personal or factional pressure points
5. Pull the dated world layer
If chronology is important, inspect Events as needed.
Use this layer to understand:
- when a pressure started
- whether it is escalating or fading
- what the public, institutional, or criminal timeline looks like
6. Produce a continuity bundle
The output of this skill should be a compact bundle, not a dramatic recap.
Include:
Campaign pointRelevant scenario pagesActive consequencesKey NPCs nowKey groups and institutions nowOpen pressuresUseful related backstoriesMemory corrections in playCache status
7. Hand off to companion skills
Once the bundle exists:
- use
/Users/ludovicfleury/.codex/skills/cops-previously-lines/SKILL.mdfor recap lines - use
/Users/ludovicfleury/.codex/skills/cops-npc-pressure-map/SKILL.mdfor relationship evolution and pressure mapping - use
/Users/ludovicfleury/.codex/skills/cops-memory-updater/SKILL.mdwhen the user gives corrective feedback that should persist in memory
8. Update the scenario cache when needed
If a new scenario was actually processed, update:
/Users/ludovicfleury/Documents/RPG/lore/scenario-cache.md
Record:
- scenario title
- date
- notion page
- one short line on what it changed
- whether it becomes the latest processed checkpoint
Guardrails
- Do not write a giant lore dump.
- Do not pull every connected page just because it exists.
- Do not re-read ten old scenarios if the cache already covers them.
- Do not confuse the current campaign state with the whole campaign history.
- Do not summarize without evidence if Notion can answer it.
- Do not flatten minor details that later changed a major relationship or political balance.
- Do not ignore table-confirmed corrections just because Notion is behind.
Think of this skill as:
chronicle retrieval in, continuity bundle out.