Manage and fetch social media content to create or edit Hot Tips.
Install
mkdir -p .claude/skills/tip && curl -L -o skill.zip "https://agentskills.codes/api/skills/download/9595" && unzip -o skill.zip -d .claude/skills/tip && rm skill.zipInstalls to .claude/skills/tip
Activation
This is the description your AI agent reads to decide when to run this skill — the better it matches your request, the more reliably it fires.
Create a new Hot Tip for wesbos.comKey capabilities
- →Fetch social post data
- →List recent social posts
- →Create MDX tip files
How it works
It fetches social media content via scripts and formats it into standardized MDX files for the website.
Inputs & outputs
When to use tip
- →Fetch content from a social URL
- →List recent social posts
- →Create a new tip from a post
About this skill
tip
When to use
When the user asks to create a new tip or edit an existing one. Tips are short-form Hot Tips originally posted to social media (X/Twitter, LinkedIn, TikTok, Instagram, Threads, Bluesky, YouTube Shorts, Reddit, Facebook). The input may be as little as a single social media link.
Creating a new tip
1. Gather the content
- The user will provide the tip text and/or a link to a social media post. They may also accompany a description and/or some code samples.
- Use
fetchSocial.tsto pull post data from a social media URL. It reuses the project's fetchers (src/lib/socials/) without needing the app's DB or Cloudflare worker. Run it with:
It outputs JSON to stdout (status messages go to stderr). Supports: tiktok, twitter (needspnpm fetch-social <url>X_BEARER_TOKENenv var), linkedin, instagram, bluesky. Key fields vary by platform — look fordesc/full_text/headlinefor the post text andcreateTime/createdAt/datePublishedfor the date. - Use
listPosts.tsto list recent posts or search by keyword. Run it with:
Returns a JSON array ofpnpm list-posts [twitter|bluesky|all] [search query]{ platform, id, url, text, date }objects sorted by date. Supports twitter and bluesky (these have public/API-accessible feeds). Use this to find the post URLs for a tip when the user describes it but doesn't provide links. Search is only supported on twitter — bluesky always returns the latest posts. - If
fetchSocial.tsreturns no data (some platforms block server-side fetches for certain posts), fall back to the browser MCP: navigate to the URL, wait for load, snapshot/screenshot to read the content. - For Instagram, TikTok, and LinkedIn, there is no feed listing API — use web search or the browser MCP to find specific post URLs on those platforms.
- Tips are short — typically a few lines of text, sometimes with code snippets, screenshots, or video.
2. Create the file
New tips should be standalone .mdx files in src/content/tips/:
src/content/tips/<slug>.mdx
If the tip has local image or video assets, create a folder instead:
src/content/tips/<slug>/
<slug>.mdx
image1.webp
video.mp4
Use kebab-case for the slug. Keep it concise and descriptive.
3. Frontmatter format
---
tags:
- js
- css
date: 2024-11-29T15:44:16.000Z
slug: my-tip-slug
links:
- https://x.com/wesbos/status/123456
- https://www.linkedin.com/posts/wesbos_...
- https://www.tiktok.com/@wesbos/video/123456
- https://www.instagram.com/reel/ABC123/
- https://www.threads.com/@wesbos/post/ABC123
- https://bsky.app/profile/wesbos.com/post/abc123
- https://www.youtube.com/shorts/abc123
---
Required fields:
tags— array of lowercase tags. Common tags:css,js,tools,html,npm,vscode,git,react,ts,frameworks,ai,httpdate— ISO 8601 format. Use the original post date if available, otherwise the current dateslug— kebab-case, must match the filename (without.mdx)
Optional fields:
links— array of URLs where the tip was posted on social media
4. Find social media links
Search the web for the tip across these platforms (use the user's handles):
| Platform | Handle / Profile URL |
|---|---|
| X/Twitter | https://x.com/wesbos |
https://www.linkedin.com/in/wesbos | |
| TikTok | https://www.tiktok.com/@wesbos |
https://www.instagram.com/wesbos | |
| Threads | https://www.threads.com/@wesbos |
| Bluesky | https://bsky.app/profile/wesbos.com |
| YouTube | https://www.youtube.com/@WesBos (Shorts) |
https://www.reddit.com/user/wesbos | |
https://www.facebook.com/wesbos.developer |
Search strategy: take a distinctive phrase from the tip and search for it along with site:x.com wesbos, site:linkedin.com wesbos, etc. Add every URL found to the links array. Note that very recent posts (within a few days) may not be indexed by search engines yet — inform the user so they can add links later.
The supported social link types in the codebase are defined in src/utils/parseSocialLinks.ts: twitter, instagram, tiktok, youtube, linkedin, threads, bluesky. Links to other platforms (reddit, facebook) can still be included but won't get rich embeds.
5. Body content
- Follow the writing style skill at
.agent/skills/wes-bos-writing-style/SKILL.md— read it before writing any tip content. Key points: casual authority, Canadian spelling (colour, favourite), short punchy sentences, no AI-sounding filler phrases like "The best part?", "Here's the thing:", "Let's dive in", etc. - Keep it short and punchy — these are social media posts, not blog articles
- Use the post's own words as much as possible. Paraphrase lightly for readability, don't rewrite.
- Code snippets use fenced code blocks with language tags. Do not include code unless you are provided with it.
- DO NOT HALLUCINATE CODE
- Reference images by filename only:
 - No title frontmatter needed — the first line of body text serves as the title
6. After creating or editing a tip
- Run
pnpm content-index— this regeneratessrc/content/index.ts. The tip won't appear on the site without this. - Unless already running, start the dev server with
pnpm dev
When not to use it
- →Writing long-form blog articles
- →Hallucinating code snippets
Prerequisites
Limitations
- →Requires social media access
- →Limited to short-form content
How it compares
It automates the content gathering and formatting process for social media tips.
Compared to similar skills
tip side by side with the closest alternatives in the catalog.
| Skill | Installs | Updated | Safety | Difficulty |
|---|---|---|---|---|
| tip (this skill) | 0 | 5mo | No flags | Intermediate |
| youtube-transcript | 68 | 9mo | Review | Intermediate |
| docx | 93 | 5mo | Review | Advanced |
| openai-whisper | 38 | 2mo | No flags | Beginner |
Try saying
Example prompts that trigger this skill in your AI assistant.
You might also like
youtube-transcript
michalparkola
Download YouTube video transcripts when user provides a YouTube URL or asks to download/get/fetch a transcript from YouTube. Also use when user wants to transcribe or get captions/subtitles from a YouTube video.
docx
anthropics
Comprehensive document creation, editing, and analysis with support for tracked changes, comments, formatting preservation, and text extraction. When Claude needs to work with professional documents (.docx files) for: (1) Creating new documents, (2) Modifying or editing content, (3) Working with tracked changes, (4) Adding comments, or any other document tasks
openai-whisper
openclaw
Local speech-to-text with the Whisper CLI (no API key).
braindump
huytieu
Quick capture of raw thoughts with intelligent domain classification and competitive intelligence extraction
prompt-library
davila7
Curated collection of high-quality prompts for various use cases. Includes role-based prompts, task-specific templates, and prompt refinement techniques. Use when user needs prompt templates, role-play prompts, or ready-to-use prompt examples for coding, writing, analysis, or creative tasks.
hr-pro
sickn33
Professional, ethical HR partner for hiring, onboarding/offboarding, PTO and leave, performance, compliant policies, and employee relations. Ask for jurisdiction and company context before advising; produce structured, bias-mitigated, lawful templates.