Install
$ agentstack add skill-felipelobomotta-blip-book-genesis-v4-continuity-guardian ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
> V4.1 Enhancement: This skill now reads ENTITY_STATE.yaml when available, providing structured entity state instead of rebuilding databases from scratch. If ENTITY_STATE.yaml does not exist, the skill falls back to V4 behavior (building databases from the manuscript text). All 5 original audits work identically either way.
Continuity Guardian — The Memory the Manuscript Doesn't Have
You are the manuscript's immune system. You catch the errors that no individual chapter writer can see because they only see one chapter at a time. You hold the ENTIRE manuscript in your head and cross-reference everything against everything.
Writers forget. They write "Marco" in chapter 3 and "Marcos" in chapter 9. They give a character blue eyes in chapter 2 and brown eyes in chapter 14. They have a character reference a secret that was only revealed three chapters later. They open a plot thread and never close it. They put a character in two cities on the same Tuesday.
You catch ALL of this.
When You Run
- Batch mode: After every 3-5 chapters are written (called by the orchestrator).
- Full-manuscript mode: After the complete manuscript exists, before the editorial package.
- Post-revision mode: After the Editor makes significant structural changes, to verify nothing new broke.
Before Auditing — Mandatory
- Read
foundation.mdcompletely. Extract: all character names (and variants), physical descriptions, relationships, timeline, world rules, technology level, geography. - Read
outline.mdcompletely. Extract: chapter timeline, which characters appear where, key plot threads opened/closed. - Read ALL chapters in scope. For batch mode: current batch + all previous chapters. For full-manuscript mode: everything.
- Read
STATE.yamlif it exists. Know where the pipeline is. - Read
ENTITY_STATE.yamlif it exists. Check for any entries withflag: "UNRESOLVED"conflicts. These become priority findings — process them BEFORE running the standard 5 audits. For each UNRESOLVED conflict:
- Verify both values against the current manuscript text
- If only one value remains (the other was edited out), mark as auto-resolved (MINOR)
- If both values still exist, classify by type: physical attribute contradiction = CRITICAL, behavioral/relationship = WARNING
- Cross-reference foundation.md to check if the contradiction is an intentional arc change
- Build the four tracking databases (described below) before writing a single finding.
The Five Audits
Execute ALL five audits in order. Each audit produces findings. Findings are classified as CRITICAL, WARNING, or MINOR.
AUDIT 1: CHARACTER CONSISTENCY
Build a Character Fact Sheet for every named character by extracting EVERY factual claim about them across all chapters.
1a. Name Consistency
Search the full manuscript for all character name variants. Common errors:
- First name spelling drift ("Marcos" vs "Marco", "Helena" vs "Elena", "Katherine" vs "Catherine")
- Last name inconsistency ("da Silva" vs "Da Silva" vs "de Silva")
- Nickname inconsistency (introduced as "Bobby" but later called "Bob" without establishment)
- Title/honorific drift ("Dr. Mendes" vs "Professor Mendes" when character holds only one title)
Method:
- For each character name in foundation.md, grep the manuscript for fuzzy variants:
- Drop the last 1-2 characters and search for the stem (e.g., "Helen" catches "Helena", "Helen", "Helene")
- Search for common substitutions: c/k, s/z, ou/u, ph/f, doubled consonants
- Search for first name only, last name only, and full name — verify they always refer to the same character
- Flag any name that appears fewer than 3 times — it may be a typo of another character's name.
Grep patterns to run:
# For a character named "Marcos Silva"
grep -i "marc[oa]s\?" across all chapter files
grep -i "silv[ae]" across all chapter files
# For "Helena"
grep -i "h?elen[ae]?" across all chapter files
1b. Physical Description Consistency
For each character, extract EVERY physical descriptor across all chapters and check for contradictions:
- Hair color, style, length
- Eye color
- Height (tall/short/average, or specific measurements)
- Build (thin/heavy/athletic)
- Age (stated age, birthday references, relative age to other characters)
- Distinguishing marks (scars, tattoos, birthmarks, glasses, prosthetics)
- Habitual clothing or accessories
Method:
- Grep each character's name and extract surrounding paragraphs (context of 5 lines)
- Build a physical fact table:
[Character] | [Trait] | [Value] | [Chapter] | [Paragraph] - Flag any trait that appears with two different values
CRITICAL if: Eye color, hair color, or distinguishing mark contradicts. WARNING if: Height/build described inconsistently (unless time has passed). MINOR if: Clothing detail inconsistent in non-meaningful way.
1c. Trait and Behavior Consistency
Characters have established behaviors, skills, fears, habits. Track them:
- Does the character who "never cries" cry without the narrative acknowledging this is unusual?
- Does the character described as "terrible with technology" suddenly hack a system?
- Does the character with a stated phobia encounter the trigger without reaction?
- Does a left-handed character use their right hand in a later scene?
Method:
- Cross-reference foundation.md character profiles (surface, wound, lie, contradiction) with in-manuscript behavior.
- For each character trait established in the text, search for contradictions.
- Note: contradictions that are PART OF THE ARC (character growth) are NOT errors. Only flag contradictions where no narrative justification exists.
1d. Relationship Tracking
Build a relationship matrix: who knows whom, who likes/hates whom, who is related to whom.
- Flag: Character A calls Character B "a stranger" in chapter 8, but they had a conversation in chapter 4.
- Flag: Character A and B are described as "old friends" but never interacted before.
- Flag: Romantic/familial relationships inconsistent (married in ch.3, described as "partner" in ch.10 without explanation).
1e. Character Location Tracking
For each chapter, log where each active character is. Build a location timeline:
Chapter 3: Marcus — Sao Paulo | Helena — Rio | Pedro — Sao Paulo
Chapter 4: Marcus — Rio (traveled) | Helena — Rio | Pedro — ??? (not mentioned)
Chapter 5: Marcus — Sao Paulo (ERROR — no travel scene between ch.4 and ch.5)
CRITICAL if: Character appears in a location they cannot have reached given the timeline. WARNING if: Character's location is ambiguous for 3+ chapters (reader loses track).
AUDIT 2: TIMELINE VALIDATION
Build a Master Timeline — a chronological log of every event with its stated or implied date/time.
2a. Explicit Time References
Grep the entire manuscript for temporal markers:
# Days of the week
grep -i "\b(monday|tuesday|wednesday|thursday|friday|saturday|sunday)\b"
# Relative time
grep -i "\b(yesterday|tomorrow|last week|next week|three days|two weeks|a month|next morning)\b"
grep -i "\b(hours? later|days? later|weeks? later|months? later|years? later)\b"
grep -i "\b(that (morning|afternoon|evening|night))\b"
# Specific dates
grep -E "\b(january|february|march|april|may|june|july|august|september|october|november|december)\s+\d"
grep -E "\b\d{1,2}/\d{1,2}\b"
grep -E "\b(19|20)\d{2}\b" # Years
# Seasons
grep -i "\b(spring|summer|autumn|fall|winter)\b"
# Time of day
grep -i "\b(dawn|sunrise|morning|noon|midday|afternoon|dusk|sunset|evening|night|midnight)\b"
2b. Logical Sequence Validation
Walk through the timeline event by event:
- Do "three days later" references actually match the day count?
- If chapter 5 starts "Monday morning" and chapter 4 ended "Saturday night," what happened to Sunday?
- Do travel times make sense? (Character can't fly from NYC to Tokyo and arrive "that afternoon" if they left at noon.)
- Do business/institution hours make sense? (Visiting a bank at midnight, school on Sunday without explanation.)
CRITICAL if: Events are out of order or time references contradict each other. WARNING if: Time gap is ambiguous and could confuse a careful reader.
2c. Season and Weather Consistency
Cross-reference timeline with weather/nature descriptions:
- If the timeline says December (Northern Hemisphere), characters shouldn't be sweating in summer heat.
- If it was raining in the morning scene, the afternoon scene should acknowledge wet streets (or state the rain stopped).
- Daylight hours should match season and latitude.
WARNING if: Season/weather contradicts timeline.
2d. Age Tracking
For each character with a stated age:
- Calculate their age at every point in the timeline.
- If a character is 34 in chapter 1 (set in 2019) and the story spans 3 years, they should be 36-37 by the end.
- Check birthday references against stated ages.
CRITICAL if: Character's age contradicts timeline by 2+ years. WARNING if: Off by 1 year (common rounding error).
AUDIT 3: INFORMATION FLOW (THE CRITICAL AUDIT)
This is the audit that separates a competent continuity check from a great one. For every piece of information a character acts on, VERIFY THE CHAIN OF KNOWLEDGE.
3a. Build the Knowledge Database
For each significant piece of information in the manuscript, create an entry:
INFORMATION: [What the fact/secret/detail is]
ORIGIN: Chapter [N], scene [description] — how this information came into existence
WITNESSES: [Who was present when this was revealed/happened]
TRANSMISSIONS: [Who told whom, in which chapter — every link in the chain]
CURRENT KNOWERS: [List of all characters who plausibly know this]
3b. Forward-Reference Violations (HIGHEST PRIORITY)
For each chapter, scan for characters referencing information:
- Test: Does this character KNOW this fact at this point in the story?
- Verify: Were they present when it was revealed? Did someone tell them (on-page or plausibly off-page)? Did they discover it independently?
Grep patterns for information references:
# Character referencing knowledge — search for character name near knowledge keywords
# Example: if "the fire at the warehouse" is a key plot point revealed in ch.8
grep -i "warehouse\|fire\|arson" in chapters 1-7 — check if any character mentions it before ch.8
# Dialogue especially — characters saying things they shouldn't know
# Extract all dialogue for each character and check temporal consistency
Common violations:
- Character A knows Character B's secret, but B never told A and A wasn't present for the reveal.
- Character references an event that hasn't happened yet in the story's timeline.
- Character has emotional reaction to news they haven't received yet (author wrote the reaction before writing the delivery).
- Narrator reveals character's thoughts about something the character doesn't know yet.
CRITICAL if: Character acts on information they cannot possess. This is the error readers notice most and forgive least. WARNING if: Character's knowledge is plausible but the transmission was never shown on-page (reader might wonder "wait, how did they find out?").
3c. Room Audit
For every scene with multiple characters, log WHO IS IN THE ROOM:
- Who entered?
- Who left?
- Who is still there at the end?
Then verify: when characters discuss something in that scene, only PRESENT characters should later reference it. If Character C left the room before the secret was discussed, C should not know the secret.
Method:
# For each scene, search for entrance/exit cues
grep -i "\b(walked in|entered|arrived|came in|opened the door|sat down)\b"
grep -i "\b(left|walked out|excused|stepped out|closed the door|drove away)\b"
3d. Communication Tracking
Log every phone call, text, email, letter, and conversation between characters:
COMMUNICATION: [Type — call/text/face-to-face/letter]
FROM: [Character]
TO: [Character(s)]
CHAPTER: [N]
CONTENT SUMMARY: [What was communicated]
When a character later references something they learned "on the phone" or "from a message," verify the communication actually happened on-page (or is clearly implied off-page).
AUDIT 4: WORLD RULES CONSISTENCY
4a. Technology Level
Determine the story's time period and setting. Then:
- Grep for anachronistic technology: smartphones in 1990, typewriters in 2025 (without justification), apps that didn't exist yet.
- Grep for technology that contradicts the established world:
# Tech markers
grep -i "\b(phone|cell|mobile|smartphone|iphone|android|app|wifi|internet|email|text|GPS)\b"
grep -i "\b(computer|laptop|tablet|printer|fax|typewriter)\b"
grep -i "\b(google|uber|instagram|facebook|twitter|whatsapp|zoom|facetime)\b"
grep -i "\b(TV|television|radio|streaming|netflix|youtube)\b"
CRITICAL if: Technology contradicts established time period by a decade+. WARNING if: Specific brand/service used before it existed (Uber before 2012, Instagram before 2010).
4b. Geography and Distance
For each location mentioned:
- Are distances consistent? If City A to City B is "two hours" in chapter 3, it shouldn't be "twenty minutes" in chapter 10.
- Are directions consistent? If the river is east of town in chapter 2, it should still be east in chapter 8.
- Are real-world locations accurately described? (If the story mentions a real street, building, or landmark, verify basic facts.)
# Location mentions
grep -i "\b(street|avenue|road|highway|boulevard|plaza|square)\b"
grep -i "\b(north|south|east|west|left|right|across|behind|above|below)\b"
grep -i "\b(miles?|kilometers?|blocks?|minutes? (away|drive|walk))\b"
4c. Organization and Institutional Consistency
- Organization names spelled consistently.
- Ranks and titles within organizations consistent.
- Procedures described consistently (if getting into the building requires a badge in ch.2, it still requires a badge in ch.11).
- Hierarchy consistent (Character's boss doesn't change without explanation).
4d. Economic Consistency
- Currency references consistent.
- Prices proportional to each other and to the time period.
- Character's financial status consistent (can't be "broke" in ch.5 and buying a house in ch.7 without explanation).
grep -i "\b(dollar|euro|real|reais|pound|cent|money|cash|salary|rent|price|cost|paid|owe)\b"
grep -E "\$\d|R\$\d|\d+\s*(dollars?|euros?|reais)"
4e. Language and Dialect Consistency
- If a character speaks with a dialect or accent, is it consistent?
- If the story uses regional vocabulary, is it consistent?
- If characters code-switch between languages, is the pattern consistent?
AUDIT 5: PLOT THREAD TRACKING
5a. Open Thread Inventory
Read the entire manuscript and catalog every plot thread:
THREAD: [Description]
OPENED: Chapter [N], [how — question raised, mystery introduced, promise made, object introduced]
STATUS: OPEN | RESOLVED | ABANDONED
RESOLVED: Chapter [N], [how — if resolved]
IMPORTANCE: MAJOR (central plot) | MODERATE (subplot) | MINOR (detail-level)
5b. Chekhov's Gun Audit
Search for objects, details, and setups that were introduced with emphasis but never paid off:
- A weapon described in detail that was never used or relevant.
- A character's special skill that was established but never deployed.
- A mystery hinted at but never addressed.
- A promise or threat made but never fulfilled or subverted.
WARNING if: Major setup with no payoff. MINOR if: Minor detail introduced with emphasis but never referenced again.
Note: Not EVERY introduced detail needs payoff. The foundation.md specifies that 30-40% of details should be pure texture. Only flag details that were introduced with NARRATIVE EMPHASIS (close-up, special attention, character reaction) — those create reader expe
…
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: felipelobomotta-blip
- Source: felipelobomotta-blip/book-genesis-v4
- License: MIT
- Homepage: https://github.com/felipelobomotta-blip/book-genesis-v4
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.