Community연구 & 데이터 분석github.com

grahama1970/arxiv

arXiv에서 논문을 검색하고 지식을 메모리로 추출합니다. `search`로 논문을 찾고, `learn`으로 지식을 추출합니다.

arxiv란 무엇인가요?

이 스킬은 arXiv에서 논문을 검색하고 추출된 지식을 메모리에 저장하는 AI 에이전트 워크플로우를 제공합니다. 주 사용 사례는 특정 연구 목표(예: 'Horus 에이전트의 심성이론')를 중심으로 동적 컨텍스트 파일을 생성한 후, 해당 컨텍스트를 활용해 검색하고, 초록을 평가하며, 사용자와 협의하여 최종적으로 논문에서 구현 가능한 지식 청크를 추출하는 것입니다. Claude Code, Cursor, Codex 등 모든 명령줄 기반 AI 에이전트에서 사용할 수 있으며, `search`, `learn`, `download`, `batch` 명령어를 제공합니다. 핵심 특징은 HTML(ar5iv) 우선 추출 방식으로, PDF 대신 HTML을 기본 사용하여 추출 품질(100%)과 속도를 높이고, 중요 그림이 포함된 논문에 한해 `--accurate` 플래그로 PDF+VLM 추출을 지원합니다. 또한 사용자 확인 없이 자동 추출하는 것을 방지하고, 검색 전 컨텍스트 파일 생성을 강제하여 관련성 높은 결과와 실행 가능한 지식 추출을 보장합니다.

지원 대상✓Claude Code~Codex CLI~Cursor✓Antigravity
npx skills add https://github.com/grahama1970/agent-skills/tree/main/skills/arxiv

Installed? Explore more 연구 & 데이터 분석 skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

즐겨 사용하는 AI에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

중지. 엔드포인트를 호출하기 전에 이 SKILL.MD 전체를 읽으십시오.

arXiv 스킬

arXiv를 검색하고 지식을 메모리로 추출합니다.

명령어

명령어설명
search논문 찾기 (분류를 위해 초록 반환)
learn지식을 메모리로 추출
download기본적으로 논문 HTML 다운로드; 출력 파일은 논문 제목에서 이름 지정

필수: 동적 컨텍스트 생성

불가결: arxiv 작업 전에 에이전트는 현재 협업 목표를 포착하는 동적 컨텍스트 파일을 생성해야 합니다.

필수 이유

동적 컨텍스트 없이:

  • 검색이 주변 관련 논문만 반환함
  • 초록 분류에 명확한 관련성 기준이 부족함
  • 추출된 지식이 일반적임 ("논문이 X에 대해 뭐라고 말하는가?")

동적 컨텍스트 사용 시:

  • 검색이 특정 구현 요구에 집중됨
  • 초록 평가에 명확한 수락/거절 기준이 있음
  • 추출된 지식이 실행 가능함 ("X를 코드로 구현하는 방법")

워크플로: 컨텍스트 우선 논문 발견

0. 컨텍스트 → 대화에서 동적 컨텍스트 생성 (필수)
1. 검색 → 컨텍스트를 사용하여 관련 논문 찾기
2. 분류 → 컨텍스트 목표에 대해 초록 평가
3. 결정 → 사용자가 추출할 논문 선택
4. 학습 → 집중된 지식 청크를 위해 컨텍스트로 추출

0단계: 동적 컨텍스트 생성 (필수)

검색 전에 에이전트는 /tmp/arxiv_context.md를 생성해야 합니다:

# 연구 컨텍스트: [당신의 특정 목표]

## 구축 중인 것
[특정 기능/시스템 설명, 예: "Horus 에이전트를 위한 심성이론"]

## 현재 상태
[이미 존재하는 것, 구현된 것, 보유한 것]

## 논문에서 필요한 것
1. [특정 질문 1, 예: "신념 신뢰도를 데이터 구조로 표현하는 방법"]
2. [특정 질문 2, 예: "반사실적 반영을 언제 트리거할지"]
3. [특정 질문 3, 예: "모순 시 신념 업데이트 알고리즘"]

