Agent skill

Download Attachment

by heyitsnoah in heyitsnoah/claudesidian

Download files from URLs to the Obsidian attachments folder and organize them with descriptive names.

MITAuto-check passedDocuments & Office

Install Download Attachment

skills CLI
$ npx skills add heyitsnoah/claudesidian --skill download-attachment -a claude-code

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

GitHub CLI
$ gh skill install heyitsnoah/claudesidian download-attachment --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/heyitsnoah/claudesidian.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/download-attachment .claude/skills/download-attachment && 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
download-attachment
GitHub stars
2.6k
Token cost
~836 tokens
SKILL.md length
299 words
Files
1
Skills in repo
17
Repo updated
First seen
Licence
MIT

At a glance

Download files from URLs to the Obsidian attachments folder and organize them with descriptive names.

  • Works in 7 steps: Parse and Validate URLs → Download Files → Verify Downloads → …
  • The user provides URLs to download
  • SKILL.md covers Usage, Examples, Implementation and Important Notes, plus 2 more sections
  • Calls git, wget and curl

What it does

Download Attachment is an agent skill from heyitsnoah/claudesidian. Download files from URLs to the Obsidian attachments folder and organize them with descriptive names. Use when the user provides URLs to download, asks to save files from the web, or wants to add web content as attachments.

Its SKILL.md is about 840 tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Documents & Office. It works with Obsidian. The licence is MIT.

When your agent uses it

  • The user provides URLs to download
  • Asks to save files from the web
  • Wants to add web content as attachments

Example prompts

  • “/download-attachment”

Workflow steps

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

  1. Parse and Validate URLs
  2. Download Files
  3. Verify Downloads
  4. Organize Files
  5. Move to Organized
  6. Update Index
  7. Commit Changes

What it can do on your machine

Read from SKILL.md and the folder at commit 6c56f35. 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

    Shell commands in SKILL.md call:

    • git
    • wget
    • curl

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

  • Network

    No URLs in SKILL.md. Its commands use git, wget and curl, which can reach the network depending on how they are called.

    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

Download Attachment loads about 836 tokens when it runs. Until then it costs about 61 tokens; SKILL.md has 299 words of instructions outside code blocks.

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

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); files beside SKILL.md are not scanned.

SKILL.md

The full file from heyitsnoah/claudesidian at commit 6c56f35, republished under its MIT licence (© heyitsnoah). 299 words, ~836 tokens.

