본문으로 건너뛰기
cccskills
무료GitHub에 공개

arxiv-monitor

Scheduled ArXiv paper monitor. Uses CronCreate to search configured keywords every 6 hours, deduplicates via MemoryRecord, and stores summaries in named memory for morning briefing integration.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

실행 점수 미검증

설치 방법 보기

포함된 파일(10)

  • SKILL.md5.0 KB
  • commands/arxiv-monitor.md113 B
  • hooks/post-execute.cjs179 B
  • hooks/pre-execute.cjs285 B
  • references/research-requirements.md1.2 KB
  • rules/arxiv-monitor.md1.1 KB
  • schemas/input.schema.json643 B
  • schemas/output.schema.json761 B
  • scripts/main.cjs542 B
  • templates/implementation-template.md742 B

SKILL.md(원문)

설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.

<!-- Agent: nodejs-pro | Task: #12 | Session: 2026-03-08 -->

ArXiv Monitor Skill

Polls the ArXiv API every 6 hours for papers matching configured keywords. Deduplicates against previously seen papers, stores new summaries in named memory, and integrates with the morning briefing loop.


Setup

  1. Set ARXIV_KEYWORDS in .env:

    ARXIV_KEYWORDS=multi-agent systems,LLM reasoning,autonomous agents,RAG,tool use
    
  2. Start the monitor loop:

    /loop 6h Skill({ skill: 'arxiv-monitor' })
    

    Or via CronCreate for programmatic control:

    CronCreate({
      schedule: '0 */6 * * *',
      task: "Invoke Skill({ skill: 'arxiv-monitor' }) to fetch new ArXiv papers",
    });
    

Core Logic

Step 1: Load Keywords and Seen Papers

const keywords = (process.env.ARXIV_KEYWORDS || 'multi-agent systems,autonomous agents')
  .split(',')
  .map(k => k.trim());

// Load previously seen paper IDs from memory
const seenRaw = await readMemory('arxiv-seen-ids');
const seenIds = new Set(seenRaw ? JSON.parse(seenRaw) : []);

Step 2: Search ArXiv API for Each Keyword

Use Bash to query the ArXiv API (no authentication required):

# Search for papers from last 7 days matching a keyword
ENCODED=$(python3 -c "import urllib.parse,sys; print(urllib.parse.quote(sys.argv[1]))" "$KEYWORD")
curl -s "https://export.arxiv.org/api/query?search_query=all:${ENCODED}&sortBy=submittedDate&sortOrder=descending&max_results=10"

Or use the HuggingFace MCP paper_search tool if available:

// Via mcp__claude_ai_Hugging_Face__paper_search if available
// Falls back to curl-based ArXiv API otherwise

Step 3: Filter and Store New Papers

const newPapers = [];
for (const paper of fetchedPapers) {
  if (seenIds.has(paper.id)) continue; // Skip already processed
  seenIds.add(paper.id);
  newPapers.push({
    id: paper.id,
    title: paper.title,
    authors: paper.authors.slice(0, 3).join(', '),
    summary: paper.summary.slice(0, 300),
    published: paper.published,
    url: paper.url,
    keyword: keyword,
  });
}

// Persist seen IDs via named memory (cap at 1000 to prevent unbounded growth)
const seenArr = [...seenIds].slice(-1000);
await writeMemory('arxiv-seen-ids', JSON.stringify(seenArr));

Step 4: Append to Digest File

if (newPapers.length > 0) {
  const digest = newPapers
    .map(
      p =>
        `## ${p.title}\n**Authors:** ${p.authors}\n**Keyword:** ${p.keyword}\n**Published:** ${p.published}\n${p.summary}...\n[Read →](${p.url})\n`
    )
    .join('\n---\n');

  // Append to named memory digest
  const digestPath = '.claude/context/memory/named/arxiv-digest.md';
  const existing = fs.existsSync(digestPath) ? fs.readFileSync(digestPath, 'utf8') : '';
  fs.writeFileSync(
    '.claude/context/memory/named/arxiv-digest.md',
    `${existing}\n\n## ArXiv Update — ${new Date().toISOString().slice(0, 10)}\n\n${digest}`
  );
}

Integration with Morning Briefing

The morning briefing loop reads arxiv-digest.md for recent papers:

/loop at 8:00am Read .claude/context/memory/named/arxiv-digest.md and issues.md. Summarize: (1) top 3 new papers relevant to agent-studio, (2) technical debt, (3) top 2 tasks for today.

Configuration Reference

VariableDefaultDescription
ARXIV_KEYWORDSmulti-agent systemsComma-separated search keywords
ARXIV_MAX_RESULTS10Max papers per keyword per run
ARXIV_LOOKBACK_DAYS7Days to look back for new papers

Deduplication

  • Seen paper IDs stored via writeMemory('arxiv-seen-ids', ...) (named memory API)
  • Capped at 1000 most recent IDs to prevent unbounded growth
  • Papers with matching IDs are silently skipped on subsequent runs
  • Reset by calling await writeMemory('arxiv-seen-ids', '[]')

Related Skills

  • scheduled-tasks — CronCreate API for scheduling loops
  • exa-monitor — Exa web search companion monitor
  • heartbeat — Start all 7 heartbeat loops including this one
  • memory-search — Search the arxiv-digest for specific papers

리뷰

아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.

댓글

로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.

아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.

보내면 바로 공개됩니다. 이메일 주소나 전화번호 같은 개인 정보는 쓰지 마세요. URL은 2개까지입니다.

0 / 1,000자

이 양식은 reCAPTCHA로 보호되며 Google 개인정보처리방침 및 서비스 약관이 적용됩니다.

같은 저장소의 스킬

Ensure accessibility in UI components including semantic HTML, ARIA attributes, keyboard navigation, and WCAG 2.2 AA compliance.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oimiragieo/agent-studio432026년 7월 14일 업데이트

Use when you want to improve response quality through meta-cognitive reasoning. Applies 15+ reasoning methods to reconsider and refine initial outputs.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oimiragieo/agent-studio432026년 7월 14일 업데이트

N-round opposing-stance debates for trade-off analysis. Assigns pro/con roles to agents, runs structured debate rounds with quality scoring, and produces a moderator synthesis with confidence-rated recommendation. Generalizable to architecture, technology, security, and design decisions.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oimiragieo/agent-studio432026년 7월 14일 업데이트

Force adversarial code review stance that eliminates confirmation bias — reviewer must find issues or re-analyze

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oimiragieo/agent-studio432026년 7월 14일 업데이트

Creates specialized AI agents on-demand when no existing agent matches a request. Use when the Router cannot find a suitable agent for a task. Enables self-evolution by generating persistent agents.

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oimiragieo/agent-studio432026년 7월 14일 업데이트

LLM-as-judge evaluation framework with 5-dimension rubric (accuracy, groundedness, coherence, completeness, helpfulness) for scoring AI-generated content quality with weighted composite scores and evidence citations

한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.

oimiragieo/agent-studio432026년 7월 14일 업데이트

oimiragieo의 스킬 모두 보기

이 스킬의 문제 신고