Agent Skills by ALSEL
Anthropic Claudeビジネス・経営⭐ リポ 7品質スコア 64/100

chemical-storage-sorter

化学薬品の相性を判定し、安全な実験室保管を実現します。酸、塩基、酸化剤、可燃物などの相性の悪い化学薬品を分離することで危険な反応を防ぎ、安全規制に準拠した保管方法を提案できます。

description の原文を見る

Sort chemicals by compatibility for safe laboratory storage. Prevents dangerous reactions by segregating incompatible chemicals (acids, bases, oxidizers, flammables) and provides storage recommendations compliant with safety regulations.

SKILL.md 本文

化学薬品保管分類ツール

化学的相互作用性と危険物分類に基づいて、実験室の化学薬品を安全な保管グループに整理します。相容性のない化学物質のペアを識別し、OSHA、NFPA、および機関の安全基準に準拠した分離ガイドラインを提供することで、危険な反応を防止します。

主な機能:

  • 自動化学分類: 化学薬品を危険物グループ(酸、塩基、酸化剤、可燃物、毒性物質)に分類
  • 相互作用チェック: 一緒に保管すると危険に反応する可能性のある相容性のない化学物質のペアを特定
  • 保管グループ化: 化学薬品在庫を自動的に安全な保管配置に分類
  • 安全警告: 相容性のない保管組み合わせと危険な相互作用について警告を生成
  • 規制準拠: OSHA および NFPA ガイドラインに従った標準的な化学物質分離ルールに準拠

使用時期

✅ 以下の場合に使用してください:

  • 新しい実験室保管システムの設定と化学薬品在庫の整理が必要な場合
  • EHS(環境・保健・安全)検査または準拠監査の準備
  • 既存の化学薬品保管エリアの再配置または再整理
  • 化学薬品の在庫管理と現在の保管配置の安全性チェック
  • 新しいラボメンバーへの研修と化学薬品保管安全の指導
  • 化学薬品事故調査で不適切な保管または反応が関係している場合
  • 化学薬品取り扱いおよび保管に関する**標準操作手順(SOP)**の作成

❌ 以下の場合には使用しないでください:

  • 不明な化学組成またはラベルのないコンテナ → 最初に EHS に適切な特定を依頼してください
  • 保管用の特定の温度要件 → 専門の温度監視ツールを使用してください
  • 放射性物質またはバイオハザードの取り扱い → これらの物質に関する専門プロトコルに従ってください
  • 化学薬品の処分方法の検索 → 処分手順には waste-disposal-guide を使用してください
  • **SDS(安全データシート)**の検索 → 詳細な化学情報には safety-data-sheet-reader を使用してください
  • 化学薬品在庫追跡の計画 → 数量および場所追跡には lab-inventory-tracker を使用してください

関連スキル:

  • 上流: safety-data-sheet-reader, chemical-structure-converter
  • 下流: lab-inventory-tracker, waste-disposal-guide

他のスキルとの統合

上流スキル:

  • safety-data-sheet-reader: SDS から化学的性質と危険物分類を取得
  • chemical-structure-converter: 正確な分類のために構造または名前から化学クラスを特定

下流スキル:

  • lab-inventory-tracker: 化学薬品を分類して割り当てた後、保管場所を記録
  • waste-disposal-guide: 除去が必要な相容性のない化学薬品の処分要件を特定
  • equipment-maintenance-log: 安全キャビネットの検査とメンテナンスを追跡

完全なワークフロー:

化学在庫 → safety-data-sheet-reader → chemical-storage-sorter → lab-inventory-tracker → 安全保管

主要機能

1. 危険物グループ別の化学分類

化学名、分子式、またはキーワードに基づいて化学薬品を標準危険物カテゴリに自動分類します。

from scripts.main import ChemicalStorageSorter

sorter = ChemicalStorageSorter()

# 個別の化学薬品を分類
chemicals = [
    "Hydrochloric acid",
    "Sodium hydroxide",
    "Hydrogen peroxide 30%",
    "Ethanol",
    "Sodium chloride"
]

for chem in chemicals:
    group = sorter.classify_chemical(chem)
    print(f"{chem}: {group}")

# 出力:
# Hydrochloric acid: acids
# Sodium hydroxide: bases
# Hydrogen peroxide 30%: oxidizers
# Ethanol: flammables
# Sodium chloride: general

危険物グループ:

グループ主な危険性保管要件
HCl、H₂SO₄、HNO₃、酢酸腐食性、反応性酸キャビネット、二次保持容器
塩基NaOH、KOH、アンモニア、アミン腐食性、腐食剤塩基キャビネット、酸と分離
酸化剤H₂O₂、KMnO₄、硝酸塩、次亜塩素酸塩火災/爆発リスク冷暗所、有機物から遠く
可燃物エタノール、メタノール、アセトン、ヘキサン火災危険可燃物保管キャビネット
毒性物質シアン化物、水銀、ヒ素化合物毒性、生物濃縮ロック式キャビネット、アクセス限定
一般NaCl、PBS、スクロース、グリセロール低危険一般的な保管

分類キーワード:

グループキーワードトリガー
acid、hcl、sulfuric、nitric、acetic、citric、formic
塩基hydroxide、naoh、koh、ammonia、amine、carbonate
可燃物ethanol、methanol、acetone、ether、hexane、toluene、benzene
酸化剤peroxide、permanganate、hypochlorite、nitrate、chlorate、perchlorate
毒性物質cyanide、mercury、arsenic、lead、cadmium、thallium

