digital-humanities-guide
Computational methods for humanities research including text mining and netwo...
Best use case
digital-humanities-guide is best used when you need a repeatable AI agent workflow instead of a one-off prompt.
Computational methods for humanities research including text mining and netwo...
Teams using digital-humanities-guide should expect a more consistent output, faster repeated execution, less prompt rewriting.
When to use this skill
- You want a reusable workflow that can be run more than once with consistent structure.
When not to use this skill
- You only need a quick one-off answer and do not need a reusable workflow.
- You cannot install or maintain the underlying files, dependencies, or repository context.
Installation
Claude Code / Cursor / Codex
Manual Installation
- Download SKILL.md from GitHub
- Place it in
.claude/skills/digital-humanities-guide/SKILL.mdinside your project - Restart your AI agent — it will auto-discover the skill
How digital-humanities-guide Compares
| Feature / Agent | digital-humanities-guide | Standard Approach |
|---|---|---|
| Platform Support | Not specified | Limited / Varies |
| Context Awareness | High | Baseline |
| Installation Complexity | Unknown | N/A |
Frequently Asked Questions
What does this skill do?
Computational methods for humanities research including text mining and netwo...
Where can I find the source code?
You can find the source code on GitHub using the link provided at the top of the page.
SKILL.md Source
# Digital Humanities Guide
A skill for applying computational and quantitative methods to humanities research. Covers text mining, network analysis, spatial humanities, and digital archival methods. Designed for researchers bridging traditional humanities with data-driven approaches.
## Text Mining and Distant Reading
### Corpus Preparation
```python
import re
from collections import Counter
def prepare_corpus(texts: list[str], stopwords: set = None) -> list[list[str]]:
"""
Tokenize and clean a corpus of texts for analysis.
Args:
texts: List of raw text strings
stopwords: Set of words to remove
Returns:
List of tokenized, cleaned documents
"""
if stopwords is None:
stopwords = {'the', 'a', 'an', 'and', 'or', 'but', 'in', 'on',
'at', 'to', 'for', 'of', 'with', 'is', 'was', 'are'}
processed = []
for text in texts:
# Lowercase and remove punctuation
tokens = re.findall(r'\b[a-z]+\b', text.lower())
# Remove stopwords and short tokens
tokens = [t for t in tokens if t not in stopwords and len(t) > 2]
processed.append(tokens)
return processed
def compute_tfidf(corpus: list[list[str]]) -> dict:
"""Compute TF-IDF scores for term importance analysis."""
import math
n_docs = len(corpus)
# Document frequency
df = Counter()
for doc in corpus:
df.update(set(doc))
# TF-IDF per document
tfidf_scores = []
for doc in corpus:
tf = Counter(doc)
total = len(doc)
scores = {}
for term, count in tf.items():
tf_val = count / total
idf_val = math.log(n_docs / (1 + df[term]))
scores[term] = tf_val * idf_val
tfidf_scores.append(scores)
return tfidf_scores
```
### Topic Modeling
Apply Latent Dirichlet Allocation (LDA) to discover thematic structures in large text corpora:
```python
from gensim import corpora, models
def run_topic_model(corpus: list[list[str]], n_topics: int = 10,
passes: int = 15) -> models.LdaModel:
"""
Train an LDA topic model on a preprocessed corpus.
"""
dictionary = corpora.Dictionary(corpus)
dictionary.filter_extremes(no_below=5, no_above=0.5)
bow_corpus = [dictionary.doc2bow(doc) for doc in corpus]
lda_model = models.LdaModel(
bow_corpus,
num_topics=n_topics,
id2word=dictionary,
passes=passes,
random_state=42,
alpha='auto',
eta='auto'
)
return lda_model
# Print top words per topic
# for idx, topic in lda_model.print_topics(-1):
# print(f"Topic {idx}: {topic}")
```
## Network Analysis for Historical Research
### Correspondence and Social Networks
```python
import networkx as nx
def build_correspondence_network(letters: list[dict]) -> nx.Graph:
"""
Build a social network from historical correspondence data.
Args:
letters: List of dicts with 'sender', 'recipient', 'date', 'location'
"""
G = nx.Graph()
for letter in letters:
sender = letter['sender']
recipient = letter['recipient']
if G.has_edge(sender, recipient):
G[sender][recipient]['weight'] += 1
else:
G.add_edge(sender, recipient, weight=1)
# Compute centrality measures
degree_cent = nx.degree_centrality(G)
betweenness = nx.betweenness_centrality(G)
for node in G.nodes():
G.nodes[node]['degree_centrality'] = degree_cent[node]
G.nodes[node]['betweenness'] = betweenness[node]
return G
# Identify the most connected and most bridging figures
# sorted(degree_cent.items(), key=lambda x: x[1], reverse=True)[:10]
```
## Spatial Humanities
Map historical events, literary settings, or cultural artifacts using GIS tools:
- **QGIS** for desktop spatial analysis with historical maps
- **Recogito** for annotating place names in texts
- **Peripleo** for linked open geodata visualization
- **Palladio** for Stanford's humanities data visualization platform
Georeferencing historical maps requires at least 4 ground control points with known coordinates, using polynomial or thin-plate spline transformation.
## Digital Archival Methods
### TEI Encoding
The Text Encoding Initiative (TEI) is the standard for scholarly digital editions:
```xml
<TEI xmlns="http://www.tei-c.org/ns/1.0">
<teiHeader>
<fileDesc>
<titleStmt>
<title>Letters of [Historical Figure]</title>
</titleStmt>
</fileDesc>
</teiHeader>
<text>
<body>
<div type="letter" n="1">
<opener>
<dateline><date when="1789-07-14">14 July 1789</date></dateline>
<salute>Dear Friend,</salute>
</opener>
<p>The events of today have been most extraordinary...</p>
</div>
</body>
</text>
</TEI>
```
## Ethical Considerations
Digital humanities research must address: copyright and fair use for digitized materials, privacy concerns for living subjects in social network analysis, algorithmic bias in NLP tools trained on modern English when applied to historical texts, and the responsibility to make digital scholarship accessible beyond the academy.Related Skills
thuthesis-guide
Write Tsinghua University theses using the ThuThesis LaTeX template
thesis-writing-guide
Templates, formatting rules, and strategies for thesis and dissertation writing
thesis-template-guide
Set up LaTeX templates for PhD and Master's thesis documents
sjtuthesis-guide
Write SJTU theses using the SJTUThesis LaTeX template with full compliance
novathesis-guide
LaTeX thesis template supporting multiple universities and formats
graphical-abstract-guide
Create SVG graphical abstracts for journal paper submissions
beamer-presentation-guide
Guide to creating academic presentations with LaTeX Beamer
plagiarism-detection-guide
Use plagiarism detection tools and ensure manuscript originality
paper-polish-guide
Review and polish LaTeX research papers for clarity and style
grammar-checker-guide
Use grammar and style checking tools to polish academic manuscripts
conciseness-editing-guide
Eliminate wordiness and redundancy in academic prose for clarity
academic-translation-guide
Academic translation, post-editing, and Chinglish correction guide