{"adoption": {"forks": 161, "observed_at": "2026-08-28T04:05:08.991996+00:00", "stars": 1594}, "canonical_url": "https://ross.abutalabs.com/products/evil-read-arxiv", "card": {"archived": false, "artifact_type": "application", "description": "Claude Code+Obsidian，邪修读论文就是快", "domain": ["artificial-intelligence", "large-language-models", "education", "developer-tools", "web-development"], "enriched": true, "function": ["agent-framework", "search-engine", "nlp", "llm-inference", "cli", "web-framework", "pdf", "data-science"], "health_score": 76, "homepage": null, "language": "Python", "license": null, "license_family": "other", "maturity": "active", "member_repos": ["juliye2025/evil-read-arxiv"], "name": "juliye2025/evil-read-arxiv", "platform": ["python", "cli", "cross-platform"], "pushed_at": "2026-07-21T09:24:59+00:00", "repo": "juliye2025/evil-read-arxiv", "stars": 1594, "tags": ["arxiv", "semantic-scholar", "claude-code", "obsidian", "paper-reading", "research-workflow", "academic-papers", "knowledge-graph", "ai-skills", "nextjs", "natural-language-processing", "automation", "nodejs", "web-server"], "topics": [], "urls": [], "use_cases": ["get daily arxiv paper recommendations", "analyze a research paper pdf and generate notes", "extract figures from arxiv papers", "find papers from top ML/CV conferences", "search my paper notes in obsidian", "browse ai-summarized paper recommendations on the web", "learn my reading preferences from feedback"], "what_it_is": "A collection of Claude Code / OpenAI Codex skills plus a Next.js web app that automates research paper discovery, analysis, and note-taking. It queries arXiv, Semantic Scholar, and DBLP APIs to recommend papers, generate structured notes with extracted figures, and maintain a knowledge graph in Obsidian.", "when_to_avoid": ["you don't use Claude Code, Codex, or an Anthropic API key", "you need a fully self-contained tool without LLM API dependencies", "you want a mature project with a license and long-term support guarantees"], "when_to_choose": ["you read academic papers regularly and use Obsidian for notes", "you already use Claude Code or Codex CLI and want automated research workflows", "you want conference paper tracking with scoring and recommendations"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/evil-read-arxiv", "repo": "juliye2025/evil-read-arxiv", "role": "main", "score": 57}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:05:08.991996+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T03:54:12.247915+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "63b4b5edcae19aa5e200b03c86d96e7d4cf06332842957748866934dae18d196", "fetched_at": "2026-08-28T04:05:08.991996+00:00", "kind": "readme", "missing": false, "url": "https://github.com/juliye2025/evil-read-arxiv"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 93, "longevity": 13, "rhythm": 35}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["no_releases", "no_license"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 183, "days_push": 43, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 57, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}