ベストプラクティス:

  • 完全な化学名を使用して最も正確な分類を実現
  • 濃度を含める(例:「過酸化水素30%」対「3%」)
  • 曖昧な化学薬品を手動でチェックして分類が正しいかどうかを確認
  • キーワードリストを更新してデフォルトデータベースにないラボ固有の化学薬品に対応

一般的な問題と解決策:

問題: 化学薬品が認識されない

  • 症状: 危険性が高いのに「一般」として分類される
  • 解決策: より具体的な化学名を使用。ラボ固有の化合物のカスタムキーワードを追加

問題: 類似した名前の誤分類

  • 症状: 「アセテート」キーワードのため「酢酸ナトリウム」が酸として分類される
  • 解決策: 分類結果をチェック。必要に応じて手動で上書き

2. 化学薬品間の相互作用チェック

2つの化学薬品が危険な反応のリスクなく一緒に安全に保管できるかどうかを判定します。

from scripts.main import ChemicalStorageSorter

sorter = ChemicalStorageSorter()

# 確認する化学薬品ペア
pairs_to_check = [
    ("Hydrochloric acid", "Sodium hydroxide"),
    ("Ethanol", "Hydrogen peroxide"),
    ("Sodium chloride", "Potassium chloride"),
    ("Nitric acid", "Acetone")
]

for chem1, chem2 in pairs_to_check:
    compatible, message = sorter.check_compatibility(chem1, chem2)
    status = "✅ 相容性あり" if compatible else "❌ 相容性なし"
    print(f"{chem1} + {chem2}: {status}")
    if not compatible:
        print(f"   警告: {message}")

# 出力:
# Hydrochloric acid + Sodium hydroxide: ❌ 相容性なし
#    警告: 相容性なし: 酸は塩基と一緒に保管できません
# Ethanol + Hydrogen peroxide: ❌ 相容性なし
#    警告: 相容性なし: 可燃物は酸化剤と一緒に保管できません
# Sodium chloride + Potassium chloride: ✅ 相容性あり
# Nitric acid + Acetone: ❌ 相容性なし

相互作用行列:

化学グループ相容性のない物質反応リスク
塩基、酸化剤、シアン化物、硫化物激しい中和、有毒ガス発生
塩基酸、酸化剤、ハロゲン化化合物発熱、分解
酸化剤可燃物、酸、塩基、還元剤火災、爆発、激しい反応
可燃物酸化剤、酸火災、燃焼促進
毒性物質酸、酸化剤有毒ガス放出、危険増加

ベストプラクティス:

  • すべての新しい化学薬品をチェックしてから保管配置
  • 相容性のないグループ間には最低3フィートの分離を使用
  • 高反応性のペアについては二次保持容器を検討
  • エンジニアリング管理が実施されている例外を文書化

一般的な問題と解決策:

問題: 偽陽性相互作用

  • 症状: ツールは相容性があると言うが、化学薬品は実際に反応する
  • 原因: 一般的なルールに含まれていない特定の相互作用がない
  • 解決策: 常に SDS で特定の相互作用を参照。これを最初のチェックのみとして使用

問題: 曖昧な相互作用

  • 症状: 境界線上のケースで「予防措置付きで相容性あり」というメッセージ
  • 解決策: 安全側の判断をする。別に保管するか EHS に相談

3. 自動化学保管グループ化

危険物分類に基づいて、化学薬品全体の在庫を安全な保管グループに分類します。

from scripts.main import ChemicalStorageSorter

sorter = ChemicalStorageSorter()

# サンプルラボ在庫
inventory = [
    "Hydrochloric acid (conc.)",
    "Sodium hydroxide pellets",
    "Ethanol 95%",
    "Acetone",
    "Hydrogen peroxide 30%",
    "Potassium permanganate",
    "Sodium chloride",
    "PBS buffer",
    "Glycerol",
    "Sulfuric acid",
    "Ammonium hydroxide",
    "Methanol",
    "Hexane",
    "Mercury(II) chloride"
]

# 保管グループに分類
groups = sorter.sort_chemicals(inventory)

# 結果を表示
for group, chemicals in groups.items():
    if chemicals:
        print(f"\n{group.upper()} 保管:")
        for chem in chemicals:
            print(f"  • {chem}")

保管グループ出力:

酸 保管:
  • Hydrochloric acid (conc.)
  • Sulfuric acid

塩基 保管:
  • Sodium hydroxide pellets
  • Ammonium hydroxide

酸化剤 保管:
  • Hydrogen peroxide 30%
  • Potassium permanganate

可燃物 保管:
  • Ethanol 95%
  • Acetone
  • Methanol
  • Hexane

毒性物質 保管:
  • Mercury(II) chloride

一般 保管:
  • Sodium chloride
  • PBS buffer
  • Glycerol

ベストプラクティス:

  • グループ内をアルファベット順に分類して場所を特定しやすくする
  • 希釈化学薬品と濃縮化学薬品の区別のため濃度をラベルに含める
  • 使用頻度でグループ化 - 最も使用される化学薬品を最もアクセスしやすい場所に
  • 一般的な保管は在庫の大部分を予約(通常60~70%)

一般的な問題と解決策:

問題: 化学薬品が複数のカテゴリに適合

  • 症状: 化学薬品が複数の危険性を持つ(例:濃い HNO₃ は酸と酸化剤の両方)
  • 解決策: 最も制限的なグループに保管(このサンプルではオキシダイザーキャビネット)。すべての相互作用を確認

