predictingthepast

Restore, attribute, date, and contextualize ancient Latin and Greek inscriptions using Aeneas and Ithaca models.

2.8k|315|Updated May 13, 2026
One-click install
npx skills add https://github.com/google-deepmind/science-skills --skill predictingthepast
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: predictingthepast
Source: https://github.com/google-deepmind/science-skills/tree/main/skills/predictingthepast
Command: npx skills add https://github.com/google-deepmind/science-skills --skill predictingthepast

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires jax, predictingthepast, and includes scripts (resource) and references (resource) components.

What problem does it solve?

Analyzing damaged ancient inscriptions requires specialized epigraphic expertise to restore missing characters, determine geographical and chronological origins, and find parallel texts. This Skill runs the Aeneas (Latin) and Ithaca (Ancient Greek) deep neural network models locally to perform these tasks without manual scholarly lookup.

Core Features & Use Cases

  • Text Restoration: Fill missing or damaged characters marked with ? (known-length gaps) or # (unknown-length gaps) using beam search with ranked candidate predictions.
  • Attribution: Predict the geographical region (ranked top-10 list) and chronological date (top year and weighted average, formatted as BCE/CE) of an inscription.
  • Contextualization & Embedding: Retrieve parallel inscriptions with full texts, Trismegistos IDs, and similarity scores, or generate a 384-dimension text embedding vector.
  • Use Case: A historian has a fragmentary Latin inscription like donat in ??????????rtis. The Skill preprocesses the text, runs restoration to propose templum martis, attributes it to a region like Britannia around 295 CE, retrieves parallel inscriptions, and renders everything in an interactive HTML dashboard.

Quick Start

Ask the agent to restore and date your ancient inscription, for example: restore and attribute this Latin text 'donat in ??????????rtis' using the predictingthepast skill.

Frequently Asked Questions about predictingthepast

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I restore missing characters in a Latin inscription?

Mark known-length gaps with ? and unknown-length gaps with # in your text, then run the restoration task with the --restore flag. The model returns ranked beam-search candidates with scores, and the top prediction is shown with restored characters highlighted.

What is the difference between Aeneas and Ithaca models?

Aeneas processes Latin inscriptions while Ithaca handles Ancient Greek texts. Both perform restoration, geographical and chronological attribution, contextualization, and embedding, but use language-specific alphabets, preprocessing rules, and training datasets.

Does the predictingthepast skill require an internet connection?

Model checkpoints, datasets, and retrieval embeddings are downloaded once from Google Cloud Storage on first run, so initial setup needs internet access. The skill otherwise runs inference locally and explicitly forbids web search or external tools during analysis.

Why does restoration take so long with many gap markers?

Restoration time scales roughly linearly at about 10 seconds per additional ? character on a high-end CPU, so 20 gaps take around 5 minutes. Texts over 750 characters are also split into overlapping windows processed independently, compounding the runtime.

What are the input length limits for inscription analysis?

Input must be at least 25 characters after preprocessing; pad shorter texts with dashes. Texts exceeding 750 characters are automatically split into overlapping windows, with attribution scores averaged across windows.

How do I exclude test and validation texts from parallel retrieval?

Pass the --contextualize_exclude_test_valid flag when running inference. This filters contextualization results on the internal numeric id, excluding entries where id modulo 10 equals 3 (test) or 4 (validation).