本文へ移動
cccskills
無料GitHub で公開日本語紹介

test-quality

Cataclysm-BNの自動テストを追加・レビューし、決定的なテストデータや状態の後片付けを使って、環境や実行順に左右されにくいテストを整えます。

原文原文の説明を見る

Write or review Cataclysm-BN tests that avoid flakes, use deterministic fixtures, and clean up global state.

cataclysmbn/Cataclysm-BNスター 1,285(GitHub 1,285 + cccskills 0)

実行スコア 未検証

インストール方法を見る

こんなときに便利

  • 不安定な自動テストを調査したいとき
  • 再現性のあるテストデータを選びたいとき
  • グローバル状態を扱うテストを追加するとき
  • CIと同じ条件で修正を確認したいとき

日本語での紹介

できること

Cataclysm-BNの自動テストを追加・変更・レビューするときに、テスト結果が実行環境や順序に左右されないよう確認します。実装の細部ではなく、ひとつの振る舞いの契約を検証し、変化しやすいデータにはdata/mods/TEST_DATAの固定フィクスチャを使う方針を示します。乱数や時刻、ロケール、ファイル順、グローバル設定に依存する判定を避け、報告された不安定な失敗は同じ--rng-seedで再現します。CI失敗時はログから対象コマンドや分割条件を確認し、同じ条件で最終状態を検証します。

こんなときに便利

テストが時々失敗する原因を調べたいときや、グローバル状態を変更するテストを安全に追加したいときに役立ちます。マップ、NPC、乱数、オプション、LuaとC++の連携など、後続テストに影響しやすい対象を扱う場合にも向いています。

使い方の例

  • 「このテストが不安定になる要因を確認して修正案を出して」
  • 「グローバル状態を復元する形で、この振る舞いのテストを追加して」
  • 「CIで失敗したテストを同じ分割条件で検証して」

注意点

特記事項はありません。

この紹介文は、公開されている SKILL.md をもとに AI(OpenAI Codex)が作成しました。正確な仕様は下の原文を確認してください。

含まれるファイル(1)

  • SKILL.md1.9 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Test Quality

Use when adding or changing automated tests.

Gates

  • Test one behavior contract, not incidental implementation details.
  • Use deterministic fixtures from data/mods/TEST_DATA for data with random, balance, or evolving behavior.
  • Avoid assertions that rely on probability, wall-clock time, locale, file order, or current global options unless the test pins them.
  • Reproduce reported flakes with the failing --rng-seed before accepting the fix.
  • When CI test jobs fail, inspect the job log for the exact test command, filters, shard split, user-dir, order-sensitive included tests, --rng-seed, and backend flags. Run that same shard command on the final rebased HEAD before declaring the fix validated; do not substitute a narrower tag filter or a different full-test command.
  • Before pushing test fixes that touch global state, NPCs, maps, overmaps, player position, RNG, options, or fixtures, run both the relevant focused test and the CI-equivalent shard/full command that can expose state bleed from earlier tests.
  • Keep Lua/C++ integration tests on real bound objects when the binding behavior is under test.
  • Expected DebugLog(DL::Error, ...) still makes the test process fail even when assertions pass. Use capture_debug_errors_during for the injected failure only and assert its exact messages; never clear the global observed-error flag or disable the test runner's error check.

Cleanup

  • Restore global state with restore_on_out_of_scope for calendar, options, globals, and singleton state.
  • Use clear_map() and explicit player placement when map contents matter.
  • Do not leave creatures, items, hooks, worlds, temp files, or option changes that can affect later tests.
  • Prefer new TEST_DATA fixtures over mutating base-game data in the test body.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

コメント

ログインなしで書き込めます。使ってみた感想、質問、動かなかった環境などを気軽にどうぞ。

まだコメントはありません。最初のコメントを書いてみませんか。

送信するとすぐに公開されます。メールアドレスや電話番号などの個人情報は書かないでください。URL は 2 つまでです。

0 / 1000 文字

このフォームは reCAPTCHA で保護されており、Google のプライバシーポリシーと利用規約が適用されます。

同じリポジトリのスキル

add-lua-binding-api

無料概要あり

Cataclysm-BNのC++側で、ゲーム機能や定数、コールバックなどをLuaから呼び出せるAPIとして登録するスキルです。

  • Luaからマップ操作を呼び出したいとき
  • Lua APIに定数を追加したいとき
  • Luaからコールバックを登録したいとき
cataclysmbn/Cataclysm-BN1,2852026年10月27日 更新

add-lua-binding-complex

無料概要あり

複雑なC++クラスをLuaから利用できるように、メソッドや継承、プロパティ、演算子、オブジェクトの所有権を含むバインディングの追加を支援します。

  • C++クラスをLuaに公開したいとき
  • 継承を含むバインディングを追加したいとき
  • Lua向けのプロパティや演算子を登録したいとき
cataclysmbn/Cataclysm-BN1,2852026年10月27日 更新

add-lua-binding-simple

無料概要あり

C++の`string_id`や列挙型、読み取り専用の基本型をLuaへ公開するためのバインディング追加手順を示し、登録と動作確認を支援します。

  • C++のID型をLuaに公開したいとき
  • 列挙型をLuaスクリプトで使いたいとき
  • 基本クラスの読み取り専用バインディング追加
cataclysmbn/Cataclysm-BN1,2852026年10月27日 更新

changelog-gen

無料概要あり

Gitの指定範囲に含まれる変更を調べ、英語・韓国語・日本語のゲーム更新履歴を作成・同期します。プレイヤー向けの項目整理や画像・動画の掲載にも対応します。

  • Gitの差分から更新履歴を作りたいとき
  • 複数言語のリリースノートを整えたいとき
  • 関連する変更をまとめて掲載したいとき
cataclysmbn/Cataclysm-BN1,2852026年10月27日 更新

deno-script

無料概要あり

Cataclysm-BN向けのDeno/TypeScriptスクリプトを、プロジェクトの規約に沿って作成・修正します。CLIや移行処理、コード生成、Gitフックなどの実装を支援します。

  • Deno製のCLIを作りたいとき
  • データ移行スクリプトを書きたいとき
  • コードやドキュメントを生成したいとき
cataclysmbn/Cataclysm-BN1,2852026年10月27日 更新

i18n-context

無料概要あり

同じ英語文字列が文脈によって異なる意味になる場合に、gettextの文脈情報を追加し、対象言語のPO翻訳を修正するスキルです。

  • 同じラベルを用途ごとに訳し分けたいとき
  • JSON翻訳に文脈を加えたいとき
  • PO翻訳を更新して検証したいとき
cataclysmbn/Cataclysm-BN1,2852026年10月27日 更新

cataclysmbn のスキルをすべて見る

このスキルの問題を報告する