Not in the top 1,000 by GitHub stars

Agents365-ai/365-skills

Agent skills for daily use

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

plugins/agent-native-design/skills/agent-native-design/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/assetseeker/skills/assetseeker/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/asta/skills/asta-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/bangumi-frames/skills/bangumi-frames/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/bbc/skills/bbc-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/excalidraw/skills/excalidraw-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/figshare/skills/figshare-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/grant-thinking-cn-biology/skills/grant-thinking-cn-biology/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/grant-thinking-general/skills/grant-thinking-general/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/imagencn/skills/imagencn/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/journal-abbrev/skills/journal-abbrev/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/journal-if/skills/journal-if/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/journal-meta/skills/journal-meta/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/mermaid/skills/mermaid-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/obsidian-dev-rules/skills/obsidian-dev-rules/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/obsidian-organizer/skills/obsidian-organizer/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/paper-fetch/skills/paper-fetch/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/pi-dev-rules/skills/pi-dev-rules/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/pi-plugin-cc/skills/pi-cli-runtime/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/pi-plugin-cc/skills/pi-prompting/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/pi-plugin-cc/skills/pi-result-handling/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/plantuml/skills/plantuml-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/scholar-deep-research/skills/scholar-deep-research/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/scientific-thinking-biology/skills/scientific-thinking-biology/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/scientific-thinking-general/skills/scientific-thinking/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/semanticscholar/skills/semanticscholar-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/target-prioritization/skills/target-prioritization/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/tldraw/skills/tldraw-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/tmux/skills/tmux-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/ttscn/skills/ttscn/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/videogencn/skills/videogencn/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/xfetch/skills/xfetch-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/yt2bb/skills/yt2bb/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/zenodo/skills/zenodo-skill/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

plugins/zotero-dev-rules/skills/zotero-dev-rules/SKILL.md

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 02d91076f86e

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 02d91076f86efef61d5c70ed1ab28411899063ac

git clone --filter=blob:none --no-checkout https://github.com/Agents365-ai/365-skills.git .hotskills/agents365-ai-365-skills && git -C .hotskills/agents365-ai-365-skills checkout --detach 02d91076f86efef61d5c70ed1ab28411899063ac # Copy each selected skill directory from .hotskills/agents365-ai-365-skills into .claude/skills/<skill-name>/
100GitHub stars
10stars in 7 days
36skills in this repository
8commits in 30 days

Heat

5.1
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Nov 3, 2026100

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

agent-native-design

When your agent uses it

Use when designing, reviewing, or refactoring a CLI that must serve AI agents alongside humans, or when converting an API or SDK into an agent-usable CLI interface.

What it loads into context

Frontmatter

214 tokens

Always available to the agent

SKILL.md

2,953 tokens

When the skill is activated

Reference documents

19,729 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Purpose
  2. When to use this skill
  3. When not to use this skill
  4. Core model
  5. The complete interaction loop
  6. Seven principles
  7. Standard review workflow
  8. Default output format
  9. Things this skill should avoid recommending
  10. Reference files
  11. One-sentence summary

Scripts executed separately

  • scripts/validate-metadata.sh
  • ../../../pi-plugin-cc/scripts/pi-companion.mjs

Files

  • ../../../../.claude-plugin/marketplace.jsonasset28,323 bytes
  • ../../../../.claude-plugin/marketplace.jsonasset28,323 bytes
  • ../../../../.claude-plugin/marketplace.jsonasset28,323 bytes
  • ../../../../.claude-plugin/marketplace.jsonasset28,323 bytes
  • ../../../../.claude-plugin/marketplace.jsonasset28,323 bytes
  • SKILL.mdcore13,630 bytes
  • agents/openai.yamlasset1,124 bytes
  • references/checklists.mddoc3,696 bytes
  • references/citations.mddoc4,552 bytes
  • references/design-patterns.mddoc12,673 bytes
  • references/examples.mddoc8,337 bytes
  • references/hybrid-mcp-cli.mddoc3,986 bytes
  • references/rubric.mddoc3,566 bytes
  • references/testing.mddoc12,206 bytes
  • scripts/validate-metadata.shruns2,579 bytes
  • ../../../pi-plugin-cc/.claude-plugin/plugin.jsonasset479 bytes
  • ../../../pi-plugin-cc/commands/adversarial-review.mddoc1,895 bytes
  • ../../../pi-plugin-cc/commands/adversarial-review.mddoc1,895 bytes
  • ../../../pi-plugin-cc/commands/cancel.mddoc238 bytes
  • ../../../pi-plugin-cc/commands/parallel-rescue.mddoc1,341 bytes
  • ../../../pi-plugin-cc/commands/parallel-rescue.mddoc1,341 bytes
  • ../../../pi-plugin-cc/commands/parallel-rescue.mddoc1,341 bytes
  • ../../../pi-plugin-cc/commands/parallel-rescue.mddoc1,341 bytes
  • ../../../pi-plugin-cc/commands/rescue.mddoc4,326 bytes
  • ../../../pi-plugin-cc/commands/rescue.mddoc4,326 bytes
  • ../../../pi-plugin-cc/commands/result.mddoc905 bytes
  • ../../../pi-plugin-cc/commands/review.mddoc2,338 bytes
  • ../../../pi-plugin-cc/commands/review.mddoc2,338 bytes
  • ../../../pi-plugin-cc/commands/setup.mddoc1,253 bytes
  • ../../../pi-plugin-cc/commands/setup.mddoc1,253 bytes
  • ../../../pi-plugin-cc/commands/setup.mddoc1,253 bytes
  • ../../../pi-plugin-cc/commands/setup.mddoc1,253 bytes
  • ../../../pi-plugin-cc/commands/status.mddoc791 bytes
  • ../../../pi-plugin-cc/hooks/hooks.jsonasset842 bytes
  • ../../../pi-plugin-cc/hooks/hooks.jsonasset842 bytes
  • ../../../pi-plugin-cc/hooks/hooks.jsonasset842 bytes
  • ../../../pi-plugin-cc/hooks/hooks.jsonasset842 bytes
  • ../../../pi-plugin-cc/prompts/parallel-rescue.mddoc1,065 bytes
  • ../../../pi-plugin-cc/scripts/pi-companion.mjsruns50,219 bytes

No excerpt is shown for this license. Read the source on GitHub.

View the complete source on GitHub

Skills included

  • agent-native-design
  • assetseeker
  • asta
  • bangumi-frames
  • bbc-skill
  • excalidraw
  • figshare-skill
  • grant-thinking-cn-biology
  • grant-thinking-general
  • imagencn
  • journal-abbrev
  • journal-if
  • journal-meta
  • mermaid-skill
  • obsidian-dev-rules
  • obsidian-organizer
  • paper-fetch
  • pi-dev-rules
  • pi-durable-dev-rules
  • pi-cli-runtime
  • pi-prompting
  • pi-result-handling
  • plantuml-skill
  • scholar-deep-research
  • scientific-thinking-biology
  • scientific-thinking
  • semanticscholar-skill
  • target-prioritization
  • tldraw-skill
  • tmux-skill
  • ttscn
  • videogencn
  • xfetch
  • yt2bb
  • zenodo-skill
  • zotero-dev-rules

Repository facts

License
No license detected
Created
May 6, 2026
Last pushed
Nov 2, 2026
Forks
16
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 6, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 315 notes
  • .claude-plugin/marketplace.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .claude-plugin/marketplace.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .claude-plugin/marketplace.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • .claude-plugin/marketplace.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/adversarial-review.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/parallel-rescue.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/parallel-rescue.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/parallel-rescue.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/rescue.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/review.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/setup.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/setup.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/commands/setup.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/pi-plugin-cc/hooks/hooks.json:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/assetseeker/skills/assetseeker/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/assetseeker/skills/assetseeker/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/assetseeker/skills/assetseeker/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • plugins/assetseeker/skills/assetseeker/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 3,095 signals by file

.claude-plugin/marketplace.json

  • Network accessline 16
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 17
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 18
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 36
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 37
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 38
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 55
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 56
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 57
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 73
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 74
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 75
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 92
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 93
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 94
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 110
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 111
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 112
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 138
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 139
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 140
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 158
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 159
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 160
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 181
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 182
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 183
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 201
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 202
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 203
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 222
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 223
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 224
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 250
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 251
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 252
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 272
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 273
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 274
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 294
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 295
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 296
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 313
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 314
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 315
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 336
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 337
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 338
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 357
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 358
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 359
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 378
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 379
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 380
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 403
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 404
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 405
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 429
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 430
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 431
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 451
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 452
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 453
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 474
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 475
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 476
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 494
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 495
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 496
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 515
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 516
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "CC-BY-NC-4.0",
  • Network accessline 517
    "repository": "https://github.com/Agents365-ai/365-skills",       "license": "CC-BY-NC-4.0",       "keywords": [
  • Access to secretsline 535
    [Credential-related source omitted]
  • Network accessline 538
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 539
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 540
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 559
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 560
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 561
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 579
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 580
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "CC-BY-NC-4.0",
  • Network accessline 581
    "repository": "https://github.com/Agents365-ai/365-skills",       "license": "CC-BY-NC-4.0",       "keywords": [
  • Network accessline 599
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 600
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 601
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 619
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 620
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 621
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 638
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 639
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "CC-BY-NC-4.0",
  • Network accessline 640
    "repository": "https://github.com/Agents365-ai/365-skills",       "license": "CC-BY-NC-4.0",       "keywords": [
  • Network accessline 659
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 660
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 661
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 682
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 683
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 684
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 702
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 703
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 704
    "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 723
    "name": "Agents365-ai"       },       "repository": "https://github.com/Agents365-ai/365-skills",
  • Network accessline 724
    },       "repository": "https://github.com/Agents365-ai/365-skills",       "license": "MIT",
  • Network accessline 725
    "repository": "https://github.com/Agents365-ai/365-skills",

plugins/agent-native-design/skills/agent-native-design/SKILL.md

  • Network accessline 3
    description: Use when designing, reviewing, or refactoring a CLI that must serve AI agents alongside humans, or when converting an API or SDK into an agent-usable CLI interface. license: MIT homepage: https://github.com/Agents365-ai/365-ski
  • Network accessline 4
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: Includes sidecar metadata for OpenClaw, Hermes, pi-mono, and OpenAI Codex; the core SKILL.md is portable to any agent runtime that supports Agent Skills-style 
  • Network accessline 5
    homepage: https://github.com/Agents365-ai/365-skills
  • Access to secretsline 143
    [Credential-related source omitted]
  • Network accessline 169
    **Machine verification baseline.** When the CLI under review is installed and runnable, run `anc audit <command> --output json` (the [agentnative](https://github.com/brettdavies/agentnative) linter, 8 RFC 2119 principles) before applying th

plugins/agent-native-design/skills/agent-native-design/references/checklists.md

  • Access to secretsline 48
    [Credential-related source omitted]

plugins/agent-native-design/skills/agent-native-design/references/citations.md

  • Network accessline 7
    - *Code execution with MCP: Building more efficient agents* — <https://www.anthropic.com/engineering/code-execution-with-mcp> (Nov 4, 2025). Progressive disclosure of tool definitions; the 150K → 2K token reduction case study cited under Pr
  • Network accessline 8
    - *Beyond permission prompts: making Claude Code more secure and autonomous* — <https://www.anthropic.com/engineering/claude-code-sandboxing> (Oct 20, 2025). Approval fatigue and the 84% prompt-reduction figure cited under Principle 4 / `de
  • Network accessline 12
    - Ugo Enyioha, *Writing CLI Tools That AI Agents Actually Want to Use* — <https://dev.to/uenyioha/writing-cli-tools-that-ai-agents-actually-want-to-use-39no> (Feb 27, 2025). Idempotency-on-retry and "agents cannot type 'y'" framings cited i
  • Network accessline 13
    - Cloudflare, *The CLI for all of Cloudflare* — <https://blog.cloudflare.com/cf-cli-local-explorer/> (Apr 13, 2026). Schema-first generation of the CLI, SDKs, Terraform provider, and MCP server from one TypeScript source; ~3,000 API operati
  • Network accessline 14
    - brettdavies, *agentnative: The Agent-Native CLI Standard* — <https://github.com/brettdavies/agentnative> (Apr 2026). Eight RFC 2119 principles plus the `anc` linter used as the machine verification baseline in the Standard review workflow
  • Network accessline 15
    - Thibault Le Ouay Ducasse / openstatus, *Building a CLI That Works for Humans and Machines* — <https://www.openstatus.dev/blog/building-cli-for-human-and-agents> (Apr 2, 2026). TTY detection as the human/machine switch cited under Principl
  • Network accessline 16
    - Mario Zechner, *MCP vs CLI: Benchmarking Tools for Coding Agents* — <https://mariozechner.at/posts/2025-08-15-mcp-vs-cli/> (Aug 15, 2025). Empirical case that many MCP servers could be CLI invocations.
  • Network accessline 17
    - Armin Ronacher, *Skills vs Dynamic MCP Loadouts* — <https://lucumr.pocoo.org/2025/12/13/skills-vs-mcp/> (Dec 13, 2025). Schema/API stability as a first-class concern cited under Principle 6.
  • Network accessline 21
    - Jannik Reinhard, *CLI Tools vs MCP: Better AI Agents With Less Context* — <https://jannikreinhard.com/2026/02/22/why-cli-tools-are-beating-mcp-for-ai-agents/> (Feb 22, 2026). Source for the 28% / 33% / 55K / 35× numbers in `hybrid-mcp-cli
  • Network accessline 22
    - Manveer Chawla, *MCP vs. CLI for AI agents: When to Use Each (A Practical Decision Framework for 2026)* — <https://manveerc.substack.com/p/mcp-vs-cli-ai-agents> (Mar 8, 2026). Per-integration decision framework; production examples (Claud
  • Network accessline 23
    - Soumyadeb Mitra / RudderStack, *CLI or MCP or both? The design pattern for AI agents managing your data stack* — <https://www.rudderstack.com/blog/ai-agents-cli-mcp-design-pattern/> (Mar 18, 2026). The "writes via CLI, reads via MCP" spli
  • Network accessline 27
    - *Scripting with GitHub CLI* — <https://github.blog/engineering/engineering-principles/scripting-with-github-cli/> (Mar 11, 2021). `gh api --jq` and structured JSON output as a first-class CLI pattern. The post predates the `gh <resource> 
  • Network accessline 28
    - *Command Line Interface Guidelines* — <https://clig.dev/>. The pre-agent baseline for human-first CLI design. This skill extends it; it does not replace it.
  • Network accessline 29
    - `sysexits.h` — <https://manpages.ubuntu.com/manpages/noble/man3/sysexits.h.3head.html>. The BSD exit-code vocabulary that `design-patterns.md#exit-code-model` deliberately simplifies away from.

plugins/agent-native-design/skills/agent-native-design/references/examples.md

  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Network accessline 71
    "would_request": {     "method": "GET",     "url": "https://health.api/v1/sleep",
  • Network accessline 72
    "method": "GET",     "url": "https://health.api/v1/sleep",     "params": { "startDate": "2026-01-01", "endDate": "2026-01-07" }
  • Network accessline 73
    "url": "https://health.api/v1/sleep",
  • Access to secretsline 237
    [Credential-related source omitted]

plugins/agent-native-design/skills/agent-native-design/references/testing.md

  • Dangerous shell operationline 18
    out=$(eval "$cmd --dry-run" 2>/dev/null) || true
  • Network accessline 60
    [Credential-related source omitted]
  • Network accessline 61
    [Credential-related source omitted]
  • Network accessline 62
    [runtime]="HEALTHKIT_BASE_URL=http://127.0.0.1:1 tool sleep list --start-date 2026-01-01 --end-date 2026-01-07|1"
  • Dangerous shell operationline 66
    eval "$cmd" >/dev/null 2>&1; got=$?
  • Dangerous shell operationline 159
    out=$(eval "$cmd --dry-run")

plugins/agent-native-design/skills/agent-native-design/scripts/validate-metadata.sh

  • Executable scriptline 1
    #!/usr/bin/env bash

plugins/assetseeker/skills/assetseeker/SKILL.md

  • Network accessline 8
    created: 2026-07-09 updated: 2026-07-09 homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 9
    updated: 2026-07-09 homepage: https://github.com/Agents365-ai/365-skills metadata: {"openclaw":{"requires":{"bins":["python3"],"env":["PEXELS_API_KEY"]},"primaryEnv":"PEXELS_API_KEY","emoji":"🔍"}}
  • Network accessline 10
    homepage: https://github.com/Agents365-ai/365-skills
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 105
    [Credential-related source omitted]
  • Access to secretsline 194
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]
  • Access to secretsline 200
    [Credential-related source omitted]
  • Access to secretsline 203
    [Credential-related source omitted]
  • Access to secretsline 205
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]
  • Access to secretsline 211
    [Credential-related source omitted]
  • Access to secretsline 212
    [Credential-related source omitted]
  • Access to secretsline 215
    [Credential-related source omitted]
  • Network accessline 219
    | Service | Signup URL | Time to get key | | --------- | ----------- | ---------------- | | Pexels | <https://www.pexels.com/api/> | ~2 min |
  • Network accessline 220
    | --------- | ----------- | ---------------- | | Pexels | <https://www.pexels.com/api/> | ~2 min | | Unsplash | <https://unsplash.com/developers> | ~5 min (needs app registration) |
  • Network accessline 221
    | Pexels | <https://www.pexels.com/api/> | ~2 min |
  • Network accessline 222
    | Unsplash | <https://unsplash.com/developers> | ~5 min (needs app registration) |
  • Network accessline 223
    | Pixabay | <https://pixabay.com/api/docs/> | ~2 min |
  • Network accessline 224
    | Freesound | <https://freesound.org/apiv2/apply/> | ~1 day (manual approval) |
  • Network accessline 225
    | Google Fonts | <https://console.cloud.google.com/> | ~5 min |

plugins/assetseeker/skills/assetseeker/scripts/seek_assets.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 50
    "label": "Pexels",         "types": ["photo", "video"],         "base": "https://api.pexels.com",
  • Network accessline 51
    "types": ["photo", "video"],         "base": "https://api.pexels.com",         "env_key": "PEXELS_API_KEY",
  • Network accessline 52
    "base": "https://api.pexels.com",
  • Access to secretsline 53
    [Credential-related source omitted]
  • Network accessline 59
    "label": "Unsplash",         "types": ["photo"],         "base": "https://api.unsplash.com",
  • Network accessline 60
    "types": ["photo"],         "base": "https://api.unsplash.com",         "env_key": "UNSPLASH_ACCESS_KEY",
  • Network accessline 61
    "base": "https://api.unsplash.com",
  • Access to secretsline 62
    [Credential-related source omitted]
  • Network accessline 68
    "label": "Pixabay",         "types": ["photo", "video"],         "base": "https://pixabay.com/api",
  • Network accessline 69
    "types": ["photo", "video"],         "base": "https://pixabay.com/api",         "env_key": "PIXABAY_API_KEY",
  • Network accessline 70
    "base": "https://pixabay.com/api",
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 78
    "label": "Iconify",         "types": ["icon"],         "base": "https://api.iconify.design",
  • Network accessline 79
    "types": ["icon"],         "base": "https://api.iconify.design",         "env_key": None,  # No key needed
  • Network accessline 80
    "base": "https://api.iconify.design",
  • Network accessline 87
    "label": "Freesound",         "types": ["sfx", "music"],         "base": "https://freesound.org/apiv2",
  • Network accessline 88
    "types": ["sfx", "music"],         "base": "https://freesound.org/apiv2",         "env_key": "FREESOUND_API_KEY",  # client_id; FREESOUND_TOKEN is the actual auth token
  • Network accessline 89
    "base": "https://freesound.org/apiv2",
  • Access to secretsline 90
    [Credential-related source omitted]
  • Network accessline 97
    "label": "Google Fonts",         "types": ["font"],         "base": "https://www.googleapis.com/webfonts/v1",
  • Network accessline 98
    "types": ["font"],         "base": "https://www.googleapis.com/webfonts/v1",         "env_key": "GOOGLE_FONTS_API_KEY",
  • Network accessline 99
    "base": "https://www.googleapis.com/webfonts/v1",
  • Access to secretsline 100
    [Credential-related source omitted]
  • Network accessline 107
    "label": "Noun Project",         "types": ["icon"],         "base": "https://api.thenounproject.com/v2",
  • Network accessline 108
    "types": ["icon"],         "base": "https://api.thenounproject.com/v2",         "env_key": "NOUN_PROJECT_KEY",
  • Network accessline 109
    "base": "https://api.thenounproject.com/v2",
  • Access to secretsline 110
    [Credential-related source omitted]
  • Network accessline 116
    "label": "Mixkit (Playwright scraper)",         "types": ["video", "sfx", "music", "template"],         "base": "https://mixkit.co",
  • Network accessline 117
    "types": ["video", "sfx", "music", "template"],         "base": "https://mixkit.co",         "env_key": None,
  • Network accessline 118
    "base": "https://mixkit.co",
  • Network accessline 127
    "label": "unDraw (Playwright scraper)",         "types": ["illustration"],         "base": "https://undraw.co",
  • Network accessline 128
    "types": ["illustration"],         "base": "https://undraw.co",         "env_key": None,
  • Network accessline 129
    "base": "https://undraw.co",
  • Network accessline 138
    "label": "100font (Playwright scraper)",         "types": ["font"],         "base": "https://www.100font.com",
  • Network accessline 139
    "types": ["font"],         "base": "https://www.100font.com",         "env_key": None,
  • Network accessline 140
    "base": "https://www.100font.com",
  • Network accessline 149
    "label": "Storyset (Playwright scraper)",         "types": ["illustration"],         "base": "https://storyset.com",
  • Network accessline 150
    "types": ["illustration"],         "base": "https://storyset.com",         "env_key": None,
  • Network accessline 151
    "base": "https://storyset.com",
  • Access to secretsline 180
    [Credential-related source omitted]
  • Access to secretsline 183
    [Credential-related source omitted]
  • Network accessline 189
    if headers:         merged.update(headers)     req = urllib.request.Request(url, headers=merged)
  • Network accessline 190
    merged.update(headers)     req = urllib.request.Request(url, headers=merged)     try:
  • Network accessline 191
    req = urllib.request.Request(url, headers=merged)
  • Network accessline 192
    try:         with urllib.request.urlopen(req, timeout=15) as resp:             return json.loads(resp.read().decode("utf-8"))
  • Network accessline 193
    with urllib.request.urlopen(req, timeout=15) as resp:
  • Network accessline 204
    try:         req = urllib.request.Request(url, headers={"User-Agent": "assetseeker/1.0"})
  • Network accessline 205
    req = urllib.request.Request(url, headers={"User-Agent": "assetseeker/1.0"})
  • Network accessline 206
    with urllib.request.urlopen(req, timeout=60) as resp:
  • Network accessline 221
    key = _get_key("pexels")     if not key:         return [{"error": "PEXELS_API_KEY not set. Get one at https://www.pexels.com/api/"}]
  • Network accessline 223
    [Credential-related source omitted]
  • Access to secretsline 223
    [Credential-related source omitted]
  • Network accessline 225
    if args.type == "video":         url = f"https://api.pexels.com/videos/search?query={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"
  • Network accessline 226
    url = f"https://api.pexels.com/videos/search?query={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"
  • Network accessline 227
    else:         url = f"https://api.pexels.com/v1/search?query={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"         if args.orientation:
  • Network accessline 228
    url = f"https://api.pexels.com/v1/search?query={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"
  • Network accessline 286
    key = _get_key("unsplash")     if not key:         return [{"error": "UNSPLASH_ACCESS_KEY not set. Get one at https://unsplash.com/developers"}]
  • Network accessline 288
    return [{"error": "UNSPLASH_ACCESS_KEY not set. Get one at https://unsplash.com/developers"}]
  • Network accessline 290
    url = f"https://api.unsplash.com/search/photos?query={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"
  • Network accessline 308
    "height": item.get("height"),             "photographer": item.get("user", {}).get("name", ""),             "photographer_url": f"https://unsplash.com/@{item.get('user', {}).get('username', '')}",
  • Network accessline 309
    "photographer": item.get("user", {}).get("name", ""),             "photographer_url": f"https://unsplash.com/@{item.get('user', {}).get('username', '')}",             "alt": item.get("alt_description") or item.get("description") or "",
  • Network accessline 310
    "photographer_url": f"https://unsplash.com/@{item.get('user', {}).get('username', '')}",
  • Network accessline 320
    key = _get_key("pixabay")     if not key:         return [{"error": "PIXABAY_API_KEY not set. Get one at https://pixabay.com/api/docs/"}]
  • Network accessline 322
    [Credential-related source omitted]
  • Access to secretsline 322
    [Credential-related source omitted]
  • Network accessline 324
    if args.type == "video":         url = f"https://pixabay.com/api/videos/?key={key}&q={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"
  • Network accessline 325
    url = f"https://pixabay.com/api/videos/?key={key}&q={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"
  • Network accessline 326
    else:         url = f"https://pixabay.com/api/?key={key}&q={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"     if args.orientation:
  • Network accessline 327
    url = f"https://pixabay.com/api/?key={key}&q={urllib.parse.quote(args.keyword)}&per_page={args.max_results}"
  • Network accessline 380
    url = f"https://api.iconify.design/search?query={urllib.parse.quote(keyword)}&limit={args.max_results}"
  • Network accessline 392
    "prefix": prefix,             "name": name,             "svg_url": f"https://api.iconify.design/{item}.svg",
  • Network accessline 393
    "name": name,             "svg_url": f"https://api.iconify.design/{item}.svg",             "usage_html": f'<span class="iconify" data-icon="{item}"></span>',
  • Network accessline 394
    "svg_url": f"https://api.iconify.design/{item}.svg",
  • Network accessline 395
    "usage_html": f'<span class="iconify" data-icon="{item}"></span>',             "preview_url": f"https://api.iconify.design/{item}.svg?width=64&height=64",             "collections": data.get("collections", {}),
  • Network accessline 396
    "preview_url": f"https://api.iconify.design/{item}.svg?width=64&height=64",
  • Access to secretsline 413
    [Credential-related source omitted]
  • Access to secretsline 415
    [Credential-related source omitted]
  • Network accessline 417
    auth_header = f"Bearer {token}" if token else f"Token {key}"     url = f"https://freesound.org/apiv2/search/text/?query={urllib.parse.quote(args.keyword)}&page_size={min(args.max_results, 30)}&fields=id,name,url,previews,license,username,du
  • Network accessline 418
    url = f"https://freesound.org/apiv2/search/text/?query={urllib.parse.quote(args.keyword)}&page_size={min(args.max_results, 30)}&fields=id,name,url,previews,license,username,duration,download,tags"
  • Network accessline 462
    url = f"https://www.googleapis.com/webfonts/v1/webfonts?key={key}&sort=popularity"
  • Network accessline 483
    "version": f.get("version", ""),                 "last_modified": f.get("lastModified", ""),                 "css_link": f"https://fonts.googleapis.com/css2?family={urllib.parse.quote(f.get('family', '').replace(' ', '+'))}",
  • Network accessline 484
    "last_modified": f.get("lastModified", ""),                 "css_link": f"https://fonts.googleapis.com/css2?family={urllib.parse.quote(f.get('family', '').replace(' ', '+'))}",                 "popularity": f.get("popularity", ""),
  • Network accessline 485
    "css_link": f"https://fonts.googleapis.com/css2?family={urllib.parse.quote(f.get('family', '').replace(' ', '+'))}",
  • Access to secretsline 500
    [Credential-related source omitted]
  • Network accessline 539
    "designers": f.get("designers", []),             "last_modified": f.get("lastModified", ""),             "css_link": f"https://fonts.googleapis.com/css2?family={urllib.parse.quote(f.get('family', '').replace(' ', '+'))}",
  • Network accessline 540
    "last_modified": f.get("lastModified", ""),             "css_link": f"https://fonts.googleapis.com/css2?family={urllib.parse.quote(f.get('family', '').replace(' ', '+'))}",             "_score": score,
  • Network accessline 541
    "css_link": f"https://fonts.googleapis.com/css2?family={urllib.parse.quote(f.get('family', '').replace(' ', '+'))}",
  • Access to secretsline 555
    [Credential-related source omitted]
  • Network accessline 556
    [Credential-related source omitted]
  • Access to secretsline 556
    [Credential-related source omitted]
  • Network accessline 558
    return [{"error": "NOUN_PROJECT_KEY / NOUN_PROJECT_SECRET not set. Get them at https://thenounproject.com/developers/"}]
  • Network accessline 561
    url = f"https://api.thenounproject.com/v2/icon?query={urllib.parse.quote(args.keyword)}&limit={min(args.max_results, 20)}"
  • Network accessline 585
    }     path = type_paths.get(asset_type, "free-stock-video")     base_url = f"https://mixkit.co/{path}/"
  • Network accessline 587
    base_url = f"https://mixkit.co/{path}/"
  • Network accessline 627
    "type": asset_type,                         "title": title,                         "url": f"https://mixkit.co{href}" if href.startswith("/") else href,
  • Network accessline 628
    "title": title,                         "url": f"https://mixkit.co{href}" if href.startswith("/") else href,                         "thumbnail": thumbnail,
  • Network accessline 629
    "url": f"https://mixkit.co{href}" if href.startswith("/") else href,
  • Network accessline 634
    if asset_type == "video" and vid:                         result["download_url"] = f"https://assets.mixkit.co/videos/{vid}/{vid}-720.mp4"
  • Network accessline 635
    result["download_url"] = f"https://assets.mixkit.co/videos/{vid}/{vid}-720.mp4"
  • Network accessline 636
    result["download_urls"] = {                             "360p": f"https://assets.mixkit.co/videos/{vid}/{vid}-360.mp4",                             "720p": f"https://assets.mixkit.co/videos/{vid}/{vid}-720.mp4",
  • Network accessline 637
    "360p": f"https://assets.mixkit.co/videos/{vid}/{vid}-360.mp4",
  • Network accessline 638
    "720p": f"https://assets.mixkit.co/videos/{vid}/{vid}-720.mp4",
  • Network accessline 666
    browser = p.chromium.launch(headless=True)             page = browser.new_page()             page.goto("https://undraw.co/illustrations", timeout=20000)
  • Network accessline 667
    page = browser.new_page()             page.goto("https://undraw.co/illustrations", timeout=20000)             page.wait_for_timeout(4000)
  • Network accessline 668
    page.goto("https://undraw.co/illustrations", timeout=20000)
  • Network accessline 714
    "type": "illustration",                         "title": title,                         "url": f"https://undraw.co/illustrations",
  • Network accessline 715
    "title": title,                         "url": f"https://undraw.co/illustrations",                         "svg": svg_html,
  • Network accessline 716
    "url": f"https://undraw.co/illustrations",
  • Network accessline 717
    "svg": svg_html,                         "svg_bytes": len(svg_html),                         "download_url": f"https://undraw.co/illustrations",  # no direct URL; save SVG locally
  • Network accessline 718
    "svg_bytes": len(svg_html),                         "download_url": f"https://undraw.co/illustrations",  # no direct URL; save SVG locally                         "color_hint": "Use --color HEX to change the accent color",
  • Network accessline 719
    "download_url": f"https://undraw.co/illustrations",  # no direct URL; save SVG locally
  • Network accessline 742
    keyword = args.keyword.strip()     base_url = "https://www.100font.com"
  • Network accessline 743
    base_url = "https://www.100font.com"
  • Network accessline 837
    keyword = args.keyword.strip()     search_url = f"https://storyset.com/search?q={urllib.parse.quote(keyword)}"
  • Network accessline 838
    search_url = f"https://storyset.com/search?q={urllib.parse.quote(keyword)}"
  • Network accessline 869
    styles = ["rafiki", "bro", "amico", "pana", "cuate"]                 style_urls = {                     s: f"https://storyset.com/illustration/{name}/{s}"
  • Network accessline 870
    style_urls = {                     s: f"https://storyset.com/illustration/{name}/{s}"                     for s in styles
  • Network accessline 871
    s: f"https://storyset.com/illustration/{name}/{s}"
  • Network accessline 878
    "type": "illustration",                     "title": title,                     "url": f"https://storyset.com{href}",
  • Network accessline 879
    "title": title,                     "url": f"https://storyset.com{href}",                     "thumbnail": thumbnail,
  • Network accessline 880
    "url": f"https://storyset.com{href}",
  • Access to secretsline 930
    [Credential-related source omitted]
  • Access to secretsline 931
    [Credential-related source omitted]
  • Access to secretsline 942
    [Credential-related source omitted]
  • Access to secretsline 949
    [Credential-related source omitted]
  • Access to secretsline 955
    [Credential-related source omitted]
  • Access to secretsline 981
    [Credential-related source omitted]
  • Network accessline 1005
    print(json.dumps({             "error": f"No API keys configured for {asset_type} sources.",             "hint": "Set at least PEXELS_API_KEY (https://www.pexels.com/api/). Iconify works for icons without any key.",
  • Network accessline 1006
    "error": f"No API keys configured for {asset_type} sources.",             "hint": "Set at least PEXELS_API_KEY (https://www.pexels.com/api/). Iconify works for icons without any key.",             "available_sources": _source_status(),
  • Network accessline 1007
    [Credential-related source omitted]
  • Access to secretsline 1007
    [Credential-related source omitted]
  • Access to secretsline 1133
    [Credential-related source omitted]
  • Access to secretsline 1135
    [Credential-related source omitted]
  • Network accessline 1140
    auth_url = (         f"https://freesound.org/apiv2/oauth2/authorize/?"         f"client_id={urllib.parse.quote(client_id)}"
  • Network accessline 1141
    f"https://freesound.org/apiv2/oauth2/authorize/?"         f"client_id={urllib.parse.quote(client_id)}"         f"&response_type=code"
  • Network accessline 1158
    [Credential-related source omitted]
  • Access to secretsline 1158
    [Credential-related source omitted]
  • Network accessline 1162
    "code": code,     }).encode("utf-8")     req = urllib.request.Request(token_url, data=data, method="POST")
  • Network accessline 1163
    }).encode("utf-8")     req = urllib.request.Request(token_url, data=data, method="POST")     req.add_header("Content-Type", "application/x-www-form-urlencoded")
  • Network accessline 1164
    req = urllib.request.Request(token_url, data=data, method="POST")
  • Network accessline 1167
    try:         with urllib.request.urlopen(req, timeout=15) as resp:
  • Network accessline 1168
    with urllib.request.urlopen(req, timeout=15) as resp:
  • Access to secretsline 1175
    [Credential-related source omitted]
  • Access to secretsline 1179
    [Credential-related source omitted]
  • Access to secretsline 1182
    [Credential-related source omitted]
  • Access to secretsline 1185
    [Credential-related source omitted]
  • Access to secretsline 1188
    [Credential-related source omitted]
  • Network accessline 1224
    seek_assets.py search sfx "whoosh" --max 5   seek_assets.py search font "bold sans"   seek_assets.py download https://example.com/photo.jpg -o bg.jpg
  • Network accessline 1225
    seek_assets.py search font "bold sans"   seek_assets.py download https://example.com/photo.jpg -o bg.jpg         """,
  • Network accessline 1226
    seek_assets.py download https://example.com/photo.jpg -o bg.jpg

plugins/asta/skills/asta-skill/SKILL.md

  • Network accessline 13
    - **MCP endpoint:** `https://asta-tools.allen.ai/mcp/v1`
  • Network accessline 14
    - **Auth:** `x-api-key` header (request key at <https://share.hsforms.com/1L4hUh20oT3mu8iXJQMV77w3ioxm>)
  • Network accessline 22
    If no Asta tools are visible, do **not** make raw HTTP calls or invent results. Tell the user to register `https://asta-tools.allen.ai/mcp/v1` as a streamable HTTP MCP server with an `x-api-key` header, then restart/reload the host. Minimal
  • Network accessline 24
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Network accessline 25
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]
  • Network accessline 26
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]

plugins/bangumi-frames/skills/bangumi-frames/SKILL.md

  • Network accessline 5
    description: Extract and organize frames from a Bilibili video (bangumi episode, UP upload, or a local file) into scenery shots and per-character image groups, using anime-specific person detection + CCIP character-identity embeddings. Two 
  • Network accessline 6
    license: MIT homepage: https://github.com/Agents365-ai/365-skills/tree/main/plugins/bangumi-frames/skills/bangumi-frames compatibility: Requires ffmpeg and (for downloads) yt-dlp on PATH; Python 3.9+ with dghs-imgutils (anime person detecti
  • Network accessline 7
    homepage: https://github.com/Agents365-ai/365-skills/tree/main/plugins/bangumi-frames/skills/bangumi-frames
  • Network accessline 65
    # Mode 1 — cluster everyone into char_NN groups python3 $SKILL https://www.bilibili.com/video/BV15qVm68E2h --out ~/frames
  • Network accessline 66
    python3 $SKILL https://www.bilibili.com/video/BV15qVm68E2h --out ~/frames python3 $SKILL ep1231575 --out ~/frames           # ep / BV id also accepted python3 $SKILL ~/local.mp4 --out ~/frames          # local file, skips download

plugins/bangumi-frames/skills/bangumi-frames/references/pipeline.md

  • Access to secretsline 64
    [Credential-related source omitted]

plugins/bangumi-frames/skills/bangumi-frames/scripts/bangumi_frames.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 66
    return arg     if arg.startswith("ep"):         return f"https://www.bilibili.com/bangumi/play/{arg}"
  • Network accessline 67
    if arg.startswith("ep"):         return f"https://www.bilibili.com/bangumi/play/{arg}"     if arg.startswith("BV"):
  • Network accessline 68
    return f"https://www.bilibili.com/bangumi/play/{arg}"
  • Network accessline 69
    if arg.startswith("BV"):         return f"https://www.bilibili.com/video/{arg}"     raise CliError("validation_error",
  • Network accessline 70
    return f"https://www.bilibili.com/video/{arg}"
  • Access to secretsline 107
    [Credential-related source omitted]
  • Access to secretsline 143
    [Credential-related source omitted]
  • Access to secretsline 367
    [Credential-related source omitted]
  • Access to secretsline 508
    [Credential-related source omitted]
  • Access to secretsline 523
    [Credential-related source omitted]
  • Access to secretsline 714
    [Credential-related source omitted]

plugins/bangumi-frames/skills/bangumi-frames/scripts/remove_overlay.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 23
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/SKILL.md

  • Network accessline 4
    description: Fetch Bilibili (哔哩哔哩) video comments for UP主 self-analysis. Use when the user asks to collect, download, export, or analyze comments on a Bilibili video (BV号 / URL / UID). Produces JSONL + summary.json suitable for further Clau
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills/tree/main/plugins/bbc/skills/bbc-skill metadata: {"version":"1.0.4","openclaw":{"requires":{"bins":["python3"]},"emoji":"💬"},"hermes":{"category":"data","tags":["bilibili","c
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills/tree/main/plugins/bbc/skills/bbc-skill
  • Network accessline 45
    - Asks to analyze **audience feedback / sentiment / keywords / top comments /   IP distribution** of their own Bilibili videos. - Provides a Bilibili URL like `https://www.bilibili.com/video/BVxxxxxxxxxx/`.
  • Network accessline 46
    IP distribution** of their own Bilibili videos. - Provides a Bilibili URL like `https://www.bilibili.com/video/BVxxxxxxxxxx/`. - Mentions their UP主 UID and wants batch analysis across their videos.
  • Network accessline 47
    - Provides a Bilibili URL like `https://www.bilibili.com/video/BVxxxxxxxxxx/`.
  • Network accessline 57
    recommended path:    - Install the Chrome/Edge extension      [**Get cookies.txt LOCALLY**](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)
  • Network accessline 58
    - Install the Chrome/Edge extension      [**Get cookies.txt LOCALLY**](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)      (open-source, fully local, no upload).
  • Network accessline 59
    [**Get cookies.txt LOCALLY**](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)
  • Network accessline 98
    python3 -m bbc fetch "https://www.bilibili.com/video/BV1NjA7zjEAU/"
  • Access to secretsline 198
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/__init__.py

  • Executable scriptline 1
    Executable file

plugins/bbc/skills/bbc-skill/bbc/__main__.py

  • Executable scriptline 1
    Executable file

plugins/bbc/skills/bbc-skill/bbc/api.py

  • Executable scriptline 1
    Executable file
  • Network accessline 39
    *,         min_interval_sec: float = 1.0,         referer: str = "https://www.bilibili.com/",
  • Network accessline 40
    min_interval_sec: float = 1.0,         referer: str = "https://www.bilibili.com/",     ):
  • Network accessline 41
    referer: str = "https://www.bilibili.com/",
  • Network accessline 62
    referer: str | None = None,     ) -> dict:         req = urllib.request.Request(
  • Network accessline 63
    ) -> dict:         req = urllib.request.Request(             url,
  • Network accessline 64
    req = urllib.request.Request(
  • Network accessline 79
    self._throttle()             try:                 with urllib.request.urlopen(req, timeout=15) as resp:
  • Network accessline 80
    try:                 with urllib.request.urlopen(req, timeout=15) as resp:                     raw = resp.read().decode("utf-8")
  • Network accessline 81
    with urllib.request.urlopen(req, timeout=15) as resp:
  • Network accessline 140
    def bv_to_view(client: Client, bvid: str) -> dict:     url = f"https://api.bilibili.com/x/web-interface/view?bvid={bvid}"
  • Network accessline 141
    url = f"https://api.bilibili.com/x/web-interface/view?bvid={bvid}"
  • Network accessline 145
    def get_nav(client: Client) -> dict:     return client.get_json("https://api.bilibili.com/x/web-interface/nav")["data"]
  • Network accessline 146
    return client.get_json("https://api.bilibili.com/x/web-interface/nav")["data"]
  • Network accessline 149
    def get_tags(client: Client, bvid: str) -> list[dict]:     url = f"https://api.bilibili.com/x/tag/archive/tags?bvid={bvid}"
  • Network accessline 150
    url = f"https://api.bilibili.com/x/tag/archive/tags?bvid={bvid}"
  • Network accessline 159
    ) -> dict:     url = (         "https://api.bilibili.com/x/v2/reply/main"
  • Network accessline 160
    url = (         "https://api.bilibili.com/x/v2/reply/main"         f"?type=1&oid={aid}&mode=3&next={next_cursor}&ps={ps}"
  • Network accessline 161
    "https://api.bilibili.com/x/v2/reply/main"
  • Network accessline 162
    f"?type=1&oid={aid}&mode=3&next={next_cursor}&ps={ps}"     )     return client.get_json(url, referer=f"https://www.bilibili.com/video/{bvid}/")
  • Network accessline 164
    return client.get_json(url, referer=f"https://www.bilibili.com/video/{bvid}/")
  • Network accessline 169
    ) -> dict:     url = (         "https://api.bilibili.com/x/v2/reply/reply"
  • Network accessline 170
    url = (         "https://api.bilibili.com/x/v2/reply/reply"         f"?type=1&oid={aid}&root={root_rpid}&ps={ps}&pn={pn}"
  • Network accessline 171
    "https://api.bilibili.com/x/v2/reply/reply"
  • Network accessline 172
    f"?type=1&oid={aid}&root={root_rpid}&ps={ps}&pn={pn}"     )     return client.get_json(url, referer=f"https://www.bilibili.com/video/{bvid}/")
  • Network accessline 174
    return client.get_json(url, referer=f"https://www.bilibili.com/video/{bvid}/")
  • Network accessline 195
    }     url = wbi.signed_url(         "https://api.bilibili.com/x/space/wbi/arc/search", params, img_key, sub_key
  • Network accessline 196
    url = wbi.signed_url(         "https://api.bilibili.com/x/space/wbi/arc/search", params, img_key, sub_key     )
  • Network accessline 197
    "https://api.bilibili.com/x/space/wbi/arc/search", params, img_key, sub_key
  • Network accessline 199
    return client.get_json(url, referer=f"https://space.bilibili.com/{uid}")

plugins/bbc/skills/bbc-skill/bbc/cli.py

  • Executable scriptline 1
    Executable file

plugins/bbc/skills/bbc-skill/bbc/cookie/__init__.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]
  • Access to secretsline 113
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/cookie/chrome_macos.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/cookie/firefox.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 22
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/cookie/netscape.py

  • Executable scriptline 1
    [Credential-related source omitted]
  • Access to secretsline 1
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/envelope.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 149
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/fetch.py

  • Executable scriptline 1
    Executable file
  • Network accessline 136
    client = api.Client(         cookies, min_interval_sec=1.0, referer=f"https://www.bilibili.com/video/{bvid}/"
  • Network accessline 137
    cookies, min_interval_sec=1.0, referer=f"https://www.bilibili.com/video/{bvid}/"

plugins/bbc/skills/bbc-skill/bbc/fetch_user.py

  • Executable scriptline 1
    Executable file

plugins/bbc/skills/bbc-skill/bbc/flatten.py

  • Executable scriptline 1
    Executable file

plugins/bbc/skills/bbc-skill/bbc/progress.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 22
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/schema.py

  • Executable scriptline 1
    Executable file
  • Network accessline 43
    "min": 1,                 "default": None,                 "description": "Max top-level comments to fetch (default: all).",
  • Network accessline 44
    "default": None,                 "description": "Max top-level comments to fetch (default: all).",             },
  • Network accessline 45
    "description": "Max top-level comments to fetch (default: all).",
  • Access to secretsline 67
    [Credential-related source omitted]

plugins/bbc/skills/bbc-skill/bbc/summarize.py

  • Executable scriptline 1
    Executable file

plugins/bbc/skills/bbc-skill/bbc/wbi.py

  • Executable scriptline 1
    Executable file

plugins/bbc/skills/bbc-skill/cookie-extraction.md

  • Network accessline 18
    [**Get cookies.txt LOCALLY**](https://chromewebstore.google.com/detail/get-cookiestxt-locally/cclelndahbckbenkjhflpdbgdldlbecc)
  • Network accessline 20
    - Install from Chrome Web Store - Visit <https://www.bilibili.com> (stay logged in)
  • Network accessline 21
    - Visit <https://www.bilibili.com> (stay logged in)
  • Network accessline 27
    [cookies.txt](https://addons.mozilla.org/firefox/addon/cookies-txt/) add-on,
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 106
    [Credential-related source omitted]

plugins/excalidraw/skills/excalidraw-skill/SKILL.md

  • Network accessline 3
    name: excalidraw description: Use when user requests diagrams, flowcharts, architecture charts, or visualizations. Also use proactively when explaining systems with 3+ components, complex data flows, or relationships that benefit from visua
  • Network accessline 4
    description: Use when user requests diagrams, flowcharts, architecture charts, or visualizations. Also use proactively when explaining systems with 3+ components, complex data flows, or relationships that benefit from visual representation.
  • Network accessline 5
    homepage: https://github.com/Agents365-ai/365-skills metadata: {"version":"1.3.0","openclaw":{"requires":{"bins":["curl"]},"emoji":"🎨"}} ---
  • Network accessline 45
    # Just needs curl (pre-installed on macOS/Linux/Windows Git Bash)
  • Network accessline 46
    curl --version
  • Network accessline 49
    No additional setup. SVG rendered via `https://kroki.io`.
  • Network accessline 171
    Need a real AWS / Azure / GCP / network / UML / BPMN icon instead of a plain box? The [Excalidraw community libraries](https://libraries.excalidraw.com) (200+ `.excalidrawlib` files) are built almost entirely from the **same vector primitiv
  • Network accessline 458
    # SVG via Kroki API curl -s -X POST https://kroki.io/excalidraw/svg \
  • Network accessline 459
    curl -s -X POST https://kroki.io/excalidraw/svg \
  • Network accessline 464
    # Via local Kroki Docker (offline) curl -s -X POST http://localhost:8000/excalidraw/svg \
  • Network accessline 465
    curl -s -X POST http://localhost:8000/excalidraw/svg \
  • Network accessline 524
    - Overwrite the same `diagram.excalidraw` / output file each round — don't create `v1`, `v2`, … - Re-run **Verify the Render** after each edit (a change can introduce a new clip / overlap). - **Safety valve:** after 5 rounds, suggest the us
  • Network accessline 526
    - **Safety valve:** after 5 rounds, suggest the user fine-tune in [excalidraw.com](https://excalidraw.com) — the output preserves arrow binding, so it opens fully editable.

plugins/excalidraw/skills/excalidraw-skill/scripts/excalidraw_lib.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 4
    Community libraries (https://libraries.excalidraw.com, repo excalidraw/excalidraw-libraries)
  • Network accessline 24
    BASE = "https://raw.githubusercontent.com/excalidraw/excalidraw-libraries/main"
  • Network accessline 28
    def fetch(url, dest):
  • Network accessline 29
    os.makedirs(os.path.dirname(dest), exist_ok=True)     if not os.path.exists(dest):         urllib.request.urlretrieve(url, dest)
  • Network accessline 30
    if not os.path.exists(dest):         urllib.request.urlretrieve(url, dest)     return dest
  • Network accessline 31
    urllib.request.urlretrieve(url, dest)
  • Network accessline 35
    def load_index():     return json.load(open(fetch(f"{BASE}/libraries.json", f"{CACHE}/libraries.json")))
  • Network accessline 36
    return json.load(open(fetch(f"{BASE}/libraries.json", f"{CACHE}/libraries.json")))
  • Network accessline 40
    if os.path.exists(source):         return json.load(open(source))     path = fetch(f"{BASE}/libraries/{source}", f"{CACHE}/{source}")
  • Network accessline 41
    return json.load(open(source))     path = fetch(f"{BASE}/libraries/{source}", f"{CACHE}/{source}")     return json.load(open(path))
  • Network accessline 42
    path = fetch(f"{BASE}/libraries/{source}", f"{CACHE}/{source}")
  • Network accessline 130
    print(f"{lib['source']}\n    {lib['name']} — {len(lib.get('itemNames', []))} items")     if not hits:         print(f"No libraries match '{args.keyword}'. Browse: https://libraries.excalidraw.com")
  • Network accessline 132
    print(f"No libraries match '{args.keyword}'. Browse: https://libraries.excalidraw.com")

plugins/figshare/skills/figshare-skill/SKILL.md

  • Network accessline 3
    name: figshare-skill description: Use whenever the user wants to interact with Figshare - searching public datasets/articles, downloading Figshare files, listing their own articles/collections/projects, creating or updating articles, or upl
  • Network accessline 4
    description: Use whenever the user wants to interact with Figshare - searching public datasets/articles, downloading Figshare files, listing their own articles/collections/projects, creating or updating articles, or uploading files (includi
  • Network accessline 5
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 11
    Interact with the [Figshare v2 REST API](https://docs.figshare.com/) to search, download, create, and upload research outputs.
  • Network accessline 15
    - `curl` and `jq` available on PATH. - For authenticated endpoints (anything under `/account/...` or uploads), a **personal token** from <https://figshare.com/account/applications> exported as:
  • Network accessline 16
    - For authenticated endpoints (anything under `/account/...` or uploads), a **personal token** from <https://figshare.com/account/applications> exported as:
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 52
    - **Base URL:** `https://api.figshare.com/v2`
  • Access to secretsline 53
    [Credential-related source omitted]
  • Network accessline 63
    curl -s -X POST https://api.figshare.com/v2/articles/search \
  • Network accessline 73
    curl -s https://api.figshare.com/v2/articles/{article_id} | jq
  • Network accessline 80
    ART=12345678 curl -s https://api.figshare.com/v2/articles/$ART/files \
  • Network accessline 81
    curl -s https://api.figshare.com/v2/articles/$ART/files \
  • Network accessline 83
    | while IFS=$'\t' read -r url name; do curl -L -o "$name" "$url"; done
  • Network accessline 89
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Network accessline 90
    "https://api.figshare.com/v2/account/articles?page=1&page_size=50" | jq
  • Network accessline 96
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Network accessline 113
    # update metadata curl -s -X PUT https://api.figshare.com/v2/account/articles/$ART \
  • Network accessline 114
    [Credential-related source omitted]
  • Access to secretsline 114
    [Credential-related source omitted]
  • Access to secretsline 115
    [Credential-related source omitted]
  • Network accessline 119
    # publish (becomes public, assigns DOI, version is frozen) curl -s -X POST https://api.figshare.com/v2/account/articles/$ART/publish \
  • Network accessline 120
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]
  • Network accessline 129
    # create collection that groups existing articles curl -s -X POST https://api.figshare.com/v2/account/collections \
  • Network accessline 130
    [Credential-related source omitted]
  • Access to secretsline 130
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]
  • Network accessline 135
    # create project curl -s -X POST https://api.figshare.com/v2/account/projects \
  • Network accessline 136
    [Credential-related source omitted]
  • Access to secretsline 136
    [Credential-related source omitted]
  • Access to secretsline 137
    [Credential-related source omitted]
  • Network accessline 162
    SIZE=$(stat -f%z "$FILE" 2>/dev/null || stat -c%s "$FILE")    MD5=$(md5sum "$FILE" | awk '{print $1}')   # or: md5 -q on macOS    curl -s -X POST https://api.figshare.com/v2/account/articles/$ART/files \
  • Network accessline 163
    [Credential-related source omitted]
  • Network accessline 164
    [Credential-related source omitted]
  • Access to secretsline 164
    [Credential-related source omitted]
  • Access to secretsline 165
    [Credential-related source omitted]
  • Network accessline 177
    [Credential-related source omitted]
  • Access to secretsline 177
    [Credential-related source omitted]
  • Network accessline 178
    | curl -s -X PUT --data-binary @- "${upload_url}/${partNo}" \
  • Access to secretsline 179
    [Credential-related source omitted]
  • Network accessline 185
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Access to secretsline 186
    [Credential-related source omitted]
  • Network accessline 196
    page=1 while :; do   out=$(curl -s "https://api.figshare.com/v2/articles?page=$page&page_size=100")
  • Network accessline 197
    while :; do   out=$(curl -s "https://api.figshare.com/v2/articles?page=$page&page_size=100")   [ "$(echo "$out" | jq 'length')" = "0" ] && break
  • Network accessline 198
    out=$(curl -s "https://api.figshare.com/v2/articles?page=$page&page_size=100")
  • Access to secretsline 208
    [Credential-related source omitted]
  • Network accessline 216
    - API reference: <https://docs.figshare.com/>
  • Network accessline 217
    - Token management: <https://figshare.com/account/applications>
  • Network accessline 218
    - Category IDs: `GET https://api.figshare.com/v2/categories`
  • Network accessline 219
    - License IDs: `GET https://api.figshare.com/v2/licenses`

plugins/figshare/skills/figshare-skill/scripts/download.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 17
    echo ">> article $ART" curl -sS "https://api.figshare.com/v2/articles/$ART/files" |
  • Network accessline 18
    curl -sS "https://api.figshare.com/v2/articles/$ART/files" |
  • Network accessline 20
    while IFS=$'\t' read -r url name; do     echo "   downloading $name"     curl -L -sS -o "$OUT/$name" "$url"
  • Network accessline 21
    echo "   downloading $name"     curl -L -sS -o "$OUT/$name" "$url"   done
  • Network accessline 22
    curl -L -sS -o "$OUT/$name" "$url"

plugins/figshare/skills/figshare-skill/scripts/new-version.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 14
    API="https://api.figshare.com/v2"
  • Access to secretsline 15
    [Credential-related source omitted]
  • Network accessline 20
    curl -sS -X POST "${AUTH[@]}" "$API/account/articles/$ART/reserve_doi" >/dev/null || true
  • Network accessline 25
    echo ">> publishing new version" curl -sS -o /dev/null -w "publish status: %{http_code}\n" \
  • Network accessline 26
    curl -sS -o /dev/null -w "publish status: %{http_code}\n" \
  • Network accessline 27
    -X POST "${AUTH[@]}" "$API/account/articles/$ART/publish"

plugins/figshare/skills/figshare-skill/scripts/upload.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 9
    [Credential-related source omitted]
  • Network accessline 11
    API="https://api.figshare.com/v2"
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 20
    echo ">> initiating upload: name=$NAME size=$SIZE md5=$MD5" INIT=$(curl -sS -X POST "$API/account/articles/$ART/files" "${AUTH[@]}" \
  • Network accessline 21
    INIT=$(curl -sS -X POST "$API/account/articles/$ART/files" "${AUTH[@]}" \
  • Network accessline 27
    FILE_INFO=$(curl -sS "${AUTH[@]}" "$LOC")
  • Network accessline 32
    PARTS=$(curl -sS "${AUTH[@]}" "$UPLOAD_URL")
  • Network accessline 41
    echo "   part $NO: bytes $START-$END ($LEN)"   dd if="$FILE" bs=1 skip="$START" count="$LEN" status=none \     | curl -sS -X PUT --data-binary @- "${AUTH[@]}" "$UPLOAD_URL/$NO" >/dev/null
  • Network accessline 42
    dd if="$FILE" bs=1 skip="$START" count="$LEN" status=none      | curl -sS -X PUT --data-binary @- "${AUTH[@]}" "$UPLOAD_URL/$NO" >/dev/null
  • Network accessline 43
    | curl -sS -X PUT --data-binary @- "${AUTH[@]}" "$UPLOAD_URL/$NO" >/dev/null
  • Network accessline 48
    CODE=$(curl -sS -o /dev/null -w "%{http_code}" -X POST "${AUTH[@]}" "$API/account/articles/$ART/files/$FILE_ID")

plugins/grant-thinking-cn-biology/skills/grant-thinking-cn-biology/SKILL.md

  • Network accessline 4
    description: Use when evaluating biology grant ideas in the Chinese funding context (NSFC, MOST, etc.) — diagnosing project legitimacy, mechanism-centered scientific questions, reviewer-aware logic, innovation discipline, feasibility, and s
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: No external tool dependencies. Works with any LLM-based agent on any platform.
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills

plugins/grant-thinking-general/skills/grant-thinking-general/SKILL.md

  • Network accessline 4
    description: Use when evaluating grant ideas, diagnosing proposal logic, framing fundable projects, strengthening reviewer-aware arguments, or preparing to write any section of a research proposal. license: MIT homepage: https://github.com/
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: No external tool dependencies. Works with any LLM-based agent on any platform.
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills

plugins/imagencn/skills/imagencn/SKILL.md

  • Network accessline 7
    created: 2024-12-01 updated: 2026-08-08 homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 8
    updated: 2026-08-08 homepage: https://github.com/Agents365-ai/365-skills metadata: {"openclaw":{"requires":{"bins":["python3"],"env":["DASHSCOPE_API_KEY"]},"primaryEnv":"DASHSCOPE_API_KEY","emoji":"🎨"}}
  • Network accessline 9
    homepage: https://github.com/Agents365-ai/365-skills
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 390
    [Credential-related source omitted]
  • Access to secretsline 395
    [Credential-related source omitted]
  • Access to secretsline 399
    [Credential-related source omitted]
  • Access to secretsline 403
    [Credential-related source omitted]
  • Access to secretsline 407
    [Credential-related source omitted]
  • Access to secretsline 411
    [Credential-related source omitted]
  • Access to secretsline 415
    [Credential-related source omitted]
  • Access to secretsline 419
    [Credential-related source omitted]
  • Access to secretsline 423
    [Credential-related source omitted]
  • Network accessline 429
    - DashScope: <https://bailian.console.aliyun.com/>
  • Network accessline 430
    - Volcano Ark: <https://console.volcengine.com/ark/region:ark+cn-beijing/apikey>
  • Network accessline 431
    - Tencent Hunyuan: <https://console.cloud.tencent.com/tokenhub/apikey>
  • Network accessline 432
    - Zhipu: <https://bigmodel.cn>
  • Network accessline 433
    - StepFun: <https://platform.stepfun.com/interface-key>
  • Network accessline 434
    - Google Gemini: <https://aistudio.google.com/>
  • Network accessline 435
    - Grok / xAI: <https://console.x.ai/>
  • Network accessline 436
    - OpenAI: <https://platform.openai.com/api-keys>
  • Network accessline 437
    - Black Forest Labs / FLUX: <https://api.bfl.ai/>
  • Network accessline 463
    | Region | Alias | URL | | -------- | ------- | ----- | | **China** (default) | `cn` | `https://dashscope.aliyuncs.com/api/v1` |
  • Network accessline 464
    | -------- | ------- | ----- | | **China** (default) | `cn` | `https://dashscope.aliyuncs.com/api/v1` | | Singapore | `sg` | `https://dashscope-intl.aliyuncs.com/api/v1` |
  • Network accessline 465
    | **China** (default) | `cn` | `https://dashscope.aliyuncs.com/api/v1` |
  • Network accessline 466
    | Singapore | `sg` | `https://dashscope-intl.aliyuncs.com/api/v1` |
  • Network accessline 467
    | Virginia | `us` | `https://dashscope-us.aliyuncs.com/api/v1` |
  • Network accessline 473
    # Or use full URL export DASHSCOPE_API_BASE="https://dashscope-intl.aliyuncs.com/api/v1"
  • Network accessline 474
    export DASHSCOPE_API_BASE="https://dashscope-intl.aliyuncs.com/api/v1"
  • Access to secretsline 527
    [Credential-related source omitted]
  • Access to secretsline 535
    [Credential-related source omitted]
  • Access to secretsline 541
    [Credential-related source omitted]
  • Access to secretsline 551
    [Credential-related source omitted]
  • Access to secretsline 557
    [Credential-related source omitted]
  • Access to secretsline 567
    [Credential-related source omitted]
  • Access to secretsline 577
    [Credential-related source omitted]
  • Access to secretsline 587
    [Credential-related source omitted]
  • Access to secretsline 597
    [Credential-related source omitted]
  • Access to secretsline 603
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/bfl.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 29
    BFL_API_BASE = "https://api.bfl.ai/v1"
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Network accessline 65
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Network accessline 66
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Network accessline 67
    "Get a key at: https://api.bfl.ai/"
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 107
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/gemini.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 28
    GEMINI_API_BASE = "https://generativelanguage.googleapis.com/v1beta/models"
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Network accessline 59
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Network accessline 60
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Network accessline 61
    "Get a free key at: https://aistudio.google.com/"
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Possible obfuscationline 109
    return base64.b64decode(inline["data"])

plugins/imagencn/skills/imagencn/scripts/generate_image.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 28
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 284
    [Credential-related source omitted]
  • Access to secretsline 292
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Access to secretsline 307
    [Credential-related source omitted]
  • Access to secretsline 314
    [Credential-related source omitted]
  • Access to secretsline 322
    [Credential-related source omitted]
  • Access to secretsline 329
    [Credential-related source omitted]
  • Access to secretsline 337
    [Credential-related source omitted]
  • Access to secretsline 344
    [Credential-related source omitted]
  • Access to secretsline 354
    [Credential-related source omitted]
  • Access to secretsline 361
    [Credential-related source omitted]
  • Access to secretsline 369
    [Credential-related source omitted]
  • Access to secretsline 376
    [Credential-related source omitted]
  • Access to secretsline 386
    [Credential-related source omitted]
  • Access to secretsline 393
    [Credential-related source omitted]
  • Access to secretsline 401
    [Credential-related source omitted]
  • Network accessline 408
    API_ENDPOINTS = {     "cn": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 409
    "cn": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 410
    "sg": "https://dashscope-intl.aliyuncs.com/api/v1",
  • Network accessline 411
    "us": "https://dashscope-us.aliyuncs.com/api/v1",
  • Access to secretsline 495
    [Credential-related source omitted]
  • Access to secretsline 496
    [Credential-related source omitted]
  • Access to secretsline 497
    [Credential-related source omitted]
  • Network accessline 499
    EX_AUTH,             "DASHSCOPE_API_KEY environment variable not set",             hint="Get a key at https://bailian.console.aliyun.com/",
  • Network accessline 500
    [Credential-related source omitted]
  • Access to secretsline 500
    [Credential-related source omitted]
  • Network accessline 501
    hint="Get a key at https://bailian.console.aliyun.com/",
  • Access to secretsline 503
    [Credential-related source omitted]
  • Access to secretsline 507
    [Credential-related source omitted]
  • Access to secretsline 563
    [Credential-related source omitted]
  • Access to secretsline 565
    [Credential-related source omitted]
  • Access to secretsline 567
    [Credential-related source omitted]
  • Access to secretsline 569
    [Credential-related source omitted]
  • Access to secretsline 571
    [Credential-related source omitted]
  • Access to secretsline 573
    [Credential-related source omitted]
  • Access to secretsline 575
    [Credential-related source omitted]
  • Access to secretsline 577
    [Credential-related source omitted]
  • Access to secretsline 578
    [Credential-related source omitted]
  • Access to secretsline 658
    [Credential-related source omitted]
  • Access to secretsline 662
    [Credential-related source omitted]
  • Access to secretsline 676
    [Credential-related source omitted]
  • Access to secretsline 681
    [Credential-related source omitted]
  • Access to secretsline 695
    [Credential-related source omitted]
  • Access to secretsline 704
    [Credential-related source omitted]
  • Network accessline 734
    def save_image(url, output_path):     try:         response = requests.get(url, timeout=60)
  • Network accessline 735
    try:         response = requests.get(url, timeout=60)         response.raise_for_status()
  • Network accessline 736
    response = requests.get(url, timeout=60)
  • Network accessline 830
    default = " (default)" if region == "cn" else ""         print(f"  - {region}: {url}{default}")     print("  - Volcano Ark: https://ark.cn-beijing.volces.com/api/v3")
  • Network accessline 831
    print(f"  - {region}: {url}{default}")     print("  - Volcano Ark: https://ark.cn-beijing.volces.com/api/v3")     print("  - Tencent Hunyuan: https://tokenhub.tencentmaas.com/v1/images/generations")
  • Network accessline 832
    print("  - Volcano Ark: https://ark.cn-beijing.volces.com/api/v3")
  • Network accessline 833
    print("  - Tencent Hunyuan: https://tokenhub.tencentmaas.com/v1/images/generations")
  • Network accessline 834
    print("  - Zhipu: https://api.z.ai/api/paas/v4/images/generations")
  • Network accessline 835
    print("  - StepFun: https://api.stepfun.com/v1/images/generations")
  • Network accessline 836
    print("  - Google Gemini: https://generativelanguage.googleapis.com/v1beta/models")
  • Network accessline 837
    print("  - Grok (xAI): https://api.x.ai/v1/images/generations")
  • Network accessline 838
    print("  - OpenAI: https://api.openai.com/v1/images/generations")
  • Network accessline 839
    print("  - FLUX (BFL): https://api.bfl.ai/v1")
  • Access to secretsline 1076
    [Credential-related source omitted]
  • Access to secretsline 1087
    [Credential-related source omitted]
  • Network accessline 1190
    if platform == "ark":         api_type = "Volcano Ark (OpenAI-compatible)"         endpoint = "https://ark.cn-beijing.volces.com/api/v3/images/generations"
  • Network accessline 1191
    api_type = "Volcano Ark (OpenAI-compatible)"         endpoint = "https://ark.cn-beijing.volces.com/api/v3/images/generations"     elif platform == "hunyuan":
  • Network accessline 1192
    endpoint = "https://ark.cn-beijing.volces.com/api/v3/images/generations"
  • Network accessline 1193
    elif platform == "hunyuan":         api_type = "Tencent Hunyuan (OpenAI-compatible)"         endpoint = "https://tokenhub.tencentmaas.com/v1/images/generations"
  • Network accessline 1194
    api_type = "Tencent Hunyuan (OpenAI-compatible)"         endpoint = "https://tokenhub.tencentmaas.com/v1/images/generations"     elif platform == "zhipu":
  • Network accessline 1195
    endpoint = "https://tokenhub.tencentmaas.com/v1/images/generations"
  • Network accessline 1196
    elif platform == "zhipu":         api_type = "Zhipu (OpenAI-compatible)"         endpoint = "https://api.z.ai/api/paas/v4/images/generations"
  • Network accessline 1197
    api_type = "Zhipu (OpenAI-compatible)"         endpoint = "https://api.z.ai/api/paas/v4/images/generations"     elif platform == "stepfun":
  • Network accessline 1198
    endpoint = "https://api.z.ai/api/paas/v4/images/generations"
  • Network accessline 1199
    elif platform == "stepfun":         api_type = "StepFun (OpenAI-compatible)"         endpoint = "https://api.stepfun.com/v1/images/generations"
  • Network accessline 1200
    api_type = "StepFun (OpenAI-compatible)"         endpoint = "https://api.stepfun.com/v1/images/generations"     elif platform == "gemini":
  • Network accessline 1201
    endpoint = "https://api.stepfun.com/v1/images/generations"
  • Network accessline 1202
    elif platform == "gemini":         api_type = "Google Gemini (generateContent)"         endpoint = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"
  • Network accessline 1203
    api_type = "Google Gemini (generateContent)"         endpoint = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"     elif platform == "grok":
  • Network accessline 1204
    endpoint = f"https://generativelanguage.googleapis.com/v1beta/models/{model}:generateContent"
  • Network accessline 1205
    elif platform == "grok":         api_type = "Grok / xAI (OpenAI-compatible)"         endpoint = "https://api.x.ai/v1/images/generations"
  • Network accessline 1206
    api_type = "Grok / xAI (OpenAI-compatible)"         endpoint = "https://api.x.ai/v1/images/generations"     elif platform == "openai":
  • Network accessline 1207
    endpoint = "https://api.x.ai/v1/images/generations"
  • Network accessline 1208
    elif platform == "openai":         api_type = "OpenAI (Images API)"         endpoint = "https://api.openai.com/v1/images/generations"
  • Network accessline 1209
    api_type = "OpenAI (Images API)"         endpoint = "https://api.openai.com/v1/images/generations"     elif platform == "bfl":
  • Network accessline 1210
    endpoint = "https://api.openai.com/v1/images/generations"
  • Network accessline 1211
    elif platform == "bfl":         api_type = "Black Forest Labs / FLUX (async REST)"         endpoint = f"https://api.bfl.ai/v1/{model}"
  • Network accessline 1212
    api_type = "Black Forest Labs / FLUX (async REST)"         endpoint = f"https://api.bfl.ai/v1/{model}"     elif model in SYNTHESIS_MODELS:
  • Network accessline 1213
    endpoint = f"https://api.bfl.ai/v1/{model}"
  • Access to secretsline 1266
    [Credential-related source omitted]
  • Access to secretsline 1272
    [Credential-related source omitted]
  • Access to secretsline 1283
    [Credential-related source omitted]
  • Access to secretsline 1285
    [Credential-related source omitted]
  • Access to secretsline 1296
    [Credential-related source omitted]
  • Access to secretsline 1298
    [Credential-related source omitted]
  • Access to secretsline 1303
    [Credential-related source omitted]
  • Access to secretsline 1305
    [Credential-related source omitted]
  • Access to secretsline 1310
    [Credential-related source omitted]
  • Access to secretsline 1312
    [Credential-related source omitted]
  • Access to secretsline 1317
    [Credential-related source omitted]
  • Access to secretsline 1319
    [Credential-related source omitted]
  • Access to secretsline 1324
    [Credential-related source omitted]
  • Access to secretsline 1326
    [Credential-related source omitted]
  • Access to secretsline 1331
    [Credential-related source omitted]
  • Access to secretsline 1333
    [Credential-related source omitted]
  • Access to secretsline 1338
    [Credential-related source omitted]
  • Access to secretsline 1340
    [Credential-related source omitted]
  • Access to secretsline 1350
    [Credential-related source omitted]
  • Access to secretsline 1352
    [Credential-related source omitted]
  • Access to secretsline 1361
    [Credential-related source omitted]
  • Access to secretsline 1363
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/grok.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 19
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 20
    env_model_var = "XAI_MODEL"     api_base = "https://api.x.ai/v1/images/generations"     default_model = "grok-imagine-image-quality"
  • Network accessline 21
    api_base = "https://api.x.ai/v1/images/generations"
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/hunyuan.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 16
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Network accessline 17
    env_model_var = "HUNYUAN_MODEL"     api_base = "https://api.hunyuan.cloud.tencent.com/v1/images/generations"     default_model = "hy-image-v3.0"
  • Network accessline 18
    api_base = "https://api.hunyuan.cloud.tencent.com/v1/images/generations"
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/openai_img.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 30
    OPENAI_API_BASE = "https://api.openai.com/v1/images/generations"
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Network accessline 53
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Network accessline 54
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Network accessline 55
    "Get a key at: https://platform.openai.com/api-keys"
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Possible obfuscationline 100
    return base64.b64decode(b64)

plugins/imagencn/skills/imagencn/scripts/providers/__init__.py

  • Executable scriptline 1
    Executable file

plugins/imagencn/skills/imagencn/scripts/providers/base.py

  • Executable scriptline 1
    Executable file
  • Network accessline 51
    raise ConfigError("'requests' package not installed. Run: pip install requests")     try:         rsp = requests.request(
  • Network accessline 52
    try:         rsp = requests.request(             method, url, headers=headers, json=json_data, timeout=timeout
  • Network accessline 53
    rsp = requests.request(
  • Access to secretsline 98
    [Credential-related source omitted]
  • Network accessline 99
    env_model_var: str = ""  # e.g. "ARK_MODEL"     api_base: str = (         ""  # e.g. "https://ark.cn-beijing.volces.com/api/v3/images/generations"
  • Network accessline 100
    api_base: str = (         ""  # e.g. "https://ark.cn-beijing.volces.com/api/v3/images/generations"     )
  • Network accessline 101
    ""  # e.g. "https://ark.cn-beijing.volces.com/api/v3/images/generations"
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 135
    [Credential-related source omitted]
  • Access to secretsline 146
    [Credential-related source omitted]
  • Access to secretsline 164
    [Credential-related source omitted]
  • Access to secretsline 173
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/stepfun.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 16
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Network accessline 17
    env_model_var = "STEP_MODEL"     api_base = "https://api.stepfun.com/v1/images/generations"     default_model = "step-2x-large"
  • Network accessline 18
    api_base = "https://api.stepfun.com/v1/images/generations"
  • Access to secretsline 49
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/volcano_ark.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 16
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Network accessline 17
    env_model_var = "ARK_MODEL"     api_base = "https://ark.cn-beijing.volces.com/api/v3/images/generations"     default_model = "doubao-seedream-5-0-260128"
  • Network accessline 18
    api_base = "https://ark.cn-beijing.volces.com/api/v3/images/generations"
  • Access to secretsline 77
    [Credential-related source omitted]
  • Access to secretsline 78
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]

plugins/imagencn/skills/imagencn/scripts/zhipu.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 16
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Network accessline 17
    env_model_var = "ZHIPUAI_MODEL"     api_base = "https://api.z.ai/api/paas/v4/images/generations"     default_model = "cogview-4"
  • Network accessline 18
    api_base = "https://api.z.ai/api/paas/v4/images/generations"
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]

plugins/journal-abbrev/skills/journal-abbrev/.gitignore

  • Access to secretsline 17
    [Credential-related source omitted]

plugins/journal-abbrev/skills/journal-abbrev/SKILL.md

  • Broad permissionsline 1
    Bash, Read, Write, Edit, Glob, Grep
  • Network accessline 9
    created: 2026-03-29 updated: 2026-07-14 github: https://github.com/Agents365-ai/365-skills
  • Network accessline 10
    updated: 2026-07-14 github: https://github.com/Agents365-ai/365-skills homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 11
    github: https://github.com/Agents365-ai/365-skills
  • Network accessline 12
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 18
    - python3     emoji: "📖"     homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 19
    emoji: "📖"     homepage: https://github.com/Agents365-ai/365-skills     os: ["macos", "linux", "windows"]
  • Network accessline 20
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 95
    | `JABBRV_CACHE_DIR` | Override the cache directory (default: `<install>/cache`). Useful in sandboxes where the install tree is read-only. | | `JABBRV_OFFLINE` | Truthy (`1`/`true`/`yes`/`on`) skips AbbrevISO and NLM; only the local JabRef 
  • Network accessline 97
    | `NO_COLOR` | <https://no-color.org> convention. Any non-empty value disables color. No ANSI is emitted today; `meta.no_color: true` appears when set so callers can see the policy. |
  • Access to secretsline 181
    [Credential-related source omitted]

plugins/journal-abbrev/skills/journal-abbrev/jabbrv.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Network accessline 71
    """https://no-color.org: any non-empty value disables color output. The
  • Access to secretsline 74
    [Credential-related source omitted]
  • Network accessline 80
    JABREF_BASE = "https://raw.githubusercontent.com/JabRef/abbrv.jabref.org/main/journals"
  • Network accessline 364
    encoded = quote(name, safe="")     url = f"https://abbreviso.toolforge.org/a/{encoded}"
  • Network accessline 365
    url = f"https://abbreviso.toolforge.org/a/{encoded}"
  • Network accessline 401
    base = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils"
  • Network accessline 760
    {             "name": "NO_COLOR",             "purpose": "https://no-color.org convention: any non-empty value disables color "
  • Network accessline 761
    "name": "NO_COLOR",             "purpose": "https://no-color.org convention: any non-empty value disables color "             "output. The CLI emits no ANSI today, but the variable is honored so "
  • Network accessline 762
    "purpose": "https://no-color.org convention: any non-empty value disables color "
  • Access to secretsline 1378
    [Credential-related source omitted]
  • Access to secretsline 1554
    [Credential-related source omitted]

plugins/journal-if/skills/journal-if/.gitignore

  • Access to secretsline 17
    [Credential-related source omitted]

plugins/journal-if/skills/journal-if/SKILL.md

  • Broad permissionsline 1
    Bash, Read, Write, Edit, Glob, Grep
  • Network accessline 9
    created: 2026-07-14 updated: 2026-07-14 github: https://github.com/Agents365-ai/365-skills
  • Network accessline 10
    updated: 2026-07-14 github: https://github.com/Agents365-ai/365-skills homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 11
    github: https://github.com/Agents365-ai/365-skills
  • Network accessline 12
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 18
    - python3     emoji: "📊"     homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 19
    emoji: "📊"     homepage: https://github.com/Agents365-ai/365-skills     os: ["macos", "linux", "windows"]
  • Network accessline 20
    homepage: https://github.com/Agents365-ai/365-skills

plugins/journal-if/skills/journal-if/journal_if.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 52
    UPSTREAM_BASE = "https://raw.githubusercontent.com/Agents365-ai/journal-if/main/skills/journal-if/data"
  • Access to secretsline 64
    [Credential-related source omitted]
  • Network accessline 190
    encoded = quote(name)     url = f"https://api.openalex.org/sources?search={encoded}&per_page=3"
  • Network accessline 191
    url = f"https://api.openalex.org/sources?search={encoded}&per_page=3"

plugins/journal-meta/skills/journal-meta/.gitignore

  • Access to secretsline 17
    [Credential-related source omitted]

plugins/journal-meta/skills/journal-meta/SKILL.md

  • Broad permissionsline 1
    Bash, Read, Write, Edit, Glob, Grep
  • Network accessline 9
    created: 2026-07-14 updated: 2026-07-14 github: https://github.com/Agents365-ai/365-skills
  • Network accessline 10
    updated: 2026-07-14 github: https://github.com/Agents365-ai/365-skills homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 11
    github: https://github.com/Agents365-ai/365-skills
  • Network accessline 12
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 18
    - python3     emoji: "🗂<U+FE0F>"     homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 19
    emoji: "🗂<U+FE0F>"     homepage: https://github.com/Agents365-ai/365-skills     os: ["macos", "linux", "windows"]
  • Network accessline 20
    homepage: https://github.com/Agents365-ai/365-skills

plugins/journal-meta/skills/journal-meta/journal_meta.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 27
    CLI_VERSION = "0.1.0" SCHEMA_VERSION = "0.1.0" UA = "journal-meta/%s (https://github.com/Agents365-ai/365-skills)" % CLI_VERSION
  • Network accessline 29
    UA = "journal-meta/%s (https://github.com/Agents365-ai/365-skills)" % CLI_VERSION
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 42
    sep = "&" if "?" in url else "?"         url = "%s%smailto=%s" % (url, sep, urllib.parse.quote(mailto))     req = urllib.request.Request(
  • Network accessline 43
    url = "%s%smailto=%s" % (url, sep, urllib.parse.quote(mailto))     req = urllib.request.Request(         url, headers={"User-Agent": UA, "Accept": "application/json"}
  • Network accessline 44
    req = urllib.request.Request(
  • Network accessline 45
    url, headers={"User-Agent": UA, "Accept": "application/json"}     )     with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 46
    )     with urllib.request.urlopen(req, timeout=timeout) as r:         return json.load(r)
  • Network accessline 47
    with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 51
    def _get_text(url, timeout=20):     req = urllib.request.Request(url, headers={"User-Agent": UA})
  • Network accessline 52
    req = urllib.request.Request(url, headers={"User-Agent": UA})
  • Network accessline 53
    with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 74
    s = query.strip()     low = s.lower()     for pre in ("https://doi.org/", "http://doi.org/", "doi.org/", "doi:"):
  • Network accessline 75
    low = s.lower()     for pre in ("https://doi.org/", "http://doi.org/", "doi.org/", "doi:"):         if low.startswith(pre):
  • Network accessline 76
    for pre in ("https://doi.org/", "http://doi.org/", "doi.org/", "doi:"):
  • Network accessline 104
    base = "https://api.openalex.org/works"
  • Network accessline 106
    if id_type == "doi":             return _get_json(                 "%s/https://doi.org/%s" % (base, urllib.parse.quote(value, safe="/"))
  • Network accessline 107
    return _get_json(                 "%s/https://doi.org/%s" % (base, urllib.parse.quote(value, safe="/"))             )
  • Network accessline 108
    "%s/https://doi.org/%s" % (base, urllib.parse.quote(value, safe="/"))
  • Network accessline 115
    try:                 return _get_json(                     "%s/https://doi.org/10.48550/arXiv.%s"
  • Network accessline 116
    return _get_json(                     "%s/https://doi.org/10.48550/arXiv.%s"                     % (base, urllib.parse.quote(value))
  • Network accessline 117
    "%s/https://doi.org/10.48550/arXiv.%s"                     % (base, urllib.parse.quote(value))                 )
  • Network accessline 178
    if pmid:         pmid = pmid.rstrip("/").rsplit("/", 1)[-1]     doi = (w.get("doi") or "").replace("https://doi.org/", "") or None
  • Network accessline 180
    doi = (w.get("doi") or "").replace("https://doi.org/", "") or None
  • Network accessline 214
    try:         msg = _get_json(             "https://api.crossref.org/works/%s" % urllib.parse.quote(doi, safe="/")
  • Network accessline 215
    msg = _get_json(             "https://api.crossref.org/works/%s" % urllib.parse.quote(doi, safe="/")         )["message"]
  • Network accessline 216
    "https://api.crossref.org/works/%s" % urllib.parse.quote(doi, safe="/")
  • Access to secretsline 295
    [Credential-related source omitted]
  • Network accessline 373
    rec["journal_abbrev"] = (                     _get_text(                         "https://abbreviso.toolforge.org/a/%s"
  • Network accessline 374
    _get_text(                         "https://abbreviso.toolforge.org/a/%s"                         % urllib.parse.quote(name)
  • Network accessline 375
    "https://abbreviso.toolforge.org/a/%s"                         % urllib.parse.quote(name)                     )
  • Network accessline 399
    try:                     s = _get_json(                         "https://api.openalex.org/sources/issn:%s"
  • Network accessline 400
    s = _get_json(                         "https://api.openalex.org/sources/issn:%s"                         % urllib.parse.quote(issn)
  • Network accessline 401
    "https://api.openalex.org/sources/issn:%s"                         % urllib.parse.quote(issn)                     )
  • Network accessline 704
    cases = [         ("10.1038/s41586-020-2649-2", "doi", "10.1038/s41586-020-2649-2"),         ("https://doi.org/10.1/x", "doi", "10.1/x"),
  • Network accessline 705
    ("10.1038/s41586-020-2649-2", "doi", "10.1038/s41586-020-2649-2"),         ("https://doi.org/10.1/x", "doi", "10.1/x"),         ("32939066", "pmid", "32939066"),
  • Network accessline 706
    ("https://doi.org/10.1/x", "doi", "10.1/x"),
  • Network accessline 722
    "publication_date": "2020-09-16",         "publication_year": 2020,         "doi": "https://doi.org/10.1/x",
  • Network accessline 723
    "publication_year": 2020,         "doi": "https://doi.org/10.1/x",         "cited_by_count": 5,
  • Network accessline 724
    "doi": "https://doi.org/10.1/x",
  • Network accessline 731
    },         "ids": {             "openalex": "https://openalex.org/W1",
  • Network accessline 732
    "ids": {             "openalex": "https://openalex.org/W1",             "pmid": "https://pubmed.ncbi.nlm.nih.gov/999",
  • Network accessline 733
    "openalex": "https://openalex.org/W1",
  • Network accessline 734
    "pmid": "https://pubmed.ncbi.nlm.nih.gov/999",

plugins/mermaid/skills/mermaid-skill/SKILL.md

  • Network accessline 3
    name: mermaid-skill description: Generate Mermaid diagrams (.mmd) and export to PNG/SVG/PDF using mmdc CLI or Kroki API. USE THIS SKILL when user mentions diagram, flowchart, sequence diagram, class diagram, ER diagram, state machine, archi
  • Network accessline 4
    description: Generate Mermaid diagrams (.mmd) and export to PNG/SVG/PDF using mmdc CLI or Kroki API. USE THIS SKILL when user mentions diagram, flowchart, sequence diagram, class diagram, ER diagram, state machine, architecture, visualize, 
  • Network accessline 5
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 47
    curl --version  # Just need curl
  • Network accessline 68
    # Validate with Kroki (preferred — no browser needed) curl -s -X POST -H "Content-Type: text/plain" --data-binary @diagram.mmd https://kroki.io/mermaid/svg -o /tmp/test.svg && echo "Valid" || echo "Invalid"
  • Network accessline 69
    curl -s -X POST -H "Content-Type: text/plain" --data-binary @diagram.mmd https://kroki.io/mermaid/svg -o /tmp/test.svg && echo "Valid" || echo "Invalid"
  • Network accessline 122
    When the review loop ends (approved or safety-valve), generate a one-click link that opens the current `.mmd` in the [mermaid.live](https://mermaid.live) editor for interactive fine-tuning:
  • Network accessline 125
    python3 scripts/mermaid_live_link.py diagram.mmd # -> https://mermaid.live/edit#pako:...
  • Network accessline 126
    # -> https://mermaid.live/edit#pako:...
  • Network accessline 201
    Use [Kroki](https://kroki.io) when `mmdc` is not available. No local dependencies needed.
  • Network accessline 204
    # SVG via Kroki curl -X POST -H "Content-Type: text/plain" --data-binary @diagram.mmd https://kroki.io/mermaid/svg -o diagram.svg
  • Network accessline 205
    curl -X POST -H "Content-Type: text/plain" --data-binary @diagram.mmd https://kroki.io/mermaid/svg -o diagram.svg
  • Network accessline 207
    # PNG via Kroki curl -X POST -H "Content-Type: text/plain" --data-binary @diagram.mmd https://kroki.io/mermaid/png -o diagram.png
  • Network accessline 208
    curl -X POST -H "Content-Type: text/plain" --data-binary @diagram.mmd https://kroki.io/mermaid/png -o diagram.png

plugins/mermaid/skills/mermaid-skill/reference/ARCHITECTURE.md

  • Network accessline 86
    logos reference: <https://icon-sets.iconify.design/logos>

plugins/mermaid/skills/mermaid-skill/scripts/mermaid_live_link.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 26
    except (ValueError, zlib.error) as e:         sys.exit(f"error: encoding self-check failed: {e}")     return f"https://mermaid.live/edit#pako:{b64}"
  • Network accessline 28
    return f"https://mermaid.live/edit#pako:{b64}"

plugins/obsidian-dev-rules/skills/obsidian-dev-rules/SKILL.md

  • Network accessline 4
    description: Authoritative reference and rules for developing for Obsidian — building TypeScript plugins (Plugin lifecycle, manifest.json, commands, settings, modals, views, ribbon/status bar), the Vault and Editor APIs, the event system, M
  • Network accessline 5
    license: MIT metadata: {"source":"https://docs.obsidian.md/Home","docVersion":"latest","fetched":"2026-05-24"} ---
  • Network accessline 6
    metadata: {"source":"https://docs.obsidian.md/Home","docVersion":"latest","fetched":"2026-05-24"}
  • Network accessline 11
    Obsidian is extended two ways: **plugins** (TypeScript against the Obsidian API) and **themes/snippets** (CSS). This skill mirrors the official developer docs at https://docs.obsidian.md so you can build and
  • Network accessline 12
    (CSS). This skill mirrors the official developer docs at https://docs.obsidian.md so you can build and
  • Network accessline 14
    canonical starting point is the [`obsidian-sample-plugin`](https://github.com/obsidianmd/obsidian-sample-plugin).

plugins/obsidian-dev-rules/skills/obsidian-dev-rules/references/plugin-basics.md

  • Network accessline 3
    Source: https://docs.obsidian.md/Plugins/Getting+started/{Build+a+plugin,Anatomy+of+a+plugin}, /Reference/Manifest, /Plugins/Events
  • Network accessline 7
    - Git, a Node.js dev environment, a code editor (VS Code recommended). - **Use a separate vault for development**, never your main vault. - Sample: `https://github.com/obsidianmd/obsidian-sample-plugin` (GitHub template).
  • Network accessline 9
    - Sample: `https://github.com/obsidianmd/obsidian-sample-plugin` (GitHub template).
  • Network accessline 13
    mkdir -p .obsidian/plugins cd .obsidian/plugins git clone https://github.com/obsidianmd/obsidian-sample-plugin.git
  • Network accessline 14
    cd .obsidian/plugins git clone https://github.com/obsidianmd/obsidian-sample-plugin.git cd obsidian-sample-plugin
  • Network accessline 15
    git clone https://github.com/obsidianmd/obsidian-sample-plugin.git
  • Network accessline 50
    "description": "A helpful plugin for note-taking",   "author": "Jane Doe",   "authorUrl": "https://example.com",
  • Network accessline 51
    "author": "Jane Doe",   "authorUrl": "https://example.com",   "fundingUrl": { "Buy Me a Coffee": "https://buymeacoffee.com", "GitHub Sponsor": "https://github.com/sponsors" },
  • Network accessline 52
    "authorUrl": "https://example.com",
  • Network accessline 53
    "fundingUrl": { "Buy Me a Coffee": "https://buymeacoffee.com", "GitHub Sponsor": "https://github.com/sponsors" },

plugins/obsidian-dev-rules/skills/obsidian-dev-rules/references/themes-and-release.md

  • Network accessline 3
    Source: https://docs.obsidian.md/Themes/App+themes/Build+a+theme, /Plugins/Releasing/{Submit+your+plugin,Plugin+guidelines}

plugins/obsidian-dev-rules/skills/obsidian-dev-rules/references/ui.md

  • Network accessline 3
    Source: https://docs.obsidian.md/Plugins/User+interface/{Commands,Settings,Modals,Views}
  • Network accessline 158
    Icons use Obsidian's built-in [Lucide](https://lucide.dev) set; register custom ones with `addIcon()`.

plugins/obsidian-dev-rules/skills/obsidian-dev-rules/references/vault-and-editor.md

  • Network accessline 3
    Source: https://docs.obsidian.md/Plugins/Vault, /Plugins/Editor/{Editor,Markdown+post+processing}, editor extensions

plugins/obsidian-organizer/skills/obsidian-organizer/SKILL.md

  • Dangerous shell operationline 67
    vault to follow the moved file. A raw `mv`, `rm`, `rmdir`, or `find -delete` on a
  • Dangerous shell operationline 75
    - **Never** use Bash `mv` / `rm` / `rmdir` / `find -delete` on vault-internal paths.

plugins/paper-fetch/skills/paper-fetch/SKILL.md

  • Network accessline 3
    name: paper-fetch description: Use whenever the user wants to obtain, download, or fetch a paper's PDF — given a DOI, an arXiv id, a paper title, a citation, or a list of DOIs. Trigger on phrases like "download this paper", "find the PDF fo
  • Network accessline 4
    description: Use whenever the user wants to obtain, download, or fetch a paper's PDF — given a DOI, an arXiv id, a paper title, a citation, or a list of DOIs. Trigger on phrases like "download this paper", "find the PDF for [DOI]", "grab me
  • Network accessline 5
    homepage: https://github.com/Agents365-ai/365-skills metadata: {"openclaw":{"requires":{"bins":["python3"]},"emoji":"📄"},"pimo":{"category":"research","tags":["paper","pdf","doi","open-access","download"]},"author":"Agents365-ai","version":
  • Network accessline 15
    1. **Unpaywall** — `https://api.unpaywall.org/v2/{doi}?email=$UNPAYWALL_EMAIL`, read `best_oa_location.url_for_pdf` (skipped if `UNPAYWALL_EMAIL` not set)
  • Network accessline 16
    2. **Semantic Scholar** — `https://api.semanticscholar.org/graph/v1/paper/DOI:{doi}?fields=openAccessPdf,externalIds`
  • Network accessline 17
    3. **arXiv** — if `externalIds.ArXiv` present, `https://arxiv.org/pdf/{arxiv_id}.pdf`
  • Network accessline 18
    4. **PubMed Central OA** — if PMCID present, `https://www.ncbi.nlm.nih.gov/pmc/articles/{pmcid}/pdf/` 5. **bioRxiv / medRxiv** — if DOI prefix is `10.1101`, query `https://api.biorxiv.org/details/{server}/{doi}` for the latest version PDF U
  • Network accessline 19
    5. **bioRxiv / medRxiv** — if DOI prefix is `10.1101`, query `https://api.biorxiv.org/details/{server}/{doi}` for the latest version PDF URL 6. **Publisher direct** *(institutional mode only — `PAPER_FETCH_INSTITUTIONAL=1`)* — DOI-prefix → 
  • Network accessline 20
    6. **Publisher direct** *(institutional mode only — `PAPER_FETCH_INSTITUTIONAL=1`)* — DOI-prefix → publisher PDF template (Nature / Science / Wiley / Springer / ACS / PNAS / NEJM / Sage / T&F / Elsevier). The caller's own subscription IP / 
  • Network accessline 21
    7. **Sci-Hub mirrors** *(on by default; disable with `PAPER_FETCH_NO_SCIHUB=1`)* — last-resort fallback. Tries the mirror list in `PAPER_FETCH_SCIHUB_MIRRORS` (or built-in defaults `sci-hub.ru`, `sci-hub.st`, `sci-hub.su`, `sci-hub.box`, `s
  • Network accessline 24
    **CloakBrowser fallback (download layer, opt-in — `PAPER_FETCH_CLOAK=1`).** This is not a separate source: it sits at the download chokepoint, so it applies to *any* of the sources above. When a resolved PDF URL is blocked by Cloudflare — H
  • Network accessline 51
    | Flag | Default | Description | | ------ | --------- | ------------- | | `doi` | — | DOI to fetch (positional). Use `-` to read a single DOI from stdin |
  • Network accessline 52
    | ------ | --------- | ------------- | | `doi` | — | DOI to fetch (positional). Use `-` to read a single DOI from stdin | | `--title TITLE` | — | Paper title; resolved to a DOI via Crossref before download. Mutually exclusive with positiona
  • Network accessline 53
    | `doi` | — | DOI to fetch (positional). Use `-` to read a single DOI from stdin |
  • Network accessline 81
    "success": true,         "source": "unpaywall",         "pdf_url": "https://www.nature.com/articles/s41586-021-03819-2.pdf",
  • Network accessline 82
    "source": "unpaywall",         "pdf_url": "https://www.nature.com/articles/s41586-021-03819-2.pdf",         "file": "pdfs/Jumper_2021_Highly_accurate_protein_structure_predic.pdf",
  • Network accessline 83
    "pdf_url": "https://www.nature.com/articles/s41586-021-03819-2.pdf",
  • Network accessline 155
    "success": true,   "source": "unpaywall",   "pdf_url": "https://...",
  • Network accessline 156
    "source": "unpaywall",   "pdf_url": "https://...",   "file": "pdfs/Jumper_2021_...pdf",
  • Network accessline 157
    "pdf_url": "https://...",
  • Network accessline 270
    Some publishers (e.g. `science.org`) sit behind Cloudflare, which answers a plain HTTP client with a `403`/`429` or a "Just a moment…" JS-challenge page instead of the PDF — so the default `urllib` download can't get through even when the U
  • Network accessline 274
    **How it works:** the fallback lives at the **download layer**, not as a new source — so it applies to any resolved URL (Unpaywall, publisher-direct, Sci-Hub, …). On a Cloudflare block, `fetch.py` shells out to the `cloak_pdf.py` companion 

plugins/paper-fetch/skills/paper-fetch/scripts/cloak_pdf.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 10
    This is an OPTIONAL companion to fetch.py. fetch.py shells out to it only when PAPER_FETCH_CLOAK is set and a normal download was blocked by Cloudflare. It requires the `cloakbrowser` package (https://github.com/CloakHQ/CloakBrowser)
  • Network accessline 11
    PAPER_FETCH_CLOAK is set and a normal download was blocked by Cloudflare. It requires the `cloakbrowser` package (https://github.com/CloakHQ/CloakBrowser) to be importable in the interpreter that runs it — point CLOAKBROWSER_PYTHON at
  • Network accessline 12
    requires the `cloakbrowser` package (https://github.com/CloakHQ/CloakBrowser)
  • Network accessline 55
    _FETCH_JS = """async ([u, cap]) => {     const r = await fetch(u, {credentials: 'include'});
  • Network accessline 56
    const r = await fetch(u, {credentials: 'include'});
  • Access to secretsline 138
    [Credential-related source omitted]
  • Possible obfuscationline 202
    body = base64.b64decode(res["b64"])

plugins/paper-fetch/skills/paper-fetch/scripts/fetch.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 58
    [Credential-related source omitted]
  • Network accessline 65
    DOWNLOAD_UA = (     f"Mozilla/5.0 (compatible; paper-fetch/{CLI_VERSION}; "     f"+https://github.com/obra/paper-fetch) "
  • Network accessline 66
    f"Mozilla/5.0 (compatible; paper-fetch/{CLI_VERSION}; "     f"+https://github.com/obra/paper-fetch) "     "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
  • Network accessline 67
    f"+https://github.com/obra/paper-fetch) "
  • Network accessline 108
    # Default mirror list (snapshot from https://www.sci-hub.pub/ on 2026-04-26).
  • Network accessline 120
    "sci-hub.ee", ) SCIHUB_DISCOVERY_URL = "https://www.sci-hub.pub/"
  • Network accessline 122
    SCIHUB_DISCOVERY_URL = "https://www.sci-hub.pub/"
  • Access to secretsline 167
    [Credential-related source omitted]
  • Access to secretsline 193
    [Credential-related source omitted]
  • Access to secretsline 204
    [Credential-related source omitted]
  • Network accessline 341
    # Install process-wide so every urllib.request.urlopen() — PDF downloads and
  • Network accessline 519
    def _get(url: str, *, accept: str = "application/json", timeout: int, user_agent: str | None = None) -> bytes:     _rate_limit_gate()     req = urllib.request.Request(url, headers={"User-Agent": user_agent or UA, "Accept": accept})
  • Network accessline 520
    _rate_limit_gate()     req = urllib.request.Request(url, headers={"User-Agent": user_agent or UA, "Accept": accept})     with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 521
    req = urllib.request.Request(url, headers={"User-Agent": user_agent or UA, "Accept": accept})
  • Network accessline 522
    with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 592
    _rate_limit_gate()     req = urllib.request.Request(
  • Network accessline 593
    req = urllib.request.Request(
  • Network accessline 599
    )     try:         with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 600
    try:         with urllib.request.urlopen(req, timeout=timeout) as r:             data = r.read(MAX_PDF_SIZE + 1)
  • Network accessline 601
    with urllib.request.urlopen(req, timeout=timeout) as r:
  • Network accessline 684
    def try_unpaywall(doi: str, *, timeout: int, errors: list | None = None) -> tuple[str | None, dict]:     url = f"https://api.unpaywall.org/v2/{urllib.parse.quote(doi)}?email={EMAIL}"
  • Network accessline 685
    url = f"https://api.unpaywall.org/v2/{urllib.parse.quote(doi)}?email={EMAIL}"
  • Network accessline 703
    def try_semantic_scholar(doi: str, *, timeout: int, errors: list | None = None) -> tuple[str | None, dict, dict]:     url = (         f"https://api.semanticscholar.org/graph/v1/paper/DOI:{urllib.parse.quote(doi)}"
  • Network accessline 704
    url = (         f"https://api.semanticscholar.org/graph/v1/paper/DOI:{urllib.parse.quote(doi)}"         "?fields=title,year,authors,openAccessPdf,externalIds,venue"
  • Network accessline 705
    f"https://api.semanticscholar.org/graph/v1/paper/DOI:{urllib.parse.quote(doi)}"
  • Network accessline 725
    def try_arxiv(arxiv_id: str) -> str:     return f"https://arxiv.org/pdf/{arxiv_id}.pdf"
  • Network accessline 726
    return f"https://arxiv.org/pdf/{arxiv_id}.pdf"
  • Network accessline 741
    try:         body = _get(             f"http://export.arxiv.org/api/query?id_list={bare}",
  • Network accessline 742
    body = _get(             f"http://export.arxiv.org/api/query?id_list={bare}",             accept="application/atom+xml",
  • Network accessline 743
    f"http://export.arxiv.org/api/query?id_list={bare}",
  • Network accessline 745
    timeout=timeout,         )         ns = {"atom": "http://www.w3.org/2005/Atom"}
  • Network accessline 746
    )         ns = {"atom": "http://www.w3.org/2005/Atom"}         root = ET.fromstring(body)
  • Network accessline 747
    ns = {"atom": "http://www.w3.org/2005/Atom"}
  • Network accessline 761
    def try_pmc(pmcid: str) -> str:     pmcid = pmcid if pmcid.startswith("PMC") else f"PMC{pmcid}"     return f"https://www.ncbi.nlm.nih.gov/pmc/articles/{pmcid}/pdf/"
  • Network accessline 763
    return f"https://www.ncbi.nlm.nih.gov/pmc/articles/{pmcid}/pdf/"
  • Network accessline 773
    pmcid = pmcid if pmcid.startswith("PMC") else f"PMC{pmcid}"     return f"https://europepmc.org/articles/{pmcid}?pdf=render"
  • Network accessline 774
    return f"https://europepmc.org/articles/{pmcid}?pdf=render"
  • Network accessline 781
    """Extract a PMCID from a URL like https://www.ncbi.nlm.nih.gov/pmc/articles/PMC123/...
  • Network accessline 796
    for server in ("biorxiv", "medrxiv"):         try:             d = _get_json(f"https://api.biorxiv.org/details/{server}/{doi}", timeout=timeout)
  • Network accessline 797
    try:             d = _get_json(f"https://api.biorxiv.org/details/{server}/{doi}", timeout=timeout)             coll = d.get("collection") or []
  • Network accessline 798
    d = _get_json(f"https://api.biorxiv.org/details/{server}/{doi}", timeout=timeout)
  • Network accessline 800
    if coll:                 latest = coll[-1]                 return f"https://www.{server}.org/content/10.1101/{latest['doi'].split('/')[-1]}v{latest.get('version', 1)}.full.pdf"
  • Network accessline 801
    latest = coll[-1]                 return f"https://www.{server}.org/content/10.1101/{latest['doi'].split('/')[-1]}v{latest.get('version', 1)}.full.pdf"         except Exception:
  • Network accessline 802
    return f"https://www.{server}.org/content/10.1101/{latest['doi'].split('/')[-1]}v{latest.get('version', 1)}.full.pdf"
  • Network accessline 852
    if EMAIL:         params["mailto"] = EMAIL     url = "https://api.crossref.org/works?" + urllib.parse.urlencode(params)
  • Network accessline 853
    params["mailto"] = EMAIL     url = "https://api.crossref.org/works?" + urllib.parse.urlencode(params)     try:
  • Network accessline 854
    url = "https://api.crossref.org/works?" + urllib.parse.urlencode(params)
  • Network accessline 908
    "fields": "title,authors,year,venue,externalIds",     }     url = "https://api.semanticscholar.org/graph/v1/paper/search/match?" + urllib.parse.urlencode(params)
  • Network accessline 909
    }     url = "https://api.semanticscholar.org/graph/v1/paper/search/match?" + urllib.parse.urlencode(params)     try:
  • Network accessline 910
    url = "https://api.semanticscholar.org/graph/v1/paper/search/match?" + urllib.parse.urlencode(params)
  • Network accessline 959
    "10.1038/": ("nature", "https://www.nature.com/articles/{suffix}.pdf"),
  • Network accessline 960
    "10.1126/": ("science", "https://www.science.org/doi/pdf/{doi}"),
  • Network accessline 961
    "10.1002/": ("wiley", "https://onlinelibrary.wiley.com/doi/pdf/{doi}"),
  • Network accessline 962
    "10.1007/": ("springer", "https://link.springer.com/content/pdf/{doi}.pdf"),
  • Network accessline 963
    "10.1021/": ("acs", "https://pubs.acs.org/doi/pdf/{doi}"),
  • Network accessline 964
    "10.1073/": ("pnas", "https://www.pnas.org/doi/pdf/{doi}"),
  • Network accessline 965
    "10.1056/": ("nejm", "https://www.nejm.org/doi/pdf/{doi}"),
  • Network accessline 966
    "10.1177/": ("sage", "https://journals.sagepub.com/doi/pdf/{doi}"),
  • Network accessline 967
    "10.1080/": ("tandf", "https://www.tandfonline.com/doi/pdf/{doi}"),
  • Network accessline 1035
    slugs.append(short)     return [         f"https://pub.mdpi-res.com/{s}/{s}-{vol}-{art5}/article_deploy/{s}-{vol}-{art5}.pdf"
  • Network accessline 1036
    return [         f"https://pub.mdpi-res.com/{s}/{s}-{vol}-{art5}/article_deploy/{s}-{vol}-{art5}.pdf"         for s in slugs
  • Network accessline 1037
    f"https://pub.mdpi-res.com/{s}/{s}-{vol}-{art5}/article_deploy/{s}-{vol}-{art5}.pdf"
  • Network accessline 1053
    try:             data = _get_json(f"https://api.crossref.org/works/{urllib.parse.quote(doi)}", timeout=timeout)
  • Network accessline 1054
    data = _get_json(f"https://api.crossref.org/works/{urllib.parse.quote(doi)}", timeout=timeout)
  • Network accessline 1062
    if not pii:             return []         return [(f"https://www.sciencedirect.com/science/article/pii/{pii}/pdfft", "elsevier")]
  • Network accessline 1064
    return [(f"https://www.sciencedirect.com/science/article/pii/{pii}/pdfft", "elsevier")]
  • Access to secretsline 1100
    [Credential-related source omitted]
  • Access to secretsline 1110
    [Credential-related source omitted]
  • Network accessline 1119
    Accepts forms like ``sci-hub.ru``, ``https://sci-hub.ru``, or
  • Network accessline 1145
    ok, _ = _is_safe_url(f"https://{host}/")
  • Network accessline 1203
    if not mirror_host:             return None         return f"https://{mirror_host}{url}"
  • Network accessline 1204
    return None         return f"https://{mirror_host}{url}"     if url.startswith("http://"):
  • Network accessline 1205
    return f"https://{mirror_host}{url}"
  • Network accessline 1293
    url = f"https://{host}/{doi}"
  • Network accessline 1380
    def fetch(
  • Network accessline 1395
    for _prefix in ("https://doi.org/", "http://doi.org/", "https://dx.doi.org/", "http://dx.doi.org/", "doi.org/", "dx.doi.org/", "doi:"):
  • Network accessline 1786
    "cli_version": CLI_VERSION,         "schema_version": SCHEMA_VERSION,         "description": "Fetch PDFs by DOI via Unpaywall, Semantic Scholar, arXiv, Europe PMC, PMC, and bioRxiv/medRxiv. In institutional mode (PAPER_FETCH_INSTITUTIONAL=1
  • Network accessline 1787
    "schema_version": SCHEMA_VERSION,         "description": "Fetch PDFs by DOI via Unpaywall, Semantic Scholar, arXiv, Europe PMC, PMC, and bioRxiv/medRxiv. In institutional mode (PAPER_FETCH_INSTITUTIONAL=1), also attempts a publisher-direct 
  • Network accessline 1788
    "description": "Fetch PDFs by DOI via Unpaywall, Semantic Scholar, arXiv, Europe PMC, PMC, and bioRxiv/medRxiv. In institutional mode (PAPER_FETCH_INSTITUTIONAL=1), also attempts a publisher-direct fetch (publisher_direct source) using the 
  • Network accessline 1794
    "type": "string",                 "required": False,                 "description": "DOI to fetch (positional). Use '-' to read DOIs line-by-line from stdin.",
  • Network accessline 1795
    "required": False,                 "description": "DOI to fetch (positional). Use '-' to read DOIs line-by-line from stdin.",                 "pattern": DOI_PATTERN,
  • Network accessline 1796
    "description": "DOI to fetch (positional). Use '-' to read DOIs line-by-line from stdin.",
  • Network accessline 2195
    formatter_class=argparse.RawDescriptionHelpFormatter,     )     ap.add_argument("doi", nargs="?", help="DOI to fetch (e.g. 10.1038/s41586-020-2649-2). Use '-' to read from stdin.")
  • Network accessline 2196
    )     ap.add_argument("doi", nargs="?", help="DOI to fetch (e.g. 10.1038/s41586-020-2649-2). Use '-' to read from stdin.")     ap.add_argument("--title", metavar="TITLE", help="paper title; resolved to a DOI via Crossref before download. Mu
  • Network accessline 2197
    ap.add_argument("doi", nargs="?", help="DOI to fetch (e.g. 10.1038/s41586-020-2649-2). Use '-' to read from stdin.")
  • Network accessline 2283
    results: list[dict] = []     for d in dois:         r = fetch(
  • Network accessline 2284
    for d in dois:         r = fetch(             d,
  • Network accessline 2285
    r = fetch(

plugins/pi-dev-rules/skills/pi-dev-rules/SKILL.md

  • Network accessline 4
    description: "Authoritative reference for Pi (@earendil-works/pi-coding-agent): install, configure, run, and extend it. Use for the CLI and configuration, providers and models, extensions, skills, MCP, codemode, the SDK/RPC, security and tr
  • Network accessline 5
    license: MIT metadata: {"source":"https://pi.dev/docs/latest","docVersion":"1.3.0","fetched":"2026-10-16","piRevision":"71023aec1","version":"0.9.0"} ---
  • Network accessline 6
    metadata: {"source":"https://pi.dev/docs/latest","docVersion":"1.3.0","fetched":"2026-10-16","piRevision":"71023aec1","version":"0.9.0"}
  • Network accessline 11
    Pi is a **minimal terminal coding harness**: lightweight core, extended through TypeScript customizations. Package: `@earendil-works/pi-coding-agent`. Maintained by Earendil Inc. (MIT). This skill mirrors the official docs at <https://pi.de
  • Network accessline 12
    customizations. Package: `@earendil-works/pi-coding-agent`. Maintained by Earendil Inc. (MIT). This skill mirrors the official docs at <https://pi.dev/docs/latest> so you can answer Pi questions and build Pi customizations without re-fetchi
  • Network accessline 13
    This skill mirrors the official docs at <https://pi.dev/docs/latest> so you can answer Pi questions
  • Dangerous shell operationline 92
    curl -fsSL https://pi.dev/install.sh | sh                         # install (pins dependencies)
  • Network accessline 92
    curl -fsSL https://pi.dev/install.sh | sh                         # install (pins dependencies)
  • Access to secretsline 94
    [Credential-related source omitted]
  • Network accessline 125
    - **Install package name is exactly** `@earendil-works/pi-coding-agent`. The pi.dev installer   (`curl -fsSL https://pi.dev/install.sh | sh`) pins dependencies and is the documented install
  • Dangerous shell operationline 126
    (`curl -fsSL https://pi.dev/install.sh | sh`) pins dependencies and is the documented install
  • Network accessline 126
    (`curl -fsSL https://pi.dev/install.sh | sh`) pins dependencies and is the documented install

plugins/pi-dev-rules/skills/pi-dev-rules/references/agent-harness.md

  • Network accessline 7
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/README.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/agent/README.md, https://raw.githu
  • Network accessline 8
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/README.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/agent/README.md, https://raw.githubusercontent.com/earendil-works/pi/main/pack
  • Access to secretsline 64
    [Credential-related source omitted]
  • Dangerous shell operationline 354
    Hosts can use the environment directly too, for example to show a project's files. `openBinaryReader()` reads byte ranges of one opened file, `openDirReader()` pages a directory, and `exec()` with an argv array runs a program without a shel
  • Access to secretsline 765
    [Credential-related source omitted]
  • Network accessline 769
    - [`docs/spec.md`](https://github.com/earendil-works/pi/blob/main/packages/durable/docs/spec.md): the normative specification
  • Network accessline 1298
    ...options,       authToken: "...",       proxyUrl: "https://your-server.com",
  • Network accessline 1299
    authToken: "...",       proxyUrl: "https://your-server.com",     }),
  • Network accessline 1300
    proxyUrl: "https://your-server.com",

plugins/pi-dev-rules/skills/pi-dev-rules/references/changelog.md

  • Access to secretsline 31
    [Credential-related source omitted]

plugins/pi-dev-rules/skills/pi-dev-rules/references/chord.md

  • Network accessline 7
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/chord/README.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/chord/docs/guide.md, https://raw.git
  • Network accessline 8
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/chord/README.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/chord/docs/guide.md, https://raw.githubusercontent.com/earendil-works/pi/main/pa
  • Network accessline 20
    Contracts are runtime values described with [TypeBox](https://github.com/sinclairzx81/typebox) schemas. Hosts exchange JSON frames over links: in memory, a Node IPC channel, or a WebSocket.

plugins/pi-dev-rules/skills/pi-dev-rules/references/cli-and-usage.md

  • Network accessline 1
    # Pi: CLI, Usage, Sessions & Keybindings Source: https://pi.dev/docs/latest/quickstart, /how-pi-works, /usage, /cli, /slash-commands, /environment-variables, /sessions, /keybindings
  • Network accessline 2
    Source: https://pi.dev/docs/latest/quickstart, /how-pi-works, /usage, /cli, /slash-commands, /environment-variables, /sessions, /keybindings
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/quickstart.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/ho
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/quickstart.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/how-pi-works.md, https://raw.githubusercontent
  • Dangerous shell operationline 20
    curl -fsSL https://pi.dev/install.sh | sh
  • Network accessline 20
    curl -fsSL https://pi.dev/install.sh | sh
  • Dangerous shell operationline 135
    curl -fsSL https://pi.dev/install.sh | sh
  • Network accessline 135
    curl -fsSL https://pi.dev/install.sh | sh
  • Access to secretsline 793
    [Credential-related source omitted]
  • Network accessline 879
    {   "$schema": "https://pi.dev/schemas/keybindings.schema.json",
  • Network accessline 880
    "$schema": "https://pi.dev/schemas/keybindings.schema.json",

plugins/pi-dev-rules/skills/pi-dev-rules/references/codemode.md

  • Network accessline 1
    # Pi: Codemode Source: https://pi.dev/docs/latest/codemode
  • Network accessline 2
    Source: https://pi.dev/docs/latest/codemode
  • Network accessline 7
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/codemode.md
  • Network accessline 8
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/codemode.md

plugins/pi-dev-rules/skills/pi-dev-rules/references/development.md

  • Network accessline 7
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/README.md, https://raw.githubusercontent.com/earendil-works/pi/main/AGENTS.md, https://raw.githubusercontent.com/earendil-works/
  • Network accessline 8
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/README.md, https://raw.githubusercontent.com/earendil-works/pi/main/AGENTS.md, https://raw.githubusercontent.com/earendil-works/pi/main/CONTRIBUTING.md
  • Network accessline 18
    Use Pi [interactively](packages/coding-agent/docs/usage.md), automate it in [print or JSON mode](packages/coding-agent/docs/cli.md), control it over [RPC](packages/coding-agent/docs/rpc.md), or build apps with the [Pi TypeScript SDK](packag
  • Dangerous shell operationline 25
    curl -fsSL https://pi.dev/install.sh | sh
  • Network accessline 25
    curl -fsSL https://pi.dev/install.sh | sh
  • Network accessline 31
    powershell -c "irm https://pi.dev/install.ps1 | iex"
  • Network accessline 51
    See the [documentation](https://pi.dev/docs/latest) for full setup and usage instructions, or [visit pi.dev](https://pi.dev) for demos.
  • Network accessline 83
    For Slack/chat automation and workflows see [earendil-works/pi-chat](https://github.com/earendil-works/pi-chat).
  • Network accessline 97
    See [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines and [AGENTS.md](AGENTS.md) for project-specific rules (for both humans and agents).  Longer term plans for Pi can also be found in [RFCs](https://rfc.earendil.com/keyword/pi
  • Network accessline 185
    For the full explanation, see [this post on X](https://x.com/badlogicgames/status/2037811643774652911).
  • Network accessline 187
    To publish sessions, use [`badlogic/pi-share-hf`](https://github.com/badlogic/pi-share-hf). Read its README.md for setup instructions. All you need is a Hugging Face account, the Hugging Face CLI, and `pi-share-hf`.
  • Network accessline 189
    You can also watch [this video](https://x.com/badlogicgames/status/2041151967695634619), where I show how I publish my `pi-mono` sessions.
  • Network accessline 193
    - [badlogicgames/pi-mono on Hugging Face](https://huggingface.co/datasets/badlogicgames/pi-mono)
  • Network accessline 199
    <p align="center">   <a href="https://pi.dev">pi.dev</a> domain graciously donated by
  • Network accessline 200
    <a href="https://pi.dev">pi.dev</a> domain graciously donated by
  • Network accessline 201
    <br /><br />   <a href="https://exe.dev"><img src="packages/coding-agent/docs/images/exy.png" alt="Exy mascot" width="48" /><br />exe.dev</a> </p>
  • Network accessline 202
    <a href="https://exe.dev"><img src="packages/coding-agent/docs/images/exy.png" alt="Exy mascot" width="48" /><br />exe.dev</a>
  • Network accessline 322
    - Internal (from issues): `Fixed foo bar ([#123](https://github.com/earendil-works/pi/issues/123))`
  • Network accessline 323
    - External contributions: `Added feature X ([#456](https://github.com/earendil-works/pi/pull/456) by [@username](https://github.com/username))`
  • Network accessline 359
    Issues submitted Friday through Sunday are not guaranteed to be reviewed.  If something is urgent, ask on Discord: https://discord.com/invite/3cU7Bz4UPx
  • Network accessline 409
    Ask on [Discord](https://discord.com/invite/nKXTsAcmbT).
  • Network accessline 435
    Earendil uses RFCs to discuss larger changes.  Not all of them are public, but quite a few are.  They can be found at [rfc.earendil.com](https://rfc.earendil.com/keyword/pi/).
  • Network accessline 436
    quite a few are.  They can be found at [rfc.earendil.com](https://rfc.earendil.com/keyword/pi/).

plugins/pi-dev-rules/skills/pi-dev-rules/references/durable-spec.md

  • Network accessline 7
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/docs/spec.md
  • Network accessline 8
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/docs/spec.md
  • Network accessline 46
    Durable targets the transcript `SystemMessage` contract from pi-ai PR [#9548](https://github.com/earendil-works/pi/pull/9548). `Message` includes that
  • Network accessline 47
    [#9548](https://github.com/earendil-works/pi/pull/9548). `Message` includes that

plugins/pi-dev-rules/skills/pi-dev-rules/references/durable.md

  • Network accessline 3
    Source: <https://earendil.com/posts/pi-durable/> (Earendil Engineering, "Pi Durable", 2026-10-01)
  • Access to secretsline 103
    [Credential-related source omitted]

plugins/pi-dev-rules/skills/pi-dev-rules/references/extending-pi.md

  • Network accessline 1
    # Extending Pi: Extensions, Skills, Prompt Templates, Themes, Packages, Virtual Models Source: https://pi.dev/docs/latest/extensions, /skills, /prompt-templates, /themes, /packages, /virtual-models
  • Network accessline 2
    Source: https://pi.dev/docs/latest/extensions, /skills, /prompt-templates, /themes, /packages, /virtual-models
  • Network accessline 7
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/extensions.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/sk
  • Network accessline 8
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/extensions.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/skills.md, https://raw.githubusercontent.com/e
  • Network accessline 98
    Use the exported declarations in [`extensions/types.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/extensions/types.ts) for exact event, context, tool, and result types.
  • Network accessline 209
    pi.registerMcpServer("jira", { url: "https://mcp.example.com/jira", exposure: "codemode" });
  • Network accessline 296
    Pi implements the [Agent Skills specification](https://agentskills.io/specification). Most invalid fields produce warnings rather than stopping startup.
  • Network accessline 382
    For examples, see the [Anthropic skills collection](https://github.com/anthropics/skills) and [Pi skills collection](https://github.com/badlogic/pi-skills).
  • Network accessline 508
    Copy one of the [built-in themes](https://github.com/earendil-works/pi/tree/main/packages/coding-agent/src/modes/interactive/theme) or create a new JSON file conforming to the [schema](https://pi.dev/schemas/theme.schema.json). The built-in
  • Network accessline 545
    Use the [theme JSON schema](https://pi.dev/schemas/theme.schema.json) for the exact properties, required colors, and accepted value types.
  • Network accessline 621
    | npm | `npm:@example/pi-tools@1.0.0` | Installed under the Pi npm directory | | git | `git:github.com/example/pi-tools@v1` | Cloned and reconciled to the selected ref | | URL | `https://github.com/example/pi-tools` | Treated as a git sourc
  • Network accessline 622
    | git | `git:github.com/example/pi-tools@v1` | Cloned and reconciled to the selected ref | | URL | `https://github.com/example/pi-tools` | Treated as a git source | | Local | `./pi-tools` | Loaded from the resolved path without copying |
  • Network accessline 623
    | URL | `https://github.com/example/pi-tools` | Treated as a git source |
  • Network accessline 662
    The `pi-package` keyword makes an npm package eligible for discovery in the [Pi package gallery](https://pi.dev/packages). Optional `pi.image` and `pi.video` fields add gallery previews.

plugins/pi-dev-rules/skills/pi-dev-rules/references/mcp.md

  • Network accessline 1
    # Pi: MCP Servers Source: https://pi.dev/docs/latest/mcp
  • Network accessline 2
    Source: https://pi.dev/docs/latest/mcp
  • Network accessline 7
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/mcp.md
  • Network accessline 8
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/mcp.md
  • Network accessline 12
    Pi connects to [Model Context Protocol](https://modelcontextprotocol.io) servers over stdio or streamable HTTP and makes their tools and resources available to the model.
  • Network accessline 27
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Network accessline 61
    },     "docs": {       "url": "https://example.com/mcp",
  • Network accessline 62
    [Credential-related source omitted]
  • Network accessline 63
    "url": "https://example.com/mcp",
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Network accessline 129
    {   "mcpServers": {     "sentry": { "url": "https://mcp.sentry.dev/mcp" }
  • Network accessline 130
    "mcpServers": {     "sentry": { "url": "https://mcp.sentry.dev/mcp" }   }
  • Network accessline 131
    "sentry": { "url": "https://mcp.sentry.dev/mcp" }
  • Network accessline 148
    "url": "https://mcp.example.com/mcp",
  • Access to secretsline 149
    [Credential-related source omitted]
  • Network accessline 155
    The redirect URI must match the registered URI. `callbackPort` uses `http://127.0.0.1:<port>/callback`. To use another URI, set `callbackUrl`; it must use HTTP on `localhost`, `127.0.0.1`, or `[::1]`. Pi sends it exactly as written. When `c
  • Network accessline 162
    {   "mcpServers": {     "figma": { "url": "https://mcp.figma.com/mcp", "oauth": { "clientName": "Claude Code" } }
  • Network accessline 163
    "mcpServers": {     "figma": { "url": "https://mcp.figma.com/mcp", "oauth": { "clientName": "Claude Code" } }   }
  • Network accessline 164
    "figma": { "url": "https://mcp.figma.com/mcp", "oauth": { "clientName": "Claude Code" } }
  • Network accessline 176
    "example": { "url": "https://mcp.example.com/mcp", "oauth": { "clientRegistration": "cimd" } }
  • Network accessline 181
    The client ID is `https://pi.dev/oauth/client.json` with the redirect URI `http://127.0.0.1:<port>/callback`. If the authorization server does not send the `iss` parameter in authorization responses (RFC 9207), Pi uses a document and redire
  • Network accessline 189
    "url": "https://mcp.example.com/mcp",
  • Network accessline 190
    "oauth": { "authServerMetadataUrl": "https://example.okta.com/.well-known/openid-configuration" }
  • Network accessline 219
    "mcpServers": {     "github": {       "url": "https://api.githubcopilot.com/mcp/",
  • Network accessline 220
    "github": {       "url": "https://api.githubcopilot.com/mcp/",       "exposure": "deferred",
  • Network accessline 221
    "url": "https://api.githubcopilot.com/mcp/",
  • Network accessline 247
    When a connected server offers [resources](https://modelcontextprotocol.io/specification/2025-11-25/server/resources), Pi adds the resource tools used by Codex and OpenCode:

plugins/pi-dev-rules/skills/pi-dev-rules/references/philosophy-and-design.md

  • Network accessline 3
    Source: <https://mariozechner.at/posts/2025-11-30-pi-coding-agent/> (Mario Zechner, "What I learned

plugins/pi-dev-rules/skills/pi-dev-rules/references/platform-setup.md

  • Network accessline 1
    # Pi: Platform Setup Source: https://pi.dev/docs/latest/windows, /termux, /tmux, /terminal-setup, /shell-aliases
  • Network accessline 2
    Source: https://pi.dev/docs/latest/windows, /termux, /tmux, /terminal-setup, /shell-aliases
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/windows.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/termu
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/windows.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/termux.md, https://raw.githubusercontent.com/eare
  • Network accessline 25
    For most native Windows users, installing [Git for Windows](https://git-scm.com/download/win) is sufficient.
  • Network accessline 81
    Pi runs on Android through [Termux](https://termux.dev/), a terminal emulator and Linux environment. Text input, file tools, and shell commands are supported. Pi can copy and paste text through the Android clipboard with Termux:API. Clipboa
  • Network accessline 85
    Install Termux from [GitHub or F-Droid](https://github.com/termux/termux-app#installation). Do not use the deprecated Google Play build.
  • Network accessline 87
    [Termux:API](https://github.com/termux/termux-api#installation) is optional. Install it only when you want Pi to copy or paste Android clipboard text, or when shell commands need Android device APIs.
  • Network accessline 162
    - Pi runs in Termux on Android. - Shared Android storage is under `/storage/emulated/0`. - Open URLs with `termux-open-url "https://example.com"`.
  • Network accessline 163
    - Shared Android storage is under `/storage/emulated/0`. - Open URLs with `termux-open-url "https://example.com"`. - Open files with `termux-open <path>`.
  • Network accessline 164
    - Open URLs with `termux-open-url "https://example.com"`.
  • Network accessline 295
    This is an iTerm2-wide setting and can also change native trackpad scrolling. The underlying behavior is tracked in [iTerm2 issue 9619](https://gitlab.com/gnachman/iterm2/-/work_items/9619).
  • Network accessline 479
    Pi reports its state with the [Program Status Protocol (OSC 7501)](https://www.superlogical.com/rex/docs/build/program-status), so terminals and agent dashboards can show whether it is working, waiting for you, done, or failed:

plugins/pi-dev-rules/skills/pi-dev-rules/references/programmatic.md

  • Network accessline 1
    # Pi: Programmatic Usage (SDK, CLI, RPC, JSON) Source: https://pi.dev/docs/latest/sdk, /cli-integration, /json, /rpc, /rpc-commands, /rpc-extension-ui
  • Network accessline 2
    Source: https://pi.dev/docs/latest/sdk, /cli-integration, /json, /rpc, /rpc-commands, /rpc-extension-ui
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/sdk.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/cli-integ
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/sdk.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/cli-integration.md, https://raw.githubusercontent.com
  • Network accessline 485
    Use the exported `JsonAgentSessionEvent` type from `@earendil-works/pi-coding-agent`. Its implementation is in [`json-event.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/modes/json-event.ts).
  • Network accessline 635
    - [Message Types](message-types.md): messages and content blocks used by responses and events - [Session File Format](session-format.md): entries returned by session commands - [`rpc-types.ts`](https://github.com/earendil-works/pi/blob/main
  • Network accessline 636
    - [Session File Format](session-format.md): entries returned by session commands - [`rpc-types.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/modes/rpc/rpc-types.ts): exported TypeScript protocol definitions -
  • Network accessline 637
    - [`rpc-types.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/modes/rpc/rpc-types.ts): exported TypeScript protocol definitions
  • Network accessline 638
    - [`RpcClient`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/modes/rpc/rpc-client.ts): subprocess client implementation
  • Network accessline 1536
    "api": "anthropic-messages",   "provider": "anthropic",   "baseUrl": "https://api.anthropic.com",
  • Network accessline 1537
    "provider": "anthropic",   "baseUrl": "https://api.anthropic.com",   "reasoning": true,
  • Network accessline 1538
    "baseUrl": "https://api.anthropic.com",
  • Network accessline 1755
    The exported request and response unions are defined in [`rpc-types.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/modes/rpc/rpc-types.ts). See [Extensions](extensions.md#ui-and-modes) for mode-independent ext

plugins/pi-dev-rules/skills/pi-dev-rules/references/providers-and-models.md

  • Network accessline 1
    # Pi: Providers & Custom Models Source: https://pi.dev/docs/latest/providers, /llama-cpp, /nvidia-rtx-llama-cpp, /models, /custom-provider
  • Network accessline 2
    Source: https://pi.dev/docs/latest/providers, /llama-cpp, /nvidia-rtx-llama-cpp, /models, /custom-provider
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/providers.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/lla
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/providers.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/llama-cpp.md, https://raw.githubusercontent.com
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 41
    [Credential-related source omitted]
  • Access to secretsline 42
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 49
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 67
    [Credential-related source omitted]
  • Access to secretsline 68
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 120
    Radius is currently in early alpha and evolving quickly. See [radius.earendil.com](https://radius.earendil.com) for more.
  • Access to secretsline 126
    [Credential-related source omitted]
  • Network accessline 135
    {   "providers": {     "openrouter": { "baseUrl": "https://us.openrouter.ai/api/v1" }
  • Network accessline 136
    "providers": {     "openrouter": { "baseUrl": "https://us.openrouter.ai/api/v1" }   }
  • Network accessline 137
    "openrouter": { "baseUrl": "https://us.openrouter.ai/api/v1" }
  • Network accessline 153
    [Credential-related source omitted]
  • Access to secretsline 153
    [Credential-related source omitted]
  • Network accessline 154
    export AZURE_OPENAI_BASE_URL=https://your-resource.ai.azure.com
  • Network accessline 173
    "providers": {     "azure": {       "baseUrl": "https://your-resource.services.ai.azure.com",
  • Network accessline 174
    "azure": {       "baseUrl": "https://your-resource.services.ai.azure.com",       "models": [
  • Network accessline 175
    "baseUrl": "https://your-resource.services.ai.azure.com",
  • Access to secretsline 194
    [Credential-related source omitted]
  • Access to secretsline 196
    [Credential-related source omitted]
  • Access to secretsline 213
    [Credential-related source omitted]
  • Access to secretsline 220
    [Credential-related source omitted]
  • Access to secretsline 227
    [Credential-related source omitted]
  • Access to secretsline 238
    [Credential-related source omitted]
  • Network accessline 261
    Pi supports the [llama.cpp](https://github.com/ggml-org/llama.cpp) router server. The router discovers multiple GGUF models and loads or unloads them on demand.
  • Network accessline 263
    Use a current llama.cpp build with router support. Follow the [build instructions](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md) or install a [prebuilt release](https://github.com/ggml-org/llama.cpp/releases) for your pla
  • Network accessline 302
    Restart the router after manually adding files. For per-model context sizes and other options, use [llama.cpp model presets](https://github.com/ggml-org/llama.cpp/blob/master/tools/server/README.md#model-presets). For settings tuned to a sp
  • Network accessline 312
    Enter the router URL and optional API key. The default URL is `http://127.0.0.1:8080`.
  • Network accessline 319
    export LLAMA_BASE_URL=http://127.0.0.1:8080
  • Access to secretsline 320
    [Credential-related source omitted]
  • Network accessline 351
    - **Decision models** such as [Julia-1, Laya, Kev, lev, and OpenJev](https://huggingface.co/collections/ggml-org/decision-models-6abf80cca3c83f127060a769) answer natively through llama.cpp's `/v1/systemone` endpoint. They appear only as cla
  • Network accessline 370
    curl http://127.0.0.1:8080/health
  • Network accessline 371
    curl http://127.0.0.1:8080/models
  • Network accessline 385
    [NVIDIA Local AI Inference Recipes](https://nvidia.github.io/local-ai-inference-recipes/index.html) provides llama.cpp settings tuned for specific NVIDIA hardware and models. Each recipe gives a single-model `llama-server` command. Pi works
  • Network accessline 391
    1. Open the [recipe catalog](https://nvidia.github.io/local-ai-inference-recipes/index.html), select your hardware, operating system, and model, then choose **llama.cpp**. Check the prerequisites and memory requirements. Keep the recipe's l
  • Access to secretsline 470
    [Credential-related source omitted]
  • Network accessline 476
    Follow [Configure Pi](llama-cpp.md#configure-pi) and connect to `http://127.0.0.1:8080`. The preset section name is the model ID, so select `qwen3.8-27b` in `/model` for this example.
  • Network accessline 496
    Browse the [model catalog](https://pi.dev/models) for current providers, model IDs, capabilities, context limits, and pricing. Pi starts with its bundled catalog and can overlay newer catalog data from pi.dev. Cached catalog data remains av
  • Network accessline 531
    {   "$schema": "https://pi.dev/schemas/models.schema.json",
  • Network accessline 532
    "$schema": "https://pi.dev/schemas/models.schema.json",
  • Network accessline 533
    "providers": {     "ollama": {       "baseUrl": "http://localhost:11434/v1",
  • Network accessline 534
    "ollama": {       "baseUrl": "http://localhost:11434/v1",       "api": "openai-completions",
  • Network accessline 535
    "baseUrl": "http://localhost:11434/v1",
  • Network accessline 613
    Classifier models do not chat. They answer typed questions about JSON state: pick one of several choices, answer yes or no, or give a score, each with probabilities. Pi includes TypeSafe's Jev model from these providers, Cloudflare's Clef a
  • Access to secretsline 617
    [Credential-related source omitted]
  • Access to secretsline 618
    [Credential-related source omitted]
  • Access to secretsline 619
    [Credential-related source omitted]
  • Access to secretsline 620
    [Credential-related source omitted]
  • Access to secretsline 621
    [Credential-related source omitted]
  • Access to secretsline 622
    [Credential-related source omitted]
  • Access to secretsline 626
    [Credential-related source omitted]
  • Access to secretsline 653
    [Credential-related source omitted]
  • Access to secretsline 729
    [Credential-related source omitted]
  • Network accessline 734
    name: "Image V1",       api: "media-images",       baseUrl: "https://media.example.com/v1",
  • Network accessline 735
    api: "media-images",       baseUrl: "https://media.example.com/v1",       input: ["text"],
  • Network accessline 736
    baseUrl: "https://media.example.com/v1",
  • Network accessline 744
    name: "Classifier V1",       api: "media-classifier",       baseUrl: "https://media.example.com/v1",
  • Network accessline 745
    api: "media-classifier",       baseUrl: "https://media.example.com/v1",       input: ["text"],
  • Network accessline 746
    baseUrl: "https://media.example.com/v1",
  • Network accessline 815
    Implement `streamSimple` only when no existing API implementation can represent the service. Study the implementations under [`packages/ai/src/api`](https://github.com/earendil-works/pi/tree/main/packages/ai/src/api) first.
  • Network accessline 864
    The provider tests under [`packages/ai/test`](https://github.com/earendil-works/pi/tree/main/packages/ai/test) define the behavior expected from built-in providers. Adapt the relevant suites rather than relying only on manual prompts.

plugins/pi-dev-rules/skills/pi-dev-rules/references/security-and-containerization.md

  • Network accessline 1
    # Pi: Security & Containerization Source: https://pi.dev/docs/latest/security, /containerization
  • Network accessline 2
    Source: https://pi.dev/docs/latest/security, /containerization
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/security.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/cont
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/security.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/containerization.md
  • Network accessline 105
    Follow the repository [Security Policy](https://github.com/earendil-works/pi/blob/main/SECURITY.md). Do not open a public issue for a security-sensitive report.
  • Dangerous shell operationline 151
    RUN apt-get update    && apt-get install -y --no-install-recommends bash ca-certificates git ripgrep    && rm -rf /var/lib/apt/lists/*
  • Dangerous shell operationline 153
    && rm -rf /var/lib/apt/lists/*
  • Access to secretsline 171
    [Credential-related source omitted]
  • Access to secretsline 172
    [Credential-related source omitted]
  • Access to secretsline 178
    [Credential-related source omitted]
  • Network accessline 194
    [Docker Sandboxes](https://docs.docker.com/ai/sandboxes/) runs the complete Pi process inside a managed sandbox. Its proxy can keep the real provider credential on the host and substitute it when requests leave the sandbox.
  • Dangerous shell operationline 203
    sbx secret rm anthropic
  • Access to secretsline 205
    [Credential-related source omitted]
  • Access to secretsline 207
    [Credential-related source omitted]
  • Network accessline 229
    See the [Pi kit documentation](https://github.com/docker/sbx-kits-contrib/tree/main/pi) for other providers, troubleshooting, and image pinning.
  • Network accessline 233
    [NVIDIA OpenShell](https://docs.nvidia.com/openshell/about/overview) provides local or remote sandboxes with filesystem, process, network, credential, and inference policies.
  • Network accessline 265
    [Gondolin](https://github.com/earendil-works/gondolin) is a local Linux micro-VM. Its example extension keeps the Pi process and file-based provider credentials on the host while routing the built-in tools and user `!` commands into the VM.

plugins/pi-dev-rules/skills/pi-dev-rules/references/session-format.md

  • Network accessline 1
    # Pi: Session Format & Message Types Source: https://pi.dev/docs/latest/session-format, /message-types
  • Network accessline 2
    Source: https://pi.dev/docs/latest/session-format, /message-types
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/session-format.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/doc
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/session-format.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/message-types.md
  • Network accessline 42
    Source on GitHub ([pi](https://github.com/earendil-works/pi)):
  • Network accessline 43
    - [`packages/coding-agent/src/core/session-manager.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/session-manager.ts) - Session entry types and SessionManager
  • Network accessline 44
    - [Message Types](message-types.md) - Shared message and content-block reference - [`packages/coding-agent/src/core/messages.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/messages.ts) - Extended message 
  • Network accessline 45
    - [`packages/coding-agent/src/core/messages.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/messages.ts) - Extended message types
  • Network accessline 46
    - [`packages/ai/src/types.ts`](https://github.com/earendil-works/pi/blob/main/packages/ai/src/types.ts) - Base message and content-block types
  • Network accessline 47
    - [`packages/agent/src/types.ts`](https://github.com/earendil-works/pi/blob/main/packages/agent/src/types.ts) - Extensible `AgentMessage` union
  • Network accessline 313
    - [`packages/ai/src/types.ts`](https://github.com/earendil-works/pi/blob/main/packages/ai/src/types.ts) defines provider-facing messages and content blocks.
  • Network accessline 314
    - [`packages/agent/src/types.ts`](https://github.com/earendil-works/pi/blob/main/packages/agent/src/types.ts) defines the extensible `AgentMessage` union.
  • Network accessline 315
    - [`packages/coding-agent/src/core/messages.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/messages.ts) adds coding-agent message roles.

plugins/pi-dev-rules/skills/pi-dev-rules/references/settings-and-compaction.md

  • Network accessline 1
    # Pi: Configuration, Settings & Compaction Source: https://pi.dev/docs/latest/configuration, /settings, /compaction
  • Network accessline 2
    Source: https://pi.dev/docs/latest/configuration, /settings, /compaction
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/configuration.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/configuration.md, https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/settings.md, https://raw.githubusercontent.
  • Network accessline 63
    Add `"$schema": "https://pi.dev/schemas/settings.schema.json"` to `settings.json` for editor validation and completion.
  • Network accessline 238
    **Source files** ([pi](https://github.com/earendil-works/pi)):
  • Network accessline 239
    - [`packages/coding-agent/src/core/compaction/compaction.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/compaction/compaction.ts) - Auto-compaction logic
  • Network accessline 240
    - [`packages/coding-agent/src/core/compaction/branch-summarization.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/compaction/branch-summarization.ts) - Branch summarization
  • Network accessline 241
    - [`packages/coding-agent/src/core/compaction/utils.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/compaction/utils.ts) - Shared utilities (file tracking, serialization)
  • Network accessline 242
    - [`packages/coding-agent/src/core/session-manager.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/session-manager.ts) - Entry types (`CompactionEntry`, `BranchSummaryEntry`)
  • Network accessline 243
    - [`packages/coding-agent/src/core/extensions/types.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/extensions/types.ts) - Extension event types
  • Network accessline 375
    Defined in [`session-manager.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/session-manager.ts):
  • Network accessline 400
    See [`prepareCompaction()`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/compaction/compaction.ts) and [`compact()`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/compaction/c
  • Network accessline 441
    Defined in [`session-manager.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/session-manager.ts):
  • Network accessline 465
    See [`collectEntriesForBranchSummary()`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/compaction/branch-summarization.ts), [`prepareBranchEntries()`](https://github.com/earendil-works/pi/blob/main/packages/c
  • Network accessline 511
    Before summarization, messages are serialized to text via [`serializeConversation()`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/compaction/utils.ts):
  • Network accessline 528
    Extensions can intercept and customize both compaction and branch summarization. See [`extensions/types.ts`](https://github.com/earendil-works/pi/blob/main/packages/coding-agent/src/core/extensions/types.ts) for event type definitions.

plugins/pi-dev-rules/skills/pi-dev-rules/references/tui-components.md

  • Network accessline 1
    # Pi: TUI Components Source: https://pi.dev/docs/latest/tui
  • Network accessline 2
    Source: https://pi.dev/docs/latest/tui
  • Network accessline 6
    > **Auto-built from individual doc pages.** > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/tui.md
  • Network accessline 7
    > Sources: https://raw.githubusercontent.com/earendil-works/pi/main/packages/coding-agent/docs/tui.md
  • Network accessline 133
    The public exports are defined in [`packages/tui/src/index.ts`](https://github.com/earendil-works/pi/blob/main/packages/tui/src/index.ts). See [Extensions](extensions.md) for extension lifecycle, state, tools, events, and mode behavior.

plugins/pi-dev-rules/skills/pi-dev-rules/scripts/README.md

  • Network accessline 16
    Nothing is fetched over the network: the script reads a local checkout of <https://github.com/earendil-works/pi>. That checkout holds the same pages that back
  • Network accessline 17
    <https://github.com/earendil-works/pi>. That checkout holds the same pages that back
  • Network accessline 18
    <https://pi.dev/docs/latest>, so the coding-agent bundles stay identical to the published site.

plugins/pi-dev-rules/skills/pi-dev-rules/scripts/build-changelog.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/pi-dev-rules/skills/pi-dev-rules/scripts/build-references.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 116
    "cli-and-usage.md": (         "# Pi: CLI, Usage, Sessions & Keybindings",         "Source: https://pi.dev/docs/latest/quickstart, /how-pi-works, /usage, /cli, /slash-commands, /environment-variables, /sessions, /keybindings",
  • Network accessline 117
    "# Pi: CLI, Usage, Sessions & Keybindings",         "Source: https://pi.dev/docs/latest/quickstart, /how-pi-works, /usage, /cli, /slash-commands, /environment-variables, /sessions, /keybindings",     ),
  • Network accessline 118
    "Source: https://pi.dev/docs/latest/quickstart, /how-pi-works, /usage, /cli, /slash-commands, /environment-variables, /sessions, /keybindings",
  • Network accessline 120
    "providers-and-models.md": (         "# Pi: Providers & Custom Models",         "Source: https://pi.dev/docs/latest/providers, /llama-cpp, /nvidia-rtx-llama-cpp, /models, /custom-provider",
  • Network accessline 121
    "# Pi: Providers & Custom Models",         "Source: https://pi.dev/docs/latest/providers, /llama-cpp, /nvidia-rtx-llama-cpp, /models, /custom-provider",     ),
  • Network accessline 122
    "Source: https://pi.dev/docs/latest/providers, /llama-cpp, /nvidia-rtx-llama-cpp, /models, /custom-provider",
  • Network accessline 124
    "settings-and-compaction.md": (         "# Pi: Configuration, Settings & Compaction",         "Source: https://pi.dev/docs/latest/configuration, /settings, /compaction",
  • Network accessline 125
    "# Pi: Configuration, Settings & Compaction",         "Source: https://pi.dev/docs/latest/configuration, /settings, /compaction",     ),
  • Network accessline 126
    "Source: https://pi.dev/docs/latest/configuration, /settings, /compaction",
  • Network accessline 128
    "extending-pi.md": (         "# Extending Pi: Extensions, Skills, Prompt Templates, Themes, Packages, Virtual Models",         "Source: https://pi.dev/docs/latest/extensions, /skills, /prompt-templates, /themes, /packages, /virtual-models\n
  • Network accessline 129
    "# Extending Pi: Extensions, Skills, Prompt Templates, Themes, Packages, Virtual Models",         "Source: https://pi.dev/docs/latest/extensions, /skills, /prompt-templates, /themes, /packages, /virtual-models\nSee also: `tui-components.md`
  • Network accessline 130
    "Source: https://pi.dev/docs/latest/extensions, /skills, /prompt-templates, /themes, /packages, /virtual-models\nSee also: `tui-components.md` (custom UI), `session-format.md` (entry/message schema).",
  • Network accessline 132
    "mcp.md": (         "# Pi: MCP Servers",         "Source: https://pi.dev/docs/latest/mcp\nBuilt-in MCP support, added 2026-09-29 (`mcp.json`, exposure modes and `codemode`, resources, permissions). An extension that registers `/mcp`, such a
  • Network accessline 133
    "# Pi: MCP Servers",         "Source: https://pi.dev/docs/latest/mcp\nBuilt-in MCP support, added 2026-09-29 (`mcp.json`, exposure modes and `codemode`, resources, permissions). An extension that registers `/mcp`, such as `pi-mcp-adapter`, 
  • Network accessline 134
    "Source: https://pi.dev/docs/latest/mcp\nBuilt-in MCP support, added 2026-09-29 (`mcp.json`, exposure modes and `codemode`, resources, permissions). An extension that registers `/mcp`, such as `pi-mcp-adapter`, replaces it; `pi config` can 
  • Network accessline 136
    "codemode.md": (         "# Pi: Codemode",         "Source: https://pi.dev/docs/latest/codemode\nThe QuickJS scripting layer for tool calls and non-LLM models: script input and the `// @options:` line, globals (`tools.<name>()`, `text()`, `
  • Network accessline 137
    "# Pi: Codemode",         "Source: https://pi.dev/docs/latest/codemode\nThe QuickJS scripting layer for tool calls and non-LLM models: script input and the `// @options:` line, globals (`tools.<name>()`, `text()`, `image()`, `console.log()`
  • Network accessline 138
    "Source: https://pi.dev/docs/latest/codemode\nThe QuickJS scripting layer for tool calls and non-LLM models: script input and the `// @options:` line, globals (`tools.<name>()`, `text()`, `image()`, `console.log()`, `store()`/`load()`, `sea
  • Network accessline 140
    "tui-components.md": (         "# Pi: TUI Components",         "Source: https://pi.dev/docs/latest/tui",
  • Network accessline 141
    "# Pi: TUI Components",         "Source: https://pi.dev/docs/latest/tui",     ),
  • Network accessline 142
    "Source: https://pi.dev/docs/latest/tui",
  • Network accessline 144
    "security-and-containerization.md": (         "# Pi: Security & Containerization",         "Source: https://pi.dev/docs/latest/security, /containerization",
  • Network accessline 145
    "# Pi: Security & Containerization",         "Source: https://pi.dev/docs/latest/security, /containerization",     ),
  • Network accessline 146
    "Source: https://pi.dev/docs/latest/security, /containerization",
  • Network accessline 148
    "session-format.md": (         "# Pi: Session Format & Message Types",         "Source: https://pi.dev/docs/latest/session-format, /message-types",
  • Network accessline 149
    "# Pi: Session Format & Message Types",         "Source: https://pi.dev/docs/latest/session-format, /message-types",     ),
  • Network accessline 150
    "Source: https://pi.dev/docs/latest/session-format, /message-types",
  • Network accessline 152
    "programmatic.md": (         "# Pi: Programmatic Usage (SDK, CLI, RPC, JSON)",         "Source: https://pi.dev/docs/latest/sdk, /cli-integration, /json, /rpc, /rpc-commands, /rpc-extension-ui",
  • Network accessline 153
    "# Pi: Programmatic Usage (SDK, CLI, RPC, JSON)",         "Source: https://pi.dev/docs/latest/sdk, /cli-integration, /json, /rpc, /rpc-commands, /rpc-extension-ui",     ),
  • Network accessline 154
    "Source: https://pi.dev/docs/latest/sdk, /cli-integration, /json, /rpc, /rpc-commands, /rpc-extension-ui",
  • Network accessline 156
    "platform-setup.md": (         "# Pi: Platform Setup",         "Source: https://pi.dev/docs/latest/windows, /termux, /tmux, /terminal-setup, /shell-aliases",
  • Network accessline 157
    "# Pi: Platform Setup",         "Source: https://pi.dev/docs/latest/windows, /termux, /tmux, /terminal-setup, /shell-aliases",     ),
  • Network accessline 158
    "Source: https://pi.dev/docs/latest/windows, /termux, /tmux, /terminal-setup, /shell-aliases",
  • Network accessline 178
    GH_BASE = "https://raw.githubusercontent.com/earendil-works/pi/main"
  • Network accessline 200
    """Remove the first line if it's a source comment like 'Source: https://...'"""

plugins/pi-dev-rules/skills/pi-dev-rules/scripts/refresh.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 2
    # Rebuild the reference bundles and the changelog from a local Pi checkout. # # Requires the pi monorepo (https://github.com/earendil-works/pi) on disk.
  • Network accessline 3
    # # Requires the pi monorepo (https://github.com/earendil-works/pi) on disk. # Nothing is fetched from the network.
  • Network accessline 4
    # Requires the pi monorepo (https://github.com/earendil-works/pi) on disk.

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/SKILL.md

  • Network accessline 4
    description: "Developer reference for building applications, tools, and agents on the Pi Durable agent harness (@earendil-works/pi-durable) and the pi-ai model layer. Use when writing or debugging code that imports @earendil-works/pi-durabl
  • Network accessline 5
    license: MIT metadata: {"source":"https://github.com/earendil-works/pi/tree/main/packages/durable","docVersion":"1.2.0","fetched":"2026-10-13","piRevision":"b9ab2a623","piDurableVersion":"1.2.0","version":"0.1.0"} ---
  • Network accessline 6
    metadata: {"source":"https://github.com/earendil-works/pi/tree/main/packages/durable","docVersion":"1.2.0","fetched":"2026-10-13","piRevision":"b9ab2a623","piDurableVersion":"1.2.0","version":"0.1.0"}

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/references/codemode-sandbox.md

  • Network accessline 7
    > **Auto-built from the pi monorepo.** Rebuild with `scripts/refresh.sh`. > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/codemode/README.md
  • Network accessline 8
    > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/codemode/README.md
  • Network accessline 140
    A complete setup is in [`examples/cloudflare`](https://github.com/earendil-works/pi/tree/main/packages/codemode/examples/cloudflare). The sandbox Worker is one file:
  • Network accessline 303
    `result.output` items already have the shape of `@earendil-works/pi-ai`'s `TextContent` and `ImageContent`. Calling `tool.execute()` directly skips the agent's `beforeToolCall` and `afterToolCall` hooks. To apply them to nested calls too, r

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/references/durable-api.md

  • Dangerous shell operationline 839
    exec(command: string | readonly string[], options: ShellExecOptions | undefined, context: Context): Promise<Result<ShellExecResult, ExecutionError>>;
  • Dangerous shell operationline 897
    process's exit code inside the value. `exec()` with an argv array runs a program without a shell.
  • Dangerous shell operationline 918
    exec(sql: string): Promise<void>;

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/references/durable-guide.md

  • Network accessline 8
    > **Auto-built from the pi monorepo.** Rebuild with `scripts/refresh.sh`. > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/README.md
  • Network accessline 9
    > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/README.md
  • Access to secretsline 65
    [Credential-related source omitted]
  • Dangerous shell operationline 355
    Hosts can use the environment directly too, for example to show a project's files. `openBinaryReader()` reads byte ranges of one opened file, `openDirReader()` pages a directory, and `exec()` with an argv array runs a program without a shel
  • Access to secretsline 749
    [Credential-related source omitted]
  • Network accessline 753
    - [`docs/spec.md`](https://github.com/earendil-works/pi/blob/main/packages/durable/docs/spec.md): the normative specification

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/references/durable-recipes.md

  • Access to secretsline 29
    [Credential-related source omitted]

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/references/durable-spec.md

  • Network accessline 8
    > **Auto-built from the pi monorepo.** Rebuild with `scripts/refresh.sh`. > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/docs/spec.md
  • Network accessline 9
    > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/durable/docs/spec.md
  • Network accessline 47
    Durable targets the transcript `SystemMessage` contract from pi-ai PR [#9548](https://github.com/earendil-works/pi/pull/9548). `Message` includes that
  • Network accessline 48
    [#9548](https://github.com/earendil-works/pi/pull/9548). `Message` includes that

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/references/pi-ai-models.md

  • Network accessline 7
    > **Auto-built from the pi monorepo.** Rebuild with `scripts/refresh.sh`. > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/ai/README.md
  • Network accessline 8
    > Source: https://raw.githubusercontent.com/earendil-works/pi/main/packages/ai/README.md
  • Access to secretsline 147
    [Credential-related source omitted]
  • Access to secretsline 402
    [Credential-related source omitted]
  • Access to secretsline 455
    [Credential-related source omitted]
  • Network accessline 470
    [Credential-related source omitted]
  • Access to secretsline 470
    [Credential-related source omitted]
  • Network accessline 471
    [Credential-related source omitted]
  • Access to secretsline 471
    [Credential-related source omitted]
  • Network accessline 472
    [Credential-related source omitted]
  • Access to secretsline 472
    [Credential-related source omitted]
  • Access to secretsline 473
    [Credential-related source omitted]
  • Access to secretsline 474
    [Credential-related source omitted]
  • Access to secretsline 475
    [Credential-related source omitted]
  • Access to secretsline 476
    [Credential-related source omitted]
  • Access to secretsline 477
    [Credential-related source omitted]
  • Access to secretsline 478
    [Credential-related source omitted]
  • Access to secretsline 479
    [Credential-related source omitted]
  • Access to secretsline 480
    [Credential-related source omitted]
  • Access to secretsline 481
    [Credential-related source omitted]
  • Access to secretsline 482
    [Credential-related source omitted]
  • Access to secretsline 483
    [Credential-related source omitted]
  • Access to secretsline 484
    [Credential-related source omitted]
  • Access to secretsline 485
    [Credential-related source omitted]
  • Access to secretsline 486
    [Credential-related source omitted]
  • Access to secretsline 487
    [Credential-related source omitted]
  • Access to secretsline 488
    [Credential-related source omitted]
  • Access to secretsline 489
    [Credential-related source omitted]
  • Access to secretsline 490
    [Credential-related source omitted]
  • Access to secretsline 491
    [Credential-related source omitted]
  • Access to secretsline 492
    [Credential-related source omitted]
  • Access to secretsline 493
    [Credential-related source omitted]
  • Access to secretsline 494
    [Credential-related source omitted]
  • Access to secretsline 495
    [Credential-related source omitted]
  • Access to secretsline 497
    [Credential-related source omitted]
  • Access to secretsline 498
    [Credential-related source omitted]
  • Access to secretsline 499
    [Credential-related source omitted]
  • Access to secretsline 500
    [Credential-related source omitted]
  • Access to secretsline 501
    [Credential-related source omitted]
  • Access to secretsline 502
    [Credential-related source omitted]
  • Access to secretsline 503
    [Credential-related source omitted]
  • Access to secretsline 504
    [Credential-related source omitted]
  • Access to secretsline 505
    [Credential-related source omitted]
  • Access to secretsline 506
    [Credential-related source omitted]
  • Access to secretsline 510
    [Credential-related source omitted]
  • Access to secretsline 812
    [Credential-related source omitted]
  • Access to secretsline 836
    [Credential-related source omitted]
  • Network accessline 841
    api: 'pixels-images',     provider: 'pixels',     baseUrl: 'https://api.pixels.test/v1',
  • Network accessline 842
    provider: 'pixels',     baseUrl: 'https://api.pixels.test/v1',     input: ['text'],
  • Network accessline 843
    baseUrl: 'https://api.pixels.test/v1',
  • Access to secretsline 864
    [Credential-related source omitted]
  • Access to secretsline 906
    [Credential-related source omitted]
  • Access to secretsline 907
    [Credential-related source omitted]
  • Access to secretsline 908
    [Credential-related source omitted]
  • Access to secretsline 909
    [Credential-related source omitted]
  • Access to secretsline 910
    [Credential-related source omitted]
  • Access to secretsline 911
    [Credential-related source omitted]
  • Network accessline 955
    The `openai-decisions` API calls OpenAI's [Decisions API](https://developers.openai.com/api/docs/guides/decisions) (`POST /v1/decisions`). GPT-6 Luna is its only model. The state is sent as JSON text; with images, the input is one user mess
  • Network accessline 961
    llama.cpp also serves decision models such as Julia-1 or Kev natively through `/v1/systemone`. Since llama.cpp 0.6.0, `GET /models` lists `decisions` in a model's `architecture.output_modalities` for these models. They use the `typesafe-sys
  • Network accessline 976
    api: 'llama-cpp-classify',     provider: 'local-llama',     baseUrl: 'http://127.0.0.1:8080',
  • Network accessline 977
    provider: 'local-llama',     baseUrl: 'http://127.0.0.1:8080',     input: ['text'],
  • Network accessline 978
    baseUrl: 'http://127.0.0.1:8080',
  • Network accessline 1242
    api: 'openai-completions',   provider: 'ollama',   baseUrl: 'http://localhost:11434/v1',
  • Network accessline 1243
    provider: 'ollama',   baseUrl: 'http://localhost:11434/v1',   reasoning: false,
  • Network accessline 1244
    baseUrl: 'http://localhost:11434/v1',
  • Network accessline 1253
    id: 'ollama',   name: 'Ollama',   baseUrl: 'http://localhost:11434/v1',
  • Network accessline 1254
    name: 'Ollama',   baseUrl: 'http://localhost:11434/v1',   // Every provider declares auth; keyless local servers resolve as configured with no key.
  • Network accessline 1255
    baseUrl: 'http://localhost:11434/v1',
  • Access to secretsline 1273
    [Credential-related source omitted]
  • Access to secretsline 1287
    [Credential-related source omitted]
  • Access to secretsline 1309
    [Credential-related source omitted]
  • Network accessline 1321
    [Credential-related source omitted]
  • Network accessline 1322
    models: [],   fetchModels: async ({ signal }) => fetchModelsFromServer('http://localhost:8080', signal),   api: openAICompletionsApi(),
  • Network accessline 1323
    fetchModels: async ({ signal }) => fetchModelsFromServer('http://localhost:8080', signal),
  • Network accessline 1349
    api: 'openai-completions',   provider: 'ollama',   baseUrl: 'http://localhost:11434/v1',
  • Network accessline 1350
    provider: 'ollama',   baseUrl: 'http://localhost:11434/v1',   reasoning: true,
  • Network accessline 1351
    baseUrl: 'http://localhost:11434/v1',
  • Access to secretsline 1380
    [Credential-related source omitted]
  • Access to secretsline 1739
    [Credential-related source omitted]
  • Access to secretsline 1798
    [Credential-related source omitted]
  • Access to secretsline 1802
    [Credential-related source omitted]
  • Network accessline 1814
    Official docs: [Application Default Credentials](https://cloud.google.com/docs/authentication/application-default-credentials)
  • Access to secretsline 1836
    [Credential-related source omitted]

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/scripts/README.md

  • Network accessline 21
    Nothing is fetched over the network: the script reads a local checkout of <https://github.com/earendil-works/pi>. Only the four bundles above are generated;
  • Network accessline 22
    <https://github.com/earendil-works/pi>. Only the four bundles above are generated;

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/scripts/build-references.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 77
    GH_BASE = "https://raw.githubusercontent.com/earendil-works/pi/main"

plugins/pi-durable-dev-rules/skills/pi-durable-dev-rules/scripts/refresh.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 2
    # Rebuild every vendored reference bundle from a local Pi checkout. # # Requires the pi monorepo (https://github.com/earendil-works/pi) on disk.
  • Network accessline 3
    # # Requires the pi monorepo (https://github.com/earendil-works/pi) on disk. # Nothing is fetched from the network.
  • Network accessline 4
    # Requires the pi monorepo (https://github.com/earendil-works/pi) on disk.

plugins/pi-plugin-cc/commands/adversarial-review.md

  • Broad permissionsline 1
    Read, Glob, Grep, Bash(node:*), Bash(git:*), AskUserQuestion

plugins/pi-plugin-cc/commands/cancel.md

  • Broad permissionsline 1
    Bash(node:*)

plugins/pi-plugin-cc/commands/parallel-rescue.md

  • Broad permissionsline 1
    Bash(node:*), AskUserQuestion

plugins/pi-plugin-cc/commands/rescue.md

  • Broad permissionsline 1
    Bash(node:*), AskUserQuestion, Agent

plugins/pi-plugin-cc/commands/result.md

  • Broad permissionsline 1
    Bash(node:*)

plugins/pi-plugin-cc/commands/review.md

  • Broad permissionsline 1
    Read, Glob, Grep, Bash(node:*), Bash(git:*), AskUserQuestion

plugins/pi-plugin-cc/commands/setup.md

  • Broad permissionsline 1
    Bash(node:*), Bash(npm:*), AskUserQuestion
  • Access to secretsline 40
    [Credential-related source omitted]

plugins/pi-plugin-cc/commands/status.md

  • Broad permissionsline 1
    Bash(node:*)

plugins/pi-plugin-cc/scripts/pi-companion.mjs

  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    #!/usr/bin/env node
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Executable scriptline 1
    Executable file; content unavailable
  • Access to secretsline 280
    [Credential-related source omitted]
  • Access to secretsline 280
    [Credential-related source omitted]

plugins/plantuml/skills/plantuml-skill/SKILL.md

  • Network accessline 4
    description: Use when user requests diagrams, flowcharts, sequence diagrams, class diagrams, component diagrams, ER diagrams, architecture charts, or visualizations — including generating a diagram from existing source code, or rendering/ex
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires curl on PATH (pre-installed on macOS/Linux/Windows Git Bash). Default renderer is the public Kroki API at https://kroki.io; can also point to a local 
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires curl on PATH (pre-installed on macOS/Linux/Windows Git Bash). Default renderer is the public Kroki API at https://kroki.io; can also point to a local Kroki Docker 
  • Network accessline 7
    compatibility: Requires curl on PATH (pre-installed on macOS/Linux/Windows Git Bash). Default renderer is the public Kroki API at https://kroki.io; can also point to a local Kroki Docker instance, or fall back to a local PlantUML jar + Java
  • Network accessline 18
    **Format:** `.puml` (PlantUML text) **Renderer:** Kroki API (`https://kroki.io`) — just `curl`, no Java needed
  • Network accessline 19
    **Renderer:** Kroki API (`https://kroki.io`) — just `curl`, no Java needed
  • Network accessline 61
    # Just needs curl (pre-installed on macOS/Linux/Windows Git Bash)
  • Network accessline 62
    curl --version
  • Network accessline 68
    docker run -d -p 8000:8000 yuzutech/kroki # Then replace https://kroki.io with http://localhost:8000 in commands
  • Network accessline 69
    # Then replace https://kroki.io with http://localhost:8000 in commands
  • Network accessline 76
    brew install graphviz   # macOS sudo apt install graphviz  # Ubuntu # Download plantuml.jar from https://plantuml.com/download
  • Dangerous shell operationline 77
    sudo apt install graphviz  # Ubuntu
  • Network accessline 77
    sudo apt install graphviz  # Ubuntu # Download plantuml.jar from https://plantuml.com/download java -jar plantuml.jar diagram.puml
  • Network accessline 78
    # Download plantuml.jar from https://plantuml.com/download
  • Network accessline 87
    curl --version
  • Network accessline 90
    curl is available on all modern systems. If missing, install via package manager.
  • Network accessline 102
    Pick the backend first. The default below (public Kroki) **uploads the `.puml` source to kroki.io** — for sensitive diagrams use a local backend instead, and never silently fall back. See [`references/rendering-backends.md`](references/rend
  • Network accessline 105
    # PNG (recommended) — keep the status code so Step 5 can verify it http=$(curl -s -w "%{http_code}" -o diagram.png \
  • Network accessline 106
    http=$(curl -s -w "%{http_code}" -o diagram.png \
  • Network accessline 107
    -X POST https://kroki.io/plantuml/png \
  • Network accessline 112
    # SVG http=$(curl -s -w "%{http_code}" -o diagram.svg \
  • Network accessline 113
    http=$(curl -s -w "%{http_code}" -o diagram.svg \
  • Network accessline 114
    -X POST https://kroki.io/plantuml/svg \
  • Network accessline 175
    - Overwrite the same `diagram.puml` / output file each round — don't create `v1`, `v2`, … - **Safety valve:** after 5 rounds, suggest the user fine-tune the `.puml` directly or at [plantuml.com](https://www.plantuml.com/plantuml/uml/).
  • Network accessline 176
    - **Safety valve:** after 5 rounds, suggest the user fine-tune the `.puml` directly or at [plantuml.com](https://www.plantuml.com/plantuml/uml/).
  • Network accessline 458
    Other levels: `<C4/C4_Container>` (`Container`, `ContainerDb`), `<C4/C4_Component>` (`Component`). Common macros: `Person`, `System`, `System_Ext`, `Container`, `Rel`, `Boundary`. **Do not** use a remote `!includeurl https://…` — Kroki cann
  • Network accessline 467
    # PNG via Kroki API (recommended) curl -s -X POST https://kroki.io/plantuml/png \
  • Network accessline 468
    curl -s -X POST https://kroki.io/plantuml/png \
  • Network accessline 473
    # SVG via Kroki API curl -s -X POST https://kroki.io/plantuml/svg \
  • Network accessline 474
    curl -s -X POST https://kroki.io/plantuml/svg \
  • Network accessline 479
    # Via local Kroki Docker (offline) curl -s -X POST http://localhost:8000/plantuml/png \
  • Network accessline 480
    curl -s -X POST http://localhost:8000/plantuml/png \
  • Network accessline 517
    | Mistake | Fix | | --------- | ----- | | `curl` POST returns HTML error page | Check network; try `curl -v` to see error details |
  • Network accessline 518
    | --------- | ----- | | `curl` POST returns HTML error page | Check network; try `curl -v` to see error details | | Kroki returns 400 Bad Request | `cat` the output file — Kroki wrote the offending line + reason there; fix it and re-render 
  • Network accessline 519
    | `curl` POST returns HTML error page | Check network; try `curl -v` to see error details |
  • Network accessline 520
    | Kroki returns 400 Bad Request | `cat` the output file — Kroki wrote the offending line + reason there; fix it and re-render via the Step 5 loop. Validate syntax at <https://www.plantuml.com/plantuml/uml/> |
  • Network accessline 523
    | Missing `@startuml` / `@enduml` | Always wrap diagram in these markers | | Special chars in labels | Wrap in quotes: `"Label: value"` | | C4 includes not found | Use the bundled `!include <C4/C4_Context>` (resolved on the standard `plantu
  • Network accessline 524
    | Special chars in labels | Wrap in quotes: `"Label: value"` | | C4 includes not found | Use the bundled `!include <C4/C4_Context>` (resolved on the standard `plantuml` endpoint and `c4plantuml`); never a remote `!includeurl https://…` — Kr
  • Network accessline 525
    | C4 includes not found | Use the bundled `!include <C4/C4_Context>` (resolved on the standard `plantuml` endpoint and `c4plantuml`); never a remote `!includeurl https://…` — Kroki cannot fetch external URLs |

plugins/plantuml/skills/plantuml-skill/references/from-source-code.md

  • Network accessline 35
    class Dog(Animal):     def fetch(self): ...
  • Network accessline 36
    def fetch(self): ...
  • Network accessline 50
    } class Dog {   +fetch()
  • Network accessline 51
    class Dog {   +fetch() }
  • Network accessline 52
    +fetch()

plugins/plantuml/skills/plantuml-skill/references/kroki-troubleshooting.md

  • Network accessline 9
    - **No network fetches.** Kroki will not resolve a remote `!includeurl https://…`.

plugins/plantuml/skills/plantuml-skill/references/rendering-backends.md

  • Network accessline 6
    | Backend | Endpoint / command | Install | Source leaves your machine? | | --- | --- | --- | --- | | **Public Kroki** (default) | `https://kroki.io/plantuml/{png,svg}` | just `curl` | **Yes** — POSTed to a third-party service |
  • Network accessline 7
    | --- | --- | --- | --- | | **Public Kroki** (default) | `https://kroki.io/plantuml/{png,svg}` | just `curl` | **Yes** — POSTed to a third-party service | | **Local Kroki** (Docker) | `http://localhost:8000/plantuml/{png,svg}` | `docker run
  • Network accessline 8
    | **Public Kroki** (default) | `https://kroki.io/plantuml/{png,svg}` | just `curl` | **Yes** — POSTed to a third-party service |
  • Network accessline 9
    | **Local Kroki** (Docker) | `http://localhost:8000/plantuml/{png,svg}` | `docker run -d -p 8000:8000 yuzutech/kroki` | No |
  • Network accessline 16
    1. **Honor an explicit choice** — if the user named a backend, or `KROKI_URL` is    set in the environment, use it. (Swap `https://kroki.io` → that base URL in
  • Network accessline 17
    set in the environment, use it. (Swap `https://kroki.io` → that base URL in

plugins/scholar-deep-research/skills/scholar-deep-research/CHANGELOG.md

  • Network accessline 3
    Notable changes to `scholar-deep-research`. Format follows [Keep a Changelog](https://keepachangelog.com); fragments are managed by
  • Network accessline 4
    [Keep a Changelog](https://keepachangelog.com); fragments are managed by
  • Network accessline 5
    [towncrier](https://towncrier.readthedocs.io) — see `changelog.d/README.md`.
  • Network accessline 154
    - Adopt [towncrier](https://towncrier.readthedocs.io) for incremental

plugins/scholar-deep-research/skills/scholar-deep-research/SKILL.md

  • Network accessline 3
    description: Use when the user asks for a literature review, academic deep dive, research report, state-of-the-art survey, topic scoping, comparative analysis of methods/papers, grant background, or any request that needs multi-source schol
  • Network accessline 4
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires Python 3.9+ with httpx and pypdf (see requirements.txt). Optional: `pip install docling` to enable layout-aware markdown PDF extraction (`extract_pdf.
  • Network accessline 5
    homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires Python 3.9+ with httpx and pypdf (see requirements.txt). Optional: `pip install docling` to enable layout-aware markdown PDF extraction (`extract_pdf.py --engine d
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]
  • Access to secretsline 229
    [Credential-related source omitted]
  • Network accessline 318
    | `rank_papers.py` | Transparent scoring formula. Prints the formula and per-paper components. | | `skim_papers.py` | Phase-3 triage. Splits selected papers into `deep` / `skim` / `defer` tiers on cheap deterministic signals, refines `selec
  • Network accessline 319
    | `skim_papers.py` | Phase-3 triage. Splits selected papers into `deep` / `skim` / `defer` tiers on cheap deterministic signals, refines `selected_ids`, auto-fills evidence stubs for skim tier. Runs at the close of Phase 2 before G3. | | `p
  • Network accessline 320
    | `prefetch_pdfs.py` | Optional. Pulls deep-tier PDFs into a stable cache via paper-fetch (with Unpaywall fallback) before Phase 3 agent fan-out. Concurrent (`--concurrency`), idempotent on re-run, fail-soft per paper. Writes `pdf_path` / `
  • Network accessline 321
    | `build_citation_graph.py` | Forward/backward snowballing via OpenAlex. | | `extract_pdf.py` | Full-text extraction. `--engine auto` (default) tries pypdf first and auto-upgrades to **docling** (markdown output, layout-aware, OCR for scann
  • Network accessline 322
    | `extract_pdf.py` | Full-text extraction. `--engine auto` (default) tries pypdf first and auto-upgrades to **docling** (markdown output, layout-aware, OCR for scanned regions) when pypdf result looks scanned/sparse — install with `pip inst
  • Access to secretsline 333
    [Credential-related source omitted]
  • Access to secretsline 420
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/references/env_vars.md

  • Access to secretsline 9
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 11
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/references/quality_assessment.md

  • Network accessline 47
    - Look up the DOI on **Retraction Watch** (https://retractionwatch.com) — it's slow but authoritative

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/_common.py

  • Executable scriptline 1
    Executable file
  • Network accessline 42
    USER_AGENT = (     f"scholar-deep-research/{VERSION} "     "(+https://github.com/Agents365-ai/365-skills; "
  • Network accessline 43
    f"scholar-deep-research/{VERSION} "     "(+https://github.com/Agents365-ai/365-skills; "     "polite-pool)"
  • Network accessline 44
    "(+https://github.com/Agents365-ai/365-skills; "
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 114
    [Credential-related source omitted]
  • Access to secretsline 240
    [Credential-related source omitted]
  • Network accessline 349
    in the script — e.g., `--url <user-input>` or a PDF URL pulled from     an Unpaywall API response. Search-script base URLs like     `https://api.openalex.org/works` do not need it: an attacker would
  • Network accessline 350
    an Unpaywall API response. Search-script base URLs like     `https://api.openalex.org/works` do not need it: an attacker would     have to poison DNS, which is out of scope for this skill.
  • Network accessline 351
    `https://api.openalex.org/works` do not need it: an attacker would
  • Network accessline 375
    return httpx.get(url, timeout=timeout, **kwargs)
  • Network accessline 384
    raise httpx.ConnectError(
  • Network accessline 399
    return httpx.get(url, timeout=timeout, **kwargs)
  • Access to secretsline 575
    [Credential-related source omitted]
  • Network accessline 624
    filters = dict(filters or {})     if not _search_cache_enabled():         return fetch(), {}
  • Network accessline 626
    return fetch(), {}
  • Network accessline 650
    papers = fetch()
  • Access to secretsline 821
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/_gates.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/_locking.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/_pdf_fetch.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 103
    [Credential-related source omitted]
  • Network accessline 196
    out_dir.mkdir(parents=True, exist_ok=True)     email = os.environ.get("SCHOLAR_MAILTO", "scholar-deep-research@example.com")     api_url = f"https://api.unpaywall.org/v2/{doi}?email={email}"
  • Access to secretsline 197
    [Credential-related source omitted]
  • Network accessline 198
    api_url = f"https://api.unpaywall.org/v2/{doi}?email={email}"
  • Network accessline 200
    from _common import USER_AGENT     try:         r = httpx.get(api_url, follow_redirects=True, timeout=30.0,
  • Network accessline 201
    try:         r = httpx.get(api_url, follow_redirects=True, timeout=30.0,                       headers={"User-Agent": USER_AGENT})
  • Network accessline 202
    r = httpx.get(api_url, follow_redirects=True, timeout=30.0,

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/_s2_citations.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 31
    GRAPH = "https://api.semanticscholar.org/graph/v1"
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Network accessline 85
    params = {"fields": _FIELDS, "limit": page, "offset": offset}         try:             r = httpx.get(url, params=params, headers=headers, timeout=30.0)
  • Network accessline 86
    try:             r = httpx.get(url, params=params, headers=headers, timeout=30.0)         except httpx.HTTPError as exc:
  • Network accessline 87
    r = httpx.get(url, params=params, headers=headers, timeout=30.0)
  • Access to secretsline 96
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/_search_meta.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/build_citation_graph.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 39
    WORKS = "https://api.openalex.org/works"
  • Network accessline 84
    headers["From"] = email     try:         r = httpx.get(f"{WORKS}/{oa_id}", params=params,
  • Network accessline 85
    try:         r = httpx.get(f"{WORKS}/{oa_id}", params=params,                       headers=headers, timeout=30.0)
  • Network accessline 86
    r = httpx.get(f"{WORKS}/{oa_id}", params=params,
  • Network accessline 112
    params["mailto"] = email         try:             r = httpx.get(WORKS, params=params, headers=headers, timeout=30.0)
  • Network accessline 113
    try:             r = httpx.get(WORKS, params=params, headers=headers, timeout=30.0)             r.raise_for_status()
  • Network accessline 114
    r = httpx.get(WORKS, params=params, headers=headers, timeout=30.0)
  • Network accessline 133
    params["mailto"] = email     try:         r = httpx.get(WORKS, params=params, headers=headers, timeout=30.0)
  • Network accessline 134
    try:         r = httpx.get(WORKS, params=params, headers=headers, timeout=30.0)         r.raise_for_status()
  • Network accessline 135
    r = httpx.get(WORKS, params=params, headers=headers, timeout=30.0)
  • Access to secretsline 226
    [Credential-related source omitted]
  • Access to secretsline 243
    [Credential-related source omitted]
  • Access to secretsline 249
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/dedupe_papers.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 231
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/export_bibtex.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 154
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/extract_pdf.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/list_sources.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/prefetch_pdfs.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 77
    When prefetch can't auto-fetch (paywall) or has nothing to fetch
  • Network accessline 97
    alt_urls: list[str] = []     if doi:         alt_urls.append(f"https://doi.org/{doi}")
  • Network accessline 98
    if doi:         alt_urls.append(f"https://doi.org/{doi}")     if title:
  • Network accessline 99
    alt_urls.append(f"https://doi.org/{doi}")
  • Network accessline 100
    if title:         alt_urls.append(             f"https://scholar.google.com/scholar?q={quote_plus(title)}")
  • Network accessline 101
    alt_urls.append(             f"https://scholar.google.com/scholar?q={quote_plus(title)}")     return {
  • Network accessline 102
    f"https://scholar.google.com/scholar?q={quote_plus(title)}")
  • Access to secretsline 258
    [Credential-related source omitted]
  • Access to secretsline 269
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/rank_papers.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 198
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/render_report.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 424
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/research_state.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 225
    return None     raw = raw.strip().lower()     raw = raw.replace("https://doi.org/", "").replace("http://doi.org/", "")
  • Network accessline 226
    raw = raw.strip().lower()     raw = raw.replace("https://doi.org/", "").replace("http://doi.org/", "")     raw = raw.replace("doi:", "").strip()
  • Network accessline 227
    raw = raw.replace("https://doi.org/", "").replace("http://doi.org/", "")
  • Access to secretsline 478
    [Credential-related source omitted]
  • Access to secretsline 480
    [Credential-related source omitted]
  • Access to secretsline 482
    [Credential-related source omitted]
  • Access to secretsline 485
    [Credential-related source omitted]
  • Access to secretsline 488
    [Credential-related source omitted]
  • Access to secretsline 490
    [Credential-related source omitted]
  • Access to secretsline 491
    [Credential-related source omitted]
  • Access to secretsline 1271
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/resolve_id.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/search_arxiv.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 39
    API = "https://export.arxiv.org/api/query"
  • Network accessline 40
    NS = {     "atom": "http://www.w3.org/2005/Atom",     "arxiv": "http://arxiv.org/schemas/atom",
  • Network accessline 41
    "atom": "http://www.w3.org/2005/Atom",
  • Network accessline 42
    "arxiv": "http://arxiv.org/schemas/atom",
  • Network accessline 65
    enforce_min_interval("arxiv", _ARXIV_MIN_INTERVAL)     try:         r = httpx.get(API, params=params,
  • Network accessline 66
    try:         r = httpx.get(API, params=params,                       headers={"User-Agent": USER_AGENT}, timeout=30.0)
  • Network accessline 67
    r = httpx.get(API, params=params,
  • Access to secretsline 157
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/search_biorxiv.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 4
    bioRxiv's native API is interval-based (date range / DOI lookup) and offers no keyword search. Europe PMC (https://www.ebi.ac.uk/europepmc/) indexes bioRxiv
  • Network accessline 5
    keyword search. Europe PMC (https://www.ebi.ac.uk/europepmc/) indexes bioRxiv
  • Network accessline 45
    API = "https://www.ebi.ac.uk/europepmc/webservices/rest/search"
  • Network accessline 75
    try:         r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Network accessline 76
    r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Network accessline 156
    landing = url     if landing is None and hit.get("doi"):         landing = f"https://doi.org/{hit['doi']}"
  • Network accessline 157
    if landing is None and hit.get("doi"):         landing = f"https://doi.org/{hit['doi']}"     return landing, pdf
  • Network accessline 158
    landing = f"https://doi.org/{hit['doi']}"
  • Access to secretsline 192
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/search_crossref.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 38
    API = "https://api.crossref.org/works"
  • Network accessline 61
    try:         r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Network accessline 62
    r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Access to secretsline 121
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/search_dblp.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 17
    Public API: https://dblp.org/search/publ/api?q=<query>&format=json — no key,
  • Network accessline 47
    API = "https://dblp.org/search/publ/api"
  • Network accessline 65
    enforce_min_interval("dblp", _DBLP_MIN_INTERVAL)     try:         r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Network accessline 66
    try:         r = httpx.get(API, params=params, headers=headers, timeout=30.0)         r.raise_for_status()
  • Network accessline 67
    r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Network accessline 119
    key = info.get("key")     url = ee or (f"https://dblp.org/rec/{key}.html" if key else None)
  • Network accessline 120
    url = ee or (f"https://dblp.org/rec/{key}.html" if key else None)
  • Access to secretsline 146
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/search_exa.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 21
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 165
    [Credential-related source omitted]
  • Access to secretsline 185
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 290
    [Credential-related source omitted]
  • Access to secretsline 291
    [Credential-related source omitted]
  • Access to secretsline 297
    [Credential-related source omitted]
  • Network accessline 299
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Network accessline 300
    [Credential-related source omitted]
  • Access to secretsline 300
    [Credential-related source omitted]
  • Network accessline 301
    "Get one at https://exa.ai/.",
  • Access to secretsline 312
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/search_openalex.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 40
    API = "https://api.openalex.org/works"
  • Network accessline 75
    params["per-page"] = min(limit - fetched, 200)         try:             r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Network accessline 76
    try:             r = httpx.get(API, params=params, headers=headers, timeout=30.0)             r.raise_for_status()
  • Network accessline 77
    r = httpx.get(API, params=params, headers=headers, timeout=30.0)
  • Network accessline 104
    doi = w.get("doi")     if doi and isinstance(doi, str):         doi = doi.replace("https://doi.org/", "")
  • Network accessline 105
    if doi and isinstance(doi, str):         doi = doi.replace("https://doi.org/", "")     authors = [
  • Network accessline 106
    doi = doi.replace("https://doi.org/", "")
  • Network accessline 145
    abstract=reconstruct_inverted_abstract(w.get("abstract_inverted_index")),         citations=w.get("cited_by_count", 0),         url=landing or (f"https://doi.org/{doi}" if doi else None),
  • Network accessline 146
    citations=w.get("cited_by_count", 0),         url=landing or (f"https://doi.org/{doi}" if doi else None),         pdf_url=pdf_url,
  • Network accessline 147
    url=landing or (f"https://doi.org/{doi}" if doi else None),
  • Access to secretsline 160
    [Credential-related source omitted]
  • Access to secretsline 170
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/search_pubmed.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 13
    [Credential-related source omitted]
  • Network accessline 43
    ESEARCH = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi"
  • Network accessline 44
    ESUMMARY = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi"
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Network accessline 76
    enforce_min_interval("pubmed", min_interval)     try:         r = httpx.get(ESEARCH, params=es_params, headers=headers, timeout=30.0)
  • Network accessline 77
    try:         r = httpx.get(ESEARCH, params=es_params, headers=headers, timeout=30.0)         r.raise_for_status()
  • Network accessline 78
    r = httpx.get(ESEARCH, params=es_params, headers=headers, timeout=30.0)
  • Access to secretsline 95
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Network accessline 97
    enforce_min_interval("pubmed", min_interval)     try:         r = httpx.get(ESUMMARY, params=sum_params, headers=headers, timeout=30.0)
  • Network accessline 98
    try:         r = httpx.get(ESUMMARY, params=sum_params, headers=headers, timeout=30.0)         r.raise_for_status()
  • Network accessline 99
    r = httpx.get(ESUMMARY, params=sum_params, headers=headers, timeout=30.0)
  • Network accessline 138
    abstract=abstract,         citations=None,  # PubMed doesn't expose citation counts         url=f"https://pubmed.ncbi.nlm.nih.gov/{pmid}/",
  • Network accessline 139
    citations=None,  # PubMed doesn't expose citation counts         url=f"https://pubmed.ncbi.nlm.nih.gov/{pmid}/",         pdf_url=None,
  • Network accessline 140
    url=f"https://pubmed.ncbi.nlm.nih.gov/{pmid}/",
  • Access to secretsline 152
    [Credential-related source omitted]
  • Access to secretsline 153
    [Credential-related source omitted]
  • Access to secretsline 162
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/skim_papers.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 161
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/state_apply.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/__init__.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/_helpers.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/run.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_agent_native.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 108
    [Credential-related source omitted]
  • Access to secretsline 130
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_citation_chase_filter.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_citation_chase_s2.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_dedupe_bridge.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_envelope.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_evidence_from_json.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_export_formats.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_extract_pdf_engine.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 131
    [Credential-related source omitted]
  • Access to secretsline 142
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Access to secretsline 163
    [Credential-related source omitted]
  • Access to secretsline 167
    [Credential-related source omitted]
  • Access to secretsline 176
    [Credential-related source omitted]
  • Access to secretsline 184
    [Credential-related source omitted]
  • Access to secretsline 189
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_g4_topic_mismatch.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_gate_hint_coverage.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_gates.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_ingest_roundtrip.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_locking.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_normalize_title_none.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_openalex_concepts.py

  • Executable scriptline 1
    Executable file
  • Network accessline 32
    def test_top_3_by_score_kept(self) -> None:         work = {             "id": "https://openalex.org/W1",
  • Network accessline 33
    work = {             "id": "https://openalex.org/W1",             "title": "Test",
  • Network accessline 34
    "id": "https://openalex.org/W1",
  • Network accessline 50
    work = {             "id": "https://openalex.org/W2",
  • Network accessline 51
    "id": "https://openalex.org/W2",
  • Network accessline 63
    def test_scores_rounded_to_3_decimals(self) -> None:         work = {             "id": "https://openalex.org/W3",
  • Network accessline 64
    work = {             "id": "https://openalex.org/W3",             "title": "Test",
  • Network accessline 65
    "id": "https://openalex.org/W3",
  • Network accessline 76
    work = {"id": "https://openalex.org/W4", "title": "Test", "concepts": []}
  • Network accessline 83
    work = {             "id": "https://openalex.org/W5",
  • Network accessline 84
    "id": "https://openalex.org/W5",

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_pdf_fetch.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 48
    [Credential-related source omitted]
  • Network accessline 88
    "title": "Test",                     "year": 2024,                     "pdf_url": "https://example.com/x.pdf",
  • Network accessline 89
    "year": 2024,                     "pdf_url": "https://example.com/x.pdf",                 },
  • Network accessline 90
    "pdf_url": "https://example.com/x.pdf",

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_phase1_budget.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 51
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_prefetch.py

  • Executable scriptline 1
    Executable file
  • Network accessline 76
    init_state(state)             papers = [dummy_paper(f"W{i}", doi=f"10.1234/test{i}",                                   pdf_url=f"https://x/pdf/{i}.pdf")
  • Network accessline 77
    papers = [dummy_paper(f"W{i}", doi=f"10.1234/test{i}",                                   pdf_url=f"https://x/pdf/{i}.pdf")                       for i in range(8)]
  • Network accessline 78
    pdf_url=f"https://x/pdf/{i}.pdf")

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_rank_relevance.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_rate_limit.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 117
    [Credential-related source omitted]
  • Access to secretsline 118
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_render_report.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_resolve_id.py

  • Executable scriptline 1
    Executable file
  • Network accessline 29
    def test_doi_url(self) -> None:         r = resolve_id.resolve_id("https://doi.org/10.1038/nature12373")
  • Network accessline 30
    r = resolve_id.resolve_id("https://doi.org/10.1038/nature12373")
  • Network accessline 87
    def test_arxiv_url(self) -> None:         r = resolve_id.resolve_id("https://arxiv.org/abs/2301.12345")
  • Network accessline 88
    r = resolve_id.resolve_id("https://arxiv.org/abs/2301.12345")
  • Network accessline 93
    def test_arxiv_pdf_url_strips_pdf_and_version(self) -> None:         r = resolve_id.resolve_id("https://arxiv.org/pdf/2301.12345v3.pdf")
  • Network accessline 94
    r = resolve_id.resolve_id("https://arxiv.org/pdf/2301.12345v3.pdf")

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_safe_get.py

  • Executable scriptline 1
    Executable file
  • Network accessline 31
    return_value=_fake_getaddrinfo(ip)):             with self.assertRaises(SSRFRefused) as cm:                 safe_get(f"http://example.test/x")
  • Network accessline 32
    with self.assertRaises(SSRFRefused) as cm:                 safe_get(f"http://example.test/x")         self.assertEqual(cm.exception.ip, ip)
  • Network accessline 33
    safe_get(f"http://example.test/x")
  • Network accessline 61
    mock.patch("httpx.get") as fake_get:             fake_get.return_value = mock.Mock(status_code=200)             safe_get("http://dns.example/q",
  • Network accessline 62
    fake_get.return_value = mock.Mock(status_code=200)             safe_get("http://dns.example/q",                      timeout=10.0, headers={"User-Agent": "test"})
  • Network accessline 63
    safe_get("http://dns.example/q",
  • Network accessline 76
    side_effect=socket.gaierror("dns is broken")):             with self.assertRaises(httpx.ConnectError) as cm:                 safe_get("http://no-such-host.test/x")
  • Network accessline 77
    with self.assertRaises(httpx.ConnectError) as cm:                 safe_get("http://no-such-host.test/x")         self.assertIn("dns is broken", str(cm.exception))
  • Network accessline 78
    safe_get("http://no-such-host.test/x")
  • Network accessline 84
    e = SSRFRefused("http://x.test/", "x.test", "10.0.0.1")
  • Network accessline 85
    self.assertEqual(e.url, "http://x.test/")

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_saturation.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 282
    [Credential-related source omitted]
  • Access to secretsline 283
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 290
    [Credential-related source omitted]
  • Access to secretsline 333
    [Credential-related source omitted]
  • Access to secretsline 338
    [Credential-related source omitted]
  • Access to secretsline 347
    [Credential-related source omitted]
  • Access to secretsline 348
    [Credential-related source omitted]
  • Access to secretsline 353
    [Credential-related source omitted]
  • Access to secretsline 355
    [Credential-related source omitted]
  • Access to secretsline 382
    [Credential-related source omitted]
  • Access to secretsline 387
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_saturation_env.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 62
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]
  • Access to secretsline 78
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 106
    [Credential-related source omitted]
  • Access to secretsline 112
    [Credential-related source omitted]
  • Access to secretsline 127
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_schema.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_search_biorxiv.py

  • Executable scriptline 1
    Executable file
  • Network accessline 37
    "fullTextUrlList": {"fullTextUrl": [                 {"availability": "Open access",                  "url": "https://www.biorxiv.org/content/10.1101/2024.01.15.575892v1"},
  • Network accessline 38
    {"availability": "Open access",                  "url": "https://www.biorxiv.org/content/10.1101/2024.01.15.575892v1"},                 {"availability": "Open access",
  • Network accessline 39
    "url": "https://www.biorxiv.org/content/10.1101/2024.01.15.575892v1"},
  • Network accessline 40
    {"availability": "Open access",                  "url": "https://www.biorxiv.org/content/10.1101/2024.01.15.575892v1.full.pdf"},             ]},
  • Network accessline 41
    "url": "https://www.biorxiv.org/content/10.1101/2024.01.15.575892v1.full.pdf"},
  • Network accessline 79
    "doi": "10.1101/x", "title": "X",             "fullTextUrlList": {"fullTextUrl": [                 {"availability": "Open access", "url": "https://www.biorxiv.org/abs/x"},
  • Network accessline 80
    "fullTextUrlList": {"fullTextUrl": [                 {"availability": "Open access", "url": "https://www.biorxiv.org/abs/x"},             ]},
  • Network accessline 81
    {"availability": "Open access", "url": "https://www.biorxiv.org/abs/x"},
  • Network accessline 83
    }         p = search_biorxiv._normalize(hit)         self.assertEqual(p["url"], "https://www.biorxiv.org/abs/x")
  • Network accessline 84
    p = search_biorxiv._normalize(hit)         self.assertEqual(p["url"], "https://www.biorxiv.org/abs/x")         self.assertIsNone(p["pdf_url"])
  • Network accessline 85
    self.assertEqual(p["url"], "https://www.biorxiv.org/abs/x")
  • Network accessline 89
    hit = {"doi": "10.1101/x", "title": "X"}         p = search_biorxiv._normalize(hit)         self.assertEqual(p["url"], "https://doi.org/10.1101/x")
  • Network accessline 91
    self.assertEqual(p["url"], "https://doi.org/10.1101/x")

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_search_cache.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 37
    [Credential-related source omitted]
  • Network accessline 45
    def fetch():
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 135
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_search_dblp.py

  • Executable scriptline 1
    Executable file
  • Network accessline 36
    "year": "2017",             "doi": "10.5555/3295222.3295349",             "ee": "https://arxiv.org/abs/1706.03762",
  • Network accessline 37
    "doi": "10.5555/3295222.3295349",             "ee": "https://arxiv.org/abs/1706.03762",             "key": "conf/nips/VaswaniSPUJGKP17",
  • Network accessline 38
    "ee": "https://arxiv.org/abs/1706.03762",
  • Network accessline 46
    self.assertEqual(p["year"], 2017)         self.assertEqual(p["doi"], "10.5555/3295222.3295349")         self.assertEqual(p["url"], "https://arxiv.org/abs/1706.03762")
  • Network accessline 48
    self.assertEqual(p["url"], "https://arxiv.org/abs/1706.03762")
  • Network accessline 76
    self.assertEqual(p["url"], "https://dblp.org/rec/journals/jacm/Author62.html")
  • Network accessline 101
    info = {             "title": "X", "year": "2024", "key": "k",             "ee": ["https://doi.org/10.x/y", "https://example.com/preprint.pdf"],
  • Network accessline 102
    "title": "X", "year": "2024", "key": "k",             "ee": ["https://doi.org/10.x/y", "https://example.com/preprint.pdf"],         }
  • Network accessline 103
    "ee": ["https://doi.org/10.x/y", "https://example.com/preprint.pdf"],
  • Network accessline 104
    }         p = search_dblp._normalize(info)         self.assertEqual(p["url"], "https://doi.org/10.x/y")
  • Network accessline 106
    self.assertEqual(p["url"], "https://doi.org/10.x/y")

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_search_exa.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 9
    [Credential-related source omitted]
  • Network accessline 41
    def test_extracts_doi_from_doi_org(self) -> None:         self.assertEqual(             search_exa._doi_from_url("https://doi.org/10.1038/s41586-023-12345-6"),
  • Network accessline 42
    self.assertEqual(             search_exa._doi_from_url("https://doi.org/10.1038/s41586-023-12345-6"),             "10.1038/s41586-023-12345-6",
  • Network accessline 43
    search_exa._doi_from_url("https://doi.org/10.1038/s41586-023-12345-6"),
  • Network accessline 47
    def test_extracts_doi_from_publisher_url(self) -> None:         self.assertEqual(             search_exa._doi_from_url("https://www.nature.com/articles/10.1038/nature12373"),
  • Network accessline 48
    self.assertEqual(             search_exa._doi_from_url("https://www.nature.com/articles/10.1038/nature12373"),             "10.1038/nature12373",
  • Network accessline 49
    search_exa._doi_from_url("https://www.nature.com/articles/10.1038/nature12373"),
  • Network accessline 53
    def test_trims_trailing_punctuation(self) -> None:         self.assertEqual(             search_exa._doi_from_url("https://doi.org/10.1000/abc.def)."),
  • Network accessline 54
    self.assertEqual(             search_exa._doi_from_url("https://doi.org/10.1000/abc.def)."),             "10.1000/abc.def",
  • Network accessline 55
    search_exa._doi_from_url("https://doi.org/10.1000/abc.def)."),
  • Network accessline 59
    def test_returns_none_for_non_doi(self) -> None:         self.assertIsNone(search_exa._doi_from_url("https://example.com/paper"))
  • Network accessline 60
    self.assertIsNone(search_exa._doi_from_url("https://example.com/paper"))
  • Network accessline 129
    def test_full_result_populates_paper(self) -> None:         r = _fake_result(             url="https://doi.org/10.1038/s41586-023-12345-6",
  • Network accessline 130
    r = _fake_result(             url="https://doi.org/10.1038/s41586-023-12345-6",             title="Example Paper",
  • Network accessline 131
    url="https://doi.org/10.1038/s41586-023-12345-6",
  • Network accessline 144
    "A long textual excerpt from the page.")         self.assertEqual(paper["citations"], 0)         self.assertEqual(paper["url"], "https://doi.org/10.1038/s41586-023-12345-6")
  • Network accessline 145
    self.assertEqual(paper["citations"], 0)         self.assertEqual(paper["url"], "https://doi.org/10.1038/s41586-023-12345-6")         self.assertIsNone(paper["pdf_url"])
  • Network accessline 146
    self.assertEqual(paper["url"], "https://doi.org/10.1038/s41586-023-12345-6")
  • Network accessline 150
    def test_pdf_url_flagged_when_link_ends_in_pdf(self) -> None:         r = _fake_result(             url="https://arxiv.org/pdf/2301.00001.pdf",
  • Network accessline 151
    r = _fake_result(             url="https://arxiv.org/pdf/2301.00001.pdf",             title="Preprint",
  • Network accessline 152
    url="https://arxiv.org/pdf/2301.00001.pdf",
  • Network accessline 154
    )         paper = search_exa._normalize(r)         self.assertEqual(paper["pdf_url"], "https://arxiv.org/pdf/2301.00001.pdf")
  • Network accessline 156
    self.assertEqual(paper["pdf_url"], "https://arxiv.org/pdf/2301.00001.pdf")
  • Network accessline 158
    def test_no_doi_leaves_doi_none(self) -> None:         r = _fake_result(url="https://example.com/article", title="X")
  • Network accessline 159
    r = _fake_result(url="https://example.com/article", title="X")
  • Network accessline 163
    def test_missing_content_produces_none_abstract(self) -> None:         r = _fake_result(url="https://example.com/a", title="T")
  • Network accessline 164
    r = _fake_result(url="https://example.com/a", title="T")
  • Network accessline 172
    r = _fake_result(url="https://example.com/paper.pdf", title="",
  • Network accessline 177
    def test_whitespace_title_becomes_none(self) -> None:         r = _fake_result(url="https://example.com/x", title="   \n  ")
  • Network accessline 178
    r = _fake_result(url="https://example.com/x", title="   \n  ")
  • Network accessline 190
    r = SimpleNamespace(             url="https://example.com/x", title="T",
  • Network accessline 191
    url="https://example.com/x", title="T",
  • Access to secretsline 224
    [Credential-related source omitted]
  • Access to secretsline 226
    [Credential-related source omitted]
  • Access to secretsline 227
    [Credential-related source omitted]
  • Access to secretsline 235
    [Credential-related source omitted]
  • Access to secretsline 236
    [Credential-related source omitted]
  • Access to secretsline 245
    [Credential-related source omitted]
  • Access to secretsline 263
    [Credential-related source omitted]
  • Access to secretsline 264
    [Credential-related source omitted]

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_search_round.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_select_include_ids.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_smart_title.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_source_diagnostics.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_source_meta.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_status.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_terminal_advance.py

  • Executable scriptline 1
    Executable file

plugins/scholar-deep-research/skills/scholar-deep-research/scripts/tests/test_upstream_endpoints.py

  • Executable scriptline 1
    Executable file
  • Network accessline 5
    1. arXiv now hard-redirects http -> https; if the script's API constant    keeps `http://`, every search returns `upstream_error` with status 301.
  • Network accessline 6
    keeps `http://`, every search returns `upstream_error` with status 301.
  • Network accessline 24
    src = (SCRIPTS / "search_arxiv.py").read_text()         self.assertIn(             'API = "https://export.arxiv.org/api/query"', src,
  • Network accessline 25
    self.assertIn(             'API = "https://export.arxiv.org/api/query"', src,             "search_arxiv.py must use https://; arXiv 301-redirects "
  • Network accessline 26
    'API = "https://export.arxiv.org/api/query"', src,             "search_arxiv.py must use https://; arXiv 301-redirects "             "http requests and httpx does not auto-follow.",
  • Network accessline 27
    "search_arxiv.py must use https://; arXiv 301-redirects "             "http requests and httpx does not auto-follow.",         )
  • Network accessline 29
    )         self.assertNotIn(             'API = "http://export.arxiv.org', src,
  • Network accessline 30
    self.assertNotIn(             'API = "http://export.arxiv.org', src,             "search_arxiv.py still references the http:// arXiv endpoint.",
  • Network accessline 31
    'API = "http://export.arxiv.org', src,

plugins/scientific-thinking-biology/skills/scientific-thinking-biology/SKILL.md

  • Network accessline 4
    description: Use when interpreting biological research findings, evaluating life science evidence, analyzing molecular or cellular mechanisms, comparing competing biological hypotheses, designing or critiquing experiments in biology, geneti
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: No external tool dependencies. Works with any LLM-based agent on any platform.
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills

plugins/scientific-thinking-general/skills/scientific-thinking/SKILL.md

  • Network accessline 4
    description: Use when interpreting research findings, evaluating scientific evidence, analyzing mechanisms, comparing competing hypotheses, designing experiments, or constructing scientific arguments. license: MIT homepage: https://github.c
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: No external tool dependencies. Works with any LLM-based agent on any platform.
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills

plugins/semanticscholar/skills/semanticscholar-skill/SKILL.md

  • Network accessline 4
    description: Use when searching academic papers, looking up citations, finding authors, or getting paper recommendations using the Semantic Scholar API. Triggers on queries about research papers, academic search, citation analysis, or liter
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires python3 and the `requests` package. Set S2_API_KEY for higher rate limits (request at https://www.semanticscholar.org/product/api#api-key). Works unau
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires python3 and the `requests` package. Set S2_API_KEY for higher rate limits (request at https://www.semanticscholar.org/product/api#api-key). Works unauthenticated w
  • Network accessline 7
    [Credential-related source omitted]
  • Access to secretsline 7
    [Credential-related source omitted]
  • Network accessline 97
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Network accessline 171
    - **S2folks GitHub** — Official Semantic Scholar code examples: <https://github.com/allenai/s2-folks>
  • Network accessline 172
    - **Postman Collection** — No-code API testing: linked from <https://www.semanticscholar.org/product/api/tutorial>
  • Network accessline 173
    - **API Documentation** — Full endpoint reference: <https://api.semanticscholar.org/>
  • Network accessline 253
    `DOI:10.1038/...`, `ARXIV:2106.15928`, `PMID:19872477`, `PMCID:PMC2323569`, `CorpusId:215416146`, `ACL:2020.acl-main.447`, `DBLP:conf/acl/...`, `MAG:3015453090`, `URL:https://...`
  • Access to secretsline 309
    [Credential-related source omitted]
  • Network accessline 316
    > S2 recommends including an API key on every request, even for endpoints that work anonymously — it gives you a dedicated quota, a smoother experience under load, and better support if you need help. The introductory 1 req/s key can be rai
  • Network accessline 334
    | Error | Cause | Fix | | ------- | ------- | ----- | | `HTTPError 403` | `S2_API_KEY` is set but invalid/expired | `s2.py` auto-falls back to unauthenticated; or `unset S2_API_KEY`, or get a new key at <https://www.semanticscholar.org/prod
  • Network accessline 335
    | ------- | ------- | ----- | | `HTTPError 403` | `S2_API_KEY` is set but invalid/expired | `s2.py` auto-falls back to unauthenticated; or `unset S2_API_KEY`, or get a new key at <https://www.semanticscholar.org/product/api#api-key-form> | 
  • Network accessline 336
    [Credential-related source omitted]
  • Access to secretsline 336
    [Credential-related source omitted]

plugins/semanticscholar/skills/semanticscholar-skill/s2.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 42
    [Credential-related source omitted]
  • Network accessline 55
    GRAPH = "https://api.semanticscholar.org/graph/v1"
  • Network accessline 56
    RECS = "https://api.semanticscholar.org/recommendations/v1"
  • Network accessline 57
    DATASETS = "https://api.semanticscholar.org/datasets/v1"
  • Access to secretsline 59
    [Credential-related source omitted]
  • Network accessline 85
    try:             if method == "GET":                 r = requests.get(url, params=params, headers=HEADERS, timeout=30)
  • Network accessline 86
    if method == "GET":                 r = requests.get(url, params=params, headers=HEADERS, timeout=30)             else:
  • Network accessline 87
    r = requests.get(url, params=params, headers=HEADERS, timeout=30)
  • Network accessline 88
    else:                 r = requests.post(url, params=params, json=json_data, headers=HEADERS, timeout=30)         except (requests.ConnectionError, requests.Timeout) as e:
  • Network accessline 89
    r = requests.post(url, params=params, json=json_data, headers=HEADERS, timeout=30)
  • Access to secretsline 101
    [Credential-related source omitted]
  • Network accessline 238
    time.sleep(_MIN_GAP - elapsed)     _last_request_time = time.time()     r = requests.get(f"{GRAPH}/paper/autocomplete", params={"query": query}, timeout=30)
  • Network accessline 239
    _last_request_time = time.time()     r = requests.get(f"{GRAPH}/paper/autocomplete", params={"query": query}, timeout=30)     r.raise_for_status()
  • Network accessline 240
    r = requests.get(f"{GRAPH}/paper/autocomplete", params={"query": query}, timeout=30)
  • Access to secretsline 380
    [Credential-related source omitted]
  • Access to secretsline 387
    [Credential-related source omitted]

plugins/target-prioritization/skills/target-prioritization/references/api_endpoints.md

  • Network accessline 7
    - Base: `https://rest.uniprot.org/uniprotkb/search`
  • Network accessline 12
    cc_function` - Rate: ~100 req/sec; we sleep 0.1s between calls to be polite. - Docs: <https://www.uniprot.org/help/api_queries>
  • Network accessline 14
    - Docs: <https://www.uniprot.org/help/api_queries>
  • Network accessline 18
    - Endpoint: `https://api.platform.opentargets.org/api/v4/graphql`
  • Network accessline 37
    ordered tier labels — we pick the highest tier with `value=True`. - Rate: generous; 0.2s sleep between targets to avoid hammering. - Docs: <https://platform-docs.opentargets.org/data-access/graphql-api>
  • Network accessline 39
    - Docs: <https://platform-docs.opentargets.org/data-access/graphql-api>
  • Network accessline 43
    - Symbol → Ensembl resolver:   `https://www.proteinatlas.org/api/search_download.php?search=SYMBOL&format=json&columns=g,eg&compress=no`
  • Network accessline 44
    `https://www.proteinatlas.org/api/search_download.php?search=SYMBOL&format=json&columns=g,eg&compress=no`
  • Network accessline 45
    - Per-entry JSON: `https://www.proteinatlas.org/<ENSG>.json` (≈100 fields)
  • Network accessline 58
    cell-type strings (e.g. `"T-cells"`, `"Hepatocytes"`, `"Microglial cells"`). - No documented rate limit; fetcher sleeps 0.15s between calls. - Docs: <https://www.proteinatlas.org/about/help/dataaccess>
  • Network accessline 60
    - Docs: <https://www.proteinatlas.org/about/help/dataaccess>
  • Network accessline 64
    - Endpoint: `https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi`
  • Access to secretsline 71
    [Credential-related source omitted]
  • Network accessline 82
    - Two HTTP calls per gene:   1. `https://www.ebi.ac.uk/chembl/api/data/target/search.json?q=SYMBOL&limit=10`
  • Network accessline 83
    1. `https://www.ebi.ac.uk/chembl/api/data/target/search.json?q=SYMBOL&limit=10`
  • Network accessline 85
    `target_type == "SINGLE PROTEIN"`; prefer exact `pref_name` /      synonym match.   2. `https://www.ebi.ac.uk/chembl/api/data/activity.json?target_chembl_id=ID&standard_type=IC50&pchembl_value__gte=7&limit=5&order_by=-pchembl_value`
  • Network accessline 86
    synonym match.   2. `https://www.ebi.ac.uk/chembl/api/data/activity.json?target_chembl_id=ID&standard_type=IC50&pchembl_value__gte=7&limit=5&order_by=-pchembl_value`      — pulls the 5 most-potent IC50 assays with pIC50 ≥ 7 (≈ 100 nM).
  • Network accessline 87
    2. `https://www.ebi.ac.uk/chembl/api/data/activity.json?target_chembl_id=ID&standard_type=IC50&pchembl_value__gte=7&limit=5&order_by=-pchembl_value`
  • Network accessline 90
    `molecule_pref_name` (named tool compounds like MOBOCERTINIB). - No API key, ~5 req/sec friendly; fetcher sleeps 0.2s/gene. - Docs: <https://www.ebi.ac.uk/chembl/api/data/docs>
  • Network accessline 92
    - Docs: <https://www.ebi.ac.uk/chembl/api/data/docs>

plugins/target-prioritization/skills/target-prioritization/scripts/aggregate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/target-prioritization/skills/target-prioritization/scripts/build_html_report.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 167
    <div>           <h2>{gene_html} <span class="composite">composite {fmt(row["composite_score"], 3)}</span></h2>           <div class="card-sub">{html.escape(row["protein_name"])} · <a href="https://www.uniprot.org/uniprotkb/{uniprot_html}" t
  • Network accessline 168
    <h2>{gene_html} <span class="composite">composite {fmt(row["composite_score"], 3)}</span></h2>           <div class="card-sub">{html.escape(row["protein_name"])} · <a href="https://www.uniprot.org/uniprotkb/{uniprot_html}" target="_blank" r
  • Network accessline 169
    <div class="card-sub">{html.escape(row["protein_name"])} · <a href="https://www.uniprot.org/uniprotkb/{uniprot_html}" target="_blank" rel="noopener">{uniprot_html}</a></div>

plugins/target-prioritization/skills/target-prioritization/scripts/fetch_chembl.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 21
    CHEMBL = "https://www.ebi.ac.uk/chembl/api/data"
  • Network accessline 24
    def http_get_json(url: str):     try:         with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 25
    try:         with urllib.request.urlopen(url, timeout=30) as r:             return json.loads(r.read().decode("utf-8"))
  • Network accessline 26
    with urllib.request.urlopen(url, timeout=30) as r:

plugins/target-prioritization/skills/target-prioritization/scripts/fetch_hpa.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 21
    HPA_SEARCH = "https://www.proteinatlas.org/api/search_download.php"
  • Network accessline 22
    HPA_ENTRY = "https://www.proteinatlas.org/{ensg}.json"
  • Network accessline 25
    def http_get_json(url: str):     try:         with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 26
    try:         with urllib.request.urlopen(url, timeout=30) as r:             raw = r.read()
  • Network accessline 27
    with urllib.request.urlopen(url, timeout=30) as r:

plugins/target-prioritization/skills/target-prioritization/scripts/fetch_opentargets.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 21
    OT_URL = "https://api.platform.opentargets.org/api/v4/graphql"
  • Network accessline 125
    def gql(query: str, variables: dict) -> dict:     body = json.dumps({"query": query, "variables": variables}).encode()     req = urllib.request.Request(
  • Network accessline 126
    body = json.dumps({"query": query, "variables": variables}).encode()     req = urllib.request.Request(         OT_URL,
  • Network accessline 127
    req = urllib.request.Request(
  • Network accessline 131
    )     try:         with urllib.request.urlopen(req, timeout=30) as r:
  • Network accessline 132
    try:         with urllib.request.urlopen(req, timeout=30) as r:             return json.loads(r.read().decode())
  • Network accessline 133
    with urllib.request.urlopen(req, timeout=30) as r:

plugins/target-prioritization/skills/target-prioritization/scripts/fetch_pubmed.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 20
    ESEARCH = "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi"
  • Network accessline 37
    url = f"{ESEARCH}?{urllib.parse.urlencode(params)}"     try:         with urllib.request.urlopen(url, timeout=20) as r:
  • Network accessline 38
    try:         with urllib.request.urlopen(url, timeout=20) as r:             return json.loads(r.read().decode())
  • Network accessline 39
    with urllib.request.urlopen(url, timeout=20) as r:

plugins/target-prioritization/skills/target-prioritization/scripts/fetch_uniprot.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 15
    UNIPROT_URL = "https://rest.uniprot.org/uniprotkb/search"
  • Network accessline 35
    url = f"{UNIPROT_URL}?{urllib.parse.urlencode(params)}"     try:         with urllib.request.urlopen(url, timeout=30) as r:
  • Network accessline 36
    try:         with urllib.request.urlopen(url, timeout=30) as r:             data = json.loads(r.read().decode())
  • Network accessline 37
    with urllib.request.urlopen(url, timeout=30) as r:

plugins/target-prioritization/skills/target-prioritization/scripts/orchestrate.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/tldraw/skills/tldraw-skill/SKILL.md

  • Network accessline 4
    description: Use when user requests diagrams, flowcharts, architecture charts, or visualizations. Also use proactively when explaining systems with 3+ components, complex data flows, or relationships that benefit from visual representation.
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires Node.js + @kitschpatrol/tldraw-cli on PATH (macOS/Linux/Windows). Self-check step requires a vision-enabled model (e.g., Claude Sonnet/Opus); graceful
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 601
    Or upload to <https://tldraw.com> (drag-and-drop the `.tldr` file) for browser editing.
  • Network accessline 631
    | Scenario | Behavior | | ---------- | ---------- | | `tldraw-cli` missing | Generate `.tldr` JSON only; instruct user to drag-and-drop into <https://tldraw.com> or install the CLI |
  • Network accessline 632
    | ---------- | ---------- | | `tldraw-cli` missing | Generate `.tldr` JSON only; instruct user to drag-and-drop into <https://tldraw.com> or install the CLI | | Vision unavailable for self-check | Skip self-check (step 5); proceed directly 
  • Network accessline 633
    | `tldraw-cli` missing | Generate `.tldr` JSON only; instruct user to drag-and-drop into <https://tldraw.com> or install the CLI |

plugins/tmux/skills/tmux-skill/SKILL.md

  • Network accessline 8
    updated: 2026-07-25 version: 0.1.0 metadata: {"homepage":"https://github.com/Agents365-ai/365-skills","openclaw":{"requires":{"bins":["tmux"]},"emoji":"🖥<U+FE0F>"}}
  • Network accessline 9
    version: 0.1.0 metadata: {"homepage":"https://github.com/Agents365-ai/365-skills","openclaw":{"requires":{"bins":["tmux"]},"emoji":"🖥<U+FE0F>"}} ---
  • Network accessline 10
    metadata: {"homepage":"https://github.com/Agents365-ai/365-skills","openclaw":{"requires":{"bins":["tmux"]},"emoji":"🖥<U+FE0F>"}}
  • Network accessline 17
    This skill covers **non-interactive (programmatic) tmux use**: the way a coding agent should drive it from the shell. Grounded in the official [tmux wiki](https://github.com/tmux/tmux/wiki).
  • Network accessline 19
    [tmux wiki](https://github.com/tmux/tmux/wiki).
  • Network accessline 224
    (`refresh-client -f pause-after=...`, `%pause`, `%extended-output`) and format subscriptions (`refresh-client -B`) exist for heavy streaming: see the [Control-Mode wiki page](https://github.com/tmux/tmux/wiki/Control-Mode).
  • Network accessline 226
    [Control-Mode wiki page](https://github.com/tmux/tmux/wiki/Control-Mode).
  • Network accessline 230
    - Wiki: <https://github.com/tmux/tmux/wiki> (Getting-Started, Formats, Control-Mode,

plugins/ttscn/skills/ttscn/SKILL.md

  • Network accessline 7
    created: 2026-07-08 updated: 2026-09-08 homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 8
    updated: 2026-09-08 homepage: https://github.com/Agents365-ai/365-skills metadata: {"openclaw":{"requires":{"bins":["python3","ffmpeg"]},"emoji":"🔊"}}
  • Network accessline 9
    homepage: https://github.com/Agents365-ai/365-skills
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Network accessline 182
    # v3.5-flash has NO preset voices — it needs a custom/cloned voice created with # the same model (voice IDs are not interchangeable across models). python3 scripts/tts.py clone create --platform cosyvoice --audio https://example.com/my.wav 
  • Network accessline 184
    python3 scripts/tts.py clone create --platform cosyvoice --audio https://example.com/my.wav --name myvoice
  • Access to secretsline 332
    [Credential-related source omitted]
  • Access to secretsline 334
    [Credential-related source omitted]
  • Access to secretsline 336
    [Credential-related source omitted]
  • Access to secretsline 339
    [Credential-related source omitted]
  • Access to secretsline 345
    [Credential-related source omitted]
  • Access to secretsline 349
    [Credential-related source omitted]
  • Access to secretsline 353
    [Credential-related source omitted]
  • Access to secretsline 359
    [Credential-related source omitted]
  • Access to secretsline 363
    [Credential-related source omitted]
  • Access to secretsline 364
    [Credential-related source omitted]
  • Access to secretsline 367
    [Credential-related source omitted]
  • Access to secretsline 371
    [Credential-related source omitted]
  • Access to secretsline 372
    [Credential-related source omitted]
  • Access to secretsline 375
    [Credential-related source omitted]
  • Access to secretsline 379
    [Credential-related source omitted]
  • Access to secretsline 383
    [Credential-related source omitted]
  • Access to secretsline 387
    [Credential-related source omitted]
  • Network accessline 393
    - Volcano Ark: <https://console.volcengine.com/ark/region:ark+cn-beijing/apikey>
  • Network accessline 394
    - DashScope: <https://bailian.console.aliyun.com/>
  • Network accessline 395
    - Azure: <https://portal.azure.com/>
  • Network accessline 396
    - Tencent Cloud: <https://console.cloud.tencent.com/tts>
  • Network accessline 397
    - Baidu AI: <https://console.bce.baidu.com/ai/#/ai/speech/overview>
  • Network accessline 398
    - MiniMax: <https://platform.minimaxi.com>
  • Network accessline 399
    - Xunfei: <https://www.xfyun.cn>
  • Network accessline 400
    - ElevenLabs: <https://elevenlabs.io/app/settings/api-keys>
  • Network accessline 401
    - OpenAI: <https://platform.openai.com/api-keys>
  • Network accessline 402
    - Google Cloud: <https://console.cloud.google.com/apis/credentials>
  • Network accessline 403
    - Atlas Cloud: <https://www.atlascloud.ai/console/api-keys>
  • Access to secretsline 464
    [Credential-related source omitted]
  • Network accessline 472
    ttscn follows the [agent-native-design](https://github.com/Agents365-ai/365-skills/tree/main/plugins/agent-native-design) contract.
  • Access to secretsline 500
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/data/providers.json

  • Access to secretsline 99
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]
  • Access to secretsline 107
    [Credential-related source omitted]
  • Network accessline 111
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://openspeech.bytedance.com/api/v1/tts",
  • Network accessline 112
    "pip_install": "pip install requests",       "api_url": "https://openspeech.bytedance.com/api/v1/tts",       "get_key_url": "https://console.volcengine.com/ark/region:ark+cn-beijing/apikey",
  • Network accessline 113
    "api_url": "https://openspeech.bytedance.com/api/v1/tts",
  • Network accessline 114
    "get_key_url": "https://console.volcengine.com/ark/region:ark+cn-beijing/apikey",
  • Access to secretsline 176
    [Credential-related source omitted]
  • Network accessline 179
    "import_module": "dashscope",       "pip_install": "pip install dashscope",       "api_url": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 180
    "pip_install": "pip install dashscope",       "api_url": "https://dashscope.aliyuncs.com/api/v1",       "get_key_url": "https://bailian.console.aliyun.com/",
  • Network accessline 181
    "api_url": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 182
    "get_key_url": "https://bailian.console.aliyun.com/",
  • Access to secretsline 252
    [Credential-related source omitted]
  • Access to secretsline 254
    [Credential-related source omitted]
  • Network accessline 257
    "import_module": "dashscope",       "pip_install": "pip install dashscope",       "api_url": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 258
    "pip_install": "pip install dashscope",       "api_url": "https://dashscope.aliyuncs.com/api/v1",       "get_key_url": "https://bailian.console.aliyun.com/",
  • Network accessline 259
    "api_url": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 260
    "get_key_url": "https://bailian.console.aliyun.com/",
  • Access to secretsline 314
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Network accessline 319
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://api.stepfun.com/v1/audio/speech",
  • Network accessline 320
    "pip_install": "pip install requests",       "api_url": "https://api.stepfun.com/v1/audio/speech",       "get_key_url": "https://platform.stepfun.com/",
  • Network accessline 321
    "api_url": "https://api.stepfun.com/v1/audio/speech",
  • Network accessline 322
    "get_key_url": "https://platform.stepfun.com/",
  • Access to secretsline 388
    [Credential-related source omitted]
  • Access to secretsline 390
    [Credential-related source omitted]
  • Network accessline 393
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://open.bigmodel.cn/api/paas/v4/audio/speech",
  • Network accessline 394
    "pip_install": "pip install requests",       "api_url": "https://open.bigmodel.cn/api/paas/v4/audio/speech",       "get_key_url": "https://open.bigmodel.cn/",
  • Network accessline 395
    "api_url": "https://open.bigmodel.cn/api/paas/v4/audio/speech",
  • Network accessline 396
    "get_key_url": "https://open.bigmodel.cn/",
  • Network accessline 448
    "import_module": "azure.cognitiveservices.speech",       "pip_install": "pip install azure-cognitiveservices-speech",       "api_url": "https://eastasia.tts.speech.microsoft.com/",
  • Network accessline 449
    "pip_install": "pip install azure-cognitiveservices-speech",       "api_url": "https://eastasia.tts.speech.microsoft.com/",       "get_key_url": "https://portal.azure.com/",
  • Network accessline 450
    "api_url": "https://eastasia.tts.speech.microsoft.com/",
  • Network accessline 451
    "get_key_url": "https://portal.azure.com/",
  • Network accessline 522
    "import_module": "tencentcloud",       "pip_install": "pip install tencentcloud-sdk-python-tts",       "api_url": "https://tts.tencentcloudapi.com/",
  • Network accessline 523
    "pip_install": "pip install tencentcloud-sdk-python-tts",       "api_url": "https://tts.tencentcloudapi.com/",       "get_key_url": "https://console.cloud.tencent.com/tts",
  • Network accessline 524
    "api_url": "https://tts.tencentcloudapi.com/",
  • Network accessline 525
    "get_key_url": "https://console.cloud.tencent.com/tts",
  • Access to secretsline 581
    [Credential-related source omitted]
  • Network accessline 585
    "import_module": "aip",       "pip_install": "pip install baidu-aip chardet",       "api_url": "https://tsn.baidu.com/text2audio",
  • Network accessline 586
    "pip_install": "pip install baidu-aip chardet",       "api_url": "https://tsn.baidu.com/text2audio",       "get_key_url": "https://console.bce.baidu.com/ai/#/ai/speech/overview",
  • Network accessline 587
    "api_url": "https://tsn.baidu.com/text2audio",
  • Network accessline 588
    "get_key_url": "https://console.bce.baidu.com/ai/#/ai/speech/overview",
  • Access to secretsline 655
    [Credential-related source omitted]
  • Network accessline 658
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://api.minimax.io/v1/t2a_v2",
  • Network accessline 659
    "pip_install": "pip install requests",       "api_url": "https://api.minimax.io/v1/t2a_v2",       "get_key_url": "https://platform.minimaxi.com/",
  • Network accessline 660
    "api_url": "https://api.minimax.io/v1/t2a_v2",
  • Network accessline 661
    "get_key_url": "https://platform.minimaxi.com/",
  • Access to secretsline 730
    [Credential-related source omitted]
  • Network accessline 735
    "pip_install": "pip install websocket-client",       "api_url": "wss://tts-api.xfyun.cn/v2/tts",       "get_key_url": "https://www.xfyun.cn/",
  • Network accessline 736
    "api_url": "wss://tts-api.xfyun.cn/v2/tts",       "get_key_url": "https://www.xfyun.cn/",       "tags": [
  • Network accessline 737
    "get_key_url": "https://www.xfyun.cn/",
  • Access to secretsline 805
    [Credential-related source omitted]
  • Network accessline 808
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
  • Network accessline 809
    "pip_install": "pip install requests",       "api_url": "https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",       "get_key_url": "https://elevenlabs.io/app/settings/api-keys",
  • Network accessline 810
    "api_url": "https://api.elevenlabs.io/v1/text-to-speech/{voice_id}",
  • Network accessline 811
    "get_key_url": "https://elevenlabs.io/app/settings/api-keys",
  • Access to secretsline 879
    [Credential-related source omitted]
  • Network accessline 882
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://api.openai.com/v1/audio/speech",
  • Network accessline 883
    "pip_install": "pip install requests",       "api_url": "https://api.openai.com/v1/audio/speech",       "get_key_url": "https://platform.openai.com/api-keys",
  • Network accessline 884
    "api_url": "https://api.openai.com/v1/audio/speech",
  • Network accessline 885
    "get_key_url": "https://platform.openai.com/api-keys",
  • Access to secretsline 951
    [Credential-related source omitted]
  • Network accessline 954
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://texttospeech.googleapis.com/v1/text:synthesize",
  • Network accessline 955
    "pip_install": "pip install requests",       "api_url": "https://texttospeech.googleapis.com/v1/text:synthesize",       "get_key_url": "https://console.cloud.google.com/apis/credentials",
  • Network accessline 956
    "api_url": "https://texttospeech.googleapis.com/v1/text:synthesize",
  • Network accessline 957
    "get_key_url": "https://console.cloud.google.com/apis/credentials",
  • Access to secretsline 1024
    [Credential-related source omitted]
  • Network accessline 1027
    "import_module": "requests",       "pip_install": "pip install requests",       "api_url": "https://api.atlascloud.ai/api/v1/model/generateAudio",
  • Network accessline 1028
    "pip_install": "pip install requests",       "api_url": "https://api.atlascloud.ai/api/v1/model/generateAudio",       "get_key_url": "https://www.atlascloud.ai/console/api-keys",
  • Network accessline 1029
    "api_url": "https://api.atlascloud.ai/api/v1/model/generateAudio",
  • Network accessline 1030
    "get_key_url": "https://www.atlascloud.ai/console/api-keys",

plugins/ttscn/skills/ttscn/docs/providers.html

  • Access to secretsline 210
    [Credential-related source omitted]
  • Access to secretsline 228
    [Credential-related source omitted]
  • Access to secretsline 246
    [Credential-related source omitted]
  • Network accessline 501
    <div class="detail-item"><label>配置难度</label><span>🟡 中等</span></div>           <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://openspeech
  • Network accessline 502
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://openspeech.bytedance.com/api/v1/tts</code></div>           <div class="detail-item full-
  • Network accessline 503
    <div class="detail-item"><label>API 地址</label><code>https://openspeech.bytedance.com/api/v1/tts</code></div>
  • Access to secretsline 504
    [Credential-related source omitted]
  • Network accessline 507
    <div class="clone-box"><strong>🔊 声音克隆:</strong> seed-icl-2.0: 5秒音频即可复刻, 150元/音色/年</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://console.volcengine.com/ark/region:ark+cn-beijing/apikey" target="_blank">ht
  • Network accessline 508
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://console.volcengine.com/ark/region:ark+cn-beijing/apikey" target="_blank">https://console.volcengine.com/ark/region:ark+cn-beijing/apikey</a></div>
  • Network accessline 562
    <div class="detail-item"><label>配置难度</label><span>🟢 简单</span></div>           <div class="detail-item"><label>安装</label><code>pip install dashscope</code></div>           <div class="detail-item"><label>API 地址</label><code>https://dashscope
  • Network accessline 563
    <div class="detail-item"><label>安装</label><code>pip install dashscope</code></div>           <div class="detail-item"><label>API 地址</label><code>https://dashscope.aliyuncs.com/api/v1</code></div>           <div class="detail-item full-width
  • Network accessline 564
    <div class="detail-item"><label>API 地址</label><code>https://dashscope.aliyuncs.com/api/v1</code></div>
  • Access to secretsline 565
    [Credential-related source omitted]
  • Network accessline 567
    <div class="note-box"><strong>📌 说明:</strong> 模型: cosyvoice-v3-flash(默认, 支持预置音色) / cosyvoice-v3.5-flash(2026-03发布: 克隆与音效设计更强、首包延迟更低; 仅北京地域, 不支持预置音色, 须用自定义/克隆音色且与合成同模型, 音色ID不跨模型通用)</div>         <div class="clone-box"><strong>🔊 声音克隆:</strong>
  • Network accessline 568
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 音色复刻免费(合成正常计费): 10-20s公网URL音频, 1000音色/账户, 1年不用过期; tts.py clone create --platform cosyvoice</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://bailian.console.al
  • Network accessline 569
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://bailian.console.aliyun.com/" target="_blank">https://bailian.console.aliyun.com/</a></div>
  • Network accessline 635
    [Credential-related source omitted]
  • Access to secretsline 635
    [Credential-related source omitted]
  • Network accessline 636
    <div class="detail-item"><label>安装</label><code>pip install dashscope</code></div>           <div class="detail-item"><label>API 地址</label><code>https://dashscope.aliyuncs.com/api/v1</code></div>           <div class="detail-item full-width
  • Network accessline 637
    <div class="detail-item"><label>API 地址</label><code>https://dashscope.aliyuncs.com/api/v1</code></div>
  • Access to secretsline 638
    [Credential-related source omitted]
  • Network accessline 641
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 声音复刻(qwen-voice-enrollment)与声音设计(qwen-voice-design): 定制音色后通过 voice 参数调用</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://bailian.console.aliyun.com/" target="
  • Network accessline 642
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://bailian.console.aliyun.com/" target="_blank">https://bailian.console.aliyun.com/</a></div>
  • Network accessline 690
    [Credential-related source omitted]
  • Access to secretsline 690
    [Credential-related source omitted]
  • Network accessline 691
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://api.stepfun.com/v1/audio/speech</code></div>           <div class="detail-item full-widt
  • Network accessline 692
    <div class="detail-item"><label>API 地址</label><code>https://api.stepfun.com/v1/audio/speech</code></div>
  • Access to secretsline 693
    [Credential-related source omitted]
  • Network accessline 696
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 音色复刻: ~10s 参考音频; step-tts-2 复刻音色支持全部情绪/风格控制</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://platform.stepfun.com/" target="_blank">https://platform.stepfun.c
  • Network accessline 697
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://platform.stepfun.com/" target="_blank">https://platform.stepfun.com/</a></div>
  • Network accessline 757
    [Credential-related source omitted]
  • Access to secretsline 757
    [Credential-related source omitted]
  • Network accessline 758
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://open.bigmodel.cn/api/paas/v4/audio/speech</code></div>           <div class="detail-item
  • Network accessline 759
    <div class="detail-item"><label>API 地址</label><code>https://open.bigmodel.cn/api/paas/v4/audio/speech</code></div>
  • Access to secretsline 760
    [Credential-related source omitted]
  • Network accessline 763
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 音色复刻 (glm-tts-clone / voice/clone 接口)</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://open.bigmodel.cn/" target="_blank">https://open.bigmodel.cn/</a></div>
  • Network accessline 764
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://open.bigmodel.cn/" target="_blank">https://open.bigmodel.cn/</a></div>
  • Network accessline 806
    <div class="detail-item"><label>配置难度</label><span>🟡 中等</span></div>           <div class="detail-item"><label>安装</label><code>pip install azure-cognitiveservices-speech</code></div>           <div class="detail-item"><label>API 地址</label><c
  • Network accessline 807
    <div class="detail-item"><label>安装</label><code>pip install azure-cognitiveservices-speech</code></div>           <div class="detail-item"><label>API 地址</label><code>https://eastasia.tts.speech.microsoft.com/</code></div>           <div cla
  • Network accessline 808
    <div class="detail-item"><label>API 地址</label><code>https://eastasia.tts.speech.microsoft.com/</code></div>
  • Network accessline 812
    <div class="clone-box"><strong>🔊 声音克隆:</strong> Custom Neural Voice: 需申请白名单, 300+句训练语料, 企业定制</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://portal.azure.com/" target="_blank">https://portal.azure.com/</a>
  • Network accessline 813
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://portal.azure.com/" target="_blank">https://portal.azure.com/</a></div>
  • Network accessline 873
    <div class="detail-item"><label>配置难度</label><span>🟡 中等</span></div>           <div class="detail-item"><label>安装</label><code>pip install tencentcloud-sdk-python-tts</code></div>           <div class="detail-item"><label>API 地址</label><code
  • Network accessline 874
    <div class="detail-item"><label>安装</label><code>pip install tencentcloud-sdk-python-tts</code></div>           <div class="detail-item"><label>API 地址</label><code>https://tts.tencentcloudapi.com/</code></div>           <div class="detail-it
  • Network accessline 875
    <div class="detail-item"><label>API 地址</label><code>https://tts.tencentcloudapi.com/</code></div>
  • Network accessline 879
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 一句话版(5-15s) / 基础版(10-20min), VoiceClone API</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://console.cloud.tencent.com/tts" target="_blank">https://console.cl
  • Network accessline 880
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://console.cloud.tencent.com/tts" target="_blank">https://console.cloud.tencent.com/tts</a></div>
  • Network accessline 928
    <div class="detail-item"><label>配置难度</label><span>🟢 简单</span></div>           <div class="detail-item"><label>安装</label><code>pip install baidu-aip chardet</code></div>           <div class="detail-item"><label>API 地址</label><code>https://t
  • Network accessline 929
    <div class="detail-item"><label>安装</label><code>pip install baidu-aip chardet</code></div>           <div class="detail-item"><label>API 地址</label><code>https://tsn.baidu.com/text2audio</code></div>           <div class="detail-item full-wi
  • Network accessline 930
    <div class="detail-item"><label>API 地址</label><code>https://tsn.baidu.com/text2audio</code></div>
  • Access to secretsline 931
    [Credential-related source omitted]
  • Network accessline 934
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 大模型声音复刻: 任意音频→秒级复刻, 支持方言+情感迁移</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://console.bce.baidu.com/ai/#/ai/speech/overview" target="_blank">https://console.
  • Network accessline 935
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://console.bce.baidu.com/ai/#/ai/speech/overview" target="_blank">https://console.bce.baidu.com/ai/#/ai/speech/overview</a></div>
  • Network accessline 995
    <div class="detail-item"><label>配置难度</label><span>🟢 简单</span></div>           <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://api.minima
  • Network accessline 996
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://api.minimax.io/v1/t2a_v2</code></div>           <div class="detail-item full-width"><lab
  • Network accessline 997
    <div class="detail-item"><label>API 地址</label><code>https://api.minimax.io/v1/t2a_v2</code></div>
  • Access to secretsline 998
    [Credential-related source omitted]
  • Network accessline 1001
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 快速复刻: 10s-5min音频, 全球站$1.5/音色(国内站首次使用¥9.9); 新音色为临时音色, 创建后全球站7天/国内站48小时内需正式合成一次(试听不算)否则删除, 用过即永久保留; tts.py clone create --platform minimax</div>         <div class="key-box"><strong>🔑 获取 API Key
  • Network accessline 1002
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://platform.minimaxi.com/" target="_blank">https://platform.minimaxi.com/</a></div>
  • Access to secretsline 1065
    [Credential-related source omitted]
  • Network accessline 1068
    <div class="clone-box"><strong>🔊 声音克隆:</strong> 一句话复刻(≈3秒): 500万+已创建声音, 130+语种, MOS&gt;4.4</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://www.xfyun.cn/" target="_blank">https://www.xfyun.cn/</a></div>
  • Network accessline 1069
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://www.xfyun.cn/" target="_blank">https://www.xfyun.cn/</a></div>
  • Network accessline 1129
    <div class="detail-item"><label>配置难度</label><span>🟢 简单 (需国际网络)</span></div>           <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://ap
  • Network accessline 1130
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://api.elevenlabs.io/v1/text-to-speech/{voice_id}</code></div>           <div class="detail
  • Network accessline 1131
    <div class="detail-item"><label>API 地址</label><code>https://api.elevenlabs.io/v1/text-to-speech/{voice_id}</code></div>
  • Access to secretsline 1132
    [Credential-related source omitted]
  • Network accessline 1135
    <div class="clone-box"><strong>🔊 声音克隆:</strong> Instant Voice Cloning: 1分钟音频即可复刻 (付费订阅); Professional 版需 30 分钟以上语料</div>         <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://elevenlabs.io/app/settings/api-keys" targe
  • Network accessline 1136
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://elevenlabs.io/app/settings/api-keys" target="_blank">https://elevenlabs.io/app/settings/api-keys</a></div>
  • Network accessline 1196
    <div class="detail-item"><label>配置难度</label><span>🟢 简单 (需国际网络)</span></div>           <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://ap
  • Network accessline 1197
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://api.openai.com/v1/audio/speech</code></div>           <div class="detail-item full-width
  • Network accessline 1198
    <div class="detail-item"><label>API 地址</label><code>https://api.openai.com/v1/audio/speech</code></div>
  • Access to secretsline 1199
    [Credential-related source omitted]
  • Network accessline 1203
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://platform.openai.com/api-keys" target="_blank">https://platform.openai.com/api-keys</a></div>
  • Network accessline 1263
    <div class="detail-item"><label>配置难度</label><span>🟢 简单 (需国际网络)</span></div>           <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://te
  • Network accessline 1264
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://texttospeech.googleapis.com/v1/text:synthesize</code></div>           <div class="detail
  • Network accessline 1265
    <div class="detail-item"><label>API 地址</label><code>https://texttospeech.googleapis.com/v1/text:synthesize</code></div>
  • Access to secretsline 1266
    [Credential-related source omitted]
  • Network accessline 1270
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://console.cloud.google.com/apis/credentials" target="_blank">https://console.cloud.google.com/apis/credentials</a></div>
  • Network accessline 1330
    <div class="detail-item"><label>配置难度</label><span>🟢 简单 (一个 API Key)</span></div>           <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https
  • Network accessline 1331
    <div class="detail-item"><label>安装</label><code>pip install requests</code></div>           <div class="detail-item"><label>API 地址</label><code>https://api.atlascloud.ai/api/v1/model/generateAudio</code></div>           <div class="detail-i
  • Network accessline 1332
    <div class="detail-item"><label>API 地址</label><code>https://api.atlascloud.ai/api/v1/model/generateAudio</code></div>
  • Access to secretsline 1333
    [Credential-related source omitted]
  • Network accessline 1337
    <div class="key-box"><strong>🔑 获取 API Key:</strong> <a href="https://www.atlascloud.ai/console/api-keys" target="_blank">https://www.atlascloud.ai/console/api-keys</a></div>
  • Network accessline 1420
    <h3 style="margin-top:24px;">Resources</h3>     <p>       <a href="https://github.com/Agents365-ai/365-skills">📦 GitHub Repo</a> &nbsp;·&nbsp;
  • Network accessline 1421
    <p>       <a href="https://github.com/Agents365-ai/365-skills">📦 GitHub Repo</a> &nbsp;·&nbsp;       <a href="providers.md">📄 Markdown Comparison</a> &nbsp;·&nbsp;
  • Network accessline 1422
    <a href="https://github.com/Agents365-ai/365-skills">📦 GitHub Repo</a> &nbsp;·&nbsp;
  • Network accessline 1423
    <a href="providers.md">📄 Markdown Comparison</a> &nbsp;·&nbsp;       <a href="https://agents365-ai.github.io/365-skills/ttscn/">🌐 GitHub Pages</a> &nbsp;·&nbsp;       <a href="https://github.com/Agents365-ai/365-skills/tree/main/plugins/age
  • Network accessline 1424
    <a href="https://agents365-ai.github.io/365-skills/ttscn/">🌐 GitHub Pages</a> &nbsp;·&nbsp;
  • Network accessline 1425
    <a href="https://github.com/Agents365-ai/365-skills/tree/main/plugins/agent-native-design">📐 agent-native-design</a>
  • Network accessline 1429
    <footer class="footer">     <p>Generated by <strong>ttscn</strong> · <a href="https://github.com/Agents365-ai/365-skills">GitHub</a> · CC BY-NC 4.0</p>
  • Network accessline 1430
    <p>Generated by <strong>ttscn</strong> · <a href="https://github.com/Agents365-ai/365-skills">GitHub</a> · CC BY-NC 4.0</p>

plugins/ttscn/skills/ttscn/docs/providers.md

  • Access to secretsline 12
    [Credential-related source omitted]
  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 14
    [Credential-related source omitted]
  • Network accessline 72
    | Setup | 中等 | | Install | `pip install requests` | | API Key | <https://console.volcengine.com/ark/region:ark+cn-beijing/apikey> |
  • Network accessline 73
    | Install | `pip install requests` | | API Key | <https://console.volcengine.com/ark/region:ark+cn-beijing/apikey> | | Env vars | `VOLCENGINE_APPID VOLCENGINE_ACCESS_TOKEN` |
  • Network accessline 74
    | API Key | <https://console.volcengine.com/ark/region:ark+cn-beijing/apikey> |
  • Access to secretsline 75
    [Credential-related source omitted]
  • Network accessline 102
    | Setup | 简单 | | Install | `pip install dashscope` | | API Key | <https://bailian.console.aliyun.com/> |
  • Network accessline 103
    | Install | `pip install dashscope` | | API Key | <https://bailian.console.aliyun.com/> | | Env vars | `DASHSCOPE_API_KEY` |
  • Network accessline 104
    | API Key | <https://bailian.console.aliyun.com/> |
  • Access to secretsline 105
    [Credential-related source omitted]
  • Network accessline 134
    [Credential-related source omitted]
  • Access to secretsline 134
    [Credential-related source omitted]
  • Network accessline 135
    | Install | `pip install dashscope` | | API Key | <https://bailian.console.aliyun.com/> | | Env vars | `DASHSCOPE_API_KEY` |
  • Network accessline 136
    | API Key | <https://bailian.console.aliyun.com/> |
  • Access to secretsline 137
    [Credential-related source omitted]
  • Network accessline 163
    [Credential-related source omitted]
  • Access to secretsline 163
    [Credential-related source omitted]
  • Network accessline 164
    | Install | `pip install requests` | | API Key | <https://platform.stepfun.com/> | | Env vars | `STEP_API_KEY` |
  • Network accessline 165
    | API Key | <https://platform.stepfun.com/> |
  • Access to secretsline 166
    [Credential-related source omitted]
  • Network accessline 194
    [Credential-related source omitted]
  • Access to secretsline 194
    [Credential-related source omitted]
  • Network accessline 195
    | Install | `pip install requests` | | API Key | <https://open.bigmodel.cn/> | | Env vars | `ZHIPUAI_API_KEY` |
  • Network accessline 196
    | API Key | <https://open.bigmodel.cn/> |
  • Access to secretsline 197
    [Credential-related source omitted]
  • Network accessline 222
    | Setup | 中等 | | Install | `pip install azure-cognitiveservices-speech` | | API Key | <https://portal.azure.com/> |
  • Network accessline 223
    | Install | `pip install azure-cognitiveservices-speech` | | API Key | <https://portal.azure.com/> | | Env vars | `AZURE_SPEECH_KEY` |
  • Network accessline 224
    | API Key | <https://portal.azure.com/> |
  • Access to secretsline 225
    [Credential-related source omitted]
  • Network accessline 253
    | Setup | 中等 | | Install | `pip install tencentcloud-sdk-python-tts` | | API Key | <https://console.cloud.tencent.com/tts> |
  • Network accessline 254
    | Install | `pip install tencentcloud-sdk-python-tts` | | API Key | <https://console.cloud.tencent.com/tts> | | Env vars | `TENCENT_SECRET_ID TENCENT_SECRET_KEY` |
  • Network accessline 255
    | API Key | <https://console.cloud.tencent.com/tts> |
  • Access to secretsline 256
    [Credential-related source omitted]
  • Network accessline 282
    | Setup | 简单 | | Install | `pip install baidu-aip chardet` | | API Key | <https://console.bce.baidu.com/ai/#/ai/speech/overview> |
  • Network accessline 283
    | Install | `pip install baidu-aip chardet` | | API Key | <https://console.bce.baidu.com/ai/#/ai/speech/overview> | | Env vars | `BAIDU_APP_ID BAIDU_API_KEY BAIDU_SECRET_KEY` |
  • Network accessline 284
    | API Key | <https://console.bce.baidu.com/ai/#/ai/speech/overview> |
  • Access to secretsline 285
    [Credential-related source omitted]
  • Network accessline 313
    | Setup | 简单 | | Install | `pip install requests` | | API Key | <https://platform.minimaxi.com/> |
  • Network accessline 314
    | Install | `pip install requests` | | API Key | <https://platform.minimaxi.com/> | | Env vars | `MINIMAX_API_KEY` |
  • Network accessline 315
    | API Key | <https://platform.minimaxi.com/> |
  • Access to secretsline 316
    [Credential-related source omitted]
  • Network accessline 344
    | Setup | 中等 | | Install | `pip install websocket-client` | | API Key | <https://www.xfyun.cn/> |
  • Network accessline 345
    | Install | `pip install websocket-client` | | API Key | <https://www.xfyun.cn/> | | Env vars | `XUNFEI_APP_ID XUNFEI_API_KEY XUNFEI_API_SECRET` |
  • Network accessline 346
    | API Key | <https://www.xfyun.cn/> |
  • Access to secretsline 347
    [Credential-related source omitted]
  • Network accessline 375
    | Setup | 简单 (需国际网络) | | Install | `pip install requests` | | API Key | <https://elevenlabs.io/app/settings/api-keys> |
  • Network accessline 376
    | Install | `pip install requests` | | API Key | <https://elevenlabs.io/app/settings/api-keys> | | Env vars | `ELEVENLABS_API_KEY` |
  • Network accessline 377
    | API Key | <https://elevenlabs.io/app/settings/api-keys> |
  • Access to secretsline 378
    [Credential-related source omitted]
  • Network accessline 405
    | Setup | 简单 (需国际网络) | | Install | `pip install requests` | | API Key | <https://platform.openai.com/api-keys> |
  • Network accessline 406
    | Install | `pip install requests` | | API Key | <https://platform.openai.com/api-keys> | | Env vars | `OPENAI_API_KEY` |
  • Network accessline 407
    | API Key | <https://platform.openai.com/api-keys> |
  • Access to secretsline 408
    [Credential-related source omitted]
  • Network accessline 435
    | Setup | 简单 (需国际网络) | | Install | `pip install requests` | | API Key | <https://console.cloud.google.com/apis/credentials> |
  • Network accessline 436
    | Install | `pip install requests` | | API Key | <https://console.cloud.google.com/apis/credentials> | | Env vars | `GOOGLE_TTS_API_KEY` |
  • Network accessline 437
    | API Key | <https://console.cloud.google.com/apis/credentials> |
  • Access to secretsline 438
    [Credential-related source omitted]
  • Network accessline 465
    | Setup | 简单 (一个 API Key) | | Install | `pip install requests` | | API Key | <https://www.atlascloud.ai/console/api-keys> |
  • Network accessline 466
    | Install | `pip install requests` | | API Key | <https://www.atlascloud.ai/console/api-keys> | | Env vars | `ATLASCLOUD_API_KEY` |
  • Network accessline 467
    | API Key | <https://www.atlascloud.ai/console/api-keys> |
  • Access to secretsline 468
    [Credential-related source omitted]
  • Network accessline 478
    --- *Generated by [ttscn](https://github.com/Agents365-ai/365-skills) from `data/providers.json`*
  • Network accessline 479
    *Generated by [ttscn](https://github.com/Agents365-ai/365-skills) from `data/providers.json`*

plugins/ttscn/skills/ttscn/scripts/backends/__init__.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 125
    [Credential-related source omitted]
  • Access to secretsline 135
    [Credential-related source omitted]
  • Access to secretsline 162
    [Credential-related source omitted]
  • Access to secretsline 208
    [Credential-related source omitted]
  • Access to secretsline 216
    [Credential-related source omitted]
  • Access to secretsline 228
    [Credential-related source omitted]
  • Access to secretsline 229
    [Credential-related source omitted]
  • Access to secretsline 231
    [Credential-related source omitted]
  • Access to secretsline 233
    [Credential-related source omitted]
  • Access to secretsline 234
    [Credential-related source omitted]
  • Network accessline 237
    [Credential-related source omitted]
  • Access to secretsline 237
    [Credential-related source omitted]
  • Network accessline 238
    "VOLCENGINE_TTS_ENDPOINT",                 "https://openspeech.bytedance.com/api/v3/tts/unidirectional",             )
  • Network accessline 239
    "https://openspeech.bytedance.com/api/v3/tts/unidirectional",
  • Access to secretsline 243
    [Credential-related source omitted]
  • Access to secretsline 244
    [Credential-related source omitted]
  • Network accessline 245
    [Credential-related source omitted]
  • Access to secretsline 245
    [Credential-related source omitted]
  • Network accessline 246
    [Credential-related source omitted]
  • Access to secretsline 246
    [Credential-related source omitted]
  • Network accessline 247
    "VOLCENGINE_TTS_ENDPOINT", "https://openspeech.bytedance.com/api/v1/tts"
  • Access to secretsline 250
    [Credential-related source omitted]
  • Access to secretsline 252
    [Credential-related source omitted]
  • Access to secretsline 253
    [Credential-related source omitted]
  • Access to secretsline 254
    [Credential-related source omitted]
  • Access to secretsline 256
    [Credential-related source omitted]
  • Access to secretsline 257
    [Credential-related source omitted]
  • Access to secretsline 258
    [Credential-related source omitted]
  • Access to secretsline 260
    [Credential-related source omitted]
  • Access to secretsline 261
    [Credential-related source omitted]
  • Access to secretsline 262
    [Credential-related source omitted]
  • Access to secretsline 264
    [Credential-related source omitted]
  • Access to secretsline 265
    [Credential-related source omitted]
  • Access to secretsline 266
    [Credential-related source omitted]
  • Access to secretsline 267
    [Credential-related source omitted]
  • Access to secretsline 269
    [Credential-related source omitted]
  • Access to secretsline 270
    [Credential-related source omitted]
  • Access to secretsline 272
    [Credential-related source omitted]
  • Access to secretsline 273
    [Credential-related source omitted]
  • Access to secretsline 275
    [Credential-related source omitted]
  • Access to secretsline 276
    [Credential-related source omitted]
  • Access to secretsline 277
    [Credential-related source omitted]
  • Access to secretsline 279
    [Credential-related source omitted]
  • Access to secretsline 280
    [Credential-related source omitted]
  • Access to secretsline 282
    [Credential-related source omitted]
  • Access to secretsline 283
    [Credential-related source omitted]
  • Access to secretsline 285
    [Credential-related source omitted]
  • Access to secretsline 287
    [Credential-related source omitted]
  • Access to secretsline 289
    [Credential-related source omitted]
  • Access to secretsline 290
    [Credential-related source omitted]
  • Access to secretsline 292
    [Credential-related source omitted]
  • Access to secretsline 294
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/scripts/backends/atlas.py

  • Executable scriptline 1
    Executable file
  • Network accessline 12
    API_BASE = "https://api.atlascloud.ai/api/v1"
  • Network accessline 55
    "User-Agent": USER_AGENT,     }     response = requests.request(method, url, headers=headers, timeout=60, **kwargs)
  • Network accessline 56
    }     response = requests.request(method, url, headers=headers, timeout=60, **kwargs)     try:
  • Network accessline 57
    response = requests.request(method, url, headers=headers, timeout=60, **kwargs)
  • Network accessline 79
    def _download(requests, url, destination):     response = requests.get(
  • Network accessline 80
    response = requests.get(

plugins/ttscn/skills/ttscn/scripts/backends/azure.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 111
    ssml = (                     f'<speak version="1.0" '                     f'xmlns="http://www.w3.org/2001/10/synthesis" '
  • Network accessline 112
    f'<speak version="1.0" '                     f'xmlns="http://www.w3.org/2001/10/synthesis" '                     f'xmlns:mstts="https://www.w3.org/2001/mstts" '
  • Network accessline 113
    f'xmlns="http://www.w3.org/2001/10/synthesis" '
  • Network accessline 114
    f'xmlns:mstts="https://www.w3.org/2001/mstts" '

plugins/ttscn/skills/ttscn/scripts/backends/baidu.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 11
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/scripts/backends/cosyvoice.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 72
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/scripts/backends/doubao.py

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    Two transports, selected by config: - v1 (legacy): POST https://openspeech.bytedance.com/api/v1/tts with
  • Network accessline 4
    - v1 (legacy): POST https://openspeech.bytedance.com/api/v1/tts with
  • Network accessline 5
    [Credential-related source omitted]
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 6
    - v3 (recommended): POST https://openspeech.bytedance.com/api/v3/tts/unidirectional
  • Access to secretsline 143
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Network accessline 153
    cluster = config.get("cluster", "volcano_tts")     voice = config.get("voice", "BV001_streaming")     endpoint = config.get("endpoint", "https://openspeech.bytedance.com/api/v1/tts")
  • Network accessline 154
    voice = config.get("voice", "BV001_streaming")     endpoint = config.get("endpoint", "https://openspeech.bytedance.com/api/v1/tts")     speech_rate = config.get("speech_rate", "+5%")
  • Network accessline 155
    endpoint = config.get("endpoint", "https://openspeech.bytedance.com/api/v1/tts")
  • Access to secretsline 163
    [Credential-related source omitted]
  • Access to secretsline 165
    [Credential-related source omitted]
  • Access to secretsline 167
    [Credential-related source omitted]
  • Network accessline 206
    resp = requests.post(
  • Possible obfuscationline 221
    audio_bytes = base64.b64decode(audio_b64)
  • Access to secretsline 260
    [Credential-related source omitted]
  • Network accessline 266
    endpoint = config.get(         "endpoint",         "https://openspeech.bytedance.com/api/v3/tts/unidirectional",
  • Network accessline 267
    "endpoint",         "https://openspeech.bytedance.com/api/v3/tts/unidirectional",     )
  • Network accessline 268
    "https://openspeech.bytedance.com/api/v3/tts/unidirectional",
  • Access to secretsline 279
    [Credential-related source omitted]
  • Access to secretsline 281
    [Credential-related source omitted]
  • Access to secretsline 283
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Network accessline 319
    resp = requests.post(
  • Possible obfuscationline 345
    audio_bytes += base64.b64decode(msg["data"])

plugins/ttscn/skills/ttscn/scripts/backends/edge.py

  • Executable scriptline 1
    Executable file

plugins/ttscn/skills/ttscn/scripts/backends/elevenlabs.py

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    url = f"https://api.elevenlabs.io/v1/text-to-speech/{voice}"
  • Network accessline 40
    },                 }                 resp = requests.post(url, headers=headers, json=payload, timeout=120)
  • Network accessline 41
    }                 resp = requests.post(url, headers=headers, json=payload, timeout=120)                 resp.raise_for_status()
  • Network accessline 42
    resp = requests.post(url, headers=headers, json=payload, timeout=120)

plugins/ttscn/skills/ttscn/scripts/backends/google.py

  • Executable scriptline 1
    Executable file
  • Network accessline 31
    url = "https://texttospeech.googleapis.com/v1/text:synthesize"
  • Network accessline 55
    },                 }                 resp = requests.post(url, json=payload, headers=headers, timeout=120)
  • Network accessline 56
    }                 resp = requests.post(url, json=payload, headers=headers, timeout=120)                 resp.raise_for_status()
  • Network accessline 57
    resp = requests.post(url, json=payload, headers=headers, timeout=120)
  • Possible obfuscationline 64
    f.write(base64.b64decode(audio_b64))

plugins/ttscn/skills/ttscn/scripts/backends/minimax.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]
  • Network accessline 67
    # Global site by default; China-site users set MINIMAX_API_BASE     # (e.g. https://api.minimaxi.com/v1) — same env var clone.py honors.
  • Network accessline 68
    # (e.g. https://api.minimaxi.com/v1) — same env var clone.py honors.
  • Network accessline 69
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Network accessline 112
    resp = requests.post(url, headers=headers, data=payload, timeout=120)
  • Network accessline 175
    try:                 sub = requests.get(subtitle_url, timeout=30)
  • Network accessline 176
    sub = requests.get(subtitle_url, timeout=30)

plugins/ttscn/skills/ttscn/scripts/backends/openai.py

  • Executable scriptline 1
    Executable file
  • Network accessline 49
    "speed": speed,                 }                 resp = requests.post(
  • Network accessline 50
    }                 resp = requests.post(                     "https://api.openai.com/v1/audio/speech",
  • Network accessline 51
    resp = requests.post(
  • Network accessline 52
    "https://api.openai.com/v1/audio/speech",

plugins/ttscn/skills/ttscn/scripts/backends/qwen.py

  • Executable scriptline 1
    [Credential-related source omitted]
  • Access to secretsline 1
    [Credential-related source omitted]
  • Network accessline 64
    if not audio_url:                     raise RuntimeError("Qwen-TTS returned no audio URL")                 audio_resp = requests.get(audio_url, timeout=120)
  • Network accessline 65
    raise RuntimeError("Qwen-TTS returned no audio URL")                 audio_resp = requests.get(audio_url, timeout=120)                 audio_resp.raise_for_status()
  • Network accessline 66
    audio_resp = requests.get(audio_url, timeout=120)

plugins/ttscn/skills/ttscn/scripts/backends/stepfun.py

  • Executable scriptline 1
    [Credential-related source omitted]
  • Access to secretsline 1
    [Credential-related source omitted]
  • Network accessline 50
    "speed": speed,                 }                 resp = requests.post(
  • Network accessline 51
    }                 resp = requests.post(                     "https://api.stepfun.com/v1/audio/speech",
  • Network accessline 52
    resp = requests.post(
  • Network accessline 53
    "https://api.stepfun.com/v1/audio/speech",

plugins/ttscn/skills/ttscn/scripts/backends/tencent.py

  • Executable scriptline 1
    Executable file
  • Possible obfuscationline 60
    audio_data = base64.b64decode(resp.Audio)

plugins/ttscn/skills/ttscn/scripts/backends/xunfei.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 14
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 52
    [Credential-related source omitted]
  • Possible obfuscationline 109
    audio_data.extend(base64.b64decode(audio_b64))
  • Access to secretsline 119
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/scripts/backends/zhipu.py

  • Executable scriptline 1
    [Credential-related source omitted]
  • Access to secretsline 1
    [Credential-related source omitted]
  • Network accessline 50
    "speed": speed,                 }                 resp = requests.post(
  • Network accessline 51
    }                 resp = requests.post(                     "https://open.bigmodel.cn/api/paas/v4/audio/speech",
  • Network accessline 52
    resp = requests.post(
  • Network accessline 53
    "https://open.bigmodel.cn/api/paas/v4/audio/speech",

plugins/ttscn/skills/ttscn/scripts/build_docs.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 323
    <h3 style="margin-top:24px;">Resources</h3>     <p>       <a href="https://github.com/Agents365-ai/365-skills">📦 GitHub Repo</a> &nbsp;·&nbsp;
  • Network accessline 324
    <p>       <a href="https://github.com/Agents365-ai/365-skills">📦 GitHub Repo</a> &nbsp;·&nbsp;       <a href="providers.md">📄 Markdown Comparison</a> &nbsp;·&nbsp;
  • Network accessline 325
    <a href="https://github.com/Agents365-ai/365-skills">📦 GitHub Repo</a> &nbsp;·&nbsp;
  • Network accessline 326
    <a href="providers.md">📄 Markdown Comparison</a> &nbsp;·&nbsp;       <a href="https://agents365-ai.github.io/365-skills/ttscn/">🌐 GitHub Pages</a> &nbsp;·&nbsp;       <a href="https://github.com/Agents365-ai/365-skills/tree/main/plugins/age
  • Network accessline 327
    <a href="https://agents365-ai.github.io/365-skills/ttscn/">🌐 GitHub Pages</a> &nbsp;·&nbsp;
  • Network accessline 328
    <a href="https://github.com/Agents365-ai/365-skills/tree/main/plugins/agent-native-design">📐 agent-native-design</a>
  • Network accessline 332
    <footer class="footer">     <p>Generated by <strong>ttscn</strong> · <a href="https://github.com/Agents365-ai/365-skills">GitHub</a> · CC BY-NC 4.0</p>
  • Network accessline 333
    <p>Generated by <strong>ttscn</strong> · <a href="https://github.com/Agents365-ai/365-skills">GitHub</a> · CC BY-NC 4.0</p>
  • Network accessline 459
    lines.append("---")   lines.append(     "*Generated by [ttscn](https://github.com/Agents365-ai/365-skills) from `data/providers.json`*"
  • Network accessline 460
    lines.append(     "*Generated by [ttscn](https://github.com/Agents365-ai/365-skills) from `data/providers.json`*"   )
  • Network accessline 461
    "*Generated by [ttscn](https://github.com/Agents365-ai/365-skills) from `data/providers.json`*"

plugins/ttscn/skills/ttscn/scripts/clone.py

  • Executable scriptline 1
    Executable file
  • Network accessline 20
    Usage:     tts.py clone create --platform minimax   --audio my.wav --name myvoice [--yes]     tts.py clone create --platform cosyvoice --audio https://.../my.wav --name myvoice
  • Network accessline 21
    tts.py clone create --platform minimax   --audio my.wav --name myvoice [--yes]     tts.py clone create --platform cosyvoice --audio https://.../my.wav --name myvoice     tts.py clone list
  • Network accessline 22
    tts.py clone create --platform cosyvoice --audio https://.../my.wav --name myvoice
  • Network accessline 45
    CLONE_PLATFORMS = ("minimax", "cosyvoice") USER_CONFIG = os.path.expanduser("~/.ttscn.json") MINIMAX_BASE = os.environ.get("MINIMAX_API_BASE", "https://api.minimax.io/v1")
  • Network accessline 47
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 105
    [Credential-related source omitted]
  • Access to secretsline 106
    [Credential-related source omitted]
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 113
    [Credential-related source omitted]
  • Network accessline 116
    if re.match(r"https?://", audio):         resp = requests.get(audio, timeout=120)
  • Network accessline 117
    resp = requests.get(audio, timeout=120)
  • Network accessline 141
    print("  Uploading reference audio ...", file=sys.stderr)     r = requests.post(
  • Network accessline 142
    r = requests.post(
  • Network accessline 167
    vid = voice_id or _minimax_voice_id(name)     print(f"  Creating clone '{vid}' ...", file=sys.stderr)     r = requests.post(
  • Network accessline 168
    print(f"  Creating clone '{vid}' ...", file=sys.stderr)     r = requests.post(         f"{MINIMAX_BASE}/voice_clone",
  • Network accessline 169
    r = requests.post(
  • Access to secretsline 214
    [Credential-related source omitted]
  • Access to secretsline 217
    [Credential-related source omitted]
  • Access to secretsline 365
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/scripts/idempotency.py

  • Executable scriptline 1
    Executable file

plugins/ttscn/skills/ttscn/scripts/markers.py

  • Executable scriptline 1
    Executable file

plugins/ttscn/skills/ttscn/scripts/output.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 42
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/scripts/phonemes.py

  • Executable scriptline 1
    Executable file

plugins/ttscn/skills/ttscn/scripts/tts.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 163
    [Credential-related source omitted]
  • Instruction override signalline 474
    action="store_true",         dest="no_input",         help="Skip confirmation prompts (no-op, accepted for agent compatibility)",
  • Instruction override signalline 475
    dest="no_input",         help="Skip confirmation prompts (no-op, accepted for agent compatibility)",     )
  • Instruction override signalline 476
    help="Skip confirmation prompts (no-op, accepted for agent compatibility)",
  • Access to secretsline 503
    [Credential-related source omitted]
  • Access to secretsline 513
    [Credential-related source omitted]
  • Access to secretsline 541
    [Credential-related source omitted]

plugins/ttscn/skills/ttscn/tests/test_atlas_backend.py

  • Executable scriptline 1
    Executable file
  • Network accessline 16
    class FakeResponse:     def __init__(self, *, body=None, content=b"", url="https://cdn.example/audio.mp3"):
  • Network accessline 17
    def __init__(self, *, body=None, content=b"", url="https://cdn.example/audio.mp3"):
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 58
    "value",     [         "http://cdn.example/audio.mp3",
  • Network accessline 59
    [         "http://cdn.example/audio.mp3",         "https://user:password@cdn.example/audio.mp3",
  • Network accessline 60
    "http://cdn.example/audio.mp3",
  • Network accessline 61
    "https://user:password@cdn.example/audio.mp3",
  • Network accessline 62
    "https://127.0.0.1/audio.mp3",
  • Network accessline 63
    "https://metadata.local/audio.mp3",
  • Network accessline 91
    "id": "prediction-1",                         "status": "completed",                         "outputs": ["https://cdn.example/audio.mp3"],
  • Network accessline 92
    "status": "completed",                         "outputs": ["https://cdn.example/audio.mp3"],                     }
  • Network accessline 93
    "outputs": ["https://cdn.example/audio.mp3"],

plugins/videogencn/skills/videogencn/SKILL.md

  • Network accessline 6
    created: 2026-07-05 updated: 2026-08-08 homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 7
    updated: 2026-08-08 homepage: https://github.com/Agents365-ai/365-skills metadata: {"openclaw":{"requires":{"bins":["python3"],"env":["DASHSCOPE_API_KEY"]},"primaryEnv":"DASHSCOPE_API_KEY","emoji":"🎬"}}
  • Network accessline 8
    homepage: https://github.com/Agents365-ai/365-skills
  • Access to secretsline 9
    [Credential-related source omitted]
  • Access to secretsline 121
    [Credential-related source omitted]
  • Network accessline 125
    [Credential-related source omitted]
  • Access to secretsline 125
    [Credential-related source omitted]
  • Network accessline 129
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Network accessline 241
    | Variable | Required | Provider | Purpose | | ---------- | ---------- | ---------- | --------- | | `DASHSCOPE_API_KEY` | yes (Bailian) | Bailian | <https://bailian.console.aliyun.com/> |
  • Network accessline 242
    | ---------- | ---------- | ---------- | --------- | | `DASHSCOPE_API_KEY` | yes (Bailian) | Bailian | <https://bailian.console.aliyun.com/> | | `DASHSCOPE_API_BASE` | no | Bailian | `cn` (default) / `sg` / `us` |
  • Network accessline 243
    [Credential-related source omitted]
  • Access to secretsline 243
    [Credential-related source omitted]
  • Network accessline 244
    | `DASHSCOPE_API_BASE` | no | Bailian | `cn` (default) / `sg` / `us` | | `DASHSCOPE_VIDEO_MODEL` | no | Bailian | default model override | | `ARK_API_KEY` | yes (Jimeng) | Jimeng | <https://console.volcengine.com/ark/> |
  • Network accessline 245
    | `DASHSCOPE_VIDEO_MODEL` | no | Bailian | default model override | | `ARK_API_KEY` | yes (Jimeng) | Jimeng | <https://console.volcengine.com/ark/> | | `MINIMAX_API_KEY` | yes (MiniMax) | MiniMax | <https://platform.minimax.io> |
  • Network accessline 246
    [Credential-related source omitted]
  • Access to secretsline 246
    [Credential-related source omitted]
  • Network accessline 247
    [Credential-related source omitted]
  • Access to secretsline 247
    [Credential-related source omitted]
  • Network accessline 248
    | `MINIMAX_API_BASE` | no | MiniMax | API host override (CN: `https://api.minimaxi.com`, intl: `https://api.minimax.io`) |
  • Network accessline 249
    [Credential-related source omitted]
  • Access to secretsline 249
    [Credential-related source omitted]

plugins/videogencn/skills/videogencn/scripts/generate_video.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 375
    [Credential-related source omitted]

plugins/videogencn/skills/videogencn/scripts/providers/__init__.py

  • Executable scriptline 1
    Executable file

plugins/videogencn/skills/videogencn/scripts/providers/bailian.py

  • Executable scriptline 1
    Executable file
  • Network accessline 28
    API_ENDPOINTS = {     "cn": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 29
    "cn": "https://dashscope.aliyuncs.com/api/v1",
  • Network accessline 30
    "sg": "https://dashscope-intl.aliyuncs.com/api/v1",
  • Network accessline 31
    "us": "https://dashscope-us.aliyuncs.com/api/v1",
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 106
    [Credential-related source omitted]
  • Access to secretsline 110
    [Credential-related source omitted]
  • Access to secretsline 111
    [Credential-related source omitted]
  • Network accessline 114
    f"{self.env_var} environment variable not set.\n"                 f"Set it with: export {self.env_var}='your-api-key'\n"                 f"Get a key at: https://bailian.console.aliyun.com/"
  • Network accessline 115
    f"Set it with: export {self.env_var}='your-api-key'\n"                 f"Get a key at: https://bailian.console.aliyun.com/"             )
  • Network accessline 116
    f"Get a key at: https://bailian.console.aliyun.com/"
  • Access to secretsline 121
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]

plugins/videogencn/skills/videogencn/scripts/providers/base.py

  • Executable scriptline 1
    Executable file
  • Network accessline 245
    kwargs.setdefault("timeout", 60)     try:         return requests.request(method, url, **kwargs)
  • Network accessline 246
    try:         return requests.request(method, url, **kwargs)     except requests.Timeout:
  • Network accessline 247
    return requests.request(method, url, **kwargs)
  • Access to secretsline 273
    [Credential-related source omitted]
  • Access to secretsline 297
    [Credential-related source omitted]
  • Access to secretsline 298
    [Credential-related source omitted]

plugins/videogencn/skills/videogencn/scripts/providers/hunyuan.py

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    [Credential-related source omitted]
  • Access to secretsline 3
    [Credential-related source omitted]
  • Network accessline 4
    API docs: https://cloud.tencent.com/document/product/1823/130081
  • Network accessline 28
    name = "hunyuan"     env_var = "HUNYUAN_API_KEY"     _default_api_base = "https://tokenhub.tencentmaas.com/v1/api/video"
  • Access to secretsline 29
    [Credential-related source omitted]
  • Network accessline 30
    _default_api_base = "https://tokenhub.tencentmaas.com/v1/api/video"
  • Access to secretsline 35
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 38
    raise ConfigError(                 f"{self.env_var} environment variable not set.\n"                 f"Get a key at: https://console.cloud.tencent.com/hunyuan\n"
  • Network accessline 39
    f"{self.env_var} environment variable not set.\n"                 f"Get a key at: https://console.cloud.tencent.com/hunyuan\n"                 f"Set it with: export {self.env_var}='your-api-key'")
  • Network accessline 40
    f"Get a key at: https://console.cloud.tencent.com/hunyuan\n"
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 161
    [Credential-related source omitted]
  • Network accessline 168
    "",             "Env vars:",             "  HUNYUAN_API_KEY (required) — https://console.cloud.tencent.com/hunyuan",
  • Network accessline 169
    "Env vars:",             "  HUNYUAN_API_KEY (required) — https://console.cloud.tencent.com/hunyuan",             "",
  • Network accessline 170
    [Credential-related source omitted]
  • Access to secretsline 170
    [Credential-related source omitted]

plugins/videogencn/skills/videogencn/scripts/providers/jimeng.py

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    [Credential-related source omitted]
  • Access to secretsline 3
    [Credential-related source omitted]
  • Network accessline 4
    API docs: https://www.volcengine.com/docs/82379 (Ark Content Generation)
  • Network accessline 18
    name = "jimeng"     env_var = "ARK_API_KEY"     _default_api_base = "https://ark.cn-beijing.volces.com/api/v3"
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 20
    _default_api_base = "https://ark.cn-beijing.volces.com/api/v3"
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Network accessline 31
    [Credential-related source omitted]
  • Access to secretsline 31
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 33
    "Get a key at: https://console.volcengine.com/ark/")
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 144
    "",             "Env vars:",             "  ARK_API_KEY (required) — https://console.volcengine.com/ark/",
  • Network accessline 145
    "Env vars:",             "  ARK_API_KEY (required) — https://console.volcengine.com/ark/",             "",
  • Network accessline 146
    [Credential-related source omitted]
  • Access to secretsline 146
    [Credential-related source omitted]

plugins/videogencn/skills/videogencn/scripts/providers/minimax.py

  • Executable scriptline 1
    Executable file
  • Network accessline 3
    API docs: https://platform.minimax.io/docs
  • Access to secretsline 4
    [Credential-related source omitted]
  • Network accessline 13
    Host override via MINIMAX_API_BASE (host only, e.g. https://api.minimaxi.com
  • Network accessline 14
    for China or https://api.minimax.io for international); v1/v2 paths are
  • Network accessline 44
    name = "minimax"     env_var = "MINIMAX_API_KEY"     _default_api_base = "https://api.minimax.chat"
  • Access to secretsline 45
    [Credential-related source omitted]
  • Network accessline 46
    _default_api_base = "https://api.minimax.chat"
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Network accessline 62
    raise ConfigError(                 f"{self.env_var} environment variable not set.\n"                 f"Get a key at: https://platform.minimax.io\n"
  • Network accessline 63
    f"{self.env_var} environment variable not set.\n"                 f"Get a key at: https://platform.minimax.io\n"                 f"Set it with: export {self.env_var}='your-api-key'"
  • Network accessline 64
    f"Get a key at: https://platform.minimax.io\n"
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 293
    [Credential-related source omitted]
  • Network accessline 296
    "",             "Env vars:",             f"  {self.env_var} (required) — https://platform.minimax.io",
  • Network accessline 297
    "Env vars:",             f"  {self.env_var} (required) — https://platform.minimax.io",             "  MINIMAX_API_BASE (optional) — host only, e.g. "
  • Network accessline 298
    f"  {self.env_var} (required) — https://platform.minimax.io",
  • Network accessline 299
    "  MINIMAX_API_BASE (optional) — host only, e.g. "             "https://api.minimaxi.com (CN) or https://api.minimax.io (intl)",         ]
  • Network accessline 300
    "https://api.minimaxi.com (CN) or https://api.minimax.io (intl)",

plugins/videogencn/skills/videogencn/tests/__init__.py

  • Executable scriptline 1
    Executable file

plugins/videogencn/skills/videogencn/tests/test_core.py

  • Executable scriptline 1
    Executable file
  • Network accessline 222
    with patch("generate_video._safe_request", return_value=mock_rsp):             with pytest.raises(APIError, match="video download failed"):                 download_video("http://x.com/expired.mp4", tmp_path / "out.mp4")
  • Network accessline 224
    download_video("http://x.com/expired.mp4", tmp_path / "out.mp4")
  • Network accessline 245
    name, value = parse_ref("https://example.com/img?size=large")
  • Network accessline 247
    assert value == "https://example.com/img?size=large"
  • Network accessline 375
    p = get_provider("bailian")         req = GenerationRequest(prompt="zoom in", mode="i2v", model="wan2.6-i2v-flash")         body = p.build_body(req, "http://example.com/img.png", None, [])
  • Network accessline 376
    req = GenerationRequest(prompt="zoom in", mode="i2v", model="wan2.6-i2v-flash")         body = p.build_body(req, "http://example.com/img.png", None, [])         assert body["input"]["img_url"] == "http://example.com/img.png"
  • Network accessline 377
    body = p.build_body(req, "http://example.com/img.png", None, [])
  • Network accessline 378
    assert body["input"]["img_url"] == "http://example.com/img.png"
  • Network accessline 445
    p = get_provider("minimax")         req = GenerationRequest(prompt="zoom", mode="i2v", model="MiniMax-H3")         body = p.build_body(req, "http://x.com/img.png", None, [])
  • Network accessline 446
    req = GenerationRequest(prompt="zoom", mode="i2v", model="MiniMax-H3")         body = p.build_body(req, "http://x.com/img.png", None, [])         assert body["content"][1] == {
  • Network accessline 447
    body = p.build_body(req, "http://x.com/img.png", None, [])
  • Network accessline 448
    assert body["content"][1] == {             "type": "image_url",             "image_url": {"url": "http://x.com/img.png"},
  • Network accessline 449
    "type": "image_url",             "image_url": {"url": "http://x.com/img.png"},             "role": "first_frame",
  • Network accessline 450
    "image_url": {"url": "http://x.com/img.png"},
  • Network accessline 471
    seed=42,         )         body = p.build_body(req, "http://x.com/img.png", None, [])
  • Network accessline 472
    )         body = p.build_body(req, "http://x.com/img.png", None, [])         assert "duration" not in body  # experimental model skips it
  • Network accessline 473
    body = p.build_body(req, "http://x.com/img.png", None, [])
  • Network accessline 474
    assert "duration" not in body  # experimental model skips it         assert "seed" not in body         assert body["image"]["url"] == "http://x.com/img.png"
  • Network accessline 476
    assert body["image"]["url"] == "http://x.com/img.png"
  • Network accessline 486
    None,             [                 ("hero", "http://x.com/hero.png"),
  • Network accessline 487
    [                 ("hero", "http://x.com/hero.png"),                 ("monster", "http://x.com/monster.png"),
  • Network accessline 488
    ("hero", "http://x.com/hero.png"),
  • Network accessline 489
    ("monster", "http://x.com/monster.png"),
  • Network accessline 506
    mock_rsp = MagicMock()         mock_rsp.json.return_value = {             "output": {"task_status": "SUCCEEDED", "video_url": "http://x.com/v.mp4"}
  • Network accessline 507
    mock_rsp.json.return_value = {             "output": {"task_status": "SUCCEEDED", "video_url": "http://x.com/v.mp4"}         }
  • Network accessline 508
    "output": {"task_status": "SUCCEEDED", "video_url": "http://x.com/v.mp4"}
  • Network accessline 510
    status, url, err = p._parse_poll_response(mock_rsp)         assert status == "SUCCEEDED"         assert url == "http://x.com/v.mp4"
  • Network accessline 512
    assert url == "http://x.com/v.mp4"
  • Network accessline 527
    mock_rsp.json.return_value = {             "status": "succeeded",             "content": {"video_url": "http://x.com/v.mp4"},
  • Network accessline 528
    "status": "succeeded",             "content": {"video_url": "http://x.com/v.mp4"},         }
  • Network accessline 529
    "content": {"video_url": "http://x.com/v.mp4"},
  • Network accessline 541
    mock_dl = MagicMock()                 mock_dl.json.return_value = {                     "file": {"download_url": "http://x.com/v.mp4"}
  • Network accessline 542
    mock_dl.json.return_value = {                     "file": {"download_url": "http://x.com/v.mp4"}                 }
  • Network accessline 543
    "file": {"download_url": "http://x.com/v.mp4"}
  • Network accessline 546
    status, url, err = p._parse_poll_response(mock_rsp)                 assert status == "SUCCEEDED"                 assert url == "http://x.com/v.mp4"
  • Network accessline 548
    assert url == "http://x.com/v.mp4"
  • Network accessline 562
    mock_rsp = MagicMock()         mock_rsp.json.return_value = {             "task": {"status": "succeeded", "content": {"url": "http://x.com/v.mp4"}}
  • Network accessline 563
    mock_rsp.json.return_value = {             "task": {"status": "succeeded", "content": {"url": "http://x.com/v.mp4"}}         }
  • Network accessline 564
    "task": {"status": "succeeded", "content": {"url": "http://x.com/v.mp4"}}
  • Network accessline 566
    status, url, err = p._parse_poll_response(mock_rsp)         assert status == "SUCCEEDED"         assert url == "http://x.com/v.mp4"
  • Network accessline 568
    assert url == "http://x.com/v.mp4"
  • Network accessline 587
    mock_rsp.json.return_value = {             "status": "completed",             "data": {"url": "http://x.com/v.mp4"},
  • Network accessline 588
    "status": "completed",             "data": {"url": "http://x.com/v.mp4"},         }
  • Network accessline 589
    "data": {"url": "http://x.com/v.mp4"},
  • Access to secretsline 635
    [Credential-related source omitted]

plugins/xfetch/skills/xfetch-skill/README.md

  • Network accessline 3
    Fetch and export **public** X (Twitter) data with a self-contained Python CLI built on [twikit](https://github.com/d60/twikit) — no developer API keys, just your own login
  • Network accessline 4
    [twikit](https://github.com/d60/twikit) — no developer API keys, just your own login
  • Network accessline 9
    It's packaged as a [Claude Code](https://docs.claude.com/en/docs/claude-code) /
  • Network accessline 10
    [OpenClaw](https://openclaw.ai) **skill** — the agent instructions live in
  • Access to secretsline 29
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 51
    [Credential-related source omitted]

plugins/xfetch/skills/xfetch-skill/SKILL.md

  • Network accessline 17
    - It **reuses the current query IDs and feature flags** shipped by the [twikit](https://github.com/d60/twikit) package (kept fresh with `pip install -U twikit`) — so you don't hand-maintain the fastest-rotating values. - It does its **own H
  • Access to secretsline 48
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Network accessline 72
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 81
    [Credential-related source omitted]
  • Network accessline 118
    # Single tweet, and a tweet with its replies (thread) python3 scripts/xfetch.py tweet https://x.com/user/status/1234567890
  • Network accessline 119
    python3 scripts/xfetch.py tweet https://x.com/user/status/1234567890
  • Network accessline 154
    X enforces per-account rate limits (roughly a few hundred requests per 15-minute window per endpoint) and this uses the user's real account. For bulk pulls keep a real `--delay`, prefer `--max-pages` over `--all` when you only need a sample

plugins/xfetch/skills/xfetch-skill/references/commands.md

  • Network accessline 12
    [Credential-related source omitted]
  • Access to secretsline 12
    [Credential-related source omitted]
  • Network accessline 13
    | `--ct0 <token>` | `ct0` cookie for this run | | `--proxy <url>` | Route requests through a proxy, e.g. `http://user:pass@host:port` | | `--format json\|jsonl\|csv\|sqlite` | Output format (default `json`) |
  • Network accessline 14
    | `--proxy <url>` | Route requests through a proxy, e.g. `http://user:pass@host:port` |
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]

plugins/xfetch/skills/xfetch-skill/scripts/xfetch.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 35
    [Credential-related source omitted]
  • Access to secretsline 37
    [Credential-related source omitted]
  • Access to secretsline 38
    [Credential-related source omitted]
  • Access to secretsline 59
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Access to secretsline 100
    [Credential-related source omitted]
  • Network accessline 118
    def _do(method):         with httpx.Client(timeout=TIMEOUT, follow_redirects=True, proxy=PROXY) as cl:
  • Network accessline 119
    with httpx.Client(timeout=TIMEOUT, follow_redirects=True, proxy=PROXY) as cl:
  • Network accessline 211
    return {         "id": tid,         "url": f"https://x.com/{sn}/status/{tid}" if sn and tid else None,
  • Network accessline 212
    "id": tid,         "url": f"https://x.com/{sn}/status/{tid}" if sn and tid else None,         "created_at": lg.get("created_at"),
  • Network accessline 213
    "url": f"https://x.com/{sn}/status/{tid}" if sn and tid else None,
  • Access to secretsline 492
    [Credential-related source omitted]
  • Access to secretsline 495
    [Credential-related source omitted]
  • Access to secretsline 518
    [Credential-related source omitted]
  • Access to secretsline 519
    [Credential-related source omitted]
  • Access to secretsline 523
    [Credential-related source omitted]
  • Access to secretsline 541
    [Credential-related source omitted]
  • Access to secretsline 545
    [Credential-related source omitted]
  • Access to secretsline 547
    [Credential-related source omitted]
  • Access to secretsline 554
    [Credential-related source omitted]
  • Access to secretsline 563
    [Credential-related source omitted]
  • Access to secretsline 564
    [Credential-related source omitted]
  • Access to secretsline 573
    [Credential-related source omitted]
  • Access to secretsline 575
    [Credential-related source omitted]
  • Access to secretsline 580
    [Credential-related source omitted]
  • Access to secretsline 585
    [Credential-related source omitted]
  • Network accessline 800
    [Credential-related source omitted]
  • Access to secretsline 800
    [Credential-related source omitted]
  • Network accessline 801
    g.add_argument("--ct0", help="ct0 cookie")     g.add_argument("--proxy", help="proxy URL, e.g. http://user:pass@host:port")     g.add_argument(
  • Network accessline 802
    g.add_argument("--proxy", help="proxy URL, e.g. http://user:pass@host:port")
  • Access to secretsline 835
    [Credential-related source omitted]

plugins/yt2bb/skills/yt2bb/SKILL.md

  • Broad permissionsline 1
    Bash(python3:*) Bash(ffmpeg:*) Bash(whisper:*) Bash(yt-dlp:*) Bash(git:*) Read Write Edit
  • Network accessline 4
    description: Use when the user wants to repurpose a YouTube video for Bilibili, add bilingual (English-Chinese) subtitles to a video, or create hardcoded subtitle versions for Chinese platforms. license: MIT homepage: https://github.com/Age
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills compatibility: Requires Python 3, ffmpeg, yt-dlp, whisper (openai-whisper) on PATH. Self-check steps that need vision are gracefully skipped if unavailable.
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills
  • Access to secretsline 30
    [Credential-related source omitted]
  • Network accessline 58
    [Credential-related source omitted]
  • Access to secretsline 58
    [Credential-related source omitted]
  • Network accessline 60
    -o "${slug}/${slug}.mp4" "https://www.youtube.com/watch?v=VIDEO_ID"
  • Network accessline 66
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Network accessline 67
    -f "bv*[ext=mp4]+ba[ext=m4a]/b[ext=mp4]" \   -o "%(playlist_index)03d-%(title)s/%(playlist_index)03d-%(title)s.mp4" \   "https://www.youtube.com/playlist?list=PLAYLIST_ID"
  • Network accessline 69
    "https://www.youtube.com/playlist?list=PLAYLIST_ID"
  • Access to secretsline 76
    [Credential-related source omitted]
  • Network accessline 216
    > 2. `clean` — 黄色字体 + 灰色半透明底框(亮背景或花背景的兜底选项,底框保证对比度) > 3. `glow` — 黄色/白色字体 + 彩色外发光(更抢眼,适合娱乐/Vlog) > 4. **自定义** — 提供 `.ass` 样式文件,完全控制字体、颜色、大小(可用 [Aegisub](https://aegisub.org/) 可视化编辑)
  • Network accessline 217
    > 3. `glow` — 黄色/白色字体 + 彩色外发光(更抢眼,适合娱乐/Vlog) > 4. **自定义** — 提供 `.ass` 样式文件,完全控制字体、颜色、大小(可用 [Aegisub](https://aegisub.org/) 可视化编辑) >
  • Network accessline 218
    > 4. **自定义** — 提供 `.ass` 样式文件,完全控制字体、颜色、大小(可用 [Aegisub](https://aegisub.org/) 可视化编辑)
  • Network accessline 239
    **Custom style file** — for full control, provide an external `.ass` file with your own `[V4+ Styles]` section. It must contain styles named `EN` and `ZH`, or `to_ass` will fail early with a validation error. You can design styles visually 
  • Access to secretsline 359
    [Credential-related source omitted]
  • Access to secretsline 363
    [Credential-related source omitted]
  • Dangerous shell operationline 394
    | Linux | `Noto Sans CJK SC` | `sudo apt install fonts-noto-cjk` |
  • Dangerous shell operationline 395
    | Linux (alt) | `WenQuanYi Micro Hei` | `sudo apt install fonts-wqy-microhei` |
  • Access to secretsline 402
    [Credential-related source omitted]

plugins/yt2bb/skills/yt2bb/srt_utils.py

  • Executable scriptline 1
    #!/usr/bin/env python3

plugins/zenodo/skills/zenodo-skill/SKILL.md

  • Network accessline 4
    description: Use whenever the user mentions Zenodo, depositing or publishing research artifacts (datasets, software, papers, posters) to Zenodo, minting a DOI for a dataset/code release, uploading files to a Zenodo record, creating a new ve
  • Network accessline 5
    license: MIT homepage: https://github.com/Agents365-ai/365-skills platforms: [macos, linux, windows]
  • Network accessline 6
    homepage: https://github.com/Agents365-ai/365-skills platforms: [macos, linux, windows] metadata: {"openclaw":{"requires":{"bins":["curl"],"env":["ZENODO_TOKEN"]},"emoji":"📦","os":["darwin","linux","win32"]},"hermes":{"tags":["zenodo","doi"
  • Access to secretsline 8
    [Credential-related source omitted]
  • Network accessline 13
    Interact with the [Zenodo REST API](https://developers.zenodo.org) to deposit, publish, version, and search research artifacts. Zenodo issues a citable DOI for every published record.
  • Network accessline 50
    | Env | Base URL | Token page | |---|---|---| | Production | `https://zenodo.org/api` | https://zenodo.org/account/settings/applications/tokens/new/ |
  • Network accessline 51
    |---|---|---| | Production | `https://zenodo.org/api` | https://zenodo.org/account/settings/applications/tokens/new/ | | Sandbox (testing) | `https://sandbox.zenodo.org/api` | https://sandbox.zenodo.org/account/settings/applications/tokens/
  • Network accessline 52
    | Production | `https://zenodo.org/api` | https://zenodo.org/account/settings/applications/tokens/new/ |
  • Network accessline 53
    | Sandbox (testing) | `https://sandbox.zenodo.org/api` | https://sandbox.zenodo.org/account/settings/applications/tokens/new/ |
  • Network accessline 61
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Network accessline 62
    export ZENODO_BASE=https://sandbox.zenodo.org/api   # or https://zenodo.org/api
  • Network accessline 74
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Network accessline 86
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Network accessline 97
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 98
    [Credential-related source omitted]
  • Network accessline 110
    [Credential-related source omitted]
  • Access to secretsline 110
    [Credential-related source omitted]
  • Access to secretsline 111
    [Credential-related source omitted]
  • Network accessline 130
    [Credential-related source omitted]
  • Access to secretsline 130
    [Credential-related source omitted]
  • Access to secretsline 131
    [Credential-related source omitted]
  • Network accessline 141
    # 1. Create new version draft (returns links.latest_draft) curl -sS -X POST "$ZENODO_BASE/deposit/depositions/$DEPOSIT_ID/actions/newversion" \
  • Network accessline 142
    [Credential-related source omitted]
  • Access to secretsline 142
    [Credential-related source omitted]
  • Access to secretsline 143
    [Credential-related source omitted]
  • Network accessline 151
    [Credential-related source omitted]
  • Access to secretsline 151
    [Credential-related source omitted]
  • Access to secretsline 152
    [Credential-related source omitted]
  • Network accessline 159
    curl -sS "$ZENODO_BASE/records?q=climate+model&size=10&sort=mostrecent"
  • Access to secretsline 168
    [Credential-related source omitted]
  • Network accessline 169
    - **Sandbox first.** Suggest sandbox for any first-time workflow; switch to production only when the user explicitly confirms. - **Verify before publishing.** GET the deposition and review files + metadata with the user before calling `acti
  • Network accessline 171
    - **Large uploads:** for files > a few hundred MB, consider doing the curl upload with `--progress-bar` and warn the user about time/bandwidth.

plugins/zenodo/skills/zenodo-skill/agents/openai.yaml

  • Network accessline 21
    prerequisites:   - curl on PATH
  • Network accessline 22
    - curl on PATH

plugins/zenodo/skills/zenodo-skill/references/examples.md

  • Network accessline 5
    [Credential-related source omitted]
  • Access to secretsline 5
    [Credential-related source omitted]
  • Network accessline 6
    export ZENODO_BASE=https://sandbox.zenodo.org/api   # use https://zenodo.org/api for production
  • Network accessline 15
    # 1. Create empty deposition RESP=$(curl -sS -X POST "$ZENODO_BASE/deposit/depositions" \
  • Network accessline 16
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 17
    [Credential-related source omitted]
  • Network accessline 24
    for f in ./data/*; do   name=$(basename "$f")   curl -sS --upload-file "$f" \
  • Network accessline 25
    [Credential-related source omitted]
  • Network accessline 26
    [Credential-related source omitted]
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]
  • Network accessline 32
    # 3. Set metadata curl -sS -X PUT "$ZENODO_BASE/deposit/depositions/$DEPOSIT_ID" \
  • Network accessline 33
    [Credential-related source omitted]
  • Access to secretsline 33
    [Credential-related source omitted]
  • Access to secretsline 34
    [Credential-related source omitted]
  • Network accessline 38
    # 4. Review (don't publish blindly) curl -sS "$ZENODO_BASE/deposit/depositions/$DEPOSIT_ID" \
  • Network accessline 39
    [Credential-related source omitted]
  • Access to secretsline 39
    [Credential-related source omitted]
  • Access to secretsline 40
    [Credential-related source omitted]
  • Network accessline 45
    # 5. Publish curl -sS -X POST "$ZENODO_BASE/deposit/depositions/$DEPOSIT_ID/actions/publish" \
  • Network accessline 46
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Network accessline 55
    # Create new version draft NEW=$(curl -sS -X POST "$ZENODO_BASE/deposit/depositions/$PARENT_ID/actions/newversion" \
  • Network accessline 56
    [Credential-related source omitted]
  • Access to secretsline 56
    [Credential-related source omitted]
  • Access to secretsline 57
    [Credential-related source omitted]
  • Network accessline 59
    [Credential-related source omitted]
  • Network accessline 60
    [Credential-related source omitted]
  • Network accessline 61
    [Credential-related source omitted]
  • Access to secretsline 61
    [Credential-related source omitted]
  • Network accessline 65
    [Credential-related source omitted]
  • Network accessline 66
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Network accessline 68
    # Upload new file curl -sS --upload-file ./new-data.csv \
  • Network accessline 69
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Network accessline 72
    # Update version string in metadata curl -sS -X PUT "$ZENODO_BASE/deposit/depositions/$NEW_ID" \
  • Network accessline 73
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Network accessline 77
    # Publish curl -sS -X POST "$ZENODO_BASE/deposit/depositions/$NEW_ID/actions/publish" \
  • Network accessline 78
    [Credential-related source omitted]
  • Access to secretsline 78
    [Credential-related source omitted]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Network accessline 86
    The recommended path is the [Zenodo–GitHub integration](https://docs.github.com/en/repositories/archiving-a-github-repository/referencing-and-citing-content) — enable the repo in Zenodo settings and create a GitHub release; Zenodo auto-arch
  • Network accessline 93
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]
  • Network accessline 100
    REC=1234567 curl -sS "$ZENODO_BASE/records/$REC" | jq -r '.files[].links.self' | \
  • Network accessline 101
    curl -sS "$ZENODO_BASE/records/$REC" | jq -r '.files[].links.self' | \
  • Network accessline 102
    xargs -n1 curl -sS -LO

plugins/zenodo/skills/zenodo-skill/references/metadata.md

  • Network accessline 87
    "version": "1.2.0",     "related_identifiers": [       {"identifier": "https://github.com/me/myproject/tree/v1.2.0", "relation": "isSupplementTo", "resource_type": "software"}
  • Network accessline 88
    "related_identifiers": [       {"identifier": "https://github.com/me/myproject/tree/v1.2.0", "relation": "isSupplementTo", "resource_type": "software"}     ]
  • Network accessline 89
    {"identifier": "https://github.com/me/myproject/tree/v1.2.0", "relation": "isSupplementTo", "resource_type": "software"}

plugins/zenodo/skills/zenodo-skill/references/search.md

  • Network accessline 50
    # 10 most recent datasets about "single cell" curl -sS "$ZENODO_BASE/records?q=resource_type.type:dataset+AND+single+cell&sort=mostrecent&size=10"
  • Network accessline 51
    curl -sS "$ZENODO_BASE/records?q=resource_type.type:dataset+AND+single+cell&sort=mostrecent&size=10"
  • Network accessline 53
    # All records by a specific ORCID curl -sS "$ZENODO_BASE/records?q=creators.orcid:0000-0002-1825-0097&size=50"
  • Network accessline 54
    curl -sS "$ZENODO_BASE/records?q=creators.orcid:0000-0002-1825-0097&size=50"
  • Network accessline 56
    # Records in a community curl -sS "$ZENODO_BASE/records?q=communities:biosyslit"
  • Network accessline 57
    curl -sS "$ZENODO_BASE/records?q=communities:biosyslit"
  • Network accessline 59
    # Single record by id curl -sS "$ZENODO_BASE/records/1234567"
  • Network accessline 60
    curl -sS "$ZENODO_BASE/records/1234567"

plugins/zotero-dev-rules/skills/zotero-dev-rules/SKILL.md

  • Network accessline 4
    description: "Developing with Zotero: Web API v3 (read/write, file upload, sync, OAuth, item types/fields), the desktop client's JS API, plugin development (7-10), translators (web/import/export/search), and CSL/citeproc-js styles. Use when
  • Network accessline 5
    version: 0.4.1 license: CC BY-NC 4.0 homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 6
    license: CC BY-NC 4.0
  • Network accessline 7
    homepage: https://github.com/Agents365-ai/365-skills
  • Network accessline 8
    metadata: {"source":"https://www.zotero.org/support/dev","docVersion":"web_api_v3","fetched":"2026-08-19"}
  • Network accessline 13
    Zotero is an open-source reference manager. Developers extend it three ways: the **Web API** (`https://api.zotero.org`) for online libraries, **plugins / the internal JavaScript API** for the
  • Network accessline 14
    (`https://api.zotero.org`) for online libraries, **plugins / the internal JavaScript API** for the
  • Network accessline 15
    desktop client, and **translators** (JS scrapers/converters). Citations come from **CSL** styles via **citeproc-js**. This skill mirrors <https://www.zotero.org/support/dev> so you can answer Zotero dev questions and build integrations with
  • Network accessline 16
    **citeproc-js**. This skill mirrors <https://www.zotero.org/support/dev> so you can answer Zotero dev
  • Network accessline 41
    [Credential-related source omitted]
  • Network accessline 42
    [Credential-related source omitted]
  • Network accessline 43
    "https://api.zotero.org/users/<userID>/items?format=json&limit=25"
  • Network accessline 51
    [Credential-related source omitted]
  • Network accessline 52
    [Credential-related source omitted]
  • Network accessline 53
    -H "If-Unmodified-Since-Version: <libVersion>" \   -d '[{"itemType":"book","title":"..."}]' \   "https://api.zotero.org/users/<userID>/items"
  • Network accessline 54
    -d '[{"itemType":"book","title":"..."}]' \   "https://api.zotero.org/users/<userID>/items" # PUT replaces (omitted fields cleared); PATCH merges (only changed fields). 412 = version mismatch.
  • Network accessline 55
    "https://api.zotero.org/users/<userID>/items"
  • Network accessline 68
    **Key endpoints**: `/itemTypes` `/itemFields` `/itemTypeFields?itemType=` `/itemTypeCreatorTypes?itemType=` `/creatorFields` `/items/new?itemType=` · full schema: `https://api.zotero.org/schema`.
  • Network accessline 69
    `/creatorFields` `/items/new?itemType=` · full schema: `https://api.zotero.org/schema`.

plugins/zotero-dev-rules/skills/zotero-dev-rules/references/citation-styles.md

  • Network accessline 3
    Source: <https://www.zotero.org/support/dev/citation_styles>, /citation_styles/style_editing_step-by-step, /citation_styles/citeproc-node
  • Network accessline 10
    - Style repository (browse/search/install): `https://www.zotero.org/styles` (`/support/styles`).
  • Network accessline 11
    - CSL specification & docs: `https://citationstyles.org/`.
  • Network accessline 12
    - CSL styles repo (submit here): `https://github.com/citation-style-language/styles` — follow its
  • Network accessline 13
    `CONTRIBUTING.md`. - Zotero → CSL type/field mapping: `https://aurimasv.github.io/z2csl/typeMap.xml`. - citeproc-js (the processor): upstream at `github.com/Juris-M/citeproc-js`.
  • Network accessline 14
    - Zotero → CSL type/field mapping: `https://aurimasv.github.io/z2csl/typeMap.xml`.
  • Network accessline 33
    - Step-by-step guide: `/support/dev/citation_styles/style_editing_step-by-step`. - Visual editor / live preview: the CSL Editor at `https://editor.citationstyles.org/` (Visual editor +
  • Network accessline 34
    - Visual editor / live preview: the CSL Editor at `https://editor.citationstyles.org/` (Visual editor +

plugins/zotero-dev-rules/skills/zotero-dev-rules/references/client-and-plugins.md

  • Network accessline 3
    Source: <https://www.zotero.org/support/dev/client_coding>, /client_coding/javascript_api, /client_coding/plugin_development
  • Network accessline 100
    > The official docs page is a work-in-progress; the **canonical starting point is the > [`make-it-red`](https://github.com/zotero/make-it-red) sample plugin** (step-by-step, Zotero 7 era).
  • Network accessline 101
    > [`make-it-red`](https://github.com/zotero/make-it-red) sample plugin** (step-by-step, Zotero 7 era).
  • Network accessline 139
    Source: <https://www.zotero.org/support/dev/zotero_10_for_developers> · Same Firefox 140 ESR base
  • Network accessline 264
    (same language → en-US → first available) — fixes plugins shipping only a non-English locale   showing that locale for all users, and competing registrations breaking string resolution. - `Zotero.HTTP.download()` rewritten — streams via `fe
  • Network accessline 265
    showing that locale for all users, and competing registrations breaking string resolution. - `Zotero.HTTP.download()` rewritten — streams via `fetch()`, returns a `Response`. - Plugin `prefs.js` loads with the script cache disabled — defaul
  • Network accessline 266
    - `Zotero.HTTP.download()` rewritten — streams via `fetch()`, returns a `Response`.

plugins/zotero-dev-rules/skills/zotero-dev-rules/references/plugin-gallery.md

  • Network accessline 3
    Snapshot of the [Zotero Chinese community plugin store](https://zotero-chinese.com/plugins/) registry — [`zotero-chinese/zotero-plugins`](https://github.com/zotero-chinese/zotero-plugins), `src/plugins.ts`. Fetched 2026-07-19; refresh by re
  • Network accessline 17
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`alansirius/Zotero-Exitem`](https://github.com/alansirius/Zotero-Exitem) | 8/7 | productivity, ai, notes |
  • Network accessline 18
    | ------ | -------- | ------ | | [`alansirius/Zotero-Exitem`](https://github.com/alansirius/Zotero-Exitem) | 8/7 | productivity, ai, notes | | [`Bowen-0x00/zotero-action-cmd`](https://github.com/Bowen-0x00/zotero-action-cmd) | 7 | productiv
  • Network accessline 19
    | [`alansirius/Zotero-Exitem`](https://github.com/alansirius/Zotero-Exitem) | 8/7 | productivity, ai, notes |
  • Network accessline 20
    | [`Bowen-0x00/zotero-action-cmd`](https://github.com/Bowen-0x00/zotero-action-cmd) | 7 | productivity |
  • Network accessline 21
    | [`Chikit-L/zotero-fulltext-translate`](https://github.com/Chikit-L/zotero-fulltext-translate) | 8/7 | productivity |
  • Network accessline 22
    | [`Dominic-DallOsto/zotero-reading-list`](https://github.com/Dominic-DallOsto/zotero-reading-list) | 8/7/6 | productivity |
  • Network accessline 23
    | [`guaguastandup/zotero-pdf2zh`](https://github.com/guaguastandup/zotero-pdf2zh) | 8/7 | productivity |
  • Network accessline 24
    | [`immersive-translate/zotero-immersivetranslate`](https://github.com/immersive-translate/zotero-immersivetranslate) | 7 | productivity |
  • Network accessline 25
    | [`janbaykara/zotero-syllabus`](https://github.com/janbaykara/zotero-syllabus) | 7 | productivity, visualization |
  • Network accessline 26
    | [`OneOneLiu/zotero-annotation-summary`](https://github.com/OneOneLiu/zotero-annotation-summary) | 8/7 | productivity |
  • Network accessline 27
    | [`retorquere/zotero-folder-import`](https://github.com/retorquere/zotero-folder-import) | 7 | productivity |
  • Network accessline 28
    | [`Royshare/zotero-spotlight`](https://github.com/Royshare/zotero-spotlight) | 8 | productivity |
  • Network accessline 29
    | [`samreading/zotero-mindmap`](https://github.com/samreading/zotero-mindmap) | 8/7/9 | productivity |
  • Network accessline 30
    | [`WildDataX/suppr-zotero-plugin`](https://github.com/WildDataX/suppr-zotero-plugin) | 8/7 | productivity |
  • Network accessline 31
    | [`windingwind/zotero-actions-tags`](https://github.com/windingwind/zotero-actions-tags) | 8/7/6 | productivity |
  • Network accessline 32
    | [`wshanks/Zutilo`](https://github.com/wshanks/Zutilo) | 7/6 | productivity |
  • Network accessline 36
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`edwintuan/pdf-ai-bookmarks`](https://github.com/edwintuan/pdf-ai-bookmarks) | 8 | ai |
  • Network accessline 37
    | ------ | -------- | ------ | | [`edwintuan/pdf-ai-bookmarks`](https://github.com/edwintuan/pdf-ai-bookmarks) | 8 | ai | | [`ET06731/zotero-paper2slides`](https://github.com/ET06731/zotero-paper2slides) | 7 | ai, productivity, notes |
  • Network accessline 38
    | [`edwintuan/pdf-ai-bookmarks`](https://github.com/edwintuan/pdf-ai-bookmarks) | 8 | ai |
  • Network accessline 39
    | [`ET06731/zotero-paper2slides`](https://github.com/ET06731/zotero-paper2slides) | 7 | ai, productivity, notes |
  • Network accessline 40
    | [`introfini/ZotSeek`](https://github.com/introfini/ZotSeek) | 8 | ai |
  • Network accessline 41
    | [`j-cyoung/PaperViewZoteroPlugin`](https://github.com/j-cyoung/PaperViewZoteroPlugin) | 8 | ai, productivity |
  • Network accessline 42
    | [`jetxa/zotero-ai-assistant`](https://github.com/jetxa/zotero-ai-assistant) | 8 | ai |
  • Network accessline 43
    | [`jlegewie/beaver-zotero`](https://github.com/jlegewie/beaver-zotero) | 8/7 | ai |
  • Network accessline 44
    | [`justinfjx/zotero-ai-collection`](https://github.com/justinfjx/zotero-ai-collection) | 7/8 | ai, productivity |
  • Network accessline 45
    | [`kazgu/zotero-chatgpt`](https://github.com/kazgu/zotero-chatgpt) | 7 | ai, productivity |
  • Network accessline 46
    | [`l0o0/Garden-for-Zotero`](https://github.com/l0o0/Garden-for-Zotero) | 8/7 | ai, productivity |
  • Network accessline 47
    | [`l0o0/MagicZotero`](https://github.com/l0o0/MagicZotero) | 8/7 | ai, productivity, integration |
  • Network accessline 48
    | [`leike0813/Zotero-Skills`](https://github.com/leike0813/Zotero-Skills) | 7 | ai, integration |
  • Network accessline 49
    | [`lifan0127/ai-research-assistant`](https://github.com/lifan0127/ai-research-assistant) | 7/6 | ai, productivity |
  • Network accessline 50
    | [`lisontowind/zotero-copilot`](https://github.com/lisontowind/zotero-copilot) | 8/9 | ai, productivity |
  • Network accessline 51
    | [`lisontowind/zotero-mineru`](https://github.com/lisontowind/zotero-mineru) | 8/9 | ai, attachment, productivity |
  • Network accessline 52
    | [`menyoung/zoTLDR`](https://github.com/menyoung/zoTLDR) | 8 | ai |
  • Network accessline 53
    | [`MuiseDestiny/zotero-gpt`](https://github.com/MuiseDestiny/zotero-gpt) | 8/7/6 | ai, interface, productivity |
  • Network accessline 54
    | [`papersgpt/papersgpt-for-zotero`](https://github.com/papersgpt/papersgpt-for-zotero) | 7 | ai, productivity |
  • Network accessline 55
    | [`replynow20/gemini-zotero`](https://github.com/replynow20/gemini-zotero) | 8/7 | ai, productivity |
  • Network accessline 56
    | [`sheny-bio/marginalia`](https://github.com/sheny-bio/marginalia) | 8/7 | ai, productivity |
  • Network accessline 57
    | [`steven-jianhao-li/zotero-AI-Butler`](https://github.com/steven-jianhao-li/zotero-AI-Butler) | 8/7 | ai, notes, productivity |
  • Network accessline 58
    | [`swcxito/zotero-ai-bar`](https://github.com/swcxito/zotero-ai-bar) | 8/7 | ai, productivity |
  • Network accessline 59
    | [`syt2/paper-chat-for-zotero`](https://github.com/syt2/paper-chat-for-zotero) | 7/8 | ai |
  • Network accessline 60
    | [`vastronghq/MarginMind`](https://github.com/vastronghq/MarginMind) | 8 | ai |
  • Network accessline 61
    | [`Visterainer/zoteroAI`](https://github.com/Visterainer/zoteroAI) | 8/7 | ai, productivity |
  • Network accessline 62
    | [`wdcpclover/ai4paper`](https://github.com/wdcpclover/ai4paper) | 7/8/9 | ai, productivity, reader, notes, metadata, interface, visualization |
  • Network accessline 63
    | [`WilliamsLiang/zotero-skr`](https://github.com/WilliamsLiang/zotero-skr) | 7 | ai, productivity |
  • Network accessline 64
    | [`windfollowingheart/zotero-paper-agent`](https://github.com/windfollowingheart/zotero-paper-agent) | 7 | ai, productivity |
  • Network accessline 65
    | [`YanSH258/zotero-dailypaper`](https://github.com/YanSH258/zotero-dailypaper) | 7 | ai |
  • Network accessline 66
    | [`yilewang/llm-for-zotero`](https://github.com/yilewang/llm-for-zotero) | 8/7 | ai, notes, productivity |
  • Network accessline 70
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`AllanChain/zotero-arxiv-workflow`](https://github.com/AllanChain/zotero-arxiv-workflow) | 8/7 | metadata |
  • Network accessline 71
    | ------ | -------- | ------ | | [`AllanChain/zotero-arxiv-workflow`](https://github.com/AllanChain/zotero-arxiv-workflow) | 8/7 | metadata | | [`bwiernik/zotero-shortdoi`](https://github.com/bwiernik/zotero-shortdoi) | 7/6 | metadata |
  • Network accessline 72
    | [`AllanChain/zotero-arxiv-workflow`](https://github.com/AllanChain/zotero-arxiv-workflow) | 8/7 | metadata |
  • Network accessline 73
    | [`bwiernik/zotero-shortdoi`](https://github.com/bwiernik/zotero-shortdoi) | 7/6 | metadata |
  • Network accessline 74
    | [`Creling/Zotero-Metadata-Scraper`](https://github.com/Creling/Zotero-Metadata-Scraper) | 7 | metadata |
  • Network accessline 75
    | [`daeh/zotero-citation-tally`](https://github.com/daeh/zotero-citation-tally) | 7 | metadata |
  • Network accessline 76
    | [`diegodlh/zotero-cita`](https://github.com/diegodlh/zotero-cita) | 8/7 | metadata |
  • Network accessline 77
    | [`federicotorrielli/zotero-metadata-hunter`](https://github.com/federicotorrielli/zotero-metadata-hunter) | 8 | metadata |
  • Network accessline 78
    | [`fkguo/zotero-inspire`](https://github.com/fkguo/zotero-inspire) | 8/7 | metadata |
  • Network accessline 79
    | [`FrLars21/ZoteroCitationCountsManager`](https://github.com/FrLars21/ZoteroCitationCountsManager) | 7 | metadata |
  • Network accessline 80
    | [`GroundbreakerLhy/CCF-Rank`](https://github.com/GroundbreakerLhy/CCF-Rank) | 8/7 | metadata |
  • Network accessline 81
    | [`Jarvis-Towne/paper-feed-zotero`](https://github.com/Jarvis-Towne/paper-feed-zotero) | 8 | metadata |
  • Network accessline 82
    | [`jmiba/Zotero-add-items-from-text`](https://github.com/jmiba/Zotero-add-items-from-text) | 8 | metadata |
  • Network accessline 83
    | [`justinribeiro/zotero-google-scholar-citation-count`](https://github.com/justinribeiro/zotero-google-scholar-citation-count) | 7 | metadata |
  • Network accessline 84
    | [`kevin65536/zotero-openreview-plugin`](https://github.com/kevin65536/zotero-openreview-plugin) | 8/7 | metadata |
  • Network accessline 85
    | [`MuiseDestiny/zotero-reference`](https://github.com/MuiseDestiny/zotero-reference) | 8/7 | metadata, reader |
  • Network accessline 86
    | [`northword/zotero-format-metadata`](https://github.com/northword/zotero-format-metadata) | 7/6 | metadata |
  • Network accessline 87
    | [`panhaoyu/zotero-categorial-tags`](https://github.com/panhaoyu/zotero-categorial-tags) | 8/7 | metadata, productivity, interface |
  • Network accessline 88
    | [`redleafnew/zotero-updateifsE`](https://github.com/redleafnew/zotero-updateifsE) | 8/7/6 | metadata |
  • Network accessline 89
    | [`retorquere/zotero-pmcid-fetcher`](https://github.com/retorquere/zotero-pmcid-fetcher) | 7 | metadata |
  • Network accessline 90
    | [`RoadToDream/ZotMeta`](https://github.com/RoadToDream/ZotMeta) | 7 | metadata |
  • Network accessline 91
    | [`syt2/Zotero-TLDR`](https://github.com/syt2/Zotero-TLDR) | 8/7 | metadata |
  • Network accessline 92
    | [`theRatramnus/RIOPACAddChapter`](https://github.com/theRatramnus/RIOPACAddChapter) | 7 | metadata |
  • Network accessline 93
    | [`TimeTrapzz/zotero-ccf-info`](https://github.com/TimeTrapzz/zotero-ccf-info) | 8/7 | metadata |
  • Network accessline 97
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`018/zotero-excalidraw`](https://github.com/018/zotero-excalidraw) | 7 | integration |
  • Network accessline 98
    | ------ | -------- | ------ | | [`018/zotero-excalidraw`](https://github.com/018/zotero-excalidraw) | 7 | integration | | [`1ywan/zotero-odh`](https://github.com/1ywan/zotero-odh) | 7 | integration |
  • Network accessline 99
    | [`018/zotero-excalidraw`](https://github.com/018/zotero-excalidraw) | 7 | integration |
  • Network accessline 100
    | [`1ywan/zotero-odh`](https://github.com/1ywan/zotero-odh) | 7 | integration |
  • Network accessline 101
    | [`bulletproof-system/zotero-maimemo-sync`](https://github.com/bulletproof-system/zotero-maimemo-sync) | 7 | integration |
  • Network accessline 102
    | [`cookjohn/zotero-mcp`](https://github.com/cookjohn/zotero-mcp) | 8/7 | integration, ai |
  • Network accessline 103
    | [`daeh/zotero-markdb-connect`](https://github.com/daeh/zotero-markdb-connect) | 8/7/6 | integration |
  • Network accessline 104
    | [`dvanoni/notero`](https://github.com/dvanoni/notero) | 8/7/6 | integration |
  • Network accessline 105
    | [`egh/zotxt`](https://github.com/egh/zotxt) | 7/6 | integration |
  • Network accessline 106
    | [`etShaw-zh/zotracer`](https://github.com/etShaw-zh/zotracer) | 7 | integration, visualization, productivity |
  • Network accessline 107
    | [`inciteful-xyz/inciteful-zotero-plugin`](https://github.com/inciteful-xyz/inciteful-zotero-plugin) | 8/7/6 | integration |
  • Network accessline 108
    | [`jyjulianwong/PolarRec-Zotero-Plugin`](https://github.com/jyjulianwong/PolarRec-Zotero-Plugin) | 7 | integration |
  • Network accessline 109
    | [`occasional16/researchopia`](https://github.com/occasional16/researchopia) | 9/8/7 | integration |
  • Network accessline 110
    | [`PubPeerFoundation/pubpeer_zotero_plugin`](https://github.com/PubPeerFoundation/pubpeer_zotero_plugin) | 8/7 | integration |
  • Network accessline 111
    | [`retorquere/zotero-better-bibtex`](https://github.com/retorquere/zotero-better-bibtex) | 8/7 | integration |
  • Network accessline 112
    | [`ScienceLiveHub/science-live-platform`](https://github.com/ScienceLiveHub/science-live-platform) | 7/8 | integration, metadata |
  • Network accessline 113
    | [`scitedotai/scite-zotero-plugin`](https://github.com/scitedotai/scite-zotero-plugin) | 7/6 | integration |
  • Network accessline 114
    | [`yueneiqi/zotero2eagle`](https://github.com/yueneiqi/zotero2eagle) | 8/7 | integration |
  • Network accessline 118
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`aidecameron/zotero-annotation-color-customizer`](https://github.com/aidecameron/zotero-annotation-color-customizer) | 7 | interface |
  • Network accessline 119
    | ------ | -------- | ------ | | [`aidecameron/zotero-annotation-color-customizer`](https://github.com/aidecameron/zotero-annotation-color-customizer) | 7 | interface | | [`alima-webdev/zotero-review-assistant`](https://github.com/alima-web
  • Network accessline 120
    | [`aidecameron/zotero-annotation-color-customizer`](https://github.com/aidecameron/zotero-annotation-color-customizer) | 7 | interface |
  • Network accessline 121
    | [`alima-webdev/zotero-review-assistant`](https://github.com/alima-webdev/zotero-review-assistant) | 7 | interface, visualization |
  • Network accessline 122
    | [`B3000Kcn/daily-folder-for-zotero`](https://github.com/B3000Kcn/daily-folder-for-zotero) | 8/7 | interface |
  • Network accessline 123
    | [`B3000Kcn/minimize-zotero-to-tray`](https://github.com/B3000Kcn/minimize-zotero-to-tray) | 8/7 | interface |
  • Network accessline 124
    | [`Dominic-DallOsto/zotero-annotations-count`](https://github.com/Dominic-DallOsto/zotero-annotations-count) | 8/7 | interface, visualization |
  • Network accessline 125
    | [`Dominic-DallOsto/zotero-pin-items`](https://github.com/Dominic-DallOsto/zotero-pin-items) | 8/7 | interface |
  • Network accessline 126
    | [`github-young/zotero-better-authors`](https://github.com/github-young/zotero-better-authors) | 8/7 | interface |
  • Network accessline 127
    | [`Qiujv/zotero-hashtags-column`](https://github.com/Qiujv/zotero-hashtags-column) | 8/7 | interface |
  • Network accessline 128
    | [`qiwei-ma/zotero-pdf-setHorizontal`](https://github.com/qiwei-ma/zotero-pdf-setHorizontal) | 8/7 | interface |
  • Network accessline 129
    | [`Rphone/zotero-tab-enhance`](https://github.com/Rphone/zotero-tab-enhance) | 7 | interface, productivity |
  • Network accessline 133
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`dawaltconley/zotero-center-pdf`](https://github.com/dawaltconley/zotero-center-pdf) | 8 | reader |
  • Network accessline 134
    | ------ | -------- | ------ | | [`dawaltconley/zotero-center-pdf`](https://github.com/dawaltconley/zotero-center-pdf) | 8 | reader | | [`forrtproject/fred_zotero`](https://github.com/forrtproject/fred_zotero) | 8 | reader |
  • Network accessline 135
    | [`dawaltconley/zotero-center-pdf`](https://github.com/dawaltconley/zotero-center-pdf) | 8 | reader |
  • Network accessline 136
    | [`forrtproject/fred_zotero`](https://github.com/forrtproject/fred_zotero) | 8 | reader |
  • Network accessline 137
    | [`ImperialSquid/zotero-zotts`](https://github.com/ImperialSquid/zotero-zotts) | 7 | reader |
  • Network accessline 138
    | [`Infinity4B/zotero-hjfy-split-reader`](https://github.com/Infinity4B/zotero-hjfy-split-reader) | 8 | reader, productivity |
  • Network accessline 139
    | [`jagaldol/zotero-cite-preview-resizer`](https://github.com/jagaldol/zotero-cite-preview-resizer) | 8 | reader |
  • Network accessline 140
    | [`mobench/zotero-annotation-links`](https://github.com/mobench/zotero-annotation-links) | 8 | reader |
  • Network accessline 141
    | [`MuiseDestiny/zotero-figure`](https://github.com/MuiseDestiny/zotero-figure) | 8/7/6 | reader, productivity |
  • Network accessline 142
    | [`q77190858/zotero-pdf-background`](https://github.com/q77190858/zotero-pdf-background) | 7/6 | reader |
  • Network accessline 143
    | [`quertt/zotero-keyword-highlighter`](https://github.com/quertt/zotero-keyword-highlighter) | 8 | reader |
  • Network accessline 144
    | [`taotaozsky2025-beep/zotero-var-highlighter`](https://github.com/taotaozsky2025-beep/zotero-var-highlighter) | 8/7 | reader, productivity |
  • Network accessline 145
    | [`windingwind/bionic-for-zotero`](https://github.com/windingwind/bionic-for-zotero) | 8/7 | reader |
  • Network accessline 149
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`ANGJustinl/zotero-plugin-hjfy`](https://github.com/ANGJustinl/zotero-plugin-hjfy) | 8 | attachment, productivity |
  • Network accessline 150
    | ------ | -------- | ------ | | [`ANGJustinl/zotero-plugin-hjfy`](https://github.com/ANGJustinl/zotero-plugin-hjfy) | 8 | attachment, productivity | | [`franzbischoff/zotero-pdf-metadata`](https://github.com/franzbischoff/zotero-pdf-metada
  • Network accessline 151
    | [`ANGJustinl/zotero-plugin-hjfy`](https://github.com/ANGJustinl/zotero-plugin-hjfy) | 8 | attachment, productivity |
  • Network accessline 152
    | [`franzbischoff/zotero-pdf-metadata`](https://github.com/franzbischoff/zotero-pdf-metadata) | 7/8/7 | attachment |
  • Network accessline 153
    | [`MuiseDestiny/zotero-attanger`](https://github.com/MuiseDestiny/zotero-attanger) | 8/7 | attachment |
  • Network accessline 154
    | [`nutstore/zotero-plugin-nutstore-sso`](https://github.com/nutstore/zotero-plugin-nutstore-sso) | 9/8/7 | attachment, integration |
  • Network accessline 155
    | [`redleafnew/delitemwithatt`](https://github.com/redleafnew/delitemwithatt) | 8/7/6 | attachment |
  • Network accessline 156
    | [`retorquere/zotero-open-pdf`](https://github.com/retorquere/zotero-open-pdf) | 8/7 | attachment |
  • Network accessline 157
    | [`SciImage/zotero-attachment-scanner`](https://github.com/SciImage/zotero-attachment-scanner) | 8/7 | attachment |
  • Network accessline 158
    | [`syt2/zotero-scipdf`](https://github.com/syt2/zotero-scipdf) | 8/7 | attachment | | [`Theigrams/zotero-pdf-custom-rename`](https://github.com/Theigrams/zotero-pdf-custom-rename) | 7 | attachment | | [`theRatramnus/Zotero-download-DigiVat
  • Network accessline 159
    | [`Theigrams/zotero-pdf-custom-rename`](https://github.com/Theigrams/zotero-pdf-custom-rename) | 7 | attachment | | [`theRatramnus/Zotero-download-DigiVatLib-pdf`](https://github.com/theRatramnus/Zotero-download-DigiVatLib-pdf) | 7 | attac
  • Network accessline 160
    | [`theRatramnus/Zotero-download-DigiVatLib-pdf`](https://github.com/theRatramnus/Zotero-download-DigiVatLib-pdf) | 7 | attachment |
  • Network accessline 161
    | [`wileyyugioh/zotmoov`](https://github.com/wileyyugioh/zotmoov) | 8/7 | attachment |
  • Network accessline 165
    | Repo | Zotero | Tags | |------|--------|------| | [`etShaw-zh/zotero-career-tracker`](https://github.com/etShaw-zh/zotero-career-tracker) | 8 | visualization |
  • Network accessline 166
    |------|--------|------| | [`etShaw-zh/zotero-career-tracker`](https://github.com/etShaw-zh/zotero-career-tracker) | 8 | visualization | | [`StevenGLee/zotero-author-browser`](https://github.com/StevenGLee/zotero-author-browser) | 7 | visua
  • Network accessline 167
    | [`etShaw-zh/zotero-career-tracker`](https://github.com/etShaw-zh/zotero-career-tracker) | 8 | visualization |
  • Network accessline 168
    | [`StevenGLee/zotero-author-browser`](https://github.com/StevenGLee/zotero-author-browser) | 7 | visualization |
  • Network accessline 172
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`ChenglongMa/zoplicate`](https://github.com/ChenglongMa/zoplicate) | 8/7/6 | favorite, metadata |
  • Network accessline 173
    | ------ | -------- | ------ | | [`ChenglongMa/zoplicate`](https://github.com/ChenglongMa/zoplicate) | 8/7/6 | favorite, metadata | | [`l0o0/jasminum`](https://github.com/l0o0/jasminum) | 8/7/6 | favorite, metadata |
  • Network accessline 174
    | [`ChenglongMa/zoplicate`](https://github.com/ChenglongMa/zoplicate) | 8/7/6 | favorite, metadata |
  • Network accessline 175
    | [`l0o0/jasminum`](https://github.com/l0o0/jasminum) | 8/7/6 | favorite, metadata |
  • Network accessline 176
    | [`MuiseDestiny/eaiser-citation`](https://github.com/MuiseDestiny/eaiser-citation) | 8/7/6 | favorite, writing |
  • Network accessline 177
    | [`MuiseDestiny/ZoteroStyle`](https://github.com/MuiseDestiny/ZoteroStyle) | 8/7/6 | favorite, interface, visualization |
  • Network accessline 178
    | [`MuiseDestiny/ZoteroStyle`](https://github.com/MuiseDestiny/ZoteroStyle) | 7/6 | favorite, interface, visualization |
  • Network accessline 179
    | [`northword/zotero-format-metadata`](https://github.com/northword/zotero-format-metadata) | 9/8/7/6 | favorite, metadata |
  • Network accessline 180
    | [`syt2/zotero-addons`](https://github.com/syt2/zotero-addons) | 8/7/6 | favorite, others |
  • Network accessline 181
    | [`volatile-static/Chartero`](https://github.com/volatile-static/Chartero) | 8/7/6 | favorite, visualization, interface |
  • Network accessline 182
    | [`windingwind/zotero-better-notes`](https://github.com/windingwind/zotero-better-notes) | 8/7/6 | favorite, notes |
  • Network accessline 183
    | [`windingwind/zotero-pdf-translate`](https://github.com/windingwind/zotero-pdf-translate) | 8/7/6 | favorite, productivity |
  • Network accessline 187
    | Repo | Zotero | Tags | |------|--------|------| | [`018/zotcard`](https://github.com/018/zotcard) | 7/6 | notes |
  • Network accessline 188
    |------|--------|------| | [`018/zotcard`](https://github.com/018/zotcard) | 7/6 | notes | | [`BlueBlueKitty/zotero-ainote`](https://github.com/BlueBlueKitty/zotero-ainote) | 8/7 | notes, ai, productivity |
  • Network accessline 189
    | [`018/zotcard`](https://github.com/018/zotcard) | 7/6 | notes |
  • Network accessline 190
    | [`BlueBlueKitty/zotero-ainote`](https://github.com/BlueBlueKitty/zotero-ainote) | 8/7 | notes, ai, productivity |
  • Network accessline 194
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`GOKORURI007/zotero-api-plus`](https://github.com/GOKORURI007/zotero-api-plus) | 8 | developer |
  • Network accessline 195
    | ------ | -------- | ------ | | [`GOKORURI007/zotero-api-plus`](https://github.com/GOKORURI007/zotero-api-plus) | 8 | developer | | [`introfini/mcp-server-zotero-dev`](https://github.com/introfini/mcp-server-zotero-dev) | 8 | developer |
  • Network accessline 196
    | [`GOKORURI007/zotero-api-plus`](https://github.com/GOKORURI007/zotero-api-plus) | 8 | developer |
  • Network accessline 197
    | [`introfini/mcp-server-zotero-dev`](https://github.com/introfini/mcp-server-zotero-dev) | 8 | developer |
  • Network accessline 198
    | [`retorquere/zotero-better-bibtex`](https://github.com/retorquere/zotero-better-bibtex) | 7 | developer |
  • Network accessline 199
    | [`windingwind/know-ur-zotero`](https://github.com/windingwind/know-ur-zotero) | 8/7 | developer |
  • Network accessline 203
    | Repo | Zotero | Tags | | ------ | -------- | ------ | | [`BryceWG/zotero-ai-tags`](https://github.com/BryceWG/zotero-ai-tags) | 8/7 | others |
  • Network accessline 204
    | ------ | -------- | ------ | | [`BryceWG/zotero-ai-tags`](https://github.com/BryceWG/zotero-ai-tags) | 8/7 | others | | [`david3684/zotero-tab-limiter`](https://github.com/david3684/zotero-tab-limiter) | 7 | others |
  • Network accessline 205
    | [`BryceWG/zotero-ai-tags`](https://github.com/BryceWG/zotero-ai-tags) | 8/7 | others |
  • Network accessline 206
    | [`david3684/zotero-tab-limiter`](https://github.com/david3684/zotero-tab-limiter) | 7 | others |
  • Network accessline 207
    | [`l0o0/tara`](https://github.com/l0o0/tara) | 8/7 | others |
  • Network accessline 208
    | [`UB-Mannheim/zotero-ocr`](https://github.com/UB-Mannheim/zotero-ocr) | 8/7 | others |
  • Network accessline 209
    | [`yhmtsai/KeepZotero`](https://github.com/yhmtsai/KeepZotero) | 7/6 | others |
  • Network accessline 210
    | [`zzlb0224/zotero-annotation-manage`](https://github.com/zzlb0224/zotero-annotation-manage) | 8/7 | others |

plugins/zotero-dev-rules/skills/zotero-dev-rules/references/translators.md

  • Network accessline 3
    Source: <https://www.zotero.org/support/dev/translators>, /translators/coding

plugins/zotero-dev-rules/skills/zotero-dev-rules/references/web-api.md

  • Network accessline 3
    Source: <https://www.zotero.org/support/dev/web_api/v3/{basics,write_requests,file_upload,types_and_fields,syncing,streaming_api,oauth}>
  • Network accessline 9
    - Base: `https://api.zotero.org` — **HTTPS required**.
  • Network accessline 69
    - `GET /items/new?itemType=book` — a template object pre-populated with the type's fields   (use this + `/itemTypes` when writing). - Full schema (all locales) for batch download: `https://api.zotero.org/schema`.
  • Network accessline 70
    (use this + `/itemTypes` when writing). - Full schema (all locales) for batch download: `https://api.zotero.org/schema`. - These endpoints accept `If-Modified-Since` and a `locale` parameter.
  • Network accessline 71
    - Full schema (all locales) for batch download: `https://api.zotero.org/schema`.
  • Network accessline 165
    Register an app at `https://www.zotero.org/oauth/apps` to get a Client Key + Secret. Endpoints:
  • Network accessline 167
    - Temporary credentials: `https://www.zotero.org/oauth/request`
  • Network accessline 168
    - Authorize (user): `https://www.zotero.org/oauth/authorize`
  • Network accessline 169
    [Credential-related source omitted]

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Declared and executed: 9 facts
Signal confidence: 491 facts

and 441 more

Only the first 500 facts are listed.

Works with

  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.