Tanstack AI
secondsky/claude-skills
TanStack AI (alpha) provider-agnostic type-safe chat with streaming for OpenAI, Anthropic, Gemini, Ollama.
Use iDeer as a daily paper-reading workflow for chatbot-first users such as Codex, Gemini, or ChatGPT.
$ npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install AI45Lab/iDeer ideer-daily-paper-chatbot --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/AI45Lab/iDeer.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/ideer-daily-paper-chatbot .claude/skills/ideer-daily-paper-chatbot && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "ideer-daily-paper-chatbot" agent skill from https://github.com/AI45Lab/iDeer/tree/main/skills/ideer-daily-paper-chatbot into .claude/skills/ideer-daily-paper-chatbot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideer-daily-paper-chatbot", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/AI45Lab/iDeer/tree/main/skills/ideer-daily-paper-chatbotType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install AI45Lab/iDeer ideer-daily-paper-chatbot --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AI45Lab/iDeer.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/ideer-daily-paper-chatbot .agents/skills/ideer-daily-paper-chatbot && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ideer-daily-paper-chatbot" agent skill from https://github.com/AI45Lab/iDeer/tree/main/skills/ideer-daily-paper-chatbot into .agents/skills/ideer-daily-paper-chatbot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideer-daily-paper-chatbot", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install AI45Lab/iDeer ideer-daily-paper-chatbot --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AI45Lab/iDeer.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/ideer-daily-paper-chatbot .cursor/skills/ideer-daily-paper-chatbot && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "ideer-daily-paper-chatbot" agent skill from https://github.com/AI45Lab/iDeer/tree/main/skills/ideer-daily-paper-chatbot into .cursor/skills/ideer-daily-paper-chatbot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideer-daily-paper-chatbot", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/AI45Lab/iDeer.git --path skills/ideer-daily-paper-chatbot--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install AI45Lab/iDeer ideer-daily-paper-chatbot --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AI45Lab/iDeer.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/ideer-daily-paper-chatbot .gemini/skills/ideer-daily-paper-chatbot && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "ideer-daily-paper-chatbot" agent skill from https://github.com/AI45Lab/iDeer/tree/main/skills/ideer-daily-paper-chatbot into .gemini/skills/ideer-daily-paper-chatbot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideer-daily-paper-chatbot", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install AI45Lab/iDeer ideer-daily-paper-chatbotInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/AI45Lab/iDeer.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/ideer-daily-paper-chatbot .github/skills/ideer-daily-paper-chatbot && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "ideer-daily-paper-chatbot" agent skill from https://github.com/AI45Lab/iDeer/tree/main/skills/ideer-daily-paper-chatbot into .github/skills/ideer-daily-paper-chatbot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideer-daily-paper-chatbot", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install AI45Lab/iDeer ideer-daily-paper-chatbot --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/AI45Lab/iDeer.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/ideer-daily-paper-chatbot .opencode/skills/ideer-daily-paper-chatbot && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "ideer-daily-paper-chatbot" agent skill from https://github.com/AI45Lab/iDeer/tree/main/skills/ideer-daily-paper-chatbot into .opencode/skills/ideer-daily-paper-chatbot/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ideer-daily-paper-chatbot", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
ideer-daily-paper-chatbotUse iDeer as a daily paper-reading workflow for chatbot-first users such as Codex, Gemini, or ChatGPT.
Ideer Daily Paper Chatbot is an agent skill from AI45Lab/iDeer. Use iDeer as a daily paper-reading workflow for chatbot-first users such as Codex, Gemini, or ChatGPT. Keep the original iDeer paper-digest setup, source selection, history validation, email/report/ideas workflow, but replace in-repo LLM API summarization and scoring with the current chatbot session. 适用于不用单独配置 OpenAI/SiliconFlow/Ollama API key 的每日论文整理、报告、想法生成与自动化。
Its SKILL.md is about 3k tokens, which your agent loads only when the skill is triggered. The skill folder holds 10 other files, including scripts and reference files (for example `agents/openai.yaml`, `references/automation.md` and `references/codex-tutorial.md`).
It sits in AI & LLM Engineering, covering LLM inference and serving, LLM API integration and Summarization. It works with OpenAI and Ollama. The licence is AGPL-3.0.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 0bdbc9e. It shows what the files ask for, not the result of running them.
Pre-approves these tools, so the agent can use them without asking each time:
read(*)write(.env)write(.web_config.json)write(.client_config.json)write(profiles/**)write(state/**)write(history/**)write(chatbot_test_outputs/**)grep(*)glob(*)…and 3 more on the same allowed-tools line.
From allowed-tools in the SKILL.md frontmatter.
Ships 3 files in scripts/ (Python), which the agent can run.
Shell commands in SKILL.md call:
pythonpython3bashFrom the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
imjuya.github.ioFrom URLs in SKILL.md, links to its own repository left out.
Names these keys or tokens, usually read from environment variables:
API_KEYX_RAPIDAPI_KEYFrom names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Ideer Daily Paper Chatbot loads about 3k tokens when it runs, and up to ~5.7k if it reads all its reference files. Until then it costs about 98 tokens; SKILL.md has 1,354 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check noted patterns worth knowing about, such as sudo or a known installer.
allowed-tools: "read(*), write(.env), write(.web_config.json), write(.client_config.json), write(profiles/**), write(sta- reuse `.env`, `profiles/description.txt`, and `profiles/researcher_profile.md`- `.env`If `.env` does not exist, or if `.env` lacks `SMTP_RECEIVER`, or if `profiles/description.txt` is missing/empty, enter *e user for required setup fields, write `.env`/profiles/UI config with the helper script, then run a small dry run- **Setup/fix**: adjust `.env`, profiles, categories, or fetchers so source collection worksfor this setup step. The helper writes `.env`, `profiles/description.txt`, optional `profiles/researcher_profile.md`, `Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from AI45Lab/iDeer at commit 0bdbc9e, republished under its AGPL-3.0 licence (© AI45Lab). 1,354 words, ~2,967 tokens.
.claude/skills/ideer-daily-paper-chatbot/SKILL.md (or your agent's skills folder). This skill also uses 7 other files; get the full folder from GitHub.Use this skill when the user wants the iDeer daily-paper workflow but does not want the repo to call its own LLM API. The chatbot should do the reading, scoring, grouping, report writing, and idea generation directly in the current conversation.
PROJECT_DIR: the current iDeer repository root. When installed by scripts/install_internshannon_skill.py, this becomes the absolute clone path.SKILL_DIR: skills/ideer-daily-paper-chatbot inside the iDeer repository.arxiv semanticscholar huggingface rsshttps://imjuya.github.io/juya-ai-daily/rss.xmlAsia/Shanghai daily at 13:00, saved but not enabled.Keep as much of the original iDeer workflow as possible:
.env, profiles/description.txt, and profiles/researcher_profile.mdhistory/ as the artifact destination when saving outputsBut do not rely on main.py for any step that requires MODEL_NAME, BASE_URL, API_KEY, or Ollama. Instead, fetch raw items and have the chatbot perform the intelligence layer.
Never use the Tinder/swipe product path for this skill. Do not call /api/swipe, read client/src/swipeView.tsx for workflow state, or use saved swipe queues as recommendation input.
profiles/description.txtprofiles/researcher_profile.mdhistory/Replace these original in-repo LLM tasks with chatbot work in-session:
Do not call python main.py or bash scripts/run_daily.sh unless the user explicitly wants to test the original API-based pipeline. For chatbot-first runs, fetch raw data with the repo's fetchers or with web browsing and continue in the conversation.
Always check:
.envprofiles/description.txtCheck when needed:
profiles/researcher_profile.mdprofiles/x_accounts.txtIf .env does not exist, or if .env lacks SMTP_RECEIVER, or if profiles/description.txt is missing/empty, enter First-run setup before any digest run.
Map the user request to one of these modes:
.env/profiles/UI config with the helper script, then run a small dry run.env, profiles, categories, or fetchers so source collection worksUse this mode when the user is installing iDeer for the first time or when the config files are missing. If the client supports option boxes or structured follow-up questions, use them; otherwise ask concise numbered questions.
Ask for:
Use these defaults when the user accepts defaults or gives an incomplete answer:
arxiv semanticscholar huggingface rssdaily, 13:00, Asia/Shanghaics.AI cs.CL cs.LGpapersComputer ScienceAsk, but allow the user to skip:
Only include twitter if the user explicitly chooses it and an X_RAPIDAPI_KEY is available. Do not ask for repo LLM API keys during chatbot-first setup.
After collecting answers, pass JSON to the helper:
cat <<'JSON' | .venv/bin/python skills/ideer-daily-paper-chatbot/scripts/setup_chatbot_config.py
{
"receiver": "user@example.com",
"description": "User research interests here",
"scholar_urls": [],
"sources": ["arxiv", "semanticscholar", "huggingface", "rss"],
"schedule": {
"frequency": "daily",
"time": "13:00",
"timezone": "Asia/Shanghai"
},
"generate_ideas": false
}
JSONIf .venv does not exist yet, use python3 skills/ideer-daily-paper-chatbot/scripts/setup_chatbot_config.py for this setup step. The helper writes .env, profiles/description.txt, optional profiles/researcher_profile.md, state/ideer_chatbot_setup.json, .web_config.json, and .client_config.json.
The helper must not invent SMTP passwords or API keys. If SMTP is incomplete, report that email is not configured and that the first run will only save local artifacts.
After setup, run a small chatbot-first dry run, such as arxiv and huggingface with low limits, then report the files created and that scheduling remains disabled.
arxiv semanticscholar huggingface rsshttps://imjuya.github.io/juya-ai-daily/rss.xmlgithub only when the user wants code/repo signalstwitter only when the user explicitly wants social signals and credentials existcs.AI cs.CL cs.LG; expand to cs.CV cs.RO for embodied, spatial, or robotics interestsIf first-run setup is needed, complete it before this step.
Read the profile and decide:
Use skills/ideer-daily-paper-chatbot/references/presets.md for presets.
Prefer the repo fetchers first when the repo is available:
fetchers/arxiv_fetcher.pyfetchers/huggingface_fetcher.pyfetchers/semanticscholar_fetcher.pyfetchers/rss_fetcher.pyfetchers/github_fetcher.pyfetchers/twitter_fetcher.pyIf the repo is not available or a fetcher is broken, use browsing and cite the public source pages.
Fetch raw candidates only. Do not call the repo's LLM scoring path.
Run commands from PROJECT_DIR. Prefer .venv/bin/python; if the virtualenv is missing, use Python 3.10+ to create it before fetching:
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txtThe chatbot should:
When the user gave explicit directions such as Agent / Spatial Intelligence / World Model, preserve those headings in the final digest.
Prefer these output shapes:
history/<source>/<date>/<date>.md for source-level markdown digestshistory/reports/<date>/report.md for cross-source reporthistory/ideas/<date>/ideas.json for structured idea outputhistory/<source>/<date>/<source>_email.html if you render an HTML email bodyIt is acceptable for chatbot-first runs to write fewer files than the original pipeline, as long as you report exactly what was written.
If the user wants HTML artifacts without touching the main repo scripts, use the bundled renderer:
.venv/bin/python skills/ideer-daily-paper-chatbot/scripts/render_chatbot_artifacts.py \
--date YYYY-MM-DD \
--base-dir <artifact-dir>This script should render report.html and digest_email.html from chatbot-written markdown/json outputs inside the chosen artifact directory.
If SMTP is incomplete, do not claim that email was sent. Save the digest locally and tell the user what is missing.
If SMTP is complete and the user explicitly asked for sending, either:
Never send email on the first validation run unless the user clearly asked for a live send.
For chatbot-first automation, prefer the native agent/workflow scheduler when available. Use the repo root as the working directory and write the prompt so the chatbot fetches raw source items, performs summarization itself, saves artifacts, and only sends email if SMTP exists.
First-run setup saves the user's schedule preference but does not enable it. Create or enable a recurring task only after the user confirms the dry-run artifacts look correct.
See skills/ideer-daily-paper-chatbot/references/automation.md.
Use small fetch/test commands instead of the full original pipeline.
Examples:
.venv/bin/python - <<'PY'
from fetchers.huggingface_fetcher import get_daily_papers
print(len(get_daily_papers(10)))
PY.venv/bin/python - <<'PY'
from fetchers.arxiv_fetcher import fetch_papers_for_categories
print(fetch_papers_for_categories(['cs.AI','cs.LG'], max_entries=25, sleep_range=(0,0)).keys())
PYUse bash scripts/run_daily.sh only to debug the legacy API-based path.
After each run, report:
For users who want paper digestion without API keys, start with:
arxiv and huggingface© AI45Lab, AGPL-3.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 7 other files (scripts, references) in skills/ideer-daily-paper-chatbot of AI45Lab/iDeer.
Open the folder on GitHubat commit 0bdbc9e
Ideer Daily Paper Chatbot next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Ideer Daily Paper Chatbot this skillAI45Lab/iDeer | 416 | — | ~3k | Automated safety check: Notes | AGPL-3.0 | |
| Tanstack AIsecondsky/claude-skills | 227 | — | ~3.6k | Automated safety check: Notes | MIT | |
| Summarize Anythingswyxio/skills | 176 | — | ~6.3k | Automated safety check: Pass | MIT | |
| Deepseek Chatruvnet/ruflo | 74k | — | ~564 | Automated safety check: Notes | MIT | |
| Aider DelegateamElnagdy/delegate-skills | 2.3k | 2 repos | ~3k | Automated safety check: Pass | MIT | |
| Perfupraullenchai/Rapid-MLX | 4k | — | ~1.6k | Automated safety check: Notes | Custom licence |
secondsky/claude-skills
TanStack AI (alpha) provider-agnostic type-safe chat with streaming for OpenAI, Anthropic, Gemini, Ollama.
swyxio/skills
Summarizes arbitrarily long text (1k-1M words) using recursive map-reduce with any LLM backend.
ruvnet/ruflo
One-shot chat completion against DeepSeek's deepseek-chat model via the OpenAI-compatible /v1/chat/completions endpoint.
amElnagdy/delegate-skills
Delegate a coding task to Aider (aider) as a background implementer, then review its diff and land it yourself.
raullenchai/Rapid-MLX
Autonomous performance optimization: research, PoC, benchmark, implement, review, PR
jihadkhawaja/Egroo
Build, extend, and debug AI agents in Egroo using the Microsoft Agent Framework (C .NET).
AI45Lab/iDeer
Daily paper/repo digest where YOU are the reader. An agent skill from AI45Lab/iDeer.
AI45Lab/iDeer
Bridge daily recommender ideas to research pipelines. An agent skill from AI45Lab/iDeer.
Categories
Use iDeer as a daily paper-reading workflow for chatbot-first users such as Codex, Gemini, or ChatGPT. Ideer Daily Paper Chatbot is an agent skill from AI45Lab/iDeer. Use iDeer as a daily paper-reading workflow for chatbot-first users such as Codex, Gemini, or ChatGPT.
Ideer Daily Paper Chatbot fits situations like: tasks that involve LLM inference and serving; tasks that involve LLM API integration; tasks that involve Summarization.
Run `npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a claude-code`. Or copy the skill folder (skills/ideer-daily-paper-chatbot in AI45Lab/iDeer) into .claude/skills/ideer-daily-paper-chatbot in your project. Claude Code loads it when a task matches its description.
Run `npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a codex`. Or copy the skill folder (skills/ideer-daily-paper-chatbot in AI45Lab/iDeer) into .agents/skills/ideer-daily-paper-chatbot in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add AI45Lab/iDeer --skill ideer-daily-paper-chatbot -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ideer-daily-paper-chatbot, .gemini/skills/ideer-daily-paper-chatbot, .github/skills/ideer-daily-paper-chatbot and .opencode/skills/ideer-daily-paper-chatbot in your project.
Going by SKILL.md and its folder, Ideer Daily Paper Chatbot needs Python for the scripts in its folder, the command-line tools its instructions call (python, python3 and bash) and credentials named API_KEY and X_RAPIDAPI_KEY. Our summary lists: Python 3; A credential in API_KEY; A credential in X_RAPIDAPI_KEY. Its frontmatter pre-approves these tools: read(*), write(.env), write(.web_config.json), write(.client_config.json), write(profiles/**), write(state/**), write(history/**), write(chatbot_test_outputs/**), grep(*), glob(*), bash(*), web_fetch(*), web_search(*).
SKILL.md names 1 domain. In commands or code: imjuya.github.io; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found notes only (mentions a .env file), nothing it rates as a warning. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Ideer Daily Paper Chatbot is published under the AGPL-3.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3k tokens (SKILL.md is roughly 12k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 2.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Ideer Daily Paper Chatbot: Tanstack AI (secondsky/claude-skills, 227 stars), Summarize Anything (swyxio/skills, 176 stars), Deepseek Chat (ruvnet/ruflo, 74k stars) and Aider Delegate (amElnagdy/delegate-skills, 2.3k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
AI45Lab (a GitHub organization) maintains it in AI45Lab/iDeer, which has 416 GitHub stars. The repository holds 3 skills in this directory. The repository was last updated on July 26, 2026.
Source: AI45Lab/iDeer on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.