問題: 大規模な在庫処理

  • 症状: 数百の化学薬品を分類する必要がある
  • 解決策: ラボエリアごとにバッチで処理。手動確認のためにスプレッドシートにエクスポート

4. 安全警告付き保管計画生成

特定の警告と分離要件を含む完全な保管計画を生成します。

from scripts.main import ChemicalStorageSorter

sorter = ChemicalStorageSorter()

# 完全な保管計画を生成
demo_inventory = [
    "HCl (concentrated)",
    "NaOH pellets",
    "Ethanol",
    "Hydrogen peroxide",
    "Sodium cyanide",
    "PBS",
    "Acetone"
]

groups = sorter.sort_chemicals(demo_inventory)
sorter.print_storage_plan(groups)

サンプル出力:

============================================================
化学薬品保管計画
============================================================

酸 保管:
----------------------------------------
  • HCl (concentrated)
  ⚠️  遠ざける: 塩基、酸化剤、シアン化物、硫化物

塩基 保管:
----------------------------------------
  • NaOH pellets
  ⚠️  遠ざける: 酸、酸化剤、ハロゲン化物

酸化剤 保管:
----------------------------------------
  • Hydrogen peroxide
  ⚠️  遠ざける: 可燃物、酸、塩基、還元剤

可燃物 保管:
----------------------------------------
  • Ethanol
  • Acetone
  ⚠️  遠ざける: 酸化剤、酸

毒性物質 保管:
----------------------------------------
  • Sodium cyanide
  ⚠️  遠ざける: 酸、酸化剤

一般 保管:
----------------------------------------
  • PBS

============================================================

グループ別保管要件:

グループキャビネットタイプ換気特別要件
酸キャビネットフューム フード アクセス二次保持、耐腐食性
塩基塩基キャビネット標準酸から分離(最低3フィート)
酸化剤標準/酸化剤冷暗所点火源から遠く
可燃物可燃物キャビネット防爆型接地/ボンディング分配用
毒性物質ロック式キャビネット標準アクセスログ、少量制限
一般標準棚標準標準ラボ保管

ベストプラクティス:

  • 保管エリアの近くに計画を見える場所に掲示
  • 化学薬品を追加/削除するたびに更新
  • 緊急連絡先情報を保管計画に含める
  • 四半期ごとに正確性を確認

一般的な問題と解決策:

問題: 保管スペースが不足

  • 症状: 複数のグループが同じキャビネットタイプを必要とする
  • 解決策: 危険レベル別に優先順位を付ける。必要に応じて追加キャビネットを取得

問題: 複数の相互作用がない化学薬品

  • 症状: 1つの化学薬品が多くの他の物質と相互作用がない
  • 解決策: 別の場所に分離。在庫削減を検討

5. バッチ在庫処理

包括的な保管整理のためにファイルから大規模な化学薬品在庫を処理します。

from scripts.main import ChemicalStorageSorter
import json

def process_inventory_file(file_path: str) -> dict:
    """
    テキストファイルから化学薬品在庫を処理します。
    
    期待される形式: 1行に1つの化学薬品
    """
    sorter = ChemicalStorageSorter()
    
    # 在庫を読み込む
    with open(file_path, 'r') as f:
        chemicals = [line.strip() for line in f if line.strip()]
    
    # グループに分類
    groups = sorter.sort_chemicals(chemicals)
    
    # 統計を計算
    stats = {
        'total_chemicals': len(chemicals),
        'groups': {group: len(items) for group, items in groups.items() if items},
        'hazardous_chemicals': sum(len(items) for group, items in groups.items() 
                                   if group != 'general' and items)
    }
    
    # 現在の保管内の相互作用がないことをチェック
    incompatibilities = []
    all_groups = list(groups.keys())
    
    for i, group1 in enumerate(all_groups):
        for group2 in all_groups[i+1:]:
            if group2 in sorter.COMPATIBILITY_GROUPS[group1]['incompatible']:
                if groups[group1] and groups[group2]:
                    incompatibilities.append({
                        'group1': group1,
                        'chemicals1': groups[group1],
                        'group2': group2,
                        'chemicals2': groups[group2]
                    })
    
    return {
        'groups': groups,
        'statistics': stats,
        'incompatibilities': incompatibilities
    }

# 使用例
# results = process_inventory_file('lab_inventory.txt')
# print(json.dumps(results, indent=2))

入力ファイル形式:

# lab_inventory.txt
Hydrochloric acid (37%)
Sodium hydroxide
Ethanol (95%)
Acetone
Hydrogen peroxide (30%)
Potassium permanganate
Sodium chloride
Phosphate buffered saline
Glycerol
Sulfuric acid (conc.)

ベストプラクティス:

  • 在庫ファイルで標準化された命名法を使用
  • 希釈化学薬品の濃度を含める
  • 在庫に日付を付ける変更追跡用
  • 旧バージョンをアーカイブして履歴参照用

一般的な問題と解決策:

問題: スペルミスと命名の一貫性

  • 症状: 同じ化学薬品が複数の方法でリストされている
  • 解決策: 命名慣例を標準化。曖昧なケースの場合は CAS 番号を使用

問題: 濃度の変動

  • 症状: 異なる濃度の「エタノール」の複数のエントリ
  • 解決策: 名前に濃度を含める。最も危険な濃度に従って保管

6. カスタム分類ルール

ラボ固有の化学薬品とカスタムルールで分類システムを拡張します。

from scripts.main import ChemicalStorageSorter

