Borrowing it
Nothing to install: this file belongs to ingen084/KyoshinEewViewerIngen. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.
curl -O https://raw.githubusercontent.com/ingen084/KyoshinEewViewerIngen/develop/.claude/skills/kevi-trimming-debug/SKILL.mdgit clone --depth 1 https://github.com/ingen084/KyoshinEewViewerIngenWrote 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/ingen084/kyoshineewvieweringen/kevi-trimming-debug)<a href="https://agentmods.dev/skills/ingen084/kyoshineewvieweringen/kevi-trimming-debug"><img src="https://agentmods.dev/badge/skills/ingen084/kyoshineewvieweringen/kevi-trimming-debug/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/ingen084/kyoshineewvieweringen/kevi-trimming-debug"><img src="https://agentmods.dev/badge/skills/ingen084/kyoshineewvieweringen/kevi-trimming-debug.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00078 | $0.00953 |
| Opus 5.5 | $0.00031 | $0.00381 |
| Sonnet 5.5 | $0.00016 | $0.00191 |
| Haiku 4.5 | $0.00008 | $0.00095 |
Grade A, and why
kevi-trimming-debug 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.
What it actually says
トリミング起因デシリアライズ不具合の調査
Instructions
GitHub Actionsのリリースビルド(self-contained + PublishTrimmed=true / TrimMode=partial)でのみ起きるデシリアライズ不具合を調べる際の手順。
前提: reproプロジェクトでは再現しないことがある
トリミング(ILLink)の到達可能性解析はエントリポイント基準で変わる。KyoshinEewViewer をProjectReferenceした別エントリの再現用コンソールプロジェクト(reproプロジェクト)では、Avalonia.Input.Cursor 等の依存型のコンストラクタ引数名が保持されてしまい、本番(Desktopエントリ)で消える不具合が再現しないことがある。「reproは全部成功するのに本番だけ失敗する」という乖離が実際に起きた。
→ 実Actions相当の検証は、reproプロジェクトを別途作らず KyoshinEewViewer.Desktop を必ずエントリにして行う。
dotnet publish src/KyoshinEewViewer.Desktop -p:PublishSingleFile=true --self-contained true
(common.props でR2R+trimが設定済み)
GUI起動の不安定さを避ける観測方法
Desktopエントリでの実publishはGUI起動が絡み、多重起動防止(FocusExistingInstanceOnDuplicate)・本番サーバー接続・起動時間で不安定になりがち。そこで Main 冒頭に一時的な観測モード(例: --gt-test のような専用フラグ)を仕込み、BuildAvaloniaApp().SetupWithoutStarting() の後、GUIを起動せず対象処理だけ実行してファイルに結果を書き出す方式が有効。
例外の可視化
ConfigurationLoader.TryDeserializeJson は例外を握り潰す実装になっている。原因究明時は一時的にcatch節へログ出力/ファイル書き出しを追加し、握り潰されている例外を可視化する。
過去の実例(参考)
実際にこの手順で見つかった原因は「Trigger/Actionの DisplayControl(Control型)がJSON型グラフに混入」というもので、以下の三重対処で解決済み:
- 各overrideへの
[JsonIgnore] WorkflowDisplayControlAnalyzer(KEVI001)WorkflowSerializeOptionのControl除外modifier
なお PublishSingleFile 自体は無関係(パス解決は Environment.GetFolderPath ベースで Assembly.Location に依存しないため)。
テンプレートが名前で読むものの扱い
ワークフローのテンプレート (Scriban) は実行時に名前で解決するので、トリミングの影響をテストプロジェクトでは検出できない。
- Scriban の組み込み関数: 消えると実行時エラーになる。
TrimmerRootAssemblyで丸ごと残している - .NET 標準型のメンバー: 消えてもエラーにならず空文字になる。
src/KyoshinEewViewer.Desktop/TrimmerRoots.xmlで型ごと残している。テンプレートへ渡す標準型を増やしたら、ここにも追加する - 結合テスト:
tests/IntegrationTest/profiles/workflows-smoke.jsonを実バイナリで実行して確認している
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 Changed · +8 lines eb660812080b
- 2mo ago First seen · 39 lines · 78 tokens per session scan A 1df04412c7ac
kevi-trimming-debug is a skill published in the GitHub repository ingen084/KyoshinEewViewerIngen (197 stars, last pushed yesterday), licensed MIT. It adds 78 tokens to every session and 953 once invoked, about $0.0003 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
kevi-trimming-debug compared with skills from other repositories
| Mod | Type | Stars | Last push | Licence | Scan | Tokens | Works with |
|---|---|---|---|---|---|---|---|
| kevi-trimming-debugingen084/KyoshinEewViewerIngen | Skill | 197 | yesterday | MIT | A | 78 | Claude Code |
| performance-optimization-dotnetpeterblazejewicz/claude-plugins | Skill | 8 | 4mo ago | MIT | A | 105 | Claude Code |
| debugging-and-error-recoverypeterblazejewicz/claude-plugins | Skill | 8 | 4mo ago | MIT | A | 84 | Claude Code |
| dotnet-reversezhaoxuya520/reverse-skill | Skill | 44k | 1mo ago | MIT | A | 144 | Claude Code |
| check-bin-obj-clashdotnet/skills | Skill | 5.8k | yesterday | MIT | A | 160 | Claude Code |
| winforms-expertdotnet/skills | Skill | 5.8k | yesterday | MIT | A | 137 | Claude Code |
| build-perf-diagnosticsdotnet/skills | Skill | 5.8k | yesterday | MIT | A | 133 | Claude Code |