Communitygithub.com

pptx: パワーポイント作成・編集・分析

パワーポイントファイル(.pptx/.potx)に関わるあらゆるタスクに対応するスキルです。新規作成、既存ファイルの編集、テキスト抽出、テンプレート操作、スライド結合・分割などを行います。

pptx: パワーポイント作成・編集・分析 とは?

このスキルは、Open XML形式のパワーポイントファイル(.pptx/.potx)を高度に操作するための包括的なツールセットです。新規デッキ作成時には、プリインストールされたpptxgenjsライブラリを用いたスクリプティングを推奨し、注意すべき落とし穴(色指定の注意点、不可視の余白、チャート関連のバグなど)を詳細に解説します。既存デッキの編集やテンプレートの活用には、ZIPアーカイブの展開→XML編集→再圧縮というワークフローを採用し、スライドの複製・削除・整列をスクリプトで安全に行う方法を提供します。分析機能としては、各スライドのサムネイルグリッド生成や、pptxファイル内のテキスト抽出(markitdown使用)、スキーマ・関係性・チャートの検証スクリプトが含まれます。デザイン面では、退屈な白背景の箇条書きを避けるための色彩パレット(Midnight Executive, Forest & Mossなど10種類)、視覚的モチーフの統一、レイアウトバリエーション、フォント選択の安全リストとリスク管理についてのガイダンスを提供します。このスキールはClaude CodeやCursor、CodexなどのAIエージェントと連携して動作するよう設計されており、ユーザーがパワーポイントの操作を依頼した際に、自動的に適切なスクリプトを作成・実行して目的を達成します。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/K-Dense-AI/scientific-agent-skills/tree/main/skills/pptx

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

PPTXの作成、編集、分析

.pptxはXMLファイルのZIPアーカイブです。タスクに応じてアプローチを選択します:

タスクアプローチ
新規デッキ作成pptxgenjsスクリプトを作成 — 以下の注意事項を参照
既存デッキの編集、またはテンプレートからの構築解凍 → ppt/slides/slideN.xmlを編集 → zip化
内容の読み取りmarkitdown deck.pptx(各スライドは<!-- Slide number: N -->マーカーで区切られます); ビジュアルグリッド: python scripts/thumbnail.py deck.pptx

スクリプト

パスはこのスキルのディレクトリからの相対パスです。その他はすべてプレーンなPython、node、またはシェルです。

スクリプト説明
scripts/thumbnail.py deck.pptx [prefix]全スライドのラベル付きグリッドを作成。テンプレートのレイアウト選定に使用。.pptxのみ。prefixを指定可能(デフォルトはthumbnails → 同じディレクトリ内の他のデッキのグリッドを上書きします)
scripts/add_slide.py unpacked/ slide2.xml [--after slideN.xml]すべてのパッケージ管理処理を含めてスライド(またはslideLayoutN.xml)を複製します。-o out.pptxを指定すると.pptxファイルを直接入力として受け付けます
scripts/clean.py unpacked/参照されなくなったスライド、メディア、relsを削除します。<p:sldIdLst>が確定した後に実行します
scripts/office/validate.py deck.pptx [--original src.pptx]スキーマ、関係性、コンテンツタイプ、チャート、スライドのチェックを行います。各エラーに対して修正方法を示します。テンプレートから派生したデッキの場合は--originalを指定すると、テンプレート自体のXSDエラーを除外してチェックできます
scripts/office/soffice.py --headless --convert-to pdf deck.pptxLibreOfficeラッパー — 素のsofficeはこのサンドボックスでハングします

pptxgenjsでの作成 — 注意事項