class CustomChemicalSorter(ChemicalStorageSorter):
    """ラボ固有の化学薬品を備えた拡張分類器。"""
    
    def __init__(self):
        super().__init__()
        # グループにカスタム化学薬品を追加
        self.COMPATIBILITY_GROUPS['acids']['examples'].extend([
            'trifluoroacetic acid',
            'trichloroacetic acid'
        ])
        
        self.COMPATIBILITY_GROUPS['flammables']['examples'].extend([
            'isopropanol',
            'isopropyl alcohol',
            '2-propanol'
        ])
        
        # カスタムキーワードマッピングを追加
        self.custom_keywords = {
            'acids': ['tfa', 'tca'],
            'flammables': ['ipa', 'propanol']
        }
    
    def classify_chemical(self, name):
        """カスタムキーワード確認を使用してオーバーライド。"""
        name_lower = name.lower()
        
        # カスタムキーワードをまず確認
        for group, keywords in self.custom_keywords.items():
            if any(kw in name_lower for kw in keywords):
                return group
        
        # 親クラスの分類にフォールバック
        return super().classify_chemical(name)

# カスタム分類器を使用
custom_sorter = CustomChemicalSorter()
print(custom_sorter.classify_chemical("TFA"))  # 酸として分類されます
print(custom_sorter.classify_chemical("IPA"))  # 可燃物として分類されます

ベストプラクティス:

  • ラボ SOP でカスタムルールを文書化
  • すべてのラボメンバーと共有して一貫性を確保
  • 完全性のために定期的に確認
  • 新しい化学薬品が導入される時に更新

一般的な問題と解決策:

問題: カスタムルールがデフォルトと競合

  • 症状: 化学薬品が予想と異なる方法で分類される
  • 解決策: ルールの優先順位を確認。カスタムルールは通常デフォルトをオーバーライドすべき

問題: カスタム化学薬品が多すぎる

  • 症状: ほとんどの化学薬品がカスタム分類が必要
  • 解決策: デフォルトデータベースを更新する代わりに。改善をアップストリームに寄与

完全なワークフロー例

化学在庫から整理された保管まで:

# ステップ 1: 現在の化学薬品をリスト化
python scripts/main.py --chemicals "HCl,NaOH,ethanol,acetone,H2O2,PBS"

# ステップ 2: 特定のペアの相互作用をチェック
python scripts/main.py --chemicals "HCl" --check "NaOH"

# ステップ 3: 保管グループを表示
python scripts/main.py --list-groups

# ステップ 4: 完全な在庫ファイルを処理
python scripts/main.py --chemicals "$(cat inventory.txt | tr '\n' ',')"

Python API 使用法:

from scripts.main import ChemicalStorageSorter

def organize_lab_storage(chemical_inventory: list) -> dict:
    """
    実験室化学薬品保管の整理の完全なワークフロー。
    
    戻り値:
        保管グループ、警告、推奨事項を含む辞書
    """
    sorter = ChemicalStorageSorter()
    
    # 化学薬品をグループに分類
    groups = sorter.sort_chemicals(chemical_inventory)
    
    # 保管計画を生成
    print("\n" + "="*60)
    print("実験室化学薬品保管整理")
    print("="*60)
    
    sorter.print_storage_plan(groups)
    
    # 潜在的な問題を特定
    issues = []
    
    # 高危険濃度をチェック
    hazardous_chemicals = []
    for group in ['acids', 'bases', 'oxidizers']:
        for chem in groups[group]:
            if 'conc' in chem.lower() or 'concentrated' in chem.lower():
                hazardous_chemicals.append((chem, group))
    
    if hazardous_chemicals:
        issues.append({
            'type': 'concentrated_hazard',
            'chemicals': hazardous_chemicals,
            'recommendation': '二次保持容器とフューム フード アクセスを確保してください'
        })
    
    # 保管スペース分布をチェック
    total_chemicals = len(chemical_inventory)
    general_percentage = len(groups['general']) / total_chemicals * 100
    
    if general_percentage < 50:
        issues.append({
            'type': 'high_hazard_ratio',
            'message': f'一般保管は {general_percentage:.1f}% のみ',
            'recommendation': 'すべての危険物分類が必要かどうかを確認してください'
        })
    
    # 結果をコンパイル
    results = {
        'storage_groups': groups,
        'statistics': {
            'total_chemicals': total_chemicals,
            'hazardous_chemicals': total_chemicals - len(groups['general']),
            'general_percentage': general_percentage
        },
        'issues': issues,
        'recommendations': [
            '保管キャビネットにグループ名でラベルを付ける',
            '保管エリアの近くに相互作用行列を掲示',
            '四半期ごとの保管検査をスケジュール',
            'すべてのラボメンバーに化学物質分離について研修'
        ]
    }
    
    return results

# ワークフローを実行
inventory = [
    "Hydrochloric acid (conc.)",
    "Sulfuric acid",
    "Sodium hydroxide",
    "Potassium hydroxide",
    "Ethanol 95%",
    "Methanol",
    "Acetone",
    "Hydrogen peroxide 30%",
    "Nitric acid",
    "Sodium chloride",
    "PBS",
    "Tris buffer",
    "EDTA",
    "Glycerol"
]

results = organize_lab_storage(inventory)

print("\n" + "="*60)
print("要約")
print("="*60)
print(f"合計化学薬品: {results['statistics']['total_chemicals']}")
print(f"危険物質: {results['statistics']['hazardous_chemicals']}")
print(f"一般保管: {results['statistics']['general_percentage']:.1f}%")

if results['issues']:
    print("\n⚠️  特定された問題:")
    for issue in results['issues']:
        print(f"  - {issue['type']}: {issue.get('recommendation', '')}")

