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 skills add crypdick/pynchy --skill pynchy-plugin-authoringgit clone --depth 1 https://github.com/crypdick/pynchyWrote 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/crypdick/pynchy/pynchy-plugin-authoring)<a href="https://agentmods.dev/skills/crypdick/pynchy/pynchy-plugin-authoring"><img src="https://agentmods.dev/badge/skills/crypdick/pynchy/pynchy-plugin-authoring/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/crypdick/pynchy/pynchy-plugin-authoring"><img src="https://agentmods.dev/badge/skills/crypdick/pynchy/pynchy-plugin-authoring.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
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.00064 | $0.01005 |
| Opus 5.5 | $0.00026 | $0.00402 |
| Sonnet 5.5 | $0.00013 | $0.00201 |
| Haiku 4.5 | $0.00006 | $0.00101 |
Grade A, and why
Pynchy Plugin Authoring 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 1mo 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 — 114 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Pynchy Plugin Authoring
When To Use
Use this skill when the user asks to:
- Create a new
pynchyplugin - Add a new hook to an existing plugin
- Register/enable plugins in
config.toml - Validate plugin discovery and runtime behavior
Core Rules
- Keep plugin responsibilities narrow. One plugin can implement multiple hooks, but avoid unrelated concerns in one package.
- In the plugin repository
pyproject.toml(notpynchy/pyproject.toml), define entry points under[project.entry-points."pynchy"]. - For host runtime/channel code, treat plugin code as high trust and avoid risky side effects in import-time code.
- For plugin docs, cross-link to
pynchy/docs/plugins/*instead of duplicating long explanations. - Refer to the quickstart guide for the recommended plugin directory structure.
- Plugin config models belong in the plugin. Define Pydantic config models inside the plugin's own source file, not in
pynchy/src/pynchy/config/models.py. The coreconfig/models.pyis for pynchy core settings only.
File Scope Conventions
When this skill mentions config files, use this mapping:
- Host app config:
config.toml([plugins.<name>]entries enable repos) - Host app package metadata:
pyproject.toml - Plugin package metadata:
<plugin-repo>/pyproject.toml(entry points live here) - Plugin source:
<plugin-repo>/src/<plugin_module>/...
Authoring Workflow
Copy this checklist and complete it in order:
Plugin Authoring Checklist
- [ ] Choose plugin scope and hook categories
- [ ] Create plugin directory structure (or update existing plugin)
- [ ] Implement hook methods and runtime logic
- [ ] Add/update tests
- [ ] Configure local pynchy [plugins.<name>] entry
- [ ] Run tests and smoke checks
- [ ] Update docs if behavior is user-visible
Hook Map
pynchy_create_channel: Host-side channel instancepynchy_speech_synthesizer: Shared speech output providerpynchy_service_handler: Typed host actions (IPC dispatch)pynchy_computer_use_backend: Computer-use providerpynchy_action_specs: Semantic action contractspynchy_skill_paths: Skill directories mounted into containerpynchy_agent_core_info: Agent core implementation metadatapynchy_agent_hook_specs: Trusted agent lifecycle hook modulespynchy_container_runtime: Host container runtime providerpynchy_tunnel: Host tunnel providerpynchy_connection_runtime: Long-lived authenticated connection runtimepynchy_observer: Host event observerpynchy_webhook_routes: Authenticated webhook routespynchy_mcp_server_spec: MCP server templatepynchy_workspace_spec: Managed workspace definitionspynchy_job_specs: Config-backed jobs
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.
- 1mo ago First seen · 114 lines · 64 tokens per session scan A f2292d5d1718
Pynchy Plugin Authoring is a skill published in the GitHub repository crypdick/pynchy (10 stars, last pushed 1mo ago), licensed MIT. It adds 64 tokens to every session and 1,005 once invoked, about $0.0003 per session on Opus 5.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-31.
Other skills, from other repositories
add-dial-tool
Give chosen NanoClaw agents a real phone number as a container tool — the dial CLI baked into the agent image plus OneCLI credential injection for api.getdial.ai, scoped per agent, so the agents you pick can send SMS, place AI voice calls, and receive verification codes from inside the sandbox. Independent of the Dial…
add-opencode
Use OpenCode as an agent provider. OpenRouter, OpenAI, Google, DeepSeek, etc. via OpenCode config — not the Anthropic Agent SDK. Per group via ncl groups config update --provider opencode; host passes OPENCODE and XDG mount when spawning containers.
migrate-from-openclaw
Migrate from OpenClaw to NanoClaw v2. Detects an existing OpenClaw installation, extracts identity, channel credentials, scheduled tasks, and other config, then guides interactive migration. Triggers on "migrate from openclaw", "openclaw migration", "import from openclaw".
add-iron-proxy
Install or refresh Iron Proxy and its official Iron Control web console for NanoClaw. Use when selecting the Iron gateway, adding its management UI, configuring credentials and grants, or restoring the proxy, approval bridge, and agent guidance.
add-imessage
Add iMessage to NanoClaw — one channel, two backends. Local (this Mac's chat.db via the Chat SDK bridge; macOS + Full Disk Access) or Hosted iMessage (via photon.codes — native spectrum-ts with a device-login wizard; any OS, no Mac relay). Triggers on "add imessage", "connect imessage", "add photon", "imessage via…
add-signal
Add Signal channel integration via signal-cli device-link. Native adapter — no Chat SDK bridge.