## 시도할 검색어
- [용어 1]
- [용어 2]

## 초록 분류를 위한 관련성 기준
- 높음: [특정 요구]를 직접 다루는 논문
- 중간: 적용 가능한 관련 기술이 있는 논문
- 낮음: 주변 관련, 더 나은 것이 없으면 건너뜀

## 지식 추출 초점
- 추출: [어떤 종류의 지식, 예: "알고리즘, 데이터 구조, 업데이트 규칙"]
- 건너뛰기: [무시할 것, 예: "평가 지표, 데이터셋 설명, 향후 작업"]

## 출력 형식 선호
요약이 아닌 구현 문제로 구문 작성:
- 나쁨: "논문이 X에 대해 뭐라고 말하는가?"
- 좋음: "X를 어떻게 구현해야 하는가? 어떤 코드 패턴?"

1단계: 컨텍스트로 검색

컨텍스트 생성 후, 이를 사용하여 검색을 안내합니다:

# 컨텍스트 목표에 따라 검색 안내
./run.sh search -q "theory of mind BDI agent belief tracking" -n 10

2단계: 컨텍스트에 맞춰 분류

각 초록을 컨텍스트의 관련성 기준에 따라 평가합니다:

## 발견된 논문 - 컨텍스트 목표에 대한 평가

### 1. **논문 제목** (arXiv:XXXX.XXXXX)
> [초록]

**컨텍스트 기준:**
- 목표 1 충족 (신념 표현): 예 - BDI dict 구조 설명
- 목표 2 충족 (반사실적 반영): 아니오
- **평결: 높음** - 데이터 구조 질문에 직접 답변

### 2. **논문 제목** (arXiv:XXXX.XXXXX)
> [초록]

**컨텍스트 기준:**
- 목표 1 충족: 아니오
- 목표 2 충족: 예 - 반영 트리거 조건 설명
- **평결: 높음** - 알고리즘 질문에 직접 답변

---
어떤 논문을 추출할까요?

3단계: 컨텍스트 파일로 추출

집중된 추출을 위해 컨텍스트 파일을 learn에 전달합니다:

./run.sh learn 2501.15355 --scope persona-research --context-file /tmp/arxiv_context.md

사용자가 논문을 선택할 때까지 진행하지 마십시오.


search - 논문 찾기

./run.sh search -q "agent memory" -n 5

빠른 분류를 위해 전체 초록과 함께 논문을 반환합니다.

옵션설명
-q검색 쿼리 (필수)
-n최대 결과 수 (기본값: 10)
-c카테고리 필터 (예: cs.LG)
-m최근 N개월 내 논문
--smartLLM이 자연어 쿼리 변환

learn - 지식 추출

./run.sh learn 2601.08058 --scope memory

전체 파이프라인: 다운로드 → 프로파일 → 추출 → Q&A → 인터뷰 → 저장 → 엣지 검증

옵션설명
--scope메모리 범위 (필수)
--context관련성을 위한 도메인 초점
--dry-run저장 없이 미리보기
--skip-interview권장 사항 자동 수락
--accuratePDF + VLM 추출 강제
--mode인터뷰 모드: auto, html, tui (기본값: auto)

추출 모드 (HTML 우선)

새 기능: learn 명령어는 이제 기본적으로 HTML 우선 추출을 사용합니다:

  1. ar5iv.org에서 HTML 다운로드 (arxiv 논문을 깨끗한 HTML로 변환)
  2. 빠른 프로파일 검사 실행 (그림/표 개수 확인)
  3. 적절한 추출 모드로 라우팅
arxiv learn <id>
       │
       ├── 빠른 모드 (기본값) ──► ar5iv HTML ──► 추출기 HTML
       │   - 대부분의 연구 논문       (100% 추출 동등성)
       │   - 텍스트 중심 콘텐츠         (PDF 열 문제 없음)
       │
       └── 정확 모드 ──► arxiv PDF ──► 추출기 PDF + VLM
           - 그림이 중요한 논문
           - 정밀한 값이 있는 복잡한 표
           - 사용법: --accurate 플래그

