Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/ryanzhao1011/workframe/setupnpx skills add ryanzhao1011/workframe --skill setupgit clone --depth 1 https://github.com/ryanzhao1011/workframeWhat it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00088 | $0.12453 |
| Opus 5 | $0.00044 | $0.06227 |
| Sonnet 5 | $0.00018 | $0.02491 |
| Haiku 4.5 | $0.00009 | $0.01245 |
Grade A, and why
setup scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured yesterday.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 606 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Workframe 项目初始化
定位
Workframe 的唯一入口:在任意目录发起,创建新项目或接入存量项目,完成后由 core 插件接管项目内的日常工作。
本 skill 属用户级 workframe-launcher 插件,与项目级 core 插件分层:launcher 管「怎么开局」,core 管「项目里怎么干活」。
依赖方向(硬约束)
launcher 只能单向依赖 core,且只能通过 marketplace 注册信息定位 core:
读 ~/.claude/plugins/known_marketplaces.json → 取本市场 installLocation
→ 拼 <installLocation>/plugins/core/...
禁止用 ../ 一类相对路径向上找 core:插件安装时按插件逐个复制到缓存
(cache/<市场>/<插件>/<版本>/),launcher 的安装目录旁边不存在 core。
目录源(开发期)碰巧有兄弟目录,GitHub 源(用户侧)没有——该写法开发期能跑、发布后必坏。
定位脚本(每次执行前跑一次,一次拿到 CORE 根路径和市场源):
python - <<'PY'
import json, pathlib
km = json.loads((pathlib.Path.home()/".claude/plugins/known_marketplaces.json").read_text(encoding="utf-8"))
for name, meta in km.items():
loc = pathlib.Path(meta.get("installLocation", ""))
mf = loc/".claude-plugin"/"marketplace.json"
if not mf.exists():
continue
names = {p.get("name") for p in json.loads(mf.read_text(encoding="utf-8")).get("plugins", [])}
if not ({"core", "workframe-launcher"} <= names):
continue
src = meta.get("source") or {}
kind = src.get("source") or ("directory" if src.get("path") else "?")
origin = src.get("repo") or src.get("url") or src.get("path") or "?"
print(f"MARKET={name}\tCORE={loc/'plugins'/'core'}\tSOURCE={origin}\tKIND={kind}")
PY
命中 0 个 → 停下告知用户「未找到 workframe 市场,请先 claude plugin marketplace add <源>」。
命中 ≥2 个(用户同时有开发目录源与 GitHub 源)→ 用 AskUserQuestion 让用户选一个,不要自己挑。
SOURCE 就是 §5 步骤 2 里 claude plugin marketplace add <市场源> 要填的值——不要用
CORE 或 installLocation 顶替。三种形态:KIND=github 时 SOURCE 是 owner/repo;
KIND=git 时是仓库 URL;KIND=directory 时是本地绝对路径。
installLocation 对 github / git 源是本地缓存目录(~/.claude/plugins/marketplaces/<市场名>),
拿它当市场源写进项目 settings,等于把每台机器各不相同的缓存路径当成插件来源——
协作者 clone 后解析不到,core 装不上(doctor 的 subscription 项会报本地目录源告警,
但那时项目已经建好了)。KIND=directory 时同样要提醒用户该项目对协作者不可自动安装(见 §5.5)。
交互纪律(本 skill 内生效,不依赖项目 rules)
launcher 常在尚未接入 Workframe 的目录运行,此时项目 rules 尚不存在,以下纪律必须由本 skill 自带:
What ships with it
1 file beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- yesterday First seen · 606 lines · 88 tokens per session scan A 9e34c131646d
setup is a skill published in the GitHub repository ryanzhao1011/workframe (4 stars, last pushed 14d ago), licensed MIT. It adds 88 tokens to every session and 12,453 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other skills, from other repositories
check-understanding
Phase quiz for AI Engineering from Scratch. Trigger with "quiz me", "test phase", "check my understanding", "do I know phase 3", or /check-understanding .
find-your-level
Interactive quiz that maps your AI/ML knowledge to a starting point in the 260-lesson, 20-phase AI Engineering from Scratch curriculum. Trigger phrases: "where should I start", "find my level", "what do I know", "which phase", "assess my knowledge", "placement test", "skip ahead".
agent-memory-mcp
A hybrid memory system that provides persistent, searchable knowledge management for AI agents (Architecture, Patterns, Decisions).
eval-agents
Audit Claude Code agents defined in .claude/agents/ for description specificity, model tier appropriateness, tools scoping, and system prompt quality. Detects dispatch ambiguity between agents, flags over-permissive tool grants, and checks for human-in-the-loop patterns that break programmatic orchestration. Use when…
check-cache-bugs
Audit Claude Code setup for cache bugs (CC#40524): sentinel, --resume/--continue, attribution header + ArkNill B3/B4/B5.
autoresearch
Autonomous improvement loop: scan codebase metrics, scaffold experiment files, run agent-driven iterations until metric improves.