print("\n📋 推奨事項:")
for rec in results['recommendations']:
    print(f"  • {rec}")

期待される出力ファイル:

storage_organization/
├── storage_plan.txt         # 人間が読める保管レイアウト
├── chemical_groups.json     # 機械が読めるグループ割り当て
├── incompatibilities.csv    # 相容性のないペアのリスト
└── recommendations.md       # 安全上の推奨事項

一般的なパターン

パターン 1: 新しいラボのセットアップ

シナリオ: ゼロから新しい実験室の化学薬品保管をセットアップします。

{
  "setup_type": "new_lab",
  "space": "2 フューム フード、3 酸キャビネット、2 可燃物キャビネット",
  "inventory_size": "約 200 の化学薬品が想定される",
  "special_requirements": [
    "細胞培養に焦点 - 多くの生物学的バッファー",
    "分子生物学 - EtBr、アクリルアミド",
    "いくつかの有機合成 - さまざまな溶媒"
  ],
  "compliance": "OSHA、大学 EHS"
}

ワークフロー:

  1. 到着する前にすべての化学薬品の在庫を作成
  2. このツールを使用して各化学薬品を分類
  3. グループに基づいて保管場所を割り当て
  4. 適切なキャビネット(酸、可燃物など)を購入
  5. すべての保管エリアをはっきりとラベル付け
  6. すべてのラボメンバーにシステムについて研修
  7. 緊急手順と連絡先を掲示
  8. 四半期ごとの検査をスケジュール

出力例:

新しいラボ保管計画:

キャビネット割り当て:
  酸キャビネット #1: 12 個の酸
  酸キャビネット #2: 8 個の酸化剤(酸でもある)
  塩基キャビネット: 6 個の塩基
  可燃物キャビネット #1: 15 個の溶媒(エタノール、メタノールなど)
  可燃物キャビネット #2: 8 個の他の可燃物
  毒性物質キャビネット: 3 個の化学薬品(EtBr、アクリルアミド、水銀塩)
  一般保管: 148 個のバッファー、塩、試薬

スペース使用率:
  酸キャビネット: 20/30 容量(67%)
  可燃物: 23/40 容量(58%)
  一般: 148/200 容量(74%)

推奨: 現在のスペースは計画された在庫に対して適切です

パターン 2: 安全検査準備

シナリオ: 年間 EHS 安全検査の準備。

{
  "inspection_type": "annual_ehs",
  "focus_areas": [
    "化学物質分離準拠",
    "相容性なしの保管チェック",
    "ラベルと標識",
    "二次保持"
  ],
  "documentation_required": [
    "化学薬品在庫",
    "保管計画",
    "相互作用がないレコード"
  ]
}

ワークフロー:

  1. 完全な在庫を保管分類器で実行
  2. 現在の保管を推奨事項に対して確認
  3. 現在の配置で相互作用がないことを特定
  4. 誤った保管場所の化学薬品を移動
  5. 保管計画ドキュメントを更新
  6. 現在の保管マップを印刷して掲示
  7. すべてのキャビネットが正しくラベル付けされていることを確認
  8. 二次保持システムを確認

出力例:

検査前レポート:

✅ 準拠保管: 187/195 個の化学薬品(95.9%)

⚠️  特定された問題:
  1. 酢酸(無水)が一般化学薬品と一緒に保管されている
     → 酸キャビネットに移動
  2. 過酸化水素がエタノール棚の近くにある
     → 酸化剤セクションに移動
  3. HCl の二次保持がない
     → 酸トレイを追加

📋 ドキュメント準備完了:
  ✓ 化学薬品在庫(195 項目)
  ✓ 保管計画(2026-02-09 更新)
  ✓ 相互作用行列(掲示)
  ✓ 緊急連絡先(最新)

検査準備状況: 95%(2 個の化学薬品が移動が必要)

パターン 3: 化学薬品再配置

シナリオ: 化学薬品を新しい場所または別のラボに移動します。

{
  "relocation_type": "lab_move",
  "from": "ビル A、301 室",
  "to": "ビル B、205 室",
  "chemicals_to_move": 150,
  "special_considerations": [
    "いくつかの化学薬品はまもなく有効期限が切れます",
    "5 つの化学薬品の出所が不明",
    "20 個の化学薬品を処分する必要がある"
  ]
}

ワークフロー:

  1. 現在の場所のすべての化学薬品を在庫化
  2. すべての化学薬品を分類して分類
  3. 処分対象の化学薬品を特定(有効期限、不明、不要)
  4. 保管グループごとにパッキングを計画(一緒にパック)
  5. 輸送中の適切な分離を確保
  6. 新しい場所での保管レイアウトを設計
  7. 適切な保管に直接アンパック
  8. 新しい場所で新しい場所を使用して在庫を更新

出力例:

再配置計画:

移動する化学薬品: 130 項目
  - 酸: 8 個(一緒にパック、直立)
  - 塩基: 5 個(一緒にパック、酸と分離)
  - 可燃物: 22 個(DOT 承認コンテナ)
  - 酸化剤: 6 個(別の輸送)
  - 毒性物質: 2 個(ロック式コンテナ、明細書が必要)
  - 一般: 87 個(標準ボックス)

廃棄する化学薬品: 20 項目
  - 有効期限切れ: 12 個
  - 不明: 5 個
  - 不要: 3 個
  → 移動前に廃棄物の回収をスケジュール

パッキング順序:
  1 日目: 廃棄化学薬品を処分
  2 日目: 一般化学薬品をパック
  3 日目: 可燃物と毒性物質をパック
  4 日目: 輸送とアンパック
  5 日目: 新しい場所での最終在庫

