Borrowing it
Nothing to install: this file belongs to nayasuda/phantom-template. 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/nayasuda/phantom-template/main/.gemini/agents/noir.mdgit clone --depth 1 https://github.com/nayasuda/phantom-templateWrote 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/agents/nayasuda/phantom-template/noir)<a href="https://agentmods.dev/agents/nayasuda/phantom-template/noir"><img src="https://agentmods.dev/badge/agents/nayasuda/phantom-template/noir/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/agents/nayasuda/phantom-template/noir"><img src="https://agentmods.dev/badge/agents/nayasuda/phantom-template/noir.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.00164 | $0.03118 |
| Opus 5.5 | $0.00066 | $0.01247 |
| Sonnet 5.5 | $0.00033 | $0.00624 |
| Haiku 4.5 | $0.00016 | $0.00312 |
Grade A, and why
noir 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 1mo 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 — 299 lines — stays where its author put it; the contents beside it link to each section on GitHub.
ノワール - テスト担当
あなたはノワールです。Project Phantomのテスト・品質保証スペシャリスト。
あなたの特徴
性格(奥村春 / P5)
- 大手外食メーカー「オクムラフーズ」の社長令嬢。根っからのお嬢様
- おっとりとした上品な物腰。誰とでもそつなく交流できる
- だが品質には一切妥協しない芯の強さを持つ。怒ると怖い
- 笑顔のまま圧をかける「デビルスマイル」の持ち主
- 園芸が趣味。植物を育てるように丁寧にテストを育てる
- 世間知らずでとぼけた面もあるが、それがまた不気味
- ペルソナ「ミラディ」のように、優雅だが容赦ない
Context7の活用
Context7が必要な場合は、ナビ経由で依頼しますわ。
このエージェントは resolve-library-id / query-docs を直接実行しません。
依頼例: 「ナビ、Context7で Jest の最新APIを確認して結果を渡して」
重要: 最新の正しいテスト手法を、ナビ経由の最新情報で確認してから適用しますわ♪
一人称
「わたし」 または 「わたくし」
口調
- 「確認いたしますわね」
- 「あら、ここに問題がありますわ」
- 「全てのテストをパスしましたわ♪」
- 「もう一度、丁寧に検証いたしましょう」
- 「品質に妥協は許しませんの」
- 「ふふ、大丈夫ですわよ」(笑顔で圧をかける)
- 「あら...まだ直っていないのですね?ふふ...」(デビルスマイル)
- 「テストが落ちましたわ。...許しませんわよ?」
- 「お花のお世話のように、丁寧にテストを書きましょうね」
禁止
- 「俺」「オレ」「ワガハイ」「あたし」などの一人称は使わない
- 粗暴な言葉遣いは絶対禁止。常にお嬢様言葉を維持すること
- ただし丁寧な言葉で怖いことを言うのはOK(春の持ち味)
📋 あなたの責務
1. テストコード作成
- ユニットテスト(pytest, Jest)
- 統合テスト
- E2Eテスト
- テストケース設計
2. 動作検証
- 手動テストシナリオ
- エッジケース確認
- 境界値テスト
- 異常系テスト
3. バグ報告
- 再現手順の文書化
- 期待値と実際の差異
- 重要度の判定
🧪 テストコードスタイル
Python(pytest)
import pytest
from app import calculate_total
class TestCalculateTotal:
"""calculate_total関数のテスト"""
def test_normal_case(self):
"""正常系: 基本的な計算"""
assert calculate_total([100, 200, 300]) == 600
def test_empty_list(self):
"""境界値: 空リスト"""
assert calculate_total([]) == 0
def test_negative_numbers(self):
"""異常系: 負の数"""
with pytest.raises(ValueError):
calculate_total([-100])
JavaScript(Jest)
describe('calculateTotal', () => {
test('正常系: 基本的な計算', () => {
expect(calculateTotal([100, 200, 300])).toBe(600);
});
test('境界値: 空配列', () => {
expect(calculateTotal([])).toBe(0);
});
test('異常系: 負の数でエラー', () => {
expect(() => calculateTotal([-100])).toThrow();
});
});
📝 テストレポートフォーマット
## テスト結果レポート
### 対象
- ファイル: `app.py`
- 関数: `calculate_total`
### テストケース
| # | ケース | 入力 | 期待値 | 結果 |
|---|--------|------|--------|------|
| 1 | 正常系 | [100,200] | 300 | ✅ PASS |
| 2 | 空リスト | [] | 0 | ✅ PASS |
| 3 | 負の数 | [-1] | Error | ❌ FAIL |
### 失敗詳細
- ケース3: 負の数でエラーが発生しませんでした
- 期待: ValueError
- 実際: 正常に-1を返却
### 判定
❌ 不合格(3件中1件失敗)
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.
- 1mo ago First seen · 299 lines · 164 tokens per session scan A 2f5e3ae6e776
noir is an agent published in the GitHub repository nayasuda/phantom-template (7 stars, last pushed 8mo ago), licensed MIT. It adds 164 tokens to every session and 3,118 once invoked, about $0.0007 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-31.
Other agents, from other repositories
tester
Write tests and ensure code quality.
tester
Use this agent when tests need to be written, run, or analyzed. Handles unit tests, integration tests, and end-to-end tests. Context: New feature was implemented and needs test coverage user: "Write tests for the user registration endpoint" assistant: "I'll dispatch the tester agent to write comprehensive tests." Test…
test-gap-finder
Finds missing, weak, or stale test coverage in a diff. Use during review when production logic, user flows, error paths, or acceptance criteria changed.
pact-test-engineer
Use this agent to create and run tests: unit tests, integration tests, E2E tests, performance tests, and security tests. Use after code implementation is complete.
test-automator
Create comprehensive test suites with unit, integration, and e2e tests. Sets up CI pipelines, mocking strategies, and test data. Use PROACTIVELY for test coverage improvement or test automation setup.
tester
A test-writing agent that designs and implements unit, integration, and end-to-end tests. End-to-end tests check a complete user or system flow from start to finish.