HCPチャート
処理の目的を左に、手段をより深いインデントの右に置いて階層的に記述する図法で、日本電信電話公社の横須賀電気通信研究所で考案された。
HCP図
MakingHCPChartSkill
HCP-DSLを仕様に沿って解釈し、決定的なSVGを返すためのスキルリポジトリ。
HCP-DSL
HCPチャートをテキストで記述するための、MakingHCPChartSkillが定める記法で、行頭の記号とインデントで階層・分岐・繰り返しなどを表す。
HCP記述言語
hcp_render_svg.py
JSON入力を検証し、HCP-DSLを解釈してSVGレスポンスを返すMakingHCPChartSkillの本体スクリプト。
hcp_xml_to_svg.py
MakingHCPChartSkillでdeprecatedとなっている旧エントリーポイントのスクリプトで、現在はhcp_render_svg.pyに置き換えられている。
記述粒度の規約
レベル0(最上位)には目的ラベルだけを書き、代入や比較のようなコード風の記述は子ノードへ下げるという、MakingHCPChartSkillが必須ルールとして定める記述規約。
レベル0は目的ラベルのみ
Codex
OpenAIが提供する、リポジトリのファイルを実際に読み書きするコーディングエージェント。
renderAllModules
hcp_render_svg.pyへのJSON入力で指定する、全モジュールのSVGをまとめて生成させるオプション。
全モジュール描画オプション
moduleパラメータ
hcp_render_svg.pyへのJSON入力で、描画対象とする単一モジュール名を指定するパラメータ。
module指定
Python
汎用のインタープリタ型プログラミング言語で、hcp_render_svg.pyはこの言語の標準ライブラリのみで実装されている。
diagnostics(診断結果)
hcp_render_svg.pyがHCP-DSLの検証結果として返すJSONフィールドで、errorが含まれる場合はsvg/svgsが空になる。
diagnosticsフィールド
HCP-DSLはHCPチャートという図法をテキストとして表現するための記法である
hcp_render_svg.pyはHCP-DSLを解釈し、実際にHCPチャートの図(SVG)として描画する
MakingHCPChartSkillはHCP-DSLを入力形式として使う
MakingHCPChartSkillはhcp_render_svg.pyを本体スクリプトとして使う
hcp_render_svg.pyはJSON入力を検証し、HCP-DSLの解釈と描画を実装する
hcp_render_svg.pyは、deprecatedとなったhcp_xml_to_svg.pyの後継スクリプトである
HCP-DSLでの記述は、レベル0に目的ラベルだけを書く記述粒度の規約を前提とする
MakingHCPChartSkillは記述粒度の規約を必須ルールとして定めている
OpenAI Codexは、リポジトリのディレクトリを$HOME/.codex/skills配下へ配置することでMakingHCPChartSkillをスキルとして利用できる。Codexを使わない場合はこの手順は不要
renderAllModulesをtrueにする場合、moduleパラメータを同時に指定することはできない
hcp_render_svg.pyはrenderAllModulesオプションにより全モジュール分のSVGをまとめて生成できる
hcp_render_svg.pyはmoduleパラメータにより描画対象を単一モジュールへ絞り込める
hcp_render_svg.pyはPython 3で動作するスクリプトで、標準ライブラリのみに依存し追加パッケージを必要としない
hcp_render_svg.pyは入力の検証結果をdiagnosticsとして返し、errorが含まれる場合はsvgまたはsvgsを空にする