pptxgenjsはプリインストールされています — npm installを実行せず、直接スクリプトを作成してrequire('pptxgenjs')してください。requireが失敗した場合のみnpm install pptxgenjsを実行します。モデルはAPIを理解していますが、以下の点に注意してください:

  • スライド追加前にpres.layoutを設定すること。 デフォルトのキャンバスはLAYOUT_16x9 = 10" × 5.625" であり、幅13.3インチではありません。座標が端を超えてもエラーにはならず、単にその形状がスライドに表示されないだけです。(LAYOUT_WIDEは13.3" × 7.5"です。)
  • 16進数カラー:#は使わず、8桁も使わないこと。 color: "FF0000"と記述します。"#FF0000"やアルファ値を16進数に埋め込むと(例: "00000020")、ファイルが破損します。半透明にするには: 塗りつぶしと画像にはtransparency: 0-100を、影にはopacity: 0.0-1.0を使用 — それぞれ他方では無視されます。
  • pptxgenjsはオプションオブジェクトをその場で変更します(最初の使用時に値をEMUに変換)。1つのshadow/optionsオブジェクトを2つのadd*呼び出しで共有しないでください — 毎回新しいオブジェクトを作成してください。
  • 影のoffsetは0以上である必要があります — 負のオフセットはファイルを破損します。上方向に影を落とすには、正のオフセットとangle: 270を使用します。
  • letterSpacingは無視されます — 実際のオプションはcharSpacingです。
  • リスト: 各アイテムにbullet: trueを設定し、リテラルの•は使わないでください(二重の箇条書きになります)。配列の最後のアイテム以外にはbreakLine: trueを設定します。箇条書き段落の間隔はparaSpaceAfterで設定し、lineSpacingは使わないでください(間隔が大きくなりすぎます)。
  • 出力ファイルごとにnew pptxgen()を1つ作成 — インスタンスを再利用しないでください。
  • rectRadiusはROUNDED_RECTANGLEでのみ機能し、RECTANGLEでは機能しません。
  • グラデーションの塗りつぶしはサポートされていません — 代わりにグラデーション画像を背景として使用してください。
  • テキストボックスにはデフォルトで内部パディングがあります — テキストを同じx位置の図形、線、アイコンと揃える必要がある場合はmargin: 0を設定します。
  • 発表者ノートはslide.addNotes("...")に記述します(プレーンテキスト、スライドごとに1回)。スライド上のテキストボックスには入れないでください。
  • チャートはネイティブのままにしておくこと。 PowerPointでグラフ化できるものにはすべてaddChart()を使用します(複合チャートの場合は{type, data, options}の配列を渡します)。ライブラリが公開していないPowerPointネイティブ機能(トレンドライン、エラーバー)については、追加の系列を自分で計算するか、生成されたOOXMLを後処理します — レンダリング画像にフォールバックしないでください。PowerPointにネイティブ形式がないチャートタイプ(サンキー、ネットワーク、コード図)のみ画像として挿入します。
  • デフォルトのチャートは素っ気なく表示されます — タイトルなし、データラベルなし、時代遅れのパレット。showTitle + title、showValue: true + dataLabelPosition、chartColors: [...](あなたのパレットから)、フレームをすっきりさせる(catAxisLabelColor/valAxisLabelColor、valGridLine: { color, size }、catGridLine: { style: "none" }、単一系列の場合はshowLegend: false)を設定してください。
  • 積み上げ棒または積み上げ縦棒グラフでは、dataLabelPositionはctr、inEnd、またはinBaseである必要があります。 outEndはファイルを破損します。
  • secondaryValAxis/secondaryCatAxisを使用する複合系列では、チャートオプションにvalAxesとcatAxesの両方を、それぞれ2つずつ設定する必要があります。 これがないとpptxgenjsは宣言されていない軸IDを書き込み、PowerPointはそのチャートを破棄し、ファイルを破損として報告します。valAxesのみを指定するだけでは不十分です。
  • writeFile()の後、python scripts/office/validate.py deck.pptxを実行します。 このバリデータは上記2つのチャート障害と、PowerPointが拒否するスライドXMLの欠陥を報告し、それぞれの修正方法を示します。生成コード内で修正してください。パックされたXMLを手動編集しないこと。
  • <p:presentation>の子要素の順序を変更しないでください。 pptxgenjsは<p:sldIdLst>の直後に<p:notesMasterIdLst>を書き込み、両方のマスターを1つのテーマパーツにポイントします。PowerPointはそれを問題なく読み取りますが、要素を移動すると同じデッキが開けなくなります。
  • アイコン: react-iconsをSVGとしてレンダリングし(ReactDOMServer.renderToStaticMarkup)、sharpで256px以上にラスタライズし、addImage({ data: "image/png;base64," + buf.toString("base64") })で挿入します — image/png;base64,プレフィックスは必須です(react-icons、react、react-dom、sharpはプリインストールされています — requireが失敗した場合のみnpm install react-icons react react-dom sharpを実行)。

