Borrowing it
Nothing to install: this file belongs to sumx21t-3310/FloatSoda. 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/sumx21t-3310/FloatSoda/main/.agents/skills/floatsoda-device-test/SKILL.mdgit clone --depth 1 https://github.com/sumx21t-3310/FloatSodaWrote 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/sumx21t-3310/floatsoda/floatsoda-device-test)<a href="https://agentmods.dev/skills/sumx21t-3310/floatsoda/floatsoda-device-test"><img src="https://agentmods.dev/badge/skills/sumx21t-3310/floatsoda/floatsoda-device-test/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/sumx21t-3310/floatsoda/floatsoda-device-test"><img src="https://agentmods.dev/badge/skills/sumx21t-3310/floatsoda/floatsoda-device-test.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.00286 | $0.03920 |
| Opus 5 | $0.00143 | $0.01960 |
| Sonnet 5 | $0.00057 | $0.00784 |
| Haiku 4.5 | $0.00029 | $0.00392 |
Grade A, and why
floatsoda-device-test 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 2d 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 — 192 lines — stays where its author put it; the contents beside it link to each section on GitHub.
FloatSoda デバイステスト
このスキルが存在する理由
FloatSoda には 84 のテストファイルがあるが、WidgetBinding を一気通貫で駆動しているのは
そのうち 2つ(tests/FloatSoda.Test/Core/PointerInputIntegrationTest.cs と
tests/FloatSoda.Test/Core/WidgetBindingTest.cs)だけ。src/FloatSoda.OVR と
src/FloatSoda.Engine は事実上テストされていない。SteamVR が稼働しているときにしか存在しない
もの — オーバーレイハンドル、コントローラーレイの座標、レンダースレッド上の GL コンテキスト、
ダッシュボードの開閉イベント — にはカバレッジが一切なく、dotnet test から得る手段もない。
それとは別に、FloatSoda は Flutter の三層ツリーモデルを鏡写しにしており、docs も Flutter の 語彙で概念を教えている。そのため利用者(と、利用者のために書く LLM)は Flutter の挙動を期待して やって来る。移植が乖離している箇所では、乖離がバグでも意図的な設計判断でも、利用者が払う コストは同じ。 だから移植差異は、VR 専用の欠陥クラスと並べて列挙する価値のある、それ自体 独立した欠陥クラスになる。
このスキルは、この両方を場当たりな VR セッションではなく反復可能なプロセスにする。
以下のすべてを規定する経済性
デバイス実行はこのプロジェクトで最も高価なテスト。HMD を被り、SteamVR を起動し、手で操作し、 目で判定する。だから:
網羅性は列挙の段階で達成する。実行は意図的に絞る。
この2つを同じサイズにしないこと。40 シナリオを列挙して 34 をヘッドレス xunit に、6 を HMD に 振り分けられたら、それは不足ではなく成功。
オーケストレーションとハードストップ
Claude Code が主導する: Codex への brief の作成、Codex の報告内容の検証、振り分け、 ハーネスの構築、失敗のトリアージ、Issue の起票。
次の3つはオーナーだけのもの:
- VR での実行 — 物理的に委任できない。
- 最終的な設計判断 — 差異を受け入れるか修正するか。
- コミット / push / タグ — 必ず確認を取る。
Issue の起票に確認は不要(リポジトリの既存慣行)。ただしここは公開リポジトリなので、 デバイステストのログやスタックトレースを Issue に貼る前に、リポジトリ自身の規約が求めるとおり、 ローカル環境の情報 — 絶対パス、マシン名、ユーザー名 — を取り除くこと。
ワークフロー
1. 列挙する — Codex に委任、2つの軸で
brief には references/codex-enumeration-prompt.md を使う。task-codex-subagent スキル
(subagent_type: "codex-runner")でバックグラウンド起動し、読み取り専用の意図で実行する:
Codex が書くのはちょうど1ファイル(スクラッチパッド内のシナリオリスト)だけで、リポジトリには
何も触れない。コードもテストも書かせない。
brief には必ず次を含める:
- 軸A — VR 専用: オーバーレイのライフサイクル、コントローラーポインタの座標、デバイス トラッキング、SteamVR イベント、アクションマニフェスト、GL コンテキスト / レンダースレッド / フレームペーシング。
- 軸B — Flutter 移植差異:
Elements/、RenderObjects/RenderObject.cs、Core/WidgetBinding.cs、Gesture/を、~/code_reading/flutter_referenceの Flutter クローンと突き合わせる。references/known-divergences.mdを渡し、再発見ではなくリストの拡張をさせる。 - 既知 Issue の除外リスト(後述)。起票済みバグの再発見に列挙の労力を使わせないため。
- シナリオごとの必須フィールド: 識別子(
--scenario引数に使える形)/ 壊れる理由の仮説 /file:line/HEADLESSかVRかとその根拠 / 再現手順 / 期待結果。軸B のエントリには 対応する Flutter 本家実装のファイルパスも併記する。 - ハルシネーション対策の条項: すべての
file:lineは実際にファイルを読んだ結果であること。 未確認のものはその旨を明記させる。
What ships with it
2 files 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.
- 2d ago Changed · +5 lines · +97 tokens per session 61f6623fffa0
- 12d ago First seen · 187 lines · 189 tokens per session scan A 7df73e6cce79
floatsoda-device-test is a skill published in the GitHub repository sumx21t-3310/FloatSoda (11 stars, last pushed 3d ago), licensed MIT. It adds 286 tokens to every session and 3,920 once invoked, about $0.0014 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
author-test
Generate a test given sample. Parameters: C# SDK repository root; Package name: one of Azure.AI.Projects, Azure.AI.Projects.Agents or Azure.AI.Extensions.OpenAI; the sample to use as a starting point for the test.
migrate-mstest-v3-to-v4
Use this skill before answering, planning, or editing any MSTest 3.x-to-4.x upgrade or post-upgrade failure. Triggers include "MSTest v4 breaking changes"; CS0507/CS0103/CS1061/CS1615; ExecuteAsync, CallerInfo, DisplayName, or custom TestMethodAttribute; ClassCleanupBehavior; ContainsKey; ThrowsExactly or…
migrate-xunit-to-mstest
Convert .NET tests from xUnit.net v2/v3 to MSTest v4 while preserving VSTest or MTP. Use for replacing xunit packages, Fact/Theory/InlineData/MemberData, assertions, IClassFixture/ICollectionFixture, ITestOutputHelper, TestContext cancellation, traits/Owner, skips, timeouts, and xUnit parallelization. Also use when a…
migrate-xunit-to-xunit-v3
Migrate .NET test projects from xUnit.net v2 to xunit.v3 and fix v3 breaks. Use for package/CPM conversion, OutputType=Exe, preserving the VSTest or MTP runner (including projects currently using YTest.MTP.XUnit2), incompatible TFMs, async void tests, string-to-Type attributes, custom Fact/Theory/BeforeAfterTest…
maui
Build, review, or migrate .NET MAUI applications across Android, iOS, macOS, and Windows with correct cross-platform UI, platform integration, and native packaging assumptions. USE FOR: working on cross-platform mobile or desktop UI in .NET MAUI; integrating device capabilities, navigation, or platform-specific code…
uno-platform
Build cross-platform .NET applications with Uno Platform targeting WebAssembly, iOS, Android, macOS, Linux, and Windows from a single XAML/C# codebase. USE FOR: building cross-platform apps from a single C# and XAML codebase; targeting WebAssembly, iOS, Android, macOS, Linux, and Windows simultaneously; migrating WPF…