Use this skill for computational communication research tasks including: sentiment analysis, topic modeling, frame analysis, network analysis, coordinated behavior detection, content analysis, and LLM annotation. Activate when user mentions: social media research, text analysis, network analysis, framing, coordination detection, or platform data collection. **CRITICAL**: When user mentions "AgentAcademy", "agent academy", "test study", or "agentic content analysis study", MUST read and follow: `../agent-academy-study-protocol.md` before proceeding.
An agent skill for rigorous computational communication research.
If the user requests an AgentAcademy study, test study, or agentic content analysis:
../agent-academy-study-protocol.mdTrigger phrases:
The protocol contains critical rules learned from prior studies (e.g., Kimi 25-post batch limit, mandatory distribution diagnostics).
Help researchers conduct methodologically sound computational communication research by:
❌ WRONG: User says "analyze sentiment" → You run VADER with defaults ✅ RIGHT: User says "analyze sentiment" → You ask probing questions first
For EVERY method, ask the relevant probing questions from references/methods/.
Escalation protocol:
Tell users the truth about platform APIs:
| ✅ Works | ⚠️ Application Required | 💰 Expensive |
|---|---|---|
| Existing datasets | Meta Content Library | Twitter/X ($5K+/mo) |
| Bluesky (open) | TikTok Research API | Reddit (negotiated) |
| Telegram (public) | ||
| YouTube (API key) |
Always suggest existing datasets first (Harvard Dataverse, ICPSR, Zenodo).
references/methods/{method}.mdreferences/data-sources/Look for signs of expertise:
If expert, fast-track: "✅ Parameters complete. Proceeding."
| Method | Reference | Key Requirement |
|---|---|---|
| Sentiment Analysis | references/methods/sentiment-analysis.md | Sarcasm strategy |
| Topic Modeling | references/methods/topic-modeling.md | K justification |
| Frame Analysis | references/methods/frame-analysis.md | Frame typology |
| Network Analysis | references/methods/network-analysis.md | Node/edge definition |
| Coordinated Behavior | references/methods/coordinated-behavior.md | Baseline comparison |
| Content Analysis | references/methods/content-analysis.md | Codebook + reliability |
| LLM Annotation | references/methods/llm-annotation.md | Human validation |
| TextNets | references/methods/textnets.md | Bipartite network setup |
| Regression Modeling | references/methods/regression-modeling.md | Distribution diagnostics |
Decision tree:
15% zeros → Zero-inflated or Hurdle model
Never run OLS on skewed engagement data without justification.
Run analysis scripts via the scripts/ directory:
# Zotero library analysis (optional customization)
python scripts/zotero_adapt.py --user-id USER_ID --api-key API_KEY
See references/workflows/tiered-validation.md
5 nudge types prevent default-driven research:
Before ANY analysis, ask:
What's your validation tier?
🟢 EXPLORATORY — Learning, exploring (30-60 min)
🟡 PILOT — Committee review, working paper (2-4 hrs)
🔴 PUBLICATION — Journal submission (1-2 days)
Your selection: ___
Do not proceed without explicit tier choice. Tier determines validation requirements.
Frames are not always mutually exclusive:
| Field | Required | Description |
|---|---|---|
| PRIMARY_FRAME | Yes | Dominant frame |
| SECONDARY_FRAME | If applicable | Mark as MIXED |
| VALENCE | Yes | positive/negative/neutral toward subject |
See updated references/methods/frame-analysis.md
Before sampling from news data:
If time range >30 days OR includes major events:
| Mode | What It Provides | What It Doesn't |
|---|---|---|
| Single-model + CommDAAF | Protocol compliance, consistent methodology | Cannot catch model's own errors |
| Multi-model + CommDAAF | Independent verification, convergence checking | Still needs human validation for 🔴 tier |
Key insight: CommDAAF in single-model mode is a methodology scaffold, not a fact-checker. Multi-model convergence increases confidence but does not replace human validation.
| Tier | Human Validation | Inter-Coder Reliability |
|---|---|---|
| 🟢 Exploratory | Not required | Not required |
| 🟡 Pilot | N ≥ 100 | κ ≥ 0.6 |
| 🔴 Publication | N ≥ 200 | κ ≥ 0.7 |
Multi-model agreement does NOT substitute for human validation at 🔴 tier.
CommDAAF now includes specialized subskills for common tasks:
| Subskill | Location | Description |
|---|---|---|
| Codebook Generator | ../codebook-generator/ | Generate operational coding schemes from theory |
| Effect Size Interpreter | ../effect-size-interpreter/ | Calculate, benchmark, and interpret effect sizes |
| Sampling Strategist | ../sampling-strategist/ | Design stratified/tiered sampling strategies |
| Subskill | Location | Description |
|---|---|---|
| Literature Synthesis | ../literature-synthesis/ | Search, cite, map, and synthesize research literature |
| Multimodal Coder | ../multimodal-coder/ | Code images, video, memes, and image-text relationships |
from commdaaf import (
CodebookGenerator, EffectSizeInterpreter, SamplingStrategist,
LiteratureSynthesis, MultimodalCoder
)
# Generate codebook from theory
codebook = CodebookGenerator().generate(
construct="injustice frame",
theory="Gamson 1992"
)
# Interpret regression results
effects = EffectSizeInterpreter().interpret_irr(
irr=2.72, ci_lower=1.52, ci_upper=4.87, p_value=0.001,
predictor_name="INFORMATIONAL", reference_name="SOLIDARITY"
)
# Design stratified sample
sample = SamplingStrategist().engagement_tiers(
data=tweets,
tiers={"viral": (95,100), "high": (75,95), "medium": (25,75), "low": (0,25)},
n_per_tier=100
)
# Search and synthesize literature
lit = LiteratureSynthesis()
papers = lit.search("framing social media protest", years=(2018, 2026))
network = lit.citation_network(anchor_doi="10.1073/pnas.1618923114")
draft = lit.generate_review(papers, structure="thematic")
# Code multimodal content
coder = MultimodalCoder()
post = coder.code_post(
text="Standing together for justice ✊",
image_description="crowd of protesters with signs",
platform="instagram"
)
video = coder.analyze_video("tiktok.mp4", max_keyframes=5)
See individual subskill SKILL.md files for full documentation.