既存のデッキとテンプレートの編集

まずレイアウトを選択します: python scripts/thumbnail.py template.pptx template-thumbs を実行すると、すべてのスライドのラベル付きグリッドが作成され、作成されたファイル(複数可)が出力されます — template-thumbs.jpg(スライドが12枚を超えるとtemplate-thumbs-N.jpgに分割)。必ず2番目の引数として、デッキの名前を渡してください。 デフォルトはthumbnailsなので、同じディレクトリ内で2つのデッキのサムネイルを作成すると、互いのグリッドを上書きし合います — 最初のデッキのグリッドは単に失われます(テンプレート分析のみ — ビジュアルQAには画像への変換のフル解像度レンダリングが必要です; .pptxのみを受け付けるので、.potxは先に.pptxにコピーしてください)。markitdownと組み合わせて、各コンテンツセクションをテンプレートスライドにマッピングし、レイアウトを多様化します — すべてのセクションを同じタイトルと箇条書きのスライドに配置しないでください。

python3 -c "import sys,zipfile; zipfile.ZipFile(sys.argv[1]).extractall('unpacked')" deck.pptx
python scripts/add_slide.py unpacked/ slide2.xml --after slide2.xml   # スライド(またはslideLayoutN.xml)を複製; 新しいスライドのパスを出力
# スライドの並べ替え/削除 = ppt/presentation.xml の <p:sldIdLst> を編集
python scripts/clean.py unpacked/                                     # 削除後: 孤立したスライド、メディア、relsを削除
# ppt/slides/slideN.xml でスライドの内容を編集
(cd unpacked && rm -f ../out.pptx && zip -Xr ../out.pptx .)           # ディレクトリの**内部から** zip; 事前に削除しないと削除した部分が残る
python scripts/office/validate.py out.pptx --original deck.pptx
  • すべての構造的な作業(追加、削除、並べ替え)は、スライドの内容を編集する前に行います。 add_slide.pyはスライドファイルをそのままコピーするため、編集後に複製すると編集済みの内容が複製されます。また、clean.pyは<p:sldIdLst>にないスライド(書き込んだばかりのものも含む)を削除します。
  • スライドファイルを手動でコピーしないでください — add_slide.pyは新しいスライドに必要なすべての登録を行い、作成内容を報告します(Created ppt/slides/slide17.xml from slide2.xml)。また、ファイルを直接操作することもできます: add_slide.py deck.pptx slide2.xml -o out.pptx — -oを指定してください。指定しないと入力デッキをその場で上書きします。 複製されたスライドは、ソースのチャート/SmartArt/埋め込みオブジェクトのパーツを複製するのではなく、参照するため、一方のスライドのチャートを編集するともう一方も変更されます。
  • python-pptxを使用する場合、次の3つのことはできません: スライドの複製(エントリポイントはadd_slide(layout)のみ)、text_frame.text = "..."による書式保持(段落がスタイルなしの1つのランに縮小されます — 代わりにrun.textを割り当てます)、ほとんどのテンプレートアートで使用されるSVG/EMFの読み取り(add_pictureはUnidentifiedImageErrorをスローします)。
  • レガシー.pptは最初に変換する必要があります: python scripts/office/soffice.py --headless --convert-to pptx file.ppt。.potxテンプレートは解凍とパックが同じように行われるため、出力の拡張子は.potxのままにしてください。
  • テンプレートのアイコンや画像を再利用するには、既にそれを含むスライドまたはレイアウトを複製します。

テンプレートを埋めるとき:

  • XML変換をスクリプト化する場合は、defusedxml.minidomでパースします — OOXMLをxml.etree.ElementTreeでラウンドトリップすると、名前空間プレフィックスが書き換えられ、デッキが破損します。
  • テンプレートのスロットとソースアイテムは一致しないことがあります。 テンプレートに4人のチームメンバーが表示されていて、実際のメンバーが3人の場合、4人目のグループ全体(画像+テキストボックス)を削除します。テキストだけ削除しないでください — その後、QAで孤立したビジュアルがないか確認します。
  • リスト項目ごとに1つの<a:p> — 項目を1つの段落に連結しないでください。間隔を維持するために兄弟の<a:pPr>をコピーし、タイトル、セクションヘッダー、インラベル(Status:、Owner:)には<a:rPr>にb="1"を設定します。
  • 箇条書きはレイアウトから継承させます。上書きする場合のみ<a:buChar>、<a:buAutoNum>(番号付き)、または<a:buNone>を追加します — テキスト内にリテラルの•は絶対に使用しないでください。
  • 先頭または末尾にスペースがあるテキストは、その<a:t>にxml:space="preserve"を設定する必要があります。