Download SKILL.mdSave it as .claude/skills/download-attachment/SKILL.md (or your agent's skills folder).
name
download-attachment
description
Download files from URLs to the Obsidian attachments folder and organize them with descriptive names. Use when the user provides URLs to download, asks to save files from the web, or wants to add web content as attachments.

download-attachment

Download files from URLs to attachments folder and organize them with descriptive names.

Usage

/download-attachment <url1> [url2] [url3...]

Examples

/download-attachment https://example.com/document.pdf
/download-attachment https://site.com/image.png https://site.com/report.pdf

Implementation

You are tasked with downloading files from URLs and organizing them in the Obsidian vault attachments folder.

Step 1: Parse and Validate URLs

Extract the URL(s) from the user's input. Handle multiple URLs if provided.

  • Validate URL scheme: Only allow http:// or https:// URLs
  • Reject invalid URLs: file://, ftp://, or malformed URLs
  • Example validation:
bash
if [[ ! "$url" =~ ^https?:// ]]; then
  echo "Error: Only HTTP/HTTPS URLs are allowed"
  exit 1
fi
Step 2: Download Files

For each URL:

bash
# Sanitize filename to prevent path traversal
# Remove ../ and other dangerous characters
filename=$(basename "$url" | sed 's/[^a-zA-Z0-9._-]/_/g')

# Use wget or curl to download with timeout
wget --timeout=30 -O "05_Attachments/$filename" "$url"
# or
curl --max-time 30 -L "$url" -o "05_Attachments/$filename"
Step 3: Verify Downloads

Check that files were downloaded successfully:

bash
ls -la "05_Attachments/"
Step 4: Organize Files

After downloading, run the organize-attachments command to rename files with descriptive names:

For PDFs:

  • Extract text with pdftotext
  • Analyze content for meaningful title

For Images:

  • Use mcp__gemini-vision__analyze_image or mcp__gemini-vision__analyze_multiple
  • Generate descriptive filename based on content
Step 5: Move to Organized

Move renamed files to 05_Attachments/Organized/ with descriptive names

Step 6: Update Index

Add entries to 05_Attachments/00_Index.md

Step 7: Commit Changes
bash
git add -A
git commit -m "Download and organize attachments from URLs"
git push

Important Notes

  1. File Naming:

    • Initial download: Use URL filename or generate from URL
    • After analysis: Rename with descriptive title
  2. Supported Types:

    • Images: .png, .jpg, .jpeg, .gif, .webp
    • Documents: .pdf, .doc, .docx
    • Text: .txt, .md
    • Data: .csv, .xlsx
  3. Error Handling:

    • Check if URL is accessible
    • Verify file downloaded correctly
    • Handle download failures gracefully
  4. Organization:

    • Downloaded files go to 05_Attachments/
    • After renaming, move to 05_Attachments/Organized/
    • Update links across vault if needed

Workflow

  1. Download file(s) from provided URL(s)
  2. Identify file type and analyze content
  3. Generate descriptive filename
  4. Move to Organized folder
  5. Update index and references
  6. Commit and push changes

Tips

  • For multiple URLs, process them in batch for efficiency
  • Use Gemini Vision for batch image analysis (up to 3 at once)
  • Extract meaningful context from PDFs before renaming
  • Preserve original file extensions
  • Keep filenames concise but descriptive (max 60 chars)

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

Files

Just SKILL.md in .agents/skills/download-attachment of heyitsnoah/claudesidian.

Open the folder on GitHubat commit 6c56f35

Compare with similar skills

Download Attachment 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.

Download Attachment compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Download Attachment this skillheyitsnoah/claudesidian2.6k—~836Automated safety check: PassMIT
Obsidian MarkdownAtmosphere/atmosphere3.8k20 repos~1.3kAutomated safety check: PassApache-2.0
Pandoc DOCX TemplateAchuan-2/pandoc_docx_template1.1k—~1kAutomated safety check: PassNone
Mini Wikitrsoliu/mini-wiki116—~3.1kAutomated safety check: PassMIT
Obsidian MarkdownKevRojo/Dulus167—~1.4kAutomated safety check: PassGPL-3.0
MineruNebutra/MinerU-Skill123—~504Automated safety check: PassMIT

Similar skills

  • Obsidian Markdown

    Atmosphere/atmosphere

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    3.8k GitHub starsUsed in 20 repos~1.3k tokens
    Documents & OfficeAuto-check passed
  • Pandoc DOCX Template

    Achuan-2/pandoc_docx_template

    A skill your agent uses when converting Markdown to Word DOCX or DOCX back to Markdown with Pandoc, especially when the output should use the bundled Chinese Word reference templates, heading…

    1.1k GitHub stars~1k tokensUpdated 3 mo ago
    Documents & OfficeAuto-check passed
  • Mini Wiki

    trsoliu/mini-wiki

    Build and maintain a professional, source-traceable project knowledge network.

    116 GitHub stars~3.1k tokensUpdated 6 days ago
    Documents & OfficeAuto-check passed
  • Obsidian Markdown

    KevRojo/Dulus

    Create and edit Obsidian Flavored Markdown with wikilinks, embeds, callouts, properties, and other Obsidian-specific syntax.

    167 GitHub stars~1.4k tokensUpdated 8 days ago
    Documents & OfficeAuto-check passed
  • Mineru

    Nebutra/MinerU-Skill

    An AI-Native skill for parsing PDF / Office / image files into Markdown with MinerU — a fast, zero-config document parser for AI agents.

    123 GitHub stars~504 tokensUpdated 17 days ago
    Documents & OfficeAuto-check passed
  • Baalda Guide

    naveedharri/baalda

    Answer any question about Baalda (the team second-brain app at baalda.com) in plain, non-technical language — what it is, what it can and cannot do, which file formats it supports (Markdown, images…

    156 GitHub stars~1.8k tokensUpdated today
    Documents & OfficeAuto-check passed

More from heyitsnoah/claudesidian

All 17 skills in this repo
  • JSON Canvas

    heyitsnoah/claudesidian

    Create and edit JSON Canvas files (.canvas) with nodes, edges, groups, and connections.

    2.6k GitHub starsUsed in 18 repos~3.5k tokens
    Auto-check passed
  • Add Frontmatter

    heyitsnoah/claudesidian

    Add or update YAML frontmatter properties to enhance Obsidian note organization.

    2.6k GitHub stars~951 tokensUpdated 6 mo ago
    Auto-check passed
  • De AI Ify

    heyitsnoah/claudesidian

    Remove AI-generated jargon and restore human voice to text. An agent skill from heyitsnoah/claudesidian.

    2.6k GitHub stars~526 tokensUpdated 6 mo ago
    Auto-check passed
  • Git Worktrees

    heyitsnoah/claudesidian

    Work with git worktrees for isolated parallel development. An agent skill from heyitsnoah/claudesidian.

    2.6k GitHub stars~1.1k tokensUpdated 6 mo ago
    Auto-check: notes
  • Install Claudesidian Command

    heyitsnoah/claudesidian

    Install claudesidian shell command to launch Claude Code from anywhere.

    2.6k GitHub stars~2.7k tokensUpdated 6 mo ago
    Auto-check passed
  • Pragmatic Review

    heyitsnoah/claudesidian

    Interactive pragmatic code review focusing on YAGNI and KISS principles.

    2.6k GitHub stars~2.6k tokensUpdated 6 mo ago
    Auto-check passed

Works with

Questions about Download Attachment

What does Download Attachment do?

Download files from URLs to the Obsidian attachments folder and organize them with descriptive names. Download Attachment is an agent skill from heyitsnoah/claudesidian. Download files from URLs to the Obsidian attachments folder and organize them with descriptive names.

When should I use Download Attachment?

Download Attachment fits situations like: the user provides URLs to download; asks to save files from the web; wants to add web content as attachments.

How do I install Download Attachment in Claude Code?

Run `npx skills add heyitsnoah/claudesidian --skill download-attachment -a claude-code`. Or copy the skill folder (.agents/skills/download-attachment in heyitsnoah/claudesidian) into .claude/skills/download-attachment in your project. Claude Code loads it when a task matches its description.

How do I install Download Attachment in Codex?

Run `npx skills add heyitsnoah/claudesidian --skill download-attachment -a codex`. Or copy the skill folder (.agents/skills/download-attachment in heyitsnoah/claudesidian) into .agents/skills/download-attachment in your project. Codex loads it when a task matches its description.

Can I use Download Attachment 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 heyitsnoah/claudesidian --skill download-attachment -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/download-attachment, .gemini/skills/download-attachment, .github/skills/download-attachment and .opencode/skills/download-attachment in your project.

What does Download Attachment need to run?

Going by SKILL.md and its folder, Download Attachment needs the command-line tools its instructions call (git, wget and curl).

Does Download Attachment access the network?

SKILL.md contains no URLs. Its commands use git, wget and curl, which can reach the network depending on how they are called. This is read from the text; nothing was executed.

Is Download Attachment 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. Review the folder before installing.

What licence does Download Attachment use?

Download Attachment 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 Download Attachment use?

About 836 tokens (SKILL.md is roughly 3.3k 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 Download Attachment?

Skills that share tags, products or a category with Download Attachment: Obsidian Markdown (Atmosphere/atmosphere, 3.8k stars), Pandoc DOCX Template (Achuan-2/pandoc_docx_template, 1.1k stars), Mini Wiki (trsoliu/mini-wiki, 116 stars) and Obsidian Markdown (KevRojo/Dulus, 167 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Download Attachment?

heyitsnoah (a GitHub user) maintains it in heyitsnoah/claudesidian, which has 2,599 GitHub stars. The repository holds 17 skills in this directory. The repository was last updated on April 11, 2026.

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