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/oaklight/weilink/weilinknpx skills add Oaklight/weilink --skill weilinkgit clone --depth 1 https://github.com/Oaklight/weilinkWrote 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/oaklight/weilink/weilink)<a href="https://agentmods.dev/skills/oaklight/weilink/weilink"><img src="https://agentmods.dev/badge/skills/oaklight/weilink/weilink.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 | $0.00046 | $0.00777 |
| Opus 5 | $0.00023 | $0.00388 |
| Sonnet 5 | $0.00009 | $0.00155 |
| Haiku 4.5 | $0.00005 | $0.00078 |
Grade A, and why
weilink 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 4d 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 — 74 lines — stays where its author put it; the contents beside it link to each section on GitHub.
WeiLink — WeChat Communication
Arguments: $ARGUMENTS
Available MCP Tools
Messaging
- recv — Poll for new messages (timeout configurable, default 5s)
- send — Send text, image, file, video, or voice to a WeChat user
- download — Download media from a received message by message_id
- history — Query past messages with filters (user, type, direction, time range, text search)
Session Management
- sessions — List all bot sessions and connection status
- login — Start QR code login for a new or existing session
- logout — Disconnect a session
- rename_session — Rename a bot session
- set_default — Set the default session
Quick Workflows
Check new messages
New messages are automatically injected into context when the user submits a prompt.
For explicit polling, use recv or history with a since filter.
Reply to someone
- Get the user ID from a received message (
from_userfield, format:[email protected]) - Use
sendwithto=<user_id>andtext=<reply>
Search message history
Use history with filters:
user_id— filter by contacttext_contains— full-text searchsince/until— time range (ISO 8601 or unix ms)direction— "received" or "sent"msg_type— TEXT, IMAGE, VOICE, FILE, VIDEO
Send media
Use send with the appropriate path parameter:
image_path— send an imagefile_path+file_name— send a filevideo_path— send a videovoice_path— send a voice message
Download received media
Use download with the message_id from a received message.
Files are saved to ~/.weilink/downloads/ by default (override with save_dir).
Important Notes
- Message quota: Each context_token allows 10 outbound messages. After that, wait for the user to send a new inbound message.
- Text limit: Messages must be <= 16 KiB UTF-8. Split longer content.
- Session: When multiple sessions exist,
sendauto-routes to the session holding a valid context_token for the target user. - Login: Run
loginto scan a QR code. One WeChat account can only bind to one bot at a time.
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.
- 4d ago First seen · 74 lines · 46 tokens per session scan A 4ace7c55ed4a
weilink is a skill published in the GitHub repository Oaklight/weilink (17 stars, last pushed 1mo ago), licensed MIT. It adds 46 tokens to every session and 777 once invoked, about $0.0002 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
agents-sdk-dotnet-activityhandler-migration
Use when migrating a Microsoft 365 Agents SDK agent that uses ActivityHandler or TeamsActivityHandler to AgentApplication. This is ONLY for DotNet projects that uses Microsoft.Agents. packages. Triggered by Agents SDK bots that subclass ActivityHandler or TeamsActivityHandler that need to be modernized to…
agents-sdk-typescript
Use when any code imports @microsoft/agents-hosting, @microsoft/agents-hosting-express, or related Agents SDK packages, or when the user is building, configuring, or asking questions about a Microsoft 365 Agents SDK agent in TypeScript. Trigger on questions about environment variables, connection configuration…
agents-sdk-dotnet
Use when any code imports Microsoft.Agents.Hosting.AspNetCore, Microsoft.Agents.Builder, or related Agents SDK packages, or when the user is building, configuring, or asking questions about a Microsoft 365 Agents SDK agent in C# / .NET. Trigger on questions about appsettings.json, connection configuration…
agents-sdk-python-otel
Use when adding, configuring, validating, or troubleshooting OpenTelemetry observability for a Microsoft 365 Agents SDK application in Python. Trigger when the user mentions OpenTelemetry, OTel, telemetry, traces, metrics, logs, OTLP, Aspire Dashboard, Application Insights, Azure Monitor, distributed tracing, custom…
agents-sdk-provision
Use when provisioning Azure resources for a Microsoft Agents SDK application — including creating an Azure Bot Service resource, setting up Entra app registrations, configuring identity credentials (UserManagedIdentity, FederatedCredentials, or ClientSecret), adding a Teams channel, running Bicep deployments for SSO…
agents-sdk-typescript-otel
Use when adding, configuring, validating, or troubleshooting OpenTelemetry observability for a Microsoft 365 Agents SDK application in JavaScript or TypeScript. Trigger when the user mentions OpenTelemetry, OTel, telemetry, traces, metrics, logs, OTLP, Aspire Dashboard, Application Insights, Azure Monitor, distributed…