.claude/skills/ingest-devto/SKILL.md
Extract article content from dev.to posts for wiki ingestion. Uses dev.to public API, no auth required.
npx skillsauth add RonanCodes/llm-wiki ingest-devtoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Extract the full content of a dev.to article using the public API.
Matches URLs with these patterns:
https://dev.to/{username}/{article-slug}https://dev.to/{username}/{article-slug}-{id}https://www.dev.to/{username}/{article-slug}Parse the URL to extract the username and article slug:
https://dev.to/{username}/{article-slug}Fetch the article via the dev.to public API using the path:
curl -s "https://dev.to/api/articles/{username}/{article-slug}"
This returns a JSON object with the full article content.
Parse JSON response:
title — article titledescription — short description/subtitlebody_markdown — full article content in markdown (this is the primary content)body_html — HTML version (fallback if markdown is insufficient)user.name — author's display nameuser.username — author's dev.to usernamepublished_at — ISO 8601 publish dateedited_at — last edit date (if edited)tags — array of tag stringscanonical_url — canonical URL (may differ if cross-posted)cover_image — cover image URL (if present)positive_reactions_count — total reactionscomments_count — number of commentsreading_time_minutes — estimated read timeurl — the dev.to URLThe body_markdown field contains the raw markdown as written by the author, which is the cleanest source. Use this directly as the article content.
After extracting the article content from body_markdown:
Find image URLs in the markdown:
 markdown image syntaxhttps://res.cloudinary.com/practicaldev/... or https://dev-to-uploads.s3.amazonaws.com/...Download each image to vault's raw/assets/:
VAULT="vaults/<vault-name>"
mkdir -p "$VAULT/raw/assets"
# For each image URL:
FILENAME="<article-slug>-img-<NN>.<ext>"
curl -sL -o "$VAULT/raw/assets/$FILENAME" "<image-url>"
# Before:

# After:

curl -sL -o "$VAULT/raw/assets/<article-slug>-cover.<ext>" "<cover_image_url>"
raw/devto-{article-slug}.md with YAML header:---
source-url: <dev.to-url>
title: "<title>"
author: "<name> (@<username>)"
date-fetched: <today>
source-type: article
published: <published_at>
tags: [<tag1>, <tag2>, ...]
reactions: <positive_reactions_count>
comments: <comments_count>
reading-time: <reading_time_minutes>min
canonical-url: "<canonical_url>"
images-downloaded: <count>
---
body_markdown content directly (it's already markdown)curl -s "https://dev.to/api/articles/{username}/{slug}" — returns full markdown, no auth neededcurl -s "https://dev.to/api/articles?url=<canonical-url>" — returns array, use first result, then fetch full article by ID: curl -s "https://dev.to/api/articles/{id}"curl -sL "<dev.to-url>" — the article content is in the page HTML within <div id="article-body">. Extract readable content as per ingest-web skill.None — uses only curl.
data-ai
Extract transcript from a YouTube video as clean readable text. Use when user shares a youtube.com or youtu.be link and wants the transcript, content summary, or to read what was said.
development
Page type templates and frontmatter conventions for LLM Wiki pages. Reference skill loaded by ingest, query, and lint skills to ensure consistent wiki structure.
testing
Show status of all LLM Wiki vaults — page counts, source counts, last activity, and git status. Use when user wants to see vault status, list vaults, or check wiki health.
documentation
Import an existing Obsidian vault, markdown folder, or git repo as an llm-wiki vault. Moves content into vaults/, adds missing structure (index, log, CLAUDE.md, frontmatter). Use when user wants to import, adopt, migrate, or bring in an existing knowledge base.