mcpField
R
render-html

render-html

github.com/wanshuiyinドキュメント18.2k376 回インストール4 日前に更新
リポジトリ

render-html について

render-html は、ARIS のレポートや研究資料を人が読みやすい単一ファイルの HTML に変換します。学術向けとダッシュボードのテンプレートを備え、Markdown を正本として保持します。

主な機能

  1. 01Markdown を単一ファイルの HTML に変換
  2. 02学術向けとダッシュボードのテンプレート
  3. 03目次、表、数式に対応
  4. 04ソースパスと SHA256 を埋め込み
  5. 05危険な HTML と URL をサニタイズ

活用シーン

  1. 01研究レポートを読みやすいページにする
  2. 02学術テンプレートでレビューの進捗を表示
  3. 03研究 wiki の概要をダッシュボード化
  4. 04CDN に依存せずオフラインでページを生成

MCP 対応

HTML 変換スクリプト自体は MCP を呼び出しません。レビューが必要な場合、スキルが MCP 経由で生成結果をレビュアーに渡します。

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wanshuiyin/auto-claude-code-research-in-sleep --skill render-html

インストール後、Claude Code で/render-htmlを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

scripts/
render_html.py
scripts/templates/
academic.html
dashboard.html

詳細

/render-html: Markdown → 人が読むための単一ファイル HTML

各レビュアー枠の前に必ず、選択可能なレビュアーに従ってください: 呼び出し元 → .aris/reviewer.json → Claude Code のデフォルト(Codex MCP)の順に解決し、 正規ヘルパーリゾルバーを介して reviewer_route.py を使用します。この枠のティア、 新しいコンテキスト、ソース/画像入力、決定論的なゲートを維持してください。 以下の Codex の例/固定指定は backend=codex の場合にのみ適用されます。それ以外のルートでは、 それぞれ独自の初回呼び出し/返信の契約を使用します。ルートと実際に返された ID を保存してください; 利用できない選択肢は REVIEW_UNAVAILABLE とします。実際のファミリー/完了状況/対象範囲から 受け入れ可否を分類してください。呼び出し元によるレビュアー/モデル/エフォートの上書き指定は、 レビュアーを使う子プロセスに引き継いでください。生成ワーカーに変更はありません。

Markdown は書き手のためのものです。HTML は読み手のためのものです。 ARIS ワークフローのノードは Markdown(正規形式で、監査証跡に適し、機械解析可能)を書き出します。/render-html は、選択された成果物を、人が実際に読むための洗練された単一ファイル HTML ビューに変換します。Markdown は引き続き信頼できる唯一の情報源です。

このスキルを使用する場面

次のような実際に人が読む ARIS 成果物には、/render-html を使用してください:

成果物HTML が役立つ理由テンプレート
idea-stage/IDEA_REPORT.mdアイデアの順位付け、パイロットの兆候、スコアが、平坦なリストではなく意思決定ダッシュボードとして読みやすくなりますacademic
review-stage/AUTO_REVIEW.md(および REVIEW_STATE.json)ラウンドごとのスコア推移と弱点の状況を表示できます。JSON を埋め込むには --state を渡しますacademic
paper/KILL_ARGUMENT.md(および KILL_ARGUMENT.json)<details> の Q&A カードと赤/黄/緑のコールアウトで、論点ごとの攻撃/防御を表示できますacademic
research-wiki/SUMMARY.md(または research-wiki/index.md)論文/アイデア/実験/主張を一覧できる、エンティティ横断のコックピットですdashboard
PAPER_PLAN.md(任意)主張と根拠のマトリクスは、生の MD よりも洗練された表のほうが読みやすくなりますacademic
RESUBMIT_REPORT.{md,json}(任意)7 状態の失敗モード台帳ですacademic または dashboard

