Agent skill

Remote Input

by gaotiexinqu in gaotiexinqu/OneResearchClaw

Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and route to downstream grounding pipeline.

MITAuto-check passedResearch & Science

Install Remote Input

skills CLI
$ npx skills add gaotiexinqu/OneResearchClaw --skill remote-input -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gaotiexinqu/OneResearchClaw remote-input --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gaotiexinqu/OneResearchClaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/remote-input .claude/skills/remote-input && rm -rf skills-src

Use ~/.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/

Facts

Skill name
remote-input
GitHub stars
450
Token cost
~2.8k tokens
SKILL.md length
619 words
Files
3 (incl. scripts)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and route to downstream grounding pipeline.

  • Works in 4 steps: Parse Input URL → Download Content → Write Metadata → …
  • User provides a URL instead of a local file path
  • SKILL.md covers What This Skill Does, Supported URL Types, Directory Structure and Workflow, plus 7 more sections
  • Runs Python scripts from its folder; calls python; reaches bilibili.com and arxiv.org

What it does

Remote Input is an agent skill from gaotiexinqu/OneResearchClaw. Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and route to downstream grounding pipeline. Use when user provides a URL instead of a local file path.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files, including scripts (for example `scripts/download_arxiv.py` and `scripts/download_video.py`).

It sits in Research & Science. It works with arXiv, YouTube and Bilibili. The repository describes itself as: Any research. One Claw. 🦞 From any materials to research with fully autonomous & skill-driven researcher. The licence is MIT.

When your agent uses it

  • User provides a URL instead of a local file path

Example prompts

  • “/remote-input”

Requirements

  • Python 3

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Parse Input URL
  2. Download Content
  3. Write Metadata
  4. Return Local Path

What it can do on your machine

Read from SKILL.md and the folder at commit 37e86c6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 2 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • bilibili.com
    • arxiv.org
    • youtube.com
    • b23.tv
    • youtu.be

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Remote Input loads about 2.8k tokens when it runs. Until then it costs about 51 tokens; SKILL.md has 619 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~51
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k

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.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.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.

SKILL.md

The full file from gaotiexinqu/OneResearchClaw at commit 37e86c6, republished under its MIT licence (© gaotiexinqu). 619 words, ~2,791 tokens.

