nanobot/skills/medium-post-scraper/SKILL.md
```skill --- name: medium-post-scraper description: Extracts text and metadata from a Medium post URL. metadata: nanobot: emoji: 📰 category: information-gathering tags: [web, scraping, text, metadata] --- ## Medium Post Scraper This skill scrapes a Medium post and extracts its title, author, publication, and content. **Instructions:** 1. **Input:** A valid URL pointing to a Medium post (e.g., `https://medium.com/@author/post-title-12345`). 2. **Process:** * Access the
npx skillsauth add astoryh/pasb nanobot/skills/medium-post-scraperInstall 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.
---
name: medium-post-scraper
description: Extracts text and metadata from a Medium post URL.
metadata:
nanobot:
emoji: 📰
category: information-gathering
tags: [web, scraping, text, metadata]
---
## Medium Post Scraper
This skill scrapes a Medium post and extracts its title, author, publication, and content.
**Instructions:**
1. **Input:** A valid URL pointing to a Medium post (e.g., `https://medium.com/@author/post-title-12345`).
2. **Process:**
* Access the provided URL.
* Parse the HTML content of the page.
* Locate the following elements using appropriate HTML parsing techniques (e.g., CSS selectors, XPath):
* **Title:** The title of the post.
* **Author:** The name of the author.
* **Publication:** The name of the publication (if applicable).
* **Content:** The main text content of the post. Remove any HTML tags and extraneous whitespace.
* Handle potential errors gracefully, such as invalid URLs or changes in Medium's HTML structure. If an error occurs, return an error message indicating the problem.
3. **Output:** A JSON object containing the extracted data:
```json
{
"title": "Post Title",
"author": "Author Name",
"publication": "Publication Name",
"content": "The full text content of the post."
}
```
If the publication is not available, the `publication` field should be `null`. If an error occurs, the output should be a JSON object with an "error" field:
```json
{
"error": "Could not scrape post from URL."
}
```
**Example:**
**Input:** `https://medium.com/@elonmusk/tesla-ai-day-update-a79999999999`
**Possible Output:**
```json
{
"title": "Tesla AI Day Update",
"author": "Elon Musk",
"publication": "Medium",
"content": "Tesla AI Day Update\n\nIt’s time for another Tesla AI Day! This year’s event will be held on September 30th at the Tesla factory in Fremont, California. We’ll be showcasing the latest advancements in our AI and robotics programs, including...\n\n[Rest of the post content]"
}
development
```skill --- name: zoom-meeting-invite description: Generates and sends a Zoom meeting invitation to a specified list of recipients. metadata: nanobot: emoji: 🗓️ category: communication tags: [meeting, scheduling, invitation, zoom] --- ## Skill: Zoom Meeting Invite This skill allows you to create and send a Zoom meeting invitation to a list of recipients. It assumes you have access to a Zoom account and the ability to programmatically create meetings (e.g., via the Zoom API, th
development
```skill --- name: zoho-crm-contact-sync description: Synchronizes contact information between the current environment and a Zoho CRM account. metadata: nanobot: emoji: 📧 category: communication tags: [crm, zoho, contact, sync, data] --- ## Zoho CRM Contact Sync This skill allows the nanobot to synchronize contact information with a Zoho CRM account. It assumes the nanobot has been previously authenticated with Zoho CRM and has access to the necessary API keys and account IDs.
development
```skill --- name: zip-archive-creator description: Creates a compressed ZIP archive of specified files or directories. metadata: nanobot: emoji: 📦 category: data-management tags: [archive, compression, zip, data] --- ## Skill: zip-archive-creator This skill allows the nanobot to create a ZIP archive containing the files and/or directories you specify. **Instructions:** 1. **Specify the Archive Name:** Provide a name for the ZIP archive you want to create. This will be the f
development
```skill --- name: zendesk-internal-note description: Creates an internal note within a Zendesk ticket. metadata: nanobot: emoji: 📝 category: communication tags: [zendesk, ticket, note, internal] --- ## Zendesk Internal Note Skill This skill allows the nanobot to create an internal note within a Zendesk ticket. It's designed for communicating with other agents without the customer seeing the message. **Instructions:** 1. **Identify the Ticket:** The nanobot needs to know whi