デザインアイデア

退屈なスライドを作成しないでください。 白い背景にプレーンな箇条書きは誰も感心させません。各スライドに対して、以下のリストからアイデアを検討してください。

開始前

  • 大胆で内容に基づいたカラーパレットを選ぶ: パレットは、このトピックのためにデザインされたと感じられるものでなければなりません。色を別のまったく異なるプレゼンテーションに適用しても「機能する」場合、それは十分に具体的な選択をしていない証拠です。
  • 均等よりも支配性: 1つの色が支配的(視覚的な重みの60-70%)になり、1〜2のサポートトーンと1つの鋭いアクセントカラーを持つようにします。すべての色に同じ重みを与えないでください。
  • ダーク/ライトのコントラスト: タイトルスライドと結論スライドには暗い背景、コンテンツスライドには明るい背景(「サンドイッチ」構造)。または、プレミアム感を出すために全体を暗く統一します。
  • 視覚的なモチーフにコミットする: 1つの特徴的な要素を選び、それを繰り返します — 角丸の画像フレーム、色付きの丸の中のアイコン。すべてのスライドでそれを続けます。モチーフとしてカラーバーやアクセントストライプを使用しないでください(「避けるべきこと」リストを参照)。

カラーパレット

トピックに合った色を選んでください — デフォルトの青にしないでください。以下のパレットをインスピレーションとして使用してください:

テーマプライマリセカンダリアクセント
Midnight Executive1E2761 (ネイビー)CADCFC (アイスブルー)FFFFFF (ホワイト)
Forest & Moss2C5F2D (フォレスト)97BC62 (モス)F5F5F5 (クリーム)
Coral EnergyF96167 (コーラル)F9E795 (ゴールド)2F3C7E (ネイビー)
Warm TerracottaB85042 (テラコッタ)E7E8D1 (サンド)A7BEAE (セージ)
Ocean Gradient065A82 (ディープブルー)1C7293 (ティール)21295C (ミッドナイト)
Charcoal Minimal36454F (チャコール)F2F2F2 (オフホワイト)212121 (ブラック)
Teal Trust028090 (ティール)00A896 (シーフォーム)02C39A (ミント)
Berry & Cream6D2E46 (ベリー)A26769 (ダスティローズ)ECE2D0 (クリーム)
Sage Calm84B59F (セージ)69A297 (ユーカリ)50808E (スレート)
Cherry Bold990011 (チェリー)FCF6F5 (オフホワイト)2F3C7E (ネイビー)

各スライドについて

すべてのスライドには視覚的な要素が必要です — 画像、チャート、アイコン、図形のいずれか。テキストのみのスライドは記憶に残りません。

レイアウトオプション:

  • 2カラム(左にテキスト、右にイラスト)
  • アイコン+テキストの行(色付き円の中のアイコン、太字のヘッダー、下に説明)
  • 2x2または2x3グリッド(片側に画像、反対側にコンテンツブロックのグリッド)
  • ハーフブリード画像(左側または右側いっぱい)とコンテンツのオーバーレイ

データ表示:

  • 大きな統計コールアウト(大きな数字60-72pt、下に小さなラベル)
  • 比較コラム(before/after、メリット/デメリット、選択肢の横並び)
  • タイムラインまたはプロセスフロー(番号付きステップ、矢印)

ビジュアルの仕上げ:

  • セクションヘッダーの横にある小さな色付き円の中のアイコン
  • 重要な統計やタグラインのイタリック体のアクセントテキスト

タイポグラフィ

