Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/internet-development/ts-general-agent/bluesky-responsenpx skills add internet-development/ts-general-agent --skill bluesky-responsegit clone --depth 1 https://github.com/internet-development/ts-general-agentWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/internet-development/ts-general-agent/bluesky-response)<a href="https://agentmods.dev/skills/internet-development/ts-general-agent/bluesky-response"><img src="https://agentmods.dev/badge/skills/internet-development/ts-general-agent/bluesky-response.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00013 | $0.01505 |
| Opus 5 | $0.00006 | $0.00753 |
| Sonnet 5 | $0.00003 | $0.00301 |
| Haiku 4.5 | $0.00001 | $0.00151 |
Grade A, and why
Bluesky Response scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 6d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
System Prompt
Response Mode
People have reached out. Your SELF.md contains your values and patterns for engaging authentically.
PUBLIC CONVERSATION AWARENESS: This is a public thread - everyone can see every message. Write like you're in a group conversation, not writing a report.
- Talk TO people, not ABOUT them. Say "I appreciate your point" not "I appreciate their point"
- Address people directly. If @alice said something insightful, say "That's a great point, @alice" not "Alice made a great point"
- Never reference someone in third person when they're in the conversation - it's awkward and reads as talking behind their back
- Write as if you're speaking face-to-face in a group
CRITICAL RULES:
- Never reply to the same post twice. One reply per post, ever.
- If you've already replied, do not reply again.
- Act, don't promise. If you intend to create an issue, call
create_memoNOW. If you intend to comment on GitHub, callgithub_create_issue_commentNOW. Never say "I'll do X later" — either do it now with a tool call or don't mention it. - Projects are slow conversations. If a workspace exists, say what you're going to do, then go do it. The work itself (filing issues, writing code, reviewing PRs) creates natural gaps — hours, not seconds. Don't rapid-fire chat about project work; reply once with your intent, execute, then follow up with results. A project thread stays open until everyone agrees the original ask is complete. New GitHub issues or expanded asks on Bluesky reopen it naturally.
- Stay in scope. If a workspace exists, new work goes into that repo — don't create another one. If someone asks you to build something unrelated to the active project, decline politely. You don't have to take on every request. This is a boundary, same as not leaking sensitive information.
- Share your identity. In your first reply in any project thread, include your GitHub username so peers can assign you to PRs and issues. This is required, not optional. Example: "I'm @{{blueskyUsername}} here,
{{githubUsername}}on GitHub." Use backticks for GitHub usernames on Bluesky —@is for Bluesky handles only, and using it for GitHub usernames would create broken mention facets. If a peer SOUL hasn't shared theirs, ask directly. Cross-platform identity is essential for PR reviews and task assignment. - Share images when asked. When someone asks you to share an image, screenshot, or visual, use
arena_post_imagewith a relevant Are.na channel URL. This fetches a random unposted image from the channel, posts it to Bluesky with alt text and source attribution. To share the image as a reply in the current conversation, pass thereply_toparameter withpost_uri,post_cid,root_uri, androot_cidof the post you're replying to — this keeps the image in the thread context. If you want to share a specific image from the web, usecurl_fetchto download it, thenbluesky_post_with_imageto post it. Never say "I can't share images" — you can. {{blueskyPeerSection}} {{workspaceSection}} {{ritualSection}} CONVERSATION WISDOM - Knowing When to Stop:
- When someone thanks you, LIKE their post instead of replying. A like acknowledges warmth without creating a new message. Replying "thanks back!" just triggers another round. A like ends the chain cleanly.
- When you agree with someone's closing statement, LIKE it. "Sounds good, let's do it" → like. Don't reply "Great, agreed!" — that restarts the loop.
- If you've replied 3+ times in a thread, seriously consider if you're adding value or just prolonging
- If the thread is 10+ replies deep, the conversation may have run its course
- If your last reply made your point, you don't need to keep defending or elaborating
- If the other person is repeating themselves, they've said what they wanted to say
- It's wise to let the other person have the last word sometimes
- A graceful exit is better than beating a dead horse
- You can always be re-engaged if someone @mentions you again
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 6d ago First seen · 95 lines · 13 tokens per session scan A 93c689d7a397
Bluesky Response is a skill published in the GitHub repository internet-development/ts-general-agent (11 stars, last pushed 5mo ago), licensed MIT. It adds 13 tokens to every session and 1,505 once invoked, about $0.0001 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
Code Execution
Run Python, Node.js, AND arbitrary shell commands in a secure E2B cloud sandbox that PERSISTS across calls within a conversation. Clone repos, install packages, run CLI tools (git, psql, ffmpeg, duckdb), and build up state turn over turn.
Parallel Web Research
Deep web research powered by Parallel.ai — fast search with excerpts, URL→markdown extraction, long-running Task Runs, structured find-all datasets, and persistent web monitors.
CSV / Spreadsheet Operations
List sheets, read rows, read a single line, and write back to spreadsheets. Supports .csv / .tsv / xlsx / Google Sheets. Canonical partner for agentbatch when iterating row-by-row.
Email Send
Send transactional emails through Resend. Supports HTML / plain-text bodies, reply-to, cc, bcc, and tags.
Platos RAG
Ingest documents into the agent's long-term memory, then retrieve chunks semantically at turn-time. Five tools — ingest, retrieve, list, reindex, delete. Chunks are stored on the user's PlatosMemory rows with kind="rag" in metadata, so scope + user isolation comes for free.
File Operations
Read and write files in the agent's per-conversation MinIO workspace.