
Description
Create public source-tracking collections on Semble after posting threads. Creates a Semble collection linking the thread post and all cited sources with notes on what claims they support. Use after posting any thread with cited sources, or when the user asks to track sources on-protocol.
SKILL.md
Semble Source Tracking
After posting a thread, create a Semble collection that links the thread and its sources. This makes sourcing publicly auditable on ATProto.
Workflow
- Draft a YAML file describing the thread and its sources
- Run
cite-sources.tsto create the Semble collection - Verify at
https://semble.so/profile/{handle}
YAML Format
collection: "Thread Title — Sources"
description: "Source citations for thread on [topic] ([date])"
thread:
url: https://bsky.app/profile/{handle}/post/{rkey}
note: "Brief description of the thread's content and claims"
sources:
- url: https://example.com/article
note: "What specific claim this source supports"
connectionType: SUPPORTS # optional, defaults to SUPPORTS
- url: https://other.com/report
note: "What specific claim this source supports"
connectionType: OPPOSES # RELATED | SUPPORTS | OPPOSES | ADDRESSES | HELPFUL | EXPLAINER | LEADS_TO | SUPPLEMENTS
Important: Always include the thread field. The thread post itself is the anchor — it connects sources to the content they support. Without it, the collection is just a list of links with no context.
Each source note should explain what claim it supports, not just describe the article. Good: "Confirms supply-chain risk designation effective immediately on March 5. Notes designation historically reserved for foreign adversaries (Huawei precedent)." Bad: "Reuters article about Anthropic."
Running
# From file
npx tsx skills/semble-sources/scripts/cite-sources.ts --input sources.yaml
# From stdin
cat sources.yaml | npx tsx skills/semble-sources/scripts/cite-sources.ts
Requires the same env vars as social-cli: ATPROTO_HANDLE, ATPROTO_APP_PASSWORD, ATPROTO_PDS.
Dependencies
@cosmik.network/semble-pds-client(installed in social-cli)@atproto/identity(peer dep, installed in social-cli)
Notes
- Collections are publicly visible at
semble.so/profile/{handle} - Cards auto-fetch URL metadata (title, description, author, image)
- The Semble API at
api.semble.socan query cards and collections programmatically - When a
threadis specified, connections are automatically created from each source → thread usingnetwork.cosmik.connectionrecords written directly to the PDS - Default connection type is
SUPPORTS— override per-source withconnectionTypein YAML - Connection types: RELATED, SUPPORTS, OPPOSES, ADDRESSES, HELPFUL, EXPLAINER, LEADS_TO, SUPPLEMENTS
- Connections are visible on each card's Semble page under the Connections tab
More skills from the social-cli repository
View all 3 skillsMore from Letta
View publisheracquiring-skills
discover and install agent skills
letta-code
Jul 13AgentsAutomationGitHubContext Doctor
repair system prompt and memory degradation
letta-code
Jul 13AgentsAI ContextDebuggingconverting-mcps-to-skills
connect MCP servers to create skills
letta-code
Jul 13AgentsAutomationMCPcreating-mods
create and edit Letta Code mods
letta-code
Jul 23AgentsAutomationCodingcreating-skills
create and update agent skills
letta-code
Jul 13AgentsDocumentationPlugin Developmentcustomizing-commands
create and manage Letta slash commands
letta-code
Jul 13AgentsAutomationCLI