あなたが.pptxに書き込んだフォント名は、この環境ではなく、ユーザーのPowerPointでレンダリングされます。 ビジュアルQAはLibreOfficeを介してレンダリングされますが、LibreOfficeは持っていないフォントを代替フォントで置き換えます。一部のフォントでは代替フォントの横幅が異なるため、QAプレビューでは実際のデッキとは異なるテキストオーバーフロー(またはフィット)が表示される可能性があります。QAを信頼できるものにするために:

  • 安全なフォント(QAで実際の幅でレンダリングされ、かつ Officeに同梱されている): Arial, Calibri, Cambria, Times New Roman, Courier New, Bookman Old Style, Century Schoolbook。本文やフィットが重要なテキストにはこれらを使用します。
  • ゼロQAリスクで個性を出すヘッダー: 安全リストのセリフヘッダー(Cambria, Bookman Old Style, Century Schoolbook)と安全リストのサンズ体本文(CalibriまたはArial)を組み合わせます。信頼性のあるオーバーフローチェックを犠牲にせずに、視覚的なコントラストを得られます。
  • ユーザーが安全リスト外のフォントを指定した場合(例: Georgia、Trebuchet MSなど): ユーザーが指定した場所ではそのフォントを使用しますが、そのコンテナのサイズには余裕(約10%)を持たせ、その要素のQAテキストフィットは信頼しないでください — そのフォントのプレビューは概算です。ユーザーが指定していない場合は、本文には安全リストのフォントを優先してください。
  • QA信頼性の低いフォント(代替フォントの横幅が異なる — オーバーフローチェックが誤っている可能性がある): Georgia, Trebuchet MS, Impact, Arial Black, Garamond, Consolas, Palatino Linotype。Calibri Lightの代替は環境によって異なります。QA信頼性低として扱ってください。余裕を持たせたタイトルやアクセントには問題ありません。QAのテキストフィットは信頼しないでください。
  • デフォルトでAptosを使用しないでください — Officeの2023年以降のデフォルトフォントは、ここにメトリクス互換の代替フォントがなく、かつ 古いOfficeインストールには存在しないため、両方の環境で信頼性が低くなります。
要素サイズ
スライドタイトル36-44pt 太字
セクションヘッダー20-24pt 太字
本文14-16pt
キャプション10-12pt やや淡く

…

[翻訳のため一部省略]

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

adaptyv

How to use the Adaptyv Bio Foundry API and Python SDK for protein experiment design, submission, and results retrieval. Use this skill whenever the user mentions Adaptyv, Foundry API, protein binding assays, protein screening experiments, BLI/SPR assays, thermostability assays, or wants to submit protein sequences for experimental characterization. Also trigger when code imports `adaptyv`, `adaptyv_sdk`, or `FoundryClient`, or references `foundry-api-public.adaptyvbio.com`.

aeon

This skill should be used for time series machine learning tasks including classification, regression, clustering, forecasting, anomaly detection, segmentation, and similarity search. Use when working with temporal data, sequential patterns, or time-indexed observations requiring specialized algorithms beyond standard ML approaches. Particularly suited for univariate and multivariate time series analysis with scikit-learn compatible APIs.

alphagenome

Look up precomputed AlphaGenome Atlas effects for any GRCh38 single-nucleotide variant (AVI score with Phred and 18 SHAP feature attributions, plus raw and quantile scores for RNA-seq, DNase, ATAC, ChIP-TF, ChIP-histone, CAGE, PRO-cap, splicing, polyadenylation and contact-map tracks), score variants or scan windows on demand with the AlphaGenome model for human and mouse (variant scoring, in silico mutagenesis, REF-versus-ALT track prediction), and build Atlas website deep links. Use when the user mentions AlphaGenome, AlphaGenome Atlas, AVI or AlphaGenome Variant Impact, DeepMind variant effect prediction, or wants to prioritise or mechanistically interpret non-coding, regulatory, splicing, enhancer, promoter, or chromatin-accessibility effects of SNVs from a VCF, credible set, or region. Research use only; not a clinical tool.

analytical-method-validation

Plan, execute, and document validation, verification, and transfer of analytical procedures under the governing framework - ICH Q2(R2) and Q14, USP <1220>/<1225>/<1226>, ICH M10 bioanalytical, CLSI EP, or ISO/IEC 17025. Use for HPLC, LC-MS/MS, GC, CE, ICP-MS, dissolution, qNMR, qPCR, NIR, and ligand binding or cell-based assays whenever the question is whether a procedure is fit for its intended purpose. Triggers include

anndata