HTML 우선 이유?

측면HTML (ar5iv)PDF
추출 품질100% 동등~87% (열 감지 문제)
속도빠름 (~5초)느림 (~30초-2분)
그림 캡션포함됨VLM 필요
수학 렌더링MathML 보존텍스트 근사
레이아웃 문제없음2열 감지 문제

ar5iv.org는 arxiv LaTeX 소스를 MathML 방정식과 적절한 구조를 갖춘 의미론적 HTML로 변환합니다. 이는 PDF 추출 문제를 제거합니다.

--accurate 사용 시기

콘텐츠 유형권장 모드이유
대부분의 연구 논문기본값 (HTML)텍스트 + 캡션으로 충분
서베이 논문기본값 (HTML)광범위한 범위, 정확한 그림이 중요하지 않음
중요 다이어그램이 있는 논문--accurate시각 콘텐츠가 핵심인 경우
복잡한 데이터 테이블이 있는 논문--accurate정밀한 숫자가 중요한 경우
# 기본값: HTML 추출 (빠르고 안정적)
./run.sh learn 2601.10025 --scope persona-research

# 그림이 많은 논문에 대해 정확 모드 강제
./run.sh learn 2501.15355 --scope tom-research --accurate

프로파일 기반 라우팅

스킬은 다운로드된 HTML을 자동으로 프로파일링하여 추출 모드를 제안합니다:

  • 그림 < 20개 AND 표 < 10개: HTML 사용 (빠른 모드)
  • 그림 > 20개 OR 표 > 10개: 정확 모드 제안 (--accurate 사용)

프로파일 출력이 로그에 표시됩니다:

프로파일: 12개 그림, 4개 표 → HTML 추출 사용 (빠른 모드)

이상적인 경로

# 1. 검색 - 초록 얻기
./run.sh search -q "agent memory systems" -n 5

# 2. 중지 - 사용자와 초록 논의, 관련성 평가

# 3. 학습 - 사용자가 선택한 논문 추출 (기본값 HTML 추출)
./run.sh learn 2601.10702 --scope memory --context "agent systems"

예시

연구 서베이 (HTML 추출 - 기본값)

./run.sh learn 2601.10025 --scope persona-research --context "LLM personality"

중요한 그림이 있는 논문 (정확 모드)

./run.sh learn 2501.15355 --scope tom-research --context "BDI architecture" --accurate

먼저 미리보기

# 추출될 내용 미리보기
./run.sh learn 2601.10025 --scope test --dry-run

HTML만 다운로드

# 수동 검사를 위해 ar5iv HTML 다운로드 (기본값; 제목 기반 파일 이름)
./run.sh download -i 2501.15355

# 필요할 때만 PDF 다운로드
./run.sh download -i 2501.15355 --format pdf

배치 처리 (병렬)

# 여러 논문 병렬 처리 (기본값: 2개 동시)
./run.sh batch 2501.15355 2502.14171 2310.10701 --scope tom-research --context-file /tmp/context.md

# 더 빠른 처리를 위해 병렬 처리 증가
./run.sh batch 2501.15355 2502.14171 2310.10701 --scope research --parallel 3

# 미리보기 위해 건식 실행
./run.sh batch 2501.15355 2502.14171 --scope test --dry-run
옵션설명
--parallel N동시에 처리할 최대 논문 수 (기본값: 2)
--context-file집중된 추출을 위한 풍부한 컨텍스트 파일
--skip-interview자동 수락 (배치 기본값)
--dry-run저장 없이 미리보기

참고: 권장 병렬 처리는 2-3개 논문입니다. 더 높은 값은 API 속도 제한에 도달할 수 있습니다.


흔한 실수

잘못됨: 컨텍스트를 먼저 생성하지 않고 검색

./run.sh search -q "agent memory" -n 10

올바름: /tmp/arxiv_context.md를 생성한 후 검색

# 1. 특정 목표와 관련성 기준으로 컨텍스트 파일 작성
# 2. 그런 다음 컨텍스트에 따라 검색
./run.sh search -q "agent memory BDI belief tracking" -n 10