Download SKILL.mdSave it as .claude/skills/remote-input/SKILL.md (or your agent's skills folder). This skill also uses 2 other files; get the full folder from GitHub.
name
remote-input
description
Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and route to downstream grounding pipeline. Use when user provides a URL instead of a local file path.

Remote Input

Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and seamlessly integrate into the downstream pipeline.

What This Skill Does

This skill acts as a pre-processing layer for the pipeline:

  1. Detects URL type (arxiv, YouTube, or Bilibili)
  2. Downloads content to data/raw_inputs/remote/
  3. Returns the local file path
  4. Triggers the next pipeline stage

Supported URL Types

URL TypeDownload TargetLocal ExtensionDownstream Routing
https://arxiv.org/abs/...PDF.pdfdocument-grounding
https://arxiv.org/pdf/...PDF.pdfdocument-grounding
https://www.youtube.com/watch?v=...Video.mp4/.mkvmeeting-video-grounding
https://youtu.be/...Video.mp4/.mkvmeeting-video-grounding
https://www.youtube.com/shorts/...Video.mp4/.mkvmeeting-video-grounding
https://bilibili.com/video/BV...Video.mp4/.mkvmeeting-video-grounding
https://www.bilibili.com/video/av...Video.mp4/.mkvmeeting-video-grounding
https://b23.tv/...Video.mp4/.mkvmeeting-video-grounding

Note on merge failure: When video download produces separate video and audio files (merge failure), the downloader returns merge_failed: true with audio_path pointing to the audio file. The downstream routing switches to meeting-audio-grounding instead of meeting-video-grounding.

Directory Structure

data/raw_inputs/remote/
├── arxiv/
│   └── <paper_id>.pdf          # e.g., 2301.07041.pdf
├── youtube/
│   └── <video_title>.mp4       # e.g., "Introduction to Transformers.mp4"
├── bilibili/
│   └── <video_title>.mp4       # e.g., "教程视频.mp4"
└── metadata/
    └── <ground_id>.json        # Download metadata

Workflow

Step 1. Parse Input URL

Detect the URL type:

If URL contains "arxiv.org":
    → Use arxiv downloader
    → Ground ID = arxiv paper ID (e.g., "2301.07041")

If URL contains "youtube.com" or "youtu.be":
    → Use YouTube downloader
    → Ground ID = sanitized video title or video ID

If URL contains "bilibili.com" or "b23.tv":
    → Use Bilibili downloader
    → Ground ID = BV ID (e.g., "BV1xx411c7JZ")
Step 2. Download Content
For arXiv Papers
bash
python .cursor/skills/remote-input/scripts/download_arxiv.py download "<url_or_id>" \
    --dir data/raw_inputs/remote/arxiv

Output:

json
{
  "success": true,
  "path": "data/raw_inputs/remote/arxiv/2301.07041.pdf",
  "paper_id": "2301.07041",
  "title": "Attention Is All You Need",
  "authors": ["Ashish Vaswani", ...],
  "abstract": "The dominant sequence transduction models...",
  "size_kb": 1024
}
For YouTube Videos
bash
python .cursor/skills/remote-input/scripts/download_video.py "<url>" \
    -o data/raw_inputs/remote/youtube \
    -q 720p

Output (normal - video with audio):

json
{
  "success": true,
  "path": "data/raw_inputs/remote/youtube/Video Title.mp4",
  "title": "Video Title",
  "video_id": "dQw4w9WgXcQ",
  "source": "youtube",
  "duration": 213,
  "uploader": "Rick Astley",
  "audio_path": null,
  "merge_failed": false
}

Output (merge failure - separate audio file):

json
{
  "success": true,
  "path": "data/raw_inputs/remote/youtube/Video Title.f136.mp4",
  "title": "Video Title",
  "video_id": "dQw4w9WgXcQ",
  "source": "youtube",
  "duration": 213,
  "uploader": "Rick Astley",
  "audio_path": "data/raw_inputs/remote/youtube/Video Title.f251.webm",
  "merge_failed": true
}
For Bilibili Videos
bash
python .cursor/skills/remote-input/scripts/download_video.py "<url>" \
    -o data/raw_inputs/remote/bilibili \
    -q 720p \
    -s  # 可选:下载字幕

Output (normal - video with audio):

json
{
  "success": true,
  "path": "data/raw_inputs/remote/bilibili/视频标题.mp4",
  "title": "视频标题",
  "video_id": "BV1xx411c7JZ",
  "source": "bilibili",
  "duration": 600,
  "uploader": "UP主名称",
  "audio_path": null,
  "merge_failed": false
}

Output (merge failure - separate audio file):

json
{
  "success": true,
  "path": "data/raw_inputs/remote/bilibili/视频标题.f136.mp4",
  "title": "视频标题",
  "video_id": "BV1xx411c7JZ",
  "source": "bilibili",
  "duration": 600,
  "uploader": "UP主名称",
  "audio_path": "data/raw_inputs/remote/bilibili/视频标题.f251.webm",
  "merge_failed": true
}

Note: Bilibili 视频需要登录 Cookie 才能下载高画质 (1080p+)。使用默认设置可下载 1080p 及以下画质。如需下载更高画质,请配置 --cookies-from-browser chrome 或提供 cookie 文件。

Step 3. Write Metadata

Save download metadata to:

data/raw_inputs/remote/metadata/<ground_id>.json

Example:

json
{
  "ground_id": "arxiv_2301.07041",
  "source_type": "arxiv",
  "source_url": "https://arxiv.org/abs/2301.07041",
  "downloaded_path": "data/raw_inputs/remote/arxiv/2301.07041.pdf",
  "downloaded_at": "2024-01-15T10:30:00Z",
  "metadata": {
    "title": "Attention Is All You Need",
    "authors": ["Ashish Vaswani", ...]
  }
}

Example (Bilibili):

json
{
  "ground_id": "bilibili_BV1xx411c7JZ",
  "source_type": "bilibili",
  "source_url": "https://bilibili.com/video/BV1xx411c7JZ",
  "downloaded_path": "data/raw_inputs/remote/bilibili/视频标题.mp4",
  "downloaded_at": "2024-01-15T10:30:00Z",
  "metadata": {
    "title": "视频标题",
    "uploader": "UP主名称"
  }
}
Step 4. Return Local Path

Return the local file path for downstream pipeline integration:

  • For one-report: Pass the local path as input_path
  • For input-router: The router will detect .pdf or .mp4 extension

Usage Examples

Example 1: arXiv Paper
text
Input: https://arxiv.org/abs/2301.07041

Workflow:
1. Download PDF to: data/raw_inputs/remote/arxiv/2301.07041.pdf
2. Write metadata: data/raw_inputs/remote/metadata/arxiv_2301.07041.json
3. Return: data/raw_inputs/remote/arxiv/2301.07041.pdf

Next: Pass to input-router → document-grounding → ...
Example 2: YouTube Video
text
Input: https://www.youtube.com/watch?v=dQw4w9WgXcQ

Workflow:
1. Download video to: data/raw_inputs/remote/youtube/Rick Astley - Never Gonna Give You Up.mp4
2. Write metadata: data/raw_inputs/remote/metadata/youtube_dQw4w9WgXcQ.json
3. Return: data/raw_inputs/remote/youtube/Rick Astley - Never Gonna Give You Up.mp4

Next: Pass to input-router → meeting-video-grounding → ...
Example 2b: Bilibili Video
text
Input: https://bilibili.com/video/BV1xx411c7JZ

Workflow:
1. Download video to: data/raw_inputs/remote/bilibili/视频标题.mp4
2. Write metadata: data/raw_inputs/remote/metadata/bilibili_BV1xx411c7JZ.json
3. Return: data/raw_inputs/remote/bilibili/视频标题.mp4

Next: Pass to input-router → meeting-video-grounding → ...

Supported Bilibili URL formats:

  • https://bilibili.com/video/BV1xx411c7JZ (BV号)
  • https://www.bilibili.com/video/av12345678 (AV号)
  • https://b23.tv/abc123 (短链接)
Example 3: Via one-report Skill
text
Use the one-report skill with a remote URL:

Input:
- input_path: https://arxiv.org/abs/2301.07041
- output_formats: md,pdf

The one-report skill will:
1. Detect URL input (not local file)
2. Invoke remote-input to download
3. Continue pipeline with local file path

Integration Points

Integration with one-report

When input_path is a URL:

  1. Detect URL pattern
  2. Invoke remote-input skill
  3. Use returned local path for downstream pipeline
Integration with input-router

Update routing table to support URLs:

InputRoute To
URL matching arxiv.orgremote-input → document-grounding
URL matching youtube.com, youtu.beremote-input → meeting-video-grounding
URL matching bilibili.com, b23.tvremote-input → meeting-video-grounding

Error Handling

ErrorHandling
Invalid URL formatReport unsupported URL pattern
arXiv ID not foundReport "Paper not found on arXiv"
YouTube video unavailableReport "Video unavailable"
Bilibili video unavailableReport "Video unavailable or requires login"
Download timeoutRetry once, then fail with error
Network errorReport network connectivity issue
Show full SKILL.md (242 more words)Show less

Merge Failure Handling

When video download produces separate video and audio files (merge failure):

Detection

The downloader uses ffprobe to check if the main video file contains an audio track:

  • If no audio track detected → triggers merge attempt
  • If merge fails → marks as merge_failed: true
Auto-Recovery Flow
1. Download produces: video.mp4 (no audio) + audio.webm
2. Detect: video.mp4 lacks audio
3. Attempt: ffmpeg merge video.mp4 + audio.webm → video.mp4
4. If merge succeeds → use video.mp4 (merge_failed: false)
5. If merge fails → use audio.webm directly (merge_failed: true)
Downstream Impact

When merge_failed: true, the downloader returns:

json
{
  "success": true,
  "path": "video.mp4",
  "audio_path": "audio.webm",
  "merge_failed": true
}

The pipeline should:

  1. Use audio_path for transcription instead of video
  2. Skip video-only processing
  3. Continue with meeting-audio-grounding using the audio file
Supported Audio Formats for Transcription

WhisperX (used by audio_structuring) supports:

  • .mp3, .wav, .m4a, .aac, .ogg
  • .webm (also supported via ffmpeg backend)

The audio file at audio_path can be directly passed to meeting-audio-grounding.

Ground ID Generation

SourceGround ID FormatExample
arXivarxiv_<paper_id>arxiv_2301.07041
YouTubeyoutube_<video_id>youtube_dQw4w9WgXcQ
Bilibilibilibili_<video_id>bilibili_BV1xx411c7JZ

Quality Settings

Note: For Bilibili, default settings download up to 1080p from domestic servers. Higher quality (4K/8K) requires login cookies configuration.

For YouTube
QualityDescriptionUse Case
bestHighest availableHigh quality presentations
1080pFull HDStandard videos
720pHDBalanced quality/size
480pSDLimited bandwidth
360pLowSlow connections
worstLowest availableTesting only

Default quality: 720p (recommended for most use cases)

For Bilibili
QualityDescriptionNotes
DefaultUp to 1080pWorks without login
4K/8KHighest availableRequires login cookies
Audio onlyMP3 extractionWorks without login
Bilibili Login Configuration (Optional)

For higher quality downloads:

bash
# Use browser cookies
--cookies-from-browser chrome

# Or provide cookie file
--cookies /path/to/cookies.txt

Audio-Only Option

For YouTube videos that are primarily audio (podcasts, lectures):

bash
python scripts/download_video.py "<url>" -a

Downloads audio as MP3 to the youtube directory.

© gaotiexinqu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 2 other files (scripts) in .cursor/skills/remote-input of gaotiexinqu/OneResearchClaw.

  • SKILL.md
  • scripts/download_arxiv.py
  • scripts/download_video.py

Open the folder on GitHubat commit 37e86c6

Compare with similar skills

Remote Input 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.

Remote Input compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Remote Input this skillgaotiexinqu/OneResearchClaw450—~2.8kAutomated safety check: PassMIT
Larksnap FetchAmbroseX/larksnap300—~923Automated safety check: PassApache-2.0
Qiaomu Opencli Usagejoeseesun/qiaomu-opencli-skills993—~3kAutomated safety check: PassMIT
Superlearnraiyanyahya/Superlearn121—~6.2kAutomated safety check: PassMIT
Insane Searchfivetaku/gptaku-plugins-codex128—~5.6kAutomated safety check: PassMIT
Agent ReachPanniantong/Agent-Reach93k1 repos~1.4kAutomated safety check: PassMIT

Similar skills

  • Larksnap Fetch

    AmbroseX/larksnap

    把飞书/Lark 文档或普通网页抓取并保存到本地,也能编辑用户有权限的飞书文档,并用已登录浏览器执行一次网页搜索。用户要求下载、导出、抓取、写入飞书文档,或联网搜索资料/参考链接时使用本技能,即使没有提到 larksnap。底层通过技能自带 daemon 桥接已登录的 larksnap 浏览器扩展;arXiv 使用独立脚本。

    300 GitHub stars~923 tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Qiaomu Opencli Usage

    joeseesun/qiaomu-opencli-skills

    A skill your agent uses when running OpenCLI commands to interact with websites (Bilibili, Twitter, Reddit, Xiaohongshu, etc.), desktop apps (Cursor, Notion), or public APIs (HackerNews, arXiv).

    993 GitHub stars~3k tokensUpdated 6 mo ago
    Research & ScienceAuto-check passed
  • Superlearn

    raiyanyahya/Superlearn

    Build an interactive learning board on any topic. An agent skill from raiyanyahya/Superlearn.

    121 GitHub stars~6.2k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Insane Search

    fivetaku/gptaku-plugins-codex

    Adaptive access for blocked websites — tries every method until one works.

    128 GitHub stars~5.6k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Agent Reach

    Panniantong/Agent-Reach

    Routes web research and platform lookups across 16 sites, including Twitter, Reddit, YouTube, Bilibili, Xiaohongshu and GitHub, through one command-line tool.

    93k GitHub starsUsed in 1 repo~1.4k tokens
    Productivity & AutomationAuto-check passed
  • Multi-Source to NotebookLM Processor

    joeseesun/qiaomu-anything-to-notebooklm

    Collects content from WeChat articles, web pages, YouTube, podcasts, documents and more, uploads it to NotebookLM and generates podcasts, slides or mind maps.

    6.2k GitHub stars~3.6k tokensUpdated 4 days ago
    Knowledge ManagementAuto-check passed

More from gaotiexinqu/OneResearchClaw

All 15 skills in this repo
  • Grounded Research Lit

    gaotiexinqu/OneResearchClaw

    Run focused literature and web research from a grounded note.

    450 GitHub stars~11k tokensUpdated 5 mo ago
    Auto-check passed
  • Archive Grounding

    gaotiexinqu/OneResearchClaw

    Unpack a ZIP archive, inventory its files, run the corresponding child grounding skill for each supported child file, and then write a real archive-level grounded.md.

    450 GitHub stars~2.1k tokensUpdated 5 mo ago
    Auto-check: notes
  • Document Grounding

    gaotiexinqu/OneResearchClaw

    Convert a raw document into a structured grounding note for downstream research and summarization.

    450 GitHub stars~2k tokensUpdated 5 mo ago
    Auto-check passed
  • Meeting Audio Grounding

    gaotiexinqu/OneResearchClaw

    Convert a meeting audio file into a transcript bundle, then use meeting-grounding to produce structured meeting grounding outputs.

    450 GitHub stars~1.1k tokensUpdated 5 mo ago
    Auto-check passed
  • Meeting Video Grounding

    gaotiexinqu/OneResearchClaw

    Convert a meeting video into an audio-first transcript bundle, then use meeting-grounding to produce structured meeting grounding outputs.

    450 GitHub stars~1.2k tokensUpdated 5 mo ago
    Auto-check passed
  • PPTX Grounding

    gaotiexinqu/OneResearchClaw

    Extract a structured evidence bundle from a .pptx deck, then write a real grounded.md from the bundle.

    450 GitHub stars~2.1k tokensUpdated 5 mo ago
    Auto-check: notes

Questions about Remote Input

What does Remote Input do?

Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and route to downstream grounding pipeline. Remote Input is an agent skill from gaotiexinqu/OneResearchClaw. Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and route to downstream grounding pipeline.

When should I use Remote Input?

Remote Input fits situations like: user provides a URL instead of a local file path.

How do I install Remote Input in Claude Code?

Run `npx skills add gaotiexinqu/OneResearchClaw --skill remote-input -a claude-code`. Or copy the skill folder (.cursor/skills/remote-input in gaotiexinqu/OneResearchClaw) into .claude/skills/remote-input in your project. Claude Code loads it when a task matches its description.

How do I install Remote Input in Codex?

Run `npx skills add gaotiexinqu/OneResearchClaw --skill remote-input -a codex`. Or copy the skill folder (.cursor/skills/remote-input in gaotiexinqu/OneResearchClaw) into .agents/skills/remote-input in your project. Codex loads it when a task matches its description.

Can I use Remote Input in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gaotiexinqu/OneResearchClaw --skill remote-input -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/remote-input, .gemini/skills/remote-input, .github/skills/remote-input and .opencode/skills/remote-input in your project.

What does Remote Input need to run?

Going by SKILL.md and its folder, Remote Input needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Remote Input access the network?

SKILL.md names 5 domains. In commands or code: bilibili.com, arxiv.org, youtube.com, b23.tv and youtu.be; the agent is likely to contact these when it follows the instructions. This is read from the text; nothing was executed.

Is Remote Input safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. 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.

What licence does Remote Input use?

Remote Input is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Remote Input use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Remote Input?

Skills that share tags, products or a category with Remote Input: Larksnap Fetch (AmbroseX/larksnap, 300 stars), Qiaomu Opencli Usage (joeseesun/qiaomu-opencli-skills, 993 stars), Superlearn (raiyanyahya/Superlearn, 121 stars) and Insane Search (fivetaku/gptaku-plugins-codex, 128 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Remote Input?

gaotiexinqu (a GitHub user) maintains it in gaotiexinqu/OneResearchClaw, which has 450 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on May 9, 2026.

Source: gaotiexinqu/OneResearchClaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.