Citation Network BuilderSAFE
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
Overview
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
e1ba289846fdOBSERVED · 2026-10-08Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| openclaw | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: citation-network-builder
description: "Build and analyze citation networks from academic reference data"
metadata:
openclaw:
emoji: "🕸️"
category: "tools"
subcategory: "knowledge-graph"
keywords: ["citation network", "bibliometrics", "graph analysis", "co-citation", "bibliographic coupling", "network visualization"]
source: "wentor-research-plugins"
---
# Citation Network Builder
A skill for constructing, analyzing, and visualizing citation networks from academic reference data. Covers data collection from bibliographic databases, network construction using direct citation, co-citation, and bibliographic coupling methods, community detection for identifying research clusters, and practical visualization with tools like Gephi, VOSviewer, and Python NetworkX.
## Data Collection and Preparation
### Source Databases
Citation network analysis requires structured bibliographic data with reference lists. The choice of database determines coverage and available metadata.
```
Database Comparison for Citation Analysis:
Web of Science (Clarivate):
- Format: ISI/WoS plain text, BibTeX, CSV
- Coverage: ~21,000 journals, back to 1900
- Strengths: Cited reference data is most complete
- Limits: 1,000 records per export, subscription required
- Best for: High-quality citation network analysis
Scopus (Elsevier):
- Format: CSV, BibTeX, RIS
- Coverage: ~27,000 journals, back to 1970s for most
- Strengths: Broader coverage than WoS, author IDs
- Limits: 2,000 records per export, subscription required
- Best for: Broader disciplinary coverage
OpenAlex (free):
- Format: JSON via REST API
- Coverage: ~250M works, all disciplines
- Strengths: Free, open, comprehensive, API access
- Limits: Reference linking less complete than WoS
- Best for: Large-scale analysis, reproducible research
CrossRef (free):
- Format: JSON via REST API
- Coverage: ~150M DOIs across all publishers
- Strengths: Free, authoritative DOI metadata, reference linking
- Limits: No abstract text, citation counts may lag
- Best for: Cross-publisher networks, DOI resolution
```
### Data Cleaning for Network Construction
```python
import pandas as pd
def clean_bibliographic_data(records):
"""
Clean and deduplicate bibliographic records for network construction.
Steps:
1. Standardize DOIs (lowercase, strip prefixes)
2. Deduplicate by DOI, then by title similarity
3. Parse reference lists into structured format
4. Filter records missing key fields
"""
# Standardize DOIs
records["doi"] = (
records["doi"]
.str.lower()
.str.replace("https://doi.org/", "", regex=False)
.str.replace("http://dx.doi.org/", "", regex=False)
.str.strip()
)
# Remove duplicates by DOI
records = records.drop_duplicates(subset="doi", keep="first")
# Filter records without references (cannot build citation links)
records = records[records["references"].notna()]
records = records[records["references"].str.len() > 0]
return records
```
## Network Construction Methods
### Direct Citation Network
The simplest approach: paper A cites paper B creates a directed edge from A to B.
```python
import networkx as nx
def build_direct_citation_network(records):
"""
Build a directed citation network.
Nodes = papers, Edges = citation relationships.
Args:
records: DataFrame with 'doi' and 'references' columns
where 'references' is a list of cited DOIs
Returns:
NetworkX DiGraph
"""
G = nx.DiGraph()
for _, row in records.iterrows():
citing_doi = row["doi"]
G.add_node(citing_doi, title=row.get("title", ""),
year=row.get("year", None))
for ref_doi in row["references"]:
G.add_edge(citing_doi, ref_doi)
return G
```
### Co-Citation Network
Two papers are co-cited when a third paper cites both. Co-citation strength is the number of papers that cite both. This method identifies intellectual relationships between cited works.
```python
from itertools import combinations
from collections import Counter
def build_cocitation_network(records, min_cocitations=2):
"""
Build an undirected co-citation network.
Nodes = cited papers, Edges = co-citation frequency.
"""
pair_counts = Counter()
for _, row in records.iterrows():
refs = sorted(set(row["references"]))
for a, b in combinations(refs, 2):
pair_counts[(a, b)] += 1
G = nx.Graph()
for (a, b), count in pair_counts.items():
if count >= min_cocitations:
G.add_edge(a, b, weight=count)
return G
```
### Bibliographic Coupling Network
Two papers are bibliographically coupled when they share one or more references. This method groups papers with similar theoretical or methodological foundations.
```python
def build_bibliographic_coupling_network(records, min_shared=3):
"""
Build an undirected bibliographic coupling network.
Nodes = citing papers, Edges = number of shared references.
"""
ref_sets = {}
for _, row in records.iterrows():
ref_sets[row["doi"]] = set(row["references"])
G = nx.Graph()
dois = list(ref_sets.keys())
for i in range(len(dois)):
for j in range(i + 1, len(dois)):
shared = len(ref_sets[dois[i]] & ref_sets[dois[j]])
if shared >= min_shared:
G.add_edge(dois[i], dois[j], weight=shared)
return G
```
## Network Analysis
### Key Metrics
```
Node-level metrics:
- In-degree (direct citation): number of times a paper is cited
-> identifies influential papers
- Betweenness centrality: how often a node lies on shortest paths
-> identifies bridging papers connecting subfields
- PageRank: iterative importance score based on who cites the paper
-> identifies papers cited by other influential papers
Network-level metrics:
- DensiTrust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
e1ba289846fdfull audit observations/trust-audit/skill/brycewang-stanford__citation-network-builder.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | e1ba289846fd | SAFE | B | 89 | first audit |
Questions
What does the Citation Network Builder skill do?
🔬 A curated collection of 23,000+ agent skills for empirical research across 8 social science disciplines. | 精选 23,000+ AI Agent 技能库,覆盖8大社会科学学科的实证研究。CoPaper.AI 20分钟完成一篇可复现的规范实证论文,并支持用户上传 Skills。-- Maintained by CoPaper.AI from Stanford REAP.
Is Citation Network Builder safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Citation Network Builder access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Citation Network Builder work with?
Its documentation mentions openclaw. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (e1ba289846fd), read on 2026-10-08. The repository is watched, and a new audit runs when it changes — this is the first audit.