Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add mythkiven/figma-ios-codegen --skill figma-ios-image-assets-downloadgit clone --depth 1 https://github.com/mythkiven/figma-ios-codegenWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/mythkiven/figma-ios-codegen/figma-ios-image-assets-download)<a href="https://agentmods.dev/skills/mythkiven/figma-ios-codegen/figma-ios-image-assets-download"><img src="https://agentmods.dev/badge/skills/mythkiven/figma-ios-codegen/figma-ios-image-assets-download/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/mythkiven/figma-ios-codegen/figma-ios-image-assets-download"><img src="https://agentmods.dev/badge/skills/mythkiven/figma-ios-codegen/figma-ios-image-assets-download.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00108 | $0.01859 |
| Opus 5 | $0.00054 | $0.00929 |
| Sonnet 5 | $0.00022 | $0.00372 |
| Haiku 4.5 | $0.00011 | $0.00186 |
Grade A, and why
figma-ios-image-assets-download 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 11d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 159 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Figma 图片资源引用规范(消费数据包)
切图下载已由 figma-ios-preload-data 阶段 1 完成,阶段 2 只负责"拷贝 + 引用"。
数据来源
| 文件 | 用途 |
|---|---|
{data_dir}/assets/ios/manifest.json |
node_id → asset_name 映射 + 文件路径 |
{data_dir}/assets/ios/img_xxxxx_*.imageset/ |
iOS 标准 imageset(Contents.json + @2x.png + @3x.png) |
manifest.json 结构
{
"schema_version": "1.0.0",
"platform": "ios",
"scale": 3,
"download_failed_count": 0,
"items": {
"29:107": {
"node_id": "29:107",
"name": "去除图片文字 (9)",
"asset_name": "img_231f7_background",
"asset_id": "29-107",
"imageset_path": "img_231f7_background.imageset",
"files": [
{"scale": 2.0, "path": "img_231f7_background.imageset/[email protected]"},
{"scale": 3.0, "path": "img_231f7_background.imageset/[email protected]"}
]
}
}
}
imageset_path相对assets/ios/;files[].path也相对该平台目录。若download_failed: true出现在某 item 上,禁止UIImage(named:),改走下方 mock URL,并在 README 记警告。
集成步骤
Step 1:拷贝 imageset 到主工程
# 目标位置:主工程的 Assets.xcassets/<目标分组>/
cp -R {data_dir}/assets/ios/*.imageset <project>/Assets.xcassets/<group>/
Step 2:代码中引用
// Figma node: 29:107
imageView.image = UIImage(named: "img_231f7_background")
UIImage(named:)的字符串 =manifest.items[node_id].asset_name,禁止臆造。
Step 3:在生成的 README 中列出资源清单
## 图片资源
需要将以下 imageset 拷贝到主工程 Assets.xcassets:
- img_231f7_background.imageset ← Figma 节点 29:107 (去除图片文字 9)
- img_0642b_game_pubg.imageset ← Figma 节点 29:108 (PUBG)
- ...
服务器下发图片场景(统一用默认 mock URL)
触发条件
节点表现为图片,但本地没有切图可用——任一即触发:
fills含IMAGE类型,但节点没有export.settings(设计师未点 export)→figma-ios-preload-data不下载本地副本- 节点是
RECTANGLE/ELLIPSE等被填充 image 的占位形状(头像、封面图、品类卡片背景图等业务图) - 任何被识别为"图片表现但无 imageset 文件"的节点
业务上这一类几乎都是后端接口下发的真实图——发版时由业务接口注入,开发期需要 mock 演示。
✅ 统一规则:用数据包中的 mock.default_image_url
读 {data_dir}/manifest.json 的 mock.default_image_url(配置源是 config.json 的 default_mock_image_url,写入包时落在 mock 下):
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.
- 11d ago First seen · 159 lines · 108 tokens per session scan A 2cc5ca0b66d1
figma-ios-image-assets-download is a skill published in the GitHub repository mythkiven/figma-ios-codegen (9 stars, last pushed 2mo ago), licensed MIT. It adds 108 tokens to every session and 1,859 once invoked, about $0.0005 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
vercel-react-native-skills
React Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.
firebase-messaging
Use when setting up Firebase Cloud Messaging, managing permissions and tokens, handling background/foreground notification taps, or dispatching messages server-side (HTTP v1).
firebase-app-check
Use when implementing app attestation, configuring App Check providers, setting up debug tokens, enabling backend enforcement, or managing token refresh.
flutter-app-architecture
Use when scaffolding a project, refactoring into layers, creating view models/repositories, configuring dependency injection, or implementing unidirectional data flow (MVVM).
firebase-ai
Use when setting up firebaseai, generating text/chat with Gemini, streaming AI output, building multimodal prompts, or handling AI errors.
firebase-crashlytics
Use when implementing crash reporting, capturing fatal/non-fatal errors, recording isolate/async exceptions, customizing reports, or uploading obfuscated symbols.