잘못됨: 사용자 확인 없이 논문 추출

# 에이전트가 검색 결과 10개를 자동으로 모두 추출
./run.sh learn 2501.15355 --scope research
./run.sh learn 2502.14171 --scope research

올바름: 초록 제시, 사용자가 선택하게 한 후 추출

./run.sh search -q "agent memory" -n 10
# 중지 - 사용자와 초록 논의, 관련성 평가
# 사용자가 논문 2와 5 선택
./run.sh learn 2501.15355 --scope research --context-file /tmp/arxiv_context.md

잘못됨: 텍스트 위주 논문에 --accurate 사용

./run.sh learn 2601.10025 --scope research --accurate  # PDF 추출에 시간 낭비

올바름: 대부분의 논문에는 기본 HTML 모드, 그림이 많은 경우에만 --accurate 사용

./run.sh learn 2601.10025 --scope research  # HTML이 더 빠르고 안정적

의존성

구성 요소URL목적
ar5iv.orghttps://ar5iv.orgarxiv 논문의 LaTeX를 HTML로 변환
추출기 스킬(형제 스킬)HTML/PDF 콘텐츠 추출
qra 스킬(형제 스킬)텍스트에서 Q&A 쌍 생성

QRA-훈련 실패 복구 참고 사항 (2026-09-14)

qra-훈련 연구 중 관찰됨: arXiv 메타데이터 API가 HTML/PDF 다운로드 단계 전에 429를 반환하거나 시간 초과되면 download --format html이 실패했습니다. CLI는 이제 직접 논문 ID에 대한 메타데이터 조회를 선택 사항으로 처리합니다. 메타데이터가 실패하면 대체 URL을 직접 구축하여 다음 순서로 시도합니다:

  1. https://arxiv.org/html/<id-with-version>
  2. https://arxiv.org/html/<base-id>
  3. https://ar5iv.org/abs/<base-id>
  4. https://ar5iv.labs.arxiv.org/html/<base-id>

해당 콘텐츠 URL 중 하나가 성공하면 메타데이터 실패는 errors[]가 아닌 warnings[]에 나타나야 합니다.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

grahama1970/acceptance-contract

Turn a client brief, zip bundle, directory, or single requirements file into a typed acceptance-contract bundle with extracted requirements, acceptance checks, open questions, an immutable-goal draft, and a create-report-backed decision report. Use when users say acceptance contract, brief to requirements, freeze the goal, create immutable goal, amend immutable goal, build a Battle requirements bundle, or extract requirements from this bundle.

grahama1970/agent-ecosystem

Canonical map and shared contracts for the agent-governance ecosystem: the pi.receipt_envelope.v1 boundary envelope, the component graph, and the rules for which component owns which schema. Use when wiring a skill or extension into the shared receipt world, when asking how shame, triage-error, tau, ask, project-watchdog, ops-herdr, ponytail, and Memory fit together, or when validating an envelope.

grahama1970/agentic-evals

Agentic evaluation of skills using multi-trial fixtures, deterministic command assertions, trajectory checks, safety constraints, and evidence-backed readiness scoring. Use when users ask for agentic evals, multi-trial skill evaluation, skill trajectory validation, or readiness scoring for a skill workflow.

grahama1970/agent-inbox

File-based inter-agent messaging with headless dispatch. Check inbox, send bugs/requests to other projects, automatically spawn headless agents to fix bugs, and track progress via task-monitor.

grahama1970/agents-registry