次のものには使用しないでください:

  • LaTeX の論文出力 — 読者向けの最終成果物は HTML ではなく PDF です。
  • SKILL.md ファイル — 内部向けの LLM プロトコルです。
  • .aris/traces/* のレビュートレース — 人に見せるためのものではなく、フォレンジックデバッグ用です。
  • プロジェクト内のすべての Markdown ファイル — 固定表示の目次、コールアウト、数式、スコア推移が役立つ成果物だけに使用してください。

中核となる不変条件

  • MD / JSON が正本であり、HTML は生成されたビューです。 ソースを編集してから再レンダリングしてください。HTML を直接編集しないでください。
  • 成果物の境界でモデル横断レビューを行います(ARIS 不変条件)。人が実際に読む成果物(IDEA_REPORT、AUTO_REVIEW、KILL_ARGUMENT、PAPER_PLAN)に使用されるアカデミックテンプレートの HTML は、新しいコンテキストで選択したレビュアーがレビューします。完成したビューとして扱う前に、実際の識別情報からそのファミリーを判定してください。ダッシュボードテンプレートの HTML(コックピット/デバッグビュー)は、デフォルトではレビューを省略しますが、--review で強制できます。下記の § HTML レビューゲート を参照してください。
  • ドリフトを検出します。 レンダリングされた HTML にはすべて、ソースパス、SHA256、生成タイムスタンプが <meta> タグとページ上部の表示ヘッダーの両方に埋め込まれます。HTML とソースが食い違う場合、メタデータから、その HTML の生成元となったソースのバージョンを確認できます。
  • 出力は単一ファイルです。 ビルドシステムも、個別の CSS も、node_modules もありません。.html ファイルが 1 つだけです。
  • デフォルトは CDN 対応、--offline でフォールバックします。 MathJax 3 と highlight.js はデフォルトで cdn.jsdelivr.net から読み込まれます。--offline を渡すと、どちらも読み込みません。数式は生の $x$ として表示され、コードブロックには構文ハイライトが適用されませんが、すべての内容を読み取ることはできます。
  • 標準ライブラリのみを使うヘルパーです。 render_html.py が使用するのは re、html、hashlib、json、datetime、pathlib、argparse、sys のみです。pip によるインストールは不要です。
  • 多層防御による XSS サニタイズを行います。 このヘルパーは、<script>/<style>/<iframe>/<object>/<embed>/<form>/<input>/<button>/<link>/<meta>/<base> タグ、すべての on* イベントハンドラー属性(onclick、onload など)を除去し、javascript:/vbscript:/data: の href/src/action スキームを #blocked-unsafe-url: に書き換えます。ARIS ワークフローの成果物にこれらが含まれているべきではありませんが、LLM が誤って生成した場合に備え、サニタイザーが安全策となります。Markdown のテキスト内容は別途 HTML エスケープされ、サニタイザーに渡されることはありません。

ツールの場所

Arch C は自己完結型です。正規の実装は skills/render-html/scripts/render_html.py(この SKILL 自身の scripts/ サブディレクトリ)にあり、テンプレートは skills/render-html/scripts/templates/{academic,dashboard}.html にあります。このヘルパーは新しく作成されたもので、レガシーな tools/ シムはありません。

ハイブリッドチェーンを使って $RENDER_HTML を解決してください(Layer 0 では、それを所有する SKILL の自己完結型の場所を優先します。Layers 1-3 は shared-references/integration-contract.md §2 に記載されている共有ランタイムチェーンで、Policy A — skill-local gate に従います)。

# Layer 0: self-contained (CC 1.0+ exposes $CLAUDE_SKILL_DIR).
RENDER_HTML=""
if [ -n "${CLAUDE_SKILL_DIR:-}" ] && [ -f "$CLAUDE_SKILL_DIR/scripts/render_html.py" ]; then
  RENDER_HTML="$CLAUDE_SKILL_DIR/scripts/render_html.py"
fi
# Layers 1-3: shared-runtime chain (non-CC hosts + manual installs).
if [ -z "$RENDER_HTML" ]; then
  cd "$(git rev-parse --show-toplevel 2>/dev/null || pwd)" || exit 1
  if [ -z "${ARIS_REPO:-}" ] && [ -f .aris/installed-skills.txt ]; then
      ARIS_REPO=$(awk -F'\t' '$1=="repo_root"{print $2; exit}' .aris/installed-skills.txt 2>/dev/null) || true
  fi
  RENDER_HTML=".aris/skills/render-html/scripts/render_html.py"
  [ -f "$RENDER_HTML" ] || RENDER_HTML="skills/render-html/scripts/render_html.py"
  [ -f "$RENDER_HTML" ] || { [ -n "${ARIS_REPO:-}" ] && RENDER_HTML="$ARIS_REPO/skills/render-html/scripts/render_html.py"; }
  [ -f "$RENDER_HTML" ] || RENDER_HTML=""
fi
[ -z "$RENDER_HTML" ] && {
  echo "ERROR: render_html.py not resolved (layer 0: \$CLAUDE_SKILL_DIR/scripts/; layers 1-3: .aris/skills/render-html/scripts/, skills/render-html/scripts/, \$ARIS_REPO/skills/render-html/scripts/)." >&2
  echo "       /render-html cannot produce HTML output. Fix: rerun bash tools/install_aris.sh, or copy from \$ARIS_REPO/skills/render-html/scripts/." >&2
  exit 1
}

呼び出し

# Default: academic template, output to <input>.html alongside source
python3 "$RENDER_HTML" idea-stage/IDEA_REPORT.md

# Dashboard template for cockpit-style views
python3 "$RENDER_HTML" research-wiki/SUMMARY.md --template dashboard

# Custom output path + title + eyebrow
python3 "$RENDER_HTML" review-stage/AUTO_REVIEW.md \
  --out review-stage/AUTO_REVIEW.html \
  --title "Auto Review — overnight run" \
  --eyebrow "Workflow 2"

# Embed sidecar state JSON (rendered as a folded <details> JSON block at end)
python3 "$RENDER_HTML" review-stage/AUTO_REVIEW.md \
  --state review-stage/REVIEW_STATE.json

# Embed sidecar JSON (e.g., for KILL_ARGUMENT.md + KILL_ARGUMENT.json)
python3 "$RENDER_HTML" paper/KILL_ARGUMENT.md \
  --json paper/KILL_ARGUMENT.json \
  --title "Kill Argument — adversarial review"

# Offline (no CDN; math + code render as plain text)
python3 "$RENDER_HTML" idea-stage/IDEA_REPORT.md --offline

# JSON-only input (wrapped in a <pre><code class="language-json"> block)
python3 "$RENDER_HTML" review-stage/REVIEW_STATE.json --template dashboard

# Language attr (default zh-CN; set for English-primary artifacts)
python3 "$RENDER_HTML" docs/SKILLS_CATALOG.md --lang en

# Skip review (academic template otherwise reviews by default)
python3 "$RENDER_HTML" idea-stage/IDEA_REPORT.md
# … then the skill skips the mcp__codex__codex review step if --no-review
# was on the command line. Pass --review to a dashboard render to force it.

--review/--no-review フラグは render_html.py ではなく、SKILL オーケストレーター(Claude Code)が解析します。ヘルパー自体は標準ライブラリのみを使い、MCP を呼び出すことはありません。正確な解決方法とプロンプトについては、下記の § HTML レビューゲート を参照してください。

ワークフロー

ステップ 1:成果物を特定する

$ARGUMENTS から、レンダリングする内容を判断します。よくあるパターンは次のとおりです。

  • 「IDEA_REPORT をレンダリング」→ idea-stage/IDEA_REPORT.md、アカデミックテンプレート
  • 「AUTO_REVIEW を読みやすくする」→ review-stage/AUTO_REVIEW.md + --state review-stage/REVIEW_STATE.json
  • 「キルアーギュメントを HTML で表示」→ paper/KILL_ARGUMENT.md + --json paper/KILL_ARGUMENT.json
  • 「research-wiki ダッシュボード」→ research-wiki/SUMMARY.md を探すか、エンティティの生カウントから生成します(フェーズ 2 の作業です。フェーズ 1 では、SUMMARY.md があればそれをレンダリングし、なければ Wiki のトップレベル構造の一覧にフォールバックします)
ステップ 2:テンプレートを選択する
  • academic(デフォルト):長文を順に表示します。固定表示の目次サイドバー+セリフ体の本文+コールアウト+表+数式+Q&A <details> を備えています。IDEA_REPORT、AUTO_REVIEW、KILL_ARGUMENT、PAPER_PLAN に使用します。
  • dashboard:グリッドレイアウト、小さめのフォント、情報量の多いメトリクスカードを備え、目次サイドバーはありません。research-wiki のコックピット、RESUBMIT_REPORT、複数プロジェクトの概要に使用します。
ステップ 3:ヘルパーを実行する

上記のリゾルバーを使って $RENDER_HTML を取得し、実行します。スクリプトはデフォルトでソースと同じ場所に HTML を書き込み(または --out で指定された場所に書き込み)、ソースの SHA256 プレフィックスを含む確認メッセージを 1 行で出力します。

ステップ 4:HTML レビューゲート(モデル間)

レビューを実行するか決定します。 ARIS の不変条件「実行者は自身の出力を評価してはならない」に従い、学術テンプレートの HTML は、選択したレビュアーが新しいコンテキストでレビューします。成果物として提示する前に、実際の ID に基づいてファミリーを分類します。解決方法:

should_review = explicit --review present
             or (template == "academic" and --no-review NOT present)

つまり:

  • --template academic(デフォルト)→ デフォルトでレビューします。--no-review でスキップします。
  • --template dashboard → デフォルトではレビューしません。--review で強制します。
  • フェーズ 2 のワークフロー自動生成(2026-05 に有効化)では、以下に記載された RENDER_HTML フックに従ってスキルごとに選択されます。中間ビューはデフォルトで --no-review、最終成果物/監査クラスの成果物はデフォルトで完全なゲートを適用します。

should_review が true の場合、新しい mcp__codex__codex スレッドを開始します(codex-reply は絶対に使用しません。../shared-references/reviewer-routing.md に従い、model: gpt-6-astra と config: {"model_reasoning_effort": "xhigh"} を固定します)。以下のプロンプトを使用してください。レビュアーはソースの MD と生成された HTML を直接読み込み、このスキルの中間状態は参照しません。

レビューの範囲(意図的に限定)。 HTML レビュアーが監査するのは、レンダリングの忠実性/安全性/構造のみであり、主張の正確性ではありません。主張の監査は上流工程(/paper-claim-audit、/research-review、/result-to-claim)が担当します。具体的には、レビュアーは以下を確認します。

  1. 情報の忠実性 — すべてのセクション、主張、表、コードブロック、リスト、数式の断片、サイドカーペイロードが HTML に含まれていること(気づかれないまま欠落していないこと)
  2. 構造の完全性 — 見出しの階層/入れ子リスト/表のセル/コードフェンス/<details> ブロック/数式の区切り文字がパース後も保持されていること
  3. コールアウトの振り分け — > 🚨 … が .callout-bad に、> 💡 … が .callout-info などに変換されていること
  4. 安全性/エスケープ — 生の <script>/onclick=/javascript:/未置換のプレースホルダー/テンプレートの漏出が残っていないこと
  5. 想定される差異の許容 — frontmatter の削除、生成されたヘッダー/フッター/メタデータ、目次の挿入、安全でない HTML のサニタイズはすべて想定内であり、問題として指摘されないこと

Codex プロンプト(必須形式)。 新しいスレッド(mcp__codex__codex、codex-reply ではありません)として、以下を送信します。

You are an independent ARIS HTML render auditor. This is a fresh review thread.

Read these files directly:
- Source artifact: <ABS path to source.md or source.json>
- Generated HTML:  <ABS path to out.html>
- Optional sidecars: <state.json>, <kill_argument.json> (if any)

Task: Audit whether the generated HTML is a faithful, safe, structurally
usable view of the source artifact. Do NOT judge whether the research
claims are true. Judge only rendering fidelity.

Checks:
1. Information fidelity — sections / claims / tables / code blocks /
   lists / math / sidecars not silently dropped or materially altered.
2. Structural integrity — heading hierarchy, tables, nested lists,
   code fences, details/summary, math delimiters preserved.
3. Callout routing — warning/critical/good/info blockquotes map to
   appropriate CSS classes when present.
4. Safety/escaping — no unexpected raw script/style/iframe/form/
   event-handler/javascript/data URL survives from source.
5. Placeholder/template leakage — no unreplaced {{PLACEHOLDER}} or
   parser private placeholder character appears.
6. Expected differences — frontmatter strip, generated header/footer/
   meta, TOC insertion, sanitized unsafe HTML are EXPECTED and not a
   defect.

Return STRICT JSON first, then a short prose note:

{
  "verdict": "PASS|WARN|FAIL|ERROR",
  "checks": {
    "source_hash_match": "pass|warn|fail|unknown",
    "information_fidelity": "pass|warn|fail",
    "structure": "pass|warn|fail",
    "math_code_tables": "pass|warn|fail",
    "callouts": "pass|warn|fail|not_applicable",
    "safety_escaping": "pass|warn|fail",
    "placeholder_leak": "pass|warn|fail"
  },
  "blocking_issues": [
    {"severity": "fail",
     "source_location": "L<n>...",
     "html_location": "<selector or near-text>",
     "issue": "...",
     "suggested_fix": "..."}
  ],
  "warnings": [
    {"severity": "warn", "issue": "...", "suggested_fix": "..."}
  ],
  "summary": "one paragraph"
}

Verdict rules:
- PASS: no material fidelity/safety issue.
- WARN: readable output with minor unsupported-Markdown or cosmetic
  degradation only.
- FAIL: missing/altered meaningful content, broken tables/math/code/
  callouts that change interpretation, unsafe executable HTML, source
  hash mismatch, or placeholder leakage.
- ERROR: files could not be read or audit could not complete.

出力を保存します。

  1. JSON の判定結果を <out_path>.review.json(HTML と同じ場所)に書き込みます。
  2. shared-references/review-tracing.md に従い、生の Codex トレースを .aris/traces/render-html/<YYYY-MM-DD>_run<NN>/review.{txt,json} に保存します。
  3. ユーザーに verdict, N blocking, N warnings, trace: <path> という形式の概要を 1 行で出力します。

verdict == FAIL の場合:HTML はレビュー合格済みの成果物として提供できません。ブロッキングの問題をユーザーに伝え、ソースを修正するよう案内します(HTML ではなく MD またはテンプレートを修正します)。その後、再レンダリングします。黙って上書きしたり、完了済みとして扱ったりしないでください。

verdict == WARN の場合:HTML は提供しますが、警告の一覧も伝えます。修正するか受け入れるかはユーザーが判断します。

選択したレビュールートが利用できない場合:サイドカーに verdict: REVIEW_UNAVAILABLE を出力し、PASS を捏造しないでください。HTML は生成されたものの、独立したレビューは受けていないことをユーザーに伝えます。ユーザーはソース MD に対して /research-review を手動で実行するか、選択したレビュアーが利用可能になってから再実行できます。

ステップ 5:(任意)ブラウザーで確認する

macOS では open <out.html>、Linux では xdg-open、Windows では start を実行します。数式とコードのハイライト表示にはインターネット接続が必要です(CDN)。オフラインの場合も、読みやすいテキストとして表示されます。

ヘルパーがサポートする機能

Markdown のサブセット(ARIS のワークフローで実際に出力される内容に合わせて選定):

  • 見出し #/##/###/####。目次用の ID を自動生成します
  • 段落、太字 **x**、斜体 *x*/_x_、インラインコード `x`、取り消し線 ~~x~~、リンク [t](url)、画像 ![a](url)
  • 2 スペースのネストしたインデントに対応した箇条書き/番号付きリスト
  • 言語指定は任意のコードブロック(```python) — highlight.js 用に <pre><code class="language-python"> を生成します
  • ASCII アートのコードブロック(ボックス描画文字が多いことを基準に判定) → 背景色をクリームイエローにした <pre class="diagram"> を生成します
  • :---/:---:/---: による配置指定に対応した表
  • 引用 > ... — 絵文字プレフィックスを検出し、種類に応じたコールアウトに振り分けます:
    • ⚠️ → .callout-warn(警告)
    • 💡/📝 → .callout-info(ヒント/注記)
    • ✅/🔒 → .callout-good(OK/保証)
    • ❌/🚨 → .callout-bad(ブロック/重大)
  • <details>、<summary>、<div>、<figure>、<table>、<section> などの HTML をそのまま通します(ブロックレベル)。KILL_ARGUMENT.md にある既存の Round-1/2/3 の修正詳細で使用されます
  • LaTeX 数式:インライン $x$ とディスプレイ形式 $$x$$ はそのまま MathJax に渡します

ヘルパーがサポートしない機能(意図的に簡略化しています):

  • 脚注([^1])
  • 定義リスト
  • 参照形式のリンク [label][ref]
  • Setext 形式の見出し(===/--- の下線形式 — ARIS では出力されません)

ファイルの最上部にあるフロントマター(--- ... ---)は、レンダリング前に削除されます(SKILL.md のフロントマター形式)。その後に続く本文が変換されます。

2 段階の統合計画(Phase 1 はこのスキル、Phase 2 はワークフローフック、2026-05 に有効化)

Phase 1(当初リリース): オプトインのみです。ワークフローの完了後、ユーザーが /render-html <artifact.md> を明示的に呼び出していました。

Phase 2(2026-05 に有効化): 8 つの主要スキルが、ワークフロー終了時に HTML を自動出力するようになりました。各スキルは RENDER_HTML = true 定数で制御され、ユーザーはスキルごとに無効化できます(または呼び出し時に — render html: false を渡せます)。

コスト階層別レビューゲート(アーティファクトの種類ごと):

スキルアーティファクトレビューレベル理由
/idea-discoveryidea-stage/IDEA_REPORT.md--no-review中間成果物です。ソースはすでに新規性レビューとクロスモデルレビューを通過しています
/auto-review-loopreview-stage/AUTO_REVIEW.md--no-reviewラウンドごとのログです。ループ自体がクロスモデルレビューです
/research-pipelineNARRATIVE_REPORT.md--no-review/paper-writing への内部 Stage 5 引き継ぎ用で、レビュアー向けではありません。上流の Stage 4 の auto-review-loop ですでに主張が審査されています
/kill-argument<paper-dir>/KILL_ARGUMENT.mdフルゲート監査クラスのアーティファクトです。スキル独自のクロスモデル不変条件に準拠しています
/paper-claim-auditpaper/PAPER_CLAIM_AUDIT.mdフルゲート監査クラスのアーティファクトです
/citation-auditpaper/CITATION_AUDIT.mdフルゲート監査クラスのアーティファクトです
/proof-checkerPROOF_AUDIT.mdフルゲート監査クラスのアーティファクトです
/rebuttalREBUTTAL_DRAFT_rich.mdフルゲート提出前の成果物です
/paper-writing(HTML 自動出力なし)該当なし最終的な読者向け成果物は PDF です
/research-wikiresearch-wiki/index.html ダッシュボード今後対応Phase 2.1 — ダッシュボードテンプレートの作業であり、今回の対象外です

中間レポートに --no-review を指定するのは意図的です。ソースの MD はすでに、作成元スキル独自のクロスモデルゲートでレビュー済みであり、HTML レンダリングは構造を変換するだけで、新たな主張を追加しません。各チェックポイントでフルレビューを行うと、パイプラインあたりの Codex 呼び出し回数が 4~6 倍に増えてしまいます。

特定のスキルで HTML 出力を無効にするには、スキルの定数ブロックで RENDER_HTML = false に設定するか、— render html: false を渡してください。全体で無効にするには、環境変数 ARIS_RENDER_HTML=0 を設定してスキップします(実装予定で、まだ利用できません。それまではスキルごとにフラグを設定してください)。

テンプレートのカスタマイズ

2つのテンプレートは skills/render-html/scripts/templates/{academic,dashboard}.html にあります。それぞれ {{PLACEHOLDER}} の置換を使用する、CSS をインラインで記述した自己完結型の HTML ファイルです。カスタマイズするには、次の手順に従います。

  1. テンプレートのいずれかを my_brand.html などの新しい名前でコピーします。
  2. :root { ... } 内の CSS 変数を編集して、色、フォントスタック、レイアウトの寸法を変更します。
  3. render_html.py の argparse にある --template の選択肢に、テンプレート名を追加します。
  4. /render-html <input> --template my_brand を再実行します。

デフォルトのテンプレートは、ユーザー独自の academic-newspaper チュートリアルスタイル(Source Serif Pro + Songti SC、3色の配色、固定 TOC、控えめな表現)をベースにしています。ビジュアル言語を変える具体的な理由がない限り、ARIS の成果物ではこの様式に沿ってください。

外部の代替手段(より豊かな表現向け)

デッキ/ポスター/小紅書カード/ツイートカード/データレポート形式の出力では、html-anything(Apache-2.0、執筆時点で 3000⭐)をユーザーに案内してください。9種類の表現形式に対応する75個の SKILL.md テンプレートを同梱し、8種類のコーディングエージェント CLI(Claude Code、Codex、Copilot など)を検出します。ARIS は html-anything に依存していません。/render-html は ARIS 標準の成果物を対象とし、より豊かな公開形式には html-anything を推奨します。

主なルール

  • すべての Markdown ファイルを自動でレンダリングしないでください。 上記のホワイトリストにある成果物のみを対象にします。ファイルの増殖が主なアンチパターンです。
  • 生成された HTML を手作業で編集しないでください。 ソースを編集してから、再レンダリングします。HTML のメタデータに埋め込まれた SHA256 で、レンダリング後にソースが変更されたかどうかを確認できます。
  • academic-template HTML は、デフォルトでレビュー済みの成果物であり、生の出力ではありません。 学術系の成果物は、別モデルによる Codex レビュー(新規スレッド)が承認条件となります。これは /proof-checker、/paper-claim-audit、/citation-audit、/kill-argument がそれぞれの成果物の承認条件となるのと同じです。ソース MD が上流の別モデルによる承認をすでに通過している場合、--no-review は 中間段階の自動出力(例:idea-stage/IDEA_REPORT.html、ラウンドごとの review-stage/AUTO_REVIEW.html)に適しています。この場合、HTML のレンダリングは新たな主張の監査ではなく、構造を変換する処理です。出荷用/レビュアー向け/監査対象クラスの出力では、すべての承認工程を維持してください。
  • レビュアーが監査するのはレンダリングであり、研究ではありません。 主張の真偽は、上流の /paper-claim-audit、/result-to-claim、/research-review が担います。HTML レビュアーが確認するのは「レンダラーがこのソースを忠実かつ安全に変換したか」であり、それ以上ではありません。
  • CDN 依存はオプトインではなく、オプトアウトです。 ほとんどのユーザーはインターネットを利用でき、--offline はネットワークに接続できない環境での実行やアーカイブ向けです。
  • デフォルトのスタイルは academic-newspaper であり、マーケティング向けの派手なスタイルではありません。 既存の ARIS のトーンに合わせてください。デッキ/ポスター/ソーシャルカードが必要な場合は、html-anything を案内してください。
  • 純粋な標準ライブラリのみを使用してください。 render_html.py に pip install の依存関係を追加するには、明示的な判断が必要です。現在、このヘルパーに依存関係はありません。MCP の呼び出しはスキルオーケストレーター内に置き、ヘルパースクリプトには置かないでください。

コメント