Data structure for annotated matrices in single-cell analysis. Use when working with .h5ad files or integrating with the scverse ecosystem. This is the data format skill—for analysis workflows use scanpy; for probabilistic models use scvi-tools; for population-scale queries use cellxgene-census.

arbor

Autonomously improve a real artifact (code, training recipe, agent harness, data pipeline, prompt) against an objective and an evaluator, using Hypothesis Tree Refinement (HTR) from the Arbor paper. Use this whenever someone wants to iteratively optimize something over many experiments without overfitting — e.g.

arboreto

Infer gene regulatory networks (GRNs) from gene expression data using scalable algorithms (GRNBoost2, GENIE3). Use when analyzing transcriptomics data (bulk RNA-seq, single-cell RNA-seq) to identify transcription factor-target gene relationships and regulatory interactions. Supports distributed computation for large-scale datasets.

astropy

Core Python library for astronomy and astrophysics workflows that need Astropy APIs, including units/quantities, coordinates, FITS I/O, tables, time systems, WCS, and cosmology. Use when implementing or debugging astronomical data analysis code with Astropy.

autoskill

Observe the user

benchling-integration

Benchling Python SDK and REST API integration for registry entities, inventory, ELN entries, workflows, Benchling Apps, and Data Warehouse queries. Use when automating lab data with benchling-sdk or the v2 API.

bgpt-paper-search

Search scientific papers and retrieve structured experimental data extracted from full-text studies via the BGPT MCP server. Returns 25+ fields per paper including methods, results, sample sizes, quality scores, and conclusions. Use for literature reviews, evidence synthesis, and finding experimental details not available in abstracts alone.

bids

>

biopython

Comprehensive molecular biology toolkit. Use for sequence manipulation, file parsing (FASTA/GenBank/PDB), phylogenetics, and programmatic NCBI/PubMed access (Bio.Entrez). Best for batch processing, custom bioinformatics pipelines, BLAST automation. For quick lookups use gget; for multi-service integration use bioservices.

bioservices

Unified Python interface to 40+ bioinformatics services. Use when querying multiple databases (UniProt, KEGG, ChEMBL, Reactome) in a single workflow with consistent API. Best for cross-database analysis, ID mapping across services. For quick single-database lookups use gget; for sequence/file manipulation use biopython.

bulk-rnaseq

End-to-end bulk RNA-seq orchestrator — takes raw FASTQ reads through QC and trimming (FastQC, fastp/Trim Galore), alignment and quantification (STAR, Salmon, featureCounts), assembles a gene-level counts matrix, then hands off to differential expression (pydeseq2), pathway/GSEA enrichment (pathway-enrichment), and publication figures (scientific-visualization). Use whenever the user has bulk RNA-seq reads or quant output and wants a complete, reproducible differential-expression workflow — e.g.

cellxgene-census

Query the CZ CELLxGENE Census programmatically for versioned public single-cell and spatial transcriptomics data. Use when you need population-scale cell metadata, gene expression slices, Census summary counts, source H5AD URIs/downloads, embeddings, spatial Census data, or reference atlas comparisons across organisms, tissues, diseases, assays, and cell types. For analyzing your own local single-cell data use scanpy, anndata, or scvi-tools.

cirq

Google quantum computing framework. Use when targeting Google Quantum AI hardware, designing noise-aware circuits, or running quantum characterization experiments. Best for Google hardware, noise modeling, and low-level circuit design. For IBM hardware use qiskit; for quantum ML with autodiff use pennylane; for physics simulations use qutip.

citation-management

Comprehensive citation management for academic research. Search OpenAlex, PubMed, and Google Scholar for papers, extract accurate metadata, validate citations, and generate properly formatted BibTeX entries. This skill should be used when you need to find papers, verify citation information, convert DOIs to BibTeX, or ensure reference accuracy in scientific writing.

clinical-decision-support

Prepare and validate research-only clinical decision-support evaluation, evidence-profile, cohort, survival, biomarker/model, privacy, and governance artifacts. Use for aggregate or synthetic research documentation and traceability—not patient care or live clinical operation.

clinical-reports

Create safety-bounded draft structures and run local deterministic checks for clinical case, diagnostic, trial, safety, and aggregate research reports. Use only with synthetic, de-identified, or aggregate inputs and verified source-fact manifests; every output requires qualified review.

関連スキル