Generate and query the centralized agent identity registry. Scans .pi/agents/*/AGENTS.md, parses frontmatter, outputs agents-registry.json and optionally syncs to /memory for semantic search.

grahama1970/agent-status

Artifact-driven status surfaces for long-running project-agent work. Maintains status.json, events.jsonl, proof manifests, and a stale-aware STATUS.html so humans can tell where the agent is, what passed, what is still unproven, and what decision or action is next — without dashboard theater.

grahama1970/align

Round-based context alignment before execution. Use when the human, project agent, WebGPT, scillm, ask, dogpile, memory, or project-knowledge may each hold different facts about a task; especially before ambiguous design, infographic, product workflow, high-stakes implementation, plan-iterate, project-infographic, or multi-review work.

grahama1970/analytics

Flexible data science analytics for any dataset. Auto-discovers schema, recommends charts, exports to create-figure. Works with JSONL, JSON, CSV from any source.

grahama1970/analyze-chatterbox-emotions

Evaluate generated Chatterbox voice files as voice-quality artifacts: affect match, arousal/valence proxies, pause placement, intelligibility inputs, clipping, loudness, and discontinuity flags. Use when reviewing Chatterbox emotional tags, pauses, Turbo/base affect delivery, Persona Dream utterance renders, or whether generated speech matches an intended product-facing affect.

grahama1970/analyze-elf

Reverse-engineer features from ELF binaries. Extracts CLI commands, state machines, protocols, Zod schemas, and data models. Automatically generates a /create-walkthrough prosecution brief with Mermaid diagrams. Uses /treesitter for AST analysis of bundled JS/TS source.

grahama1970/animation-vocabulary

Reverse-lookup glossary that turns a vague description of a web animation or motion effect into its exact term ("the bouncy thing when a popover opens" → Pop in; "the iOS rubber-band scroll" → Rubber-banding). Use when the user asks "what's it called when…", or describes a motion effect without knowing its name and wants the right word to prompt an AI or designer with. For naming an effect, not designing or building one.

grahama1970/anonymize-data

Anonymize supported CSV, JSON, UTF-8 text, and SQLite files using an explicit policy through the oai-trial project. Use for anonymize data, pseudonymize exports, redact policy literals, or discover and explicitly approve fuzzy name aliases. The skill is a thin CLI/Docker interface, not another engine.

grahama1970/anvil

Heavy-duty "No-Vibes" debugging and hardening orchestrator. Use this for complex, stubborn bugs where `review-code` has failed, or for "Red Teaming" (hardening) a codebase. Runs multiple agents in parallel (Thunderdome) using git worktree isolation.

grahama1970/apple-design

Apple's approach to interface design and fluid, physical motion, translated for the web. Use when building or reviewing gesture-driven UI, spring animations, drag/swipe/sheet interactions, momentum and interruptible transitions, translucent materials and depth, typography (optical sizing, tracking, leading), reduced-motion, or the design foundations (feedback, spatial consistency, restraint) behind Apple-style interfaces.

grahama1970/argue

Multi-persona structured debate orchestrator. Personas research via /dogpile, consult colleagues via /ask, and argue toward nuanced synthesis on complex questions.

grahama1970/ask

Use when the user asks to query project memory, ask an oracle, use supported browser-backed reviewers, run Tau roundtable/single-handler workflows, ask Pi-native subagents from within Pi, run persona/deep-review workflows, generate image prompts, check OS/project health through composed skills, or run an ask DAG. This skill is the executable /ask runtime; do not replace it with an informal subagent, plain web search, or hand-written review; inside Pi, explicit Pi-native subagent targets are routed through the pi-subagents tool as an Ask target type.

grahama1970/assess

Step back and critically reassess project state. Use when asked to "assess", "step back", "fresh eyes", "check alignment", "sanity check", "health check", "prune documentation", or "evaluate what's working". Offers documentation pruning and doc-code alignment analysis. Offer to run after major changes (don't auto-run).

grahama1970/assistant

Shared GPT + classifier inference gateway for persona monitor tasks. Routes validation and classification through a 4-tier cascade: heuristic → classifier → local GPT → scillm.

grahama1970/assistant-lab

Self-improvement workbench for /assistant. All the tools needed to diagnose, train, evaluate, and promote models in a continuous loop. The "warm pond" where /assistant evolves its own inference stack.

grahama1970/batch-quality

Pre-flight validation and quality gates for batch LLM operations. ACTUALLY tests samples through LLM before burning tokens. Uses SPARTA contracts for DuckDB validation queries. Integrates with task-monitor for enforced quality gates.

관련 스킬