Twitter Search
sundial-org/awesome-openclaw-skills
Advanced Twitter search and social media data analysis. An agent skill from sundial-org/awesome-openclaw-skills.
Deprecated sampler that captures short windows of the Bluesky firehose, clusters trending terms and builds an HTML report; replaced by the browsing-bluesky skill.
$ npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install oaustegard/claude-skills sampling-bluesky-zeitgeist --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/sampling-bluesky-zeitgeist .claude/skills/sampling-bluesky-zeitgeist && rm -rf skills-srcUse ~/.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/
Install the "sampling-bluesky-zeitgeist" agent skill from https://github.com/oaustegard/claude-skills/tree/main/sampling-bluesky-zeitgeist into .claude/skills/sampling-bluesky-zeitgeist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sampling-bluesky-zeitgeist", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/oaustegard/claude-skills/tree/main/sampling-bluesky-zeitgeistType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install oaustegard/claude-skills sampling-bluesky-zeitgeist --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/sampling-bluesky-zeitgeist .agents/skills/sampling-bluesky-zeitgeist && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "sampling-bluesky-zeitgeist" agent skill from https://github.com/oaustegard/claude-skills/tree/main/sampling-bluesky-zeitgeist into .agents/skills/sampling-bluesky-zeitgeist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sampling-bluesky-zeitgeist", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install oaustegard/claude-skills sampling-bluesky-zeitgeist --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/sampling-bluesky-zeitgeist .cursor/skills/sampling-bluesky-zeitgeist && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "sampling-bluesky-zeitgeist" agent skill from https://github.com/oaustegard/claude-skills/tree/main/sampling-bluesky-zeitgeist into .cursor/skills/sampling-bluesky-zeitgeist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sampling-bluesky-zeitgeist", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/oaustegard/claude-skills.git --path sampling-bluesky-zeitgeist--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install oaustegard/claude-skills sampling-bluesky-zeitgeist --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/sampling-bluesky-zeitgeist .gemini/skills/sampling-bluesky-zeitgeist && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "sampling-bluesky-zeitgeist" agent skill from https://github.com/oaustegard/claude-skills/tree/main/sampling-bluesky-zeitgeist into .gemini/skills/sampling-bluesky-zeitgeist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sampling-bluesky-zeitgeist", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install oaustegard/claude-skills sampling-bluesky-zeitgeistInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .github/skills && cp -r skills-src/sampling-bluesky-zeitgeist .github/skills/sampling-bluesky-zeitgeist && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "sampling-bluesky-zeitgeist" agent skill from https://github.com/oaustegard/claude-skills/tree/main/sampling-bluesky-zeitgeist into .github/skills/sampling-bluesky-zeitgeist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sampling-bluesky-zeitgeist", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install oaustegard/claude-skills sampling-bluesky-zeitgeist --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/oaustegard/claude-skills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/sampling-bluesky-zeitgeist .opencode/skills/sampling-bluesky-zeitgeist && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "sampling-bluesky-zeitgeist" agent skill from https://github.com/oaustegard/claude-skills/tree/main/sampling-bluesky-zeitgeist into .opencode/skills/sampling-bluesky-zeitgeist/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "sampling-bluesky-zeitgeist", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
sampling-bluesky-zeitgeistDeprecated sampler that captures short windows of the Bluesky firehose, clusters trending terms and builds an HTML report; replaced by the browsing-bluesky skill.
The skill's own header says it has been folded into `browsing-bluesky`, which offers firehose sampling through a `sample_firehose()` function, and the rest is legacy documentation. The legacy workflow installs `ws` and `https-proxy-agent` with npm, then runs three consecutive 10-second samples with `scripts/zeitgeist-sample.js`, each saved as JSON.
The agent then aggregates the windows: total posts, posts per second, merged top words, phrases and entities, and per-minute rates. Related terms are grouped into named clusters with a search query, mention counts, a trend marked up, down or stable by a 30 percent change between the first and last window, and a few sample posts. Finally it copies an HTML template from `assets/`, injects the data object following the schema in `references/artifact-template.md`, and summarizes the dominant clusters in prose.
5 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 90b0f1b. It shows what the files ask for, not the result of running them.
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.
Ships 1 file in scripts/ (JavaScript), which the agent can run.
Shell commands in SKILL.md call:
nodenpmFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use npm, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bluesky Zeitgeist Sampler loads about 1.4k tokens when it runs, and up to ~2k if it reads all its reference files. Until then it costs about 82 tokens; SKILL.md has 534 words of instructions outside code blocks.
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.
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.
The full file from oaustegard/claude-skills at commit 90b0f1b, republished under its MIT licence (© oaustegard). 534 words, ~1,427 tokens.
.claude/skills/sampling-bluesky-zeitgeist/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.⚠️ DEPRECATED: This skill has been consolidated into the browsing-bluesky skill.
Use browsing-bluesky for firehose sampling via the sample_firehose() function.
Capture and analyze multiple windows of Bluesky firehose data, identify content clusters, and present results showing both individual sample windows and aggregate trends.
Install dependencies:
cd /home/claude && npm install ws https-proxy-agent 2>/dev/nullExecute 3 consecutive 10-second samples:
node /mnt/skills/user/sampling-bluesky-zeitgeist/scripts/zeitgeist-sample.js --duration 10 > /home/claude/sample1.json 2>/dev/null
node /mnt/skills/user/sampling-bluesky-zeitgeist/scripts/zeitgeist-sample.js --duration 10 > /home/claude/sample2.json 2>/dev/null
node /mnt/skills/user/sampling-bluesky-zeitgeist/scripts/zeitgeist-sample.js --duration 10 > /home/claude/sample3.json 2>/dev/nullParse each JSON file and aggregate:
(count / totalDurationSec) * 60Group related terms into thematic clusters. For each cluster:
"trump OR republican OR congress")(totalMentions / totalDurationSec) * 60Copy template and inject DATA:
cp /mnt/skills/user/sampling-bluesky-zeitgeist/assets/zeitgeist-template.html /mnt/user-data/outputs/zeitgeist.htmlThen use str_replace to inject the DATA object:
old_str: const DATA = {"aggregate":{"totalPosts":0,"totalDurationSec":30,"avgPostsPerSecond":0,"timestamp":""},"windows":[],"clusters":[],"entities":[],"phrases":[],"languages":{}};
new_str: const DATA = {YOUR_ACTUAL_DATA_OBJECT};See references/artifact-template.md for the complete DATA schema.
Present the artifact link, then provide a brief prose summary:
Keep the summary brief — the artifact is the main deliverable.
When user asks to refresh/update/sample again:
For comparison, track previous aggregate totals and show delta:
Previous: trump 50/min → Current: trump 62/min (+24%)When user specifies a topic to monitor (e.g., "track the Lakers game", "what's happening with the drone sightings"):
Run samples with the --filter flag to capture only matching posts:
node zeitgeist-sample.js --duration 15 --filter "lakers" > /home/claude/topic1.json 2>/dev/nullThis gives deeper analysis of a specific topic but misses broader context.
Run general samples, then:
In the DATA object, add a monitoredTopic field:
{
"monitoredTopic": {
"query": "lakers",
"totalMentions": 45,
"mentionsPerMin": 90.0,
"trend": "up",
"windowCounts": [12, 15, 18],
"samples": ["Lakers up by 10 in the 4th!", "LeBron with another triple double"]
}
}At start of conversation:
Mid-conversation:
Follow-up pattern: User: "refresh but focus on the game" → Run new samples, keep monitored topic, update all data
If WebSocket connection fails:
*.bsky.network is in allowed domainsIf sample returns zero posts:
User may request:
© oaustegard, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files (scripts, references, assets) in sampling-bluesky-zeitgeist of oaustegard/claude-skills.
Open the folder on GitHubat commit 90b0f1b
Bluesky Zeitgeist Sampler 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bluesky Zeitgeist Sampler this skilloaustegard/claude-skills | 150 | — | ~1.4k | Automated safety check: Pass | MIT | |
| Twitter Searchsundial-org/awesome-openclaw-skills | 663 | — | ~2.3k | Automated safety check: Pass | None | |
| Web3 Data Explorerinternet-court/internet-court-skill | 6.6k | 1 repos | ~2k | Automated safety check: Pass | MIT | |
| Social Pulse Monitoraaron-he-zhu/aaron-marketing-skills | 2.9k | — | ~3.3k | Automated safety check: Pass | Apache-2.0 | |
| Meridian MMM Model Buildinggoogle/meridian | 1.6k | — | ~2.5k | Automated safety check: Pass | Apache-2.0 | |
| 13 Data Analysis Globalminhnv0807/ai-business-skills | 609 | — | ~4k | Automated safety check: Pass | MIT |
sundial-org/awesome-openclaw-skills
Advanced Twitter search and social media data analysis. An agent skill from sundial-org/awesome-openclaw-skills.
internet-court/internet-court-skill
Queries on-chain data with the Chainbase CLI and tracks crypto social trends: token holders and prices, wallet balances, ENS names, narratives and KOL signals.
aaron-he-zhu/aaron-marketing-skills
A skill your agent uses when the user asks to "monitor brand mentions", "set up social listening", "did anything spike about us this week", or "watch these accounts for buying triggers"; runs…
google/meridian
Takes a user through building a Meridian marketing mix model, from loading CSV data and mapping columns to running EDA, fitting and saving the model.
minhnv0807/ai-business-skills
A skill your agent uses when raw data exists — Meta, Google, TikTok, GA4, Shopify, a CRM export, or a spreadsheet — and has to become insight and decisions: descriptive, diagnostic, predictive, and…
franklee16/academic-research-skills
A skill your agent uses when turning results into an explicit contribution to international-business theory for a Journal of International Business Studies (JIBS) manuscript — stating what the field…
oaustegard/claude-skills
Builds interactive Vega-Lite charts from uploaded data: analyzes the fields, picks five to ten fitting chart types, and produces a React artifact with the data embedded inline.
oaustegard/claude-skills
Builds self-contained single-file HTML pages such as reports, decks, postmortems, flowcharts and prototypes from a small spec using a bundled Python composer and templates.
oaustegard/claude-skills
Routes, triages, flags and rates a piece of text with a probability for every option: which department or queue a ticket goes to, which intent a message expresses, whether a yes/no condition holds…
oaustegard/claude-skills
Rewrites model-sounding prose into plain technical writing and checks that every claim survives, for PR text, docs, commit messages and similar drafts.
oaustegard/claude-skills
Guides building standards-based Preact apps with native-first choices, HTM syntax, import maps and vendored ESM, from single-file demos to larger builds.
oaustegard/claude-skills
Has a fresh-context adversary attack a blog post, recommendation, analysis brief or piece of code before you ship it, using a profile suited to that kind of artifact.
Categories
Deprecated sampler that captures short windows of the Bluesky firehose, clusters trending terms and builds an HTML report; replaced by the browsing-bluesky skill. The skill's own header says it has been folded into `browsing-bluesky`, which offers firehose sampling through a `sample_firehose()` function, and the rest is legacy documentation.js`, each saved as JSON.
Bluesky Zeitgeist Sampler fits situations like: maintaining older setups that still reference this skill; seeing how the legacy firehose sampling and clustering workflow worked; finding out which skill replaced it.
Run `npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a claude-code`. Or copy the skill folder (sampling-bluesky-zeitgeist in oaustegard/claude-skills) into .claude/skills/sampling-bluesky-zeitgeist in your project. Claude Code loads it when a task matches its description.
Run `npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a codex`. Or copy the skill folder (sampling-bluesky-zeitgeist in oaustegard/claude-skills) into .agents/skills/sampling-bluesky-zeitgeist in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add oaustegard/claude-skills --skill sampling-bluesky-zeitgeist -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/sampling-bluesky-zeitgeist, .gemini/skills/sampling-bluesky-zeitgeist, .github/skills/sampling-bluesky-zeitgeist and .opencode/skills/sampling-bluesky-zeitgeist in your project.
Going by SKILL.md and its folder, Bluesky Zeitgeist Sampler needs JavaScript for the scripts in its folder and the command-line tools its instructions call (node and npm). Our summary lists: Node.js with the `ws` and `https-proxy-agent` packages; Network access to the Bluesky firehose.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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.
Bluesky Zeitgeist Sampler is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.4k tokens (SKILL.md is roughly 5.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 542 tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Bluesky Zeitgeist Sampler: Twitter Search (sundial-org/awesome-openclaw-skills, 663 stars), Web3 Data Explorer (internet-court/internet-court-skill, 6.6k stars), Social Pulse Monitor (aaron-he-zhu/aaron-marketing-skills, 2.9k stars) and Meridian MMM Model Building (google/meridian, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
oaustegard (a GitHub user) maintains it in oaustegard/claude-skills, which has 150 GitHub stars. The repository holds 67 skills in this directory. The repository was last updated on October 9, 2026.
Source: oaustegard/claude-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.