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 lh17708357536-gif/flutter-cn-overseas-app-skills --skill observabilitygit clone --depth 1 https://github.com/lh17708357536-gif/flutter-cn-overseas-app-skillsWrote 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/lh17708357536-gif/flutter-cn-overseas-app-skills/observability)<a href="https://agentmods.dev/skills/lh17708357536-gif/flutter-cn-overseas-app-skills/observability"><img src="https://agentmods.dev/badge/skills/lh17708357536-gif/flutter-cn-overseas-app-skills/observability/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/lh17708357536-gif/flutter-cn-overseas-app-skills/observability"><img src="https://agentmods.dev/badge/skills/lh17708357536-gif/flutter-cn-overseas-app-skills/observability.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.02958 |
| Opus 5 | $0.00054 | $0.01479 |
| Sonnet 5 | $0.00022 | $0.00592 |
| Haiku 4.5 | $0.00011 | $0.00296 |
Grade A, and why
observability 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 12d 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 — 218 lines — stays where its author put it; the contents beside it link to each section on GitHub.
可观测性 Skill(多区域 Flutter + NestJS)
把"生产出了什么事"变得可见。分三层:崩溃/错误采集(前端)、结构化日志 + 追踪(后端)、健康/告警(运维)。所有
<PLACEHOLDER>替换为项目实际值。★ 多区域最大约束:cn flavor 禁 Firebase(对应
cn-android-flavor§1),所以 Crashlytics 不能进 cn 包。崩溃采集必须按 flavor 分流。
1. ★ Flavor 感知的崩溃采集(核心决策)
| flavor | 崩溃采集方案 | 理由 |
|---|---|---|
| cn_android | Sentry(可自托管国内) | 禁 Firebase → 不能用 Crashlytics;Sentry Dart SDK 无 Google 依赖 |
| overseas_android | Sentry 或 Firebase Crashlytics | 二选一;用 Sentry 可与 cn 统一后台 |
| iOS | Sentry 或 Crashlytics | 同上 |
推荐:三 flavor 统一用 Sentry(一个后台看全部,cn 可指向自托管实例;避免维护两套崩溃后台)。Crashlytics 仅在你已重度依赖 Firebase 生态时用于 overseas/iOS。
pubspec.yaml:
dependencies:
sentry_flutter: ^8.x.x
# 若 overseas/iOS 另用 Crashlytics(可选,且必须条件 import 隔离,勿进 cn):
# firebase_crashlytics: ^4.x.x
★ flavor 分流初始化(对应 flutter-coding-conventions §18 工厂模式):
// lib/core/config/crash_reporter_factory.dart
Future<void> initCrashReporter(Widget app) async {
final flavor = FlavorConfig.current;
final dsn = _dsnForFlavor(flavor); // 不同 flavor 不同 DSN/项目
await SentryFlutter.init(
(o) {
o.dsn = dsn;
o.environment = flavor.name; // cn_android / overseas_android / ios
o.release = '<APP_PACKAGE>@$appVersion+$buildNumber'; // ★ 与 pubspec 版本号绑定
o.tracesSampleRate = 0.2; // 性能追踪采样,按量调
o.beforeSend = _redactPII; // ★ 脱敏(第 5 节)
},
appRunner: () => runApp(app),
);
}
★ cn 的 DSN 指向自托管 Sentry(
sentry.<PROD_DOMAIN>),数据不出境、国内上报快;overseas/iOS 可用 Sentry SaaS。
手动上报业务错误 + breadcrumb:
try {
await api.callAI(...);
} catch (e, st) {
Sentry.addBreadcrumb(Breadcrumb(message: 'toolId=A1 action=generate', category: 'credits'));
await Sentry.captureException(e, stackTrace: st);
rethrow; // ★ 仍然 rethrow,不吞错(对应日志铁律)
}
2. release 与 buildNumber 绑定(不绑等于没上报)
崩溃如果不带 release 版本号,无法定位是哪个包。铁律:
o.release = '<pkg>@<versionName>+<buildNumber>',值从package_info_plus读,与pubspec.yaml(_shared/rules.md§3 唯一真相源)一致- 每次发版在 CI 里 上传 debug symbols / dSYM,否则堆栈是混淆后的乱码:
# release-mobile.yml 追加(Sentry) - run: | flutter build apk --flavor cn --release --split-debug-info=build/symbols --obfuscate ... - run: sentry-cli debug-files upload --include-sources build/symbols env: { SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} } - iOS dSYM:archive 后
sentry-cli upload-dif ios/build/...(或 Crashlytics 走upload-symbols)
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.
- 12d ago First seen · 218 lines · 108 tokens per session scan A 733fd88ce033
observability is a skill published in the GitHub repository lh17708357536-gif/flutter-cn-overseas-app-skills (20 stars, last pushed 2mo ago), licensed MIT. It adds 108 tokens to every session and 2,958 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-30.
Other skills, from other repositories
app-store-preflight-compliance
Pre-submission compliance scanner workflow for Apple App Store apps. Use when reviewing iOS, macOS, tvOS, watchOS, or visionOS projects (Swift, Objective-C, React Native, Expo) for App Store rejection risks, submission readiness, privacy compliance, or guideline violations.
greenlight
It now lives at skills/greenlight/SKILL.md.
aso-playbook
Beginner-friendly App Store Optimization guide covering keyword research, screenshot design, rating management, and A/B testing for iOS and Android. By @WeiYipei — practical ASO for indie developers and small teams.
gingiris-aso-growth
A broad guide to growing mobile apps through App Store Optimization, launch planning, creator-made content, and marketing on platforms such as TikTok, Instagram, and YouTube Shorts.
gr-aso
A skill for app-store optimization, or improving how an app is found and presented in the App Store and Google Play, plus launch planning for a new app. It covers listing text, screenshots and video, ratings, creator content, advertising, and localization.
app-paywall-pilot
Design, audit, debug, and implement App Store-compliant mobile paywalls, subscription flows, pricing screens, trials, offers, feature gates, and subscription lifecycle UX. Use when the user asks to audit my paywall, fix App Store 3.1.2 rejection, improve trial-to-paid, choose plans/prices/trials, review…