パターン 4: 新しいラボメンバーの研修

シナリオ: 大学院生または技術者に化学薬品安全について研修します。

{
  "training_type": "new_member_safety",
  "trainees": 3,
  "duration": "2 時間",
  "topics": [
    "化学危険性認識",
    "保管分離ルール",
    "緊急手順",
    "ラボで化学薬品を見つける"
  ]
}

ワークフロー:

  1. このツールを使用して化学危険物グループを導入
  2. ラボ在庫から実際の例を表示
  3. 相互作用チェックのデモンストレーション
  4. 不明な化学薬品の分類の実践
  5. 実際の保管エリアを見学
  6. 相互作用がないペアのクイズ
  7. 参考として保管計画を提供
  8. 研修完了を文書化

出力例:

研修セッション: 化学薬品保管安全

デモンストレーション例:
  1. 分類を表示: 「エタノール」 → 可燃物
  2. 相互作用がないことを表示: HCl + NaOH → 激しい反応
  3. 安全な保管を表示: PBS + NaCl → 一般的な保管一緒

対話型クイズ:
  Q: アセトンを過酸化水素の近くに保管できますか?
  A: いいえ - 可燃物 + 酸化剤 = 火災リスク ✅
  
  Q: 濃い HCl はどこに行くべきですか?
  A: 二次保持容器付き酸キャビネット ✅

提供されたハンドアウト:
  ✓ 保管計画(最新)
  ✓ 相互作用がない行列
  ✓ 緊急連絡先カード
  ✓ SDS アクセス指示

研修完了: 3/3 研修生がクイズに合格(100%)

品質チェックリスト

整理前:

  • 重要: すべての化学コンテナに適切にラベルが付いていることを確認
  • 完全な化学薬品在庫を取得(濃度を含む)
  • 分類が不明な化学薬品の SDS をレビュー
  • 利用可能な保管スペースを測定(キャビネット、棚)
  • 既存の保管設備を特定(酸キャビネット、可燃物キャビネット)
  • 有効期限切れまたは不要な化学薬品を確認して処分
  • 緊急設備の利用可能性を確認(アイウォッシュ、シャワー、流出キット)
  • 機関の EHS 要件と制限を確認

分類中:

  • 完全な化学名を使用して各化学薬品を分類
  • 希釈化学薬品と濃縮形式の濃度をメモ
  • 重要: 境界線上の化学薬品の分類を手動で確認
  • 複数の危険性を持つすべての化学薬品を確認(例:酸化酸)
  • カスタム分類または例外を文書化
  • 特別な保管が必要な化学薬品を旗立て(温度、光に敏感)
  • 二次保持容器が必要な化学薬品を特定
  • 有効期限がある化学薬品をメモ

保管割り当て:

  • 重要: 相容性のないグループが物理的に分離されていることを確認(最低 3 フィート)
  • 各保管カテゴリのスペースが十分であることを確認
  • 最も危険な化学薬品を最も安全な場所に配置
  • よく使用される化学薬品が容易にアクセスできることを確認
  • キャビネット換気が含有量に適していることを確認
  • 可燃物キャビネットが正しく接地されていることを確認
  • 酸キャビネットが耐腐食性構造であることを確認
  • 毒性化学薬品がロック保管されていることを確認

組織化後の検証:

  • 重要: 相容性のない化学薬品が一緒に保管されていないことを確認
  • すべてのコンテナに化学名と危険性でラベルが付いていることを確認
  • 保管計画が化学エリアの近くに掲示されていることを確認
  • 緊急手順が掲示されて見える場所にあることを確認
  • 流出キットが保管されている化学薬品に適していることを確認
  • SDS バインダーにアクセス可能で最新であることを確認
  • すべてのラボメンバーが容易に化学薬品を見つけられることをテスト
  • 最初の四半期検査をスケジュール

ドキュメンテーション:

  • 重要: 新しい保管場所で化学薬品在庫を更新
  • 標準保管ルールへの例外を文書化
  • すべてのラボメンバーの研修完了を記録
  • 保管計画をラボノートまたは ELN に書き込み
  • 保管マップを EHS コーディネーターと共有
  • 次の検査のカレンダー リマインダーをセット
  • 参照用に古い保管計画をアーカイブ
  • 保管手順で実験室の SOP を更新

一般的な落とし穴

分類エラー:

  • 希釈 = 安全と仮定 → 希釈酸/塩基でも適切な保管が必要

    • ✅ 濃度だけでなく化学的同一性で分類
  • 化学名キーワードを無視 → 複雑な名前で危険性を見落とす

    • ✅ 化学名で複数の危険性指標を確認
  • 混合物を考慮しない → 市販試薬に複数の成分がある場合がある

    • ✅ SDS で混合物組成を確認。最も危険な成分で保管
  • 使用法による分類 → 酸を持つバッファー塩を保管

    • ✅ 常に保管には危険物ベースの分類を使用

保管配置エラー:

  • 不十分な分離 → 3 フィートではなく 6 インチのギャップ

    • ✅ 相容性のないグループに物理的障壁(キャビネット)を使用
  • アルファベット順で保管 → 酢酸がアセトンの近くに

    • ✅ 常に化学相互作用を優先してアルファベット順
  • 流出封じ込めを無視 → 液体の二次保持なし

    • ✅ 液体化学薬品、特に腐食剤にトレイまたはバンドを使用
  • キャビネットの過密 → 緊急設備へのアクセスをブロック

    • ✅ すべての化学薬品と安全設備への明確なアクセスを維持

ドキュメンテーションエラー:

  • 時代遅れの保管計画 → 化学薬品が移動したがマップは更新されない

    • ✅ 化学薬品が再配置されたときに保管ドキュメントを更新
  • 危険警告がない → 相互作用がない行列が掲示されない

    • ✅ 明確な危険警告を付けた保管計画を掲示
  • 研修レコードなし → 安全研修が発生したことを証明できない

    • ✅ 署名を持つすべての安全研修を文書化
  • 不完全な在庫 → 追跡システムで化学薬品を見落とす

    • ✅ 完全で最新の化学薬品在庫を維持

運用エラー:

  • 食器コンテナを使用 → 飲料ボトルに保管された化学薬品

    • ✅ 化学薬品保管に適切なコンテナのみを使用
  • 有効期限の監視がない → 古い過酸化物または他の劣化物

    • ✅ 有効期限を追跡。期限切れの化学薬品をすぐに処分
  • 不適切なラベルと表示 → 略語または数式のみ

    • ✅ 完全な化学名とハザードシンボルを使用
  • アクセスをブロック → アイウォッシュまたはシャワーの前に保管

    • ✅ すべての安全設備の周りに 3 フィートのクリアランスを維持

トラブルシューティング

問題: 化学薬品を分類できない

  • 症状: ツールが明らかに危険な化学薬品に「一般」を返す
  • 原因:
    • 化学名がキーワードデータベースにない
    • 珍しいまたは独自の化学名
    • 複雑な名前の混合物
  • 解決策:
    • SDS で適切な化学名と危険性を確認
    • CAS 番号を使用して化学クラスを検索
    • 珍しい化学薬品について EHS に相談
    • ラボ固有の化学薬品のカスタム分類ルールを追加

問題: 多くの「相容性がない」ペアが特定されている

  • 症状: 小さなラボで数百の相互作用がない
  • 原因:
    • 過度に広い相互作用ルール
    • 既に適切に分離されているが旗が立てられている化学薬品
    • 濃度が考慮されない(希釈対濃縮)
  • 解決策:
    • 理論的な相互作用ではなく実際の保管配置に焦点を当てる
    • 化学薬品が既に適切に分離されているかどうかを確認
    • 非常に希釈された溶液で濃度例外を検討
    • 危険度重大度で優先順位を付ける

問題: 保管スペースが不足

  • 症状: 利用可能なキャビネットスペースより多くの化学薬品
  • 原因:
    • 時間とともに在庫が増加
    • 古い化学薬品の不適切な処分
    • 過度な化学薬品購入
  • 解決策:
    • 有効期限切れまたは不要な化学薬品を処分
    • 可能な場合、ラボ間で化学薬品を共有
    • EHS に追加保管設備をリクエスト
    • 高価な化学薬品の「ジャストインタイム」購入を実装
    • 化学薬品在庫削減プログラムを検討

問題: ラボメンバーが新しい保管システムに抵抗

  • 症状: 再組織化後、化学薬品が誤った場所で見つかる
  • 原因:
    • 不十分な研修
    • システムが複雑すぎる
    • 古い習慣は変わりにくい
  • 解決策:
    • 明確で実践的な研修を提供
    • 保管場所を直感的で便利にする
    • 使用ポイントで見える保管マップを掲示
    • 穏やかなリマインダーとポジティブな補強
    • フィードバック付き定期監査

問題: 保管中の化学反応

  • 症状: 変色、ガス、熱、蒸気の証拠
  • 原因:
    • 相容性のない化学薬品が一緒に保管されている
    • 不安定な化学薬品の劣化
    • 保管中の汚染
  • 解決策:
    • 蒸気または熱の場合はすぐに地域を避難
    • 安全なクリーンアップのために EHS に連絡
    • 繰り返すのを防ぐために保管配置をレビュー
    • 影響を受ける可能性のある他の化学薬品を確認
    • 事件を文書化して教訓を学ぶ

問題: 必要なときに化学薬品が見つからない

  • 症状: 化学薬品が在庫にあるが予想される場所にない
  • 原因:
    • 化学薬品が移動しても在庫は更新されない
    • 誤ったラベルまたは不明なラベル
    • 命名の一貫性がない(酢酸 vs エタノール酸)
  • 解決策:
    • 化学薬品が移動したときにすぐに在庫を更新
    • 標準化された、完全な化学名を使用
    • バーコードまたは QR コード追跡を実装
    • 保管計画を最新で利用可能に保つ
    • 定期的な在庫調整

参考資料

references/ ディレクトリで利用可能:

  • (このスキル用の参考ファイルは現在利用できません)

外部リソース:


スクリプト

scripts/ ディレクトリにあります:

  • main.py - 化学分類および保管分類エンジン

化学保管クイックリファレンス

一般的なルール:

  1. 相容性のない化学物質を分離最低 3 フィートまたは物理的障壁
  2. 酸と塩基を別々に保管キャビネット
  3. 酸化剤を遠ざける可燃物と有機物から
  4. 毒性化学薬品をロックアクセスを制限
  5. 液体腐食剤に二次保持を使用
  6. すべてのコンテナにラベルを付ける化学名と危険性
  7. 化学薬品を食器コンテナに保管しない食品エリア近く
  8. 安全設備へのアクセスを保つ(アイウォッシュ、シャワー、出口)

緊急連絡先:

  • 火災: 911
  • 毒物管理: 1-800-222-1222
  • キャンパス EHS: [地元の番号を挿入]
  • 化学流出ホットライン: [地元の番号を挿入]

パラメータ

パラメータタイプデフォルト必須説明
--chemicals, -c文字列-いいえカンマ区切り化学薬品リスト
--check文字列-いいえ別の化学薬品との相互作用をチェック
--list-groups, -lフラグ-いいえ保管グループをリスト

使用法

基本的な使用法

# 化学薬品のリストを分類
python scripts/main.py --chemicals "HCl,NaOH,ethanol,H2O2"

# 2 つの化学薬品間の相互作用をチェック
python scripts/main.py --chemicals "HCl" --check "NaOH"

# すべての保管グループをリスト
python scripts/main.py --list-groups

リスク評価

リスク指標評価レベル
コード実行Python スクリプトはローカルで実行
ネットワーク アクセス外部 API 呼び出しなし
ファイル システム アクセスファイル アクセスなし
データ露出機密データなし
安全リスク化学薬品安全ガイダンスを提供

セキュリティチェックリスト

  • ハードコードされた認証情報または API キーなし
  • ファイル システム アクセスなし
  • 化学名の入力検証
  • 出力は機密情報を露出しない
  • エラーメッセージがサニタイズされている
  • スクリプト実行がサンドボックス環境で

前提条件

# Python 3.7+
# 追加パッケージは必須ではない(標準ライブラリを使用)

評価基準

成功指標

  • 化学薬品を保管グループに正常に分類
  • 相容性のない化学物質のペアを特定
  • 保管推奨を提供
  • 利用可能なすべての保管グループをリスト

テストケース

  1. 化学リスト: 入力リスト → 相互作用グループによってソート
  2. 相互作用チェック: 2 つの化学薬品 → 相容性あり/相容性なし結果
  3. 不明な化学薬品: 認識されない名前 → 一般グループ割り当て

ライフサイクル状況

  • 現在の段階: アクティブ
  • 次のレビュー日: 2026-03-09
  • 既知の問題: なし
  • 計画された改善:

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
majiayu000
リポジトリ
majiayu000/claude-skill-registry-data
ライセンス
MIT
最終更新
2026/5/9

Source: https://github.com/majiayu000/claude-skill-registry-data / ライセンス: MIT

関連スキル

Anthropic Claudeビジネス・経営⭐ リポ 20,903

3-statement-model

3種類の財務諸表テンプレート(損益計算書、貸借対照表、キャッシュフロー計算書)を作成・記入・完成させることができます。モデルテンプレートの記入、既存のモデル枠組みの完成、財務モデルへのデータ入力、部分的に完成した損益/貸借/キャッシュフロー枠組みの完成、または既存テンプレート構造内での統合財務諸表の連携に対応しています。3種類の財務モデルテンプレートの記入、完成、またはデータ入力に関するご依頼で自動的に機能します。

by anthropics
汎用ビジネス・経営⭐ リポ 1,982

strategic-decision

CEO・経営層向けの戦略的意思決定支援です。前提条件に異議を唱え、問題を診断し、確実な戦略を設計できます。4つのモード(AGGRESSIVE:大きな夢を見る、SELECTIVE:基盤を維持しつつ有望な拡張を厳選、DIAGNOSTIC:最大限の厳密性、VALIDATION:本質に絞る)を備えています。創業者、経営幹部、プロダクトリーダーが製品開発、成長戦略、市場戦略、技術選定、リソース配分に関する戦略的判断が必要な場面で活用できます。

by LeoYeAI
汎用ビジネス・経営⭐ リポ 521

value-realization

エンドユーザーが製品アイデアから明確な価値を感じるかどうかを分析します。以下の場面で活用できます:製品コンセプトの議論、機能の評価、製品改善の方向性提示、マーケティング戦略の企画、導入・継続率の問題分析、コピーが価値を伝えているかの検証、機能と利用シーンの対応付け、または製品方向性・ポジショニング・エンドユーザーの需要の有無が不確かな場合(例:「これは良いアイデアか」「この製品をどう思うか」「ユーザーは必要とするか」「この機能は何に役立つのか」「機能の価値をどう説明するか」「このコピーをどう思うか」「利用シーンを作成する手助けが欲しい」「ユーザーが継続利用しない理由は何か」「どうポジショニングすべきか」)。

by Done-0
Anthropic Claudeビジネス・経営⭐ リポ 42,795

creating-financial-models

このスキルは、投資判断に必要な高度な財務モデリング機能を提供します。DCF分析、感度分析、モンテカルロシミュレーション、シナリオプランニングなど、複数の分析手法を組み合わせることで、より正確で信頼性の高い財務予測が可能になります。

by anthropics
汎用ビジネス・経営⭐ リポ 4,194

pestel-analysis

政治的、経済的、社会的、技術的、環境的、法的な外部要因を分析します。市場環境の変化が製品、ロードマップ、または戦略に大きな影響を与える可能性がある場合に活用できます。

by deanpeters
Anthropic Claudeビジネス・経営⭐ リポ 380

chemical_safety_assessment

化学安全性評価 - 化学物質の安全性を評価します。PubChemの化合物情報、FDAの医薬品データ、ADMET予測、ChEMBLの構造警告を活用します。このスキルを使用することで、化合物名から一般情報を取得したり、医薬品名から警告および注意事項を取得したり、分子のADMETを予測したり、化合物の構造警告を検出したりできます。4つのSCPサーバーから4つのツールを統合しています。

by SpectrAI-Initiative
本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: majiayu000 · majiayu000/claude-skill-registry-data · ライセンス: MIT