concept-atlas-dense-explain について
Concept Atlas Dense Explain は、セマンティックな MDX の概念ページを作成し、単体 HTML にコンパイルするコマンドラインツールです。概念グラフ型の atlas と、直線的に読める scroll に対応し、検証と複数文書のビルドも行えます。
主な機能
- 01グラフ型 atlas と scroll のページ構成
- 02MDX の作成と検証
- 03単体 HTML へのコンパイル
- 04並列での一括ビルド
- 05外観のデフォルト設定
活用シーン
- 01関連ノードを使った概念の説明
- 02直線的なチュートリアルやレポートの作成
- 03レンダリング前の MDX 検証
- 04複数文書の出力ディレクトリへのビルド
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ wurenrumian/ concept-atlas --skill concept-atlas-dense-explainインストール後、Claude Code で/concept-atlas-dense-explainを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/atlas-guide.mdxcomponents.mddiagnostics.mdscroll-guide.mdxreferences/assets/sample-diagram.svg詳細
Concept Atlas Dense Explain
すべてを concept-atlas-dense-explain CLI 経由で実行し、必ず npx を使用してください。必要なものはすべてこのファイルと同梱の references/ にあります。フレームワークリポジトリやインストール済みパッケージのファイルを読んだり、スキルディレクトリから実装ファイルをコピーしたり、React/Vite アプリを再作成したりしないでください。コマンド名が不明な場合は、npx concept-atlas-dense-explain help を実行してください。ユーザーがファイルではなくプロンプト/方法論だけを求めている場合も、シェルを選んで有効な MDX を出力してください。CLI が必要なのは検証とコンパイルだけです。
CLI の実行
どのディレクトリからでも、必ず npx 経由で CLI を呼び出してください。
npx concept-atlas-dense-explain <args>
これだけが実行方法です。探すものはほかにありません。ローカルのバイナリ、リポジトリのチェックアウト、インストール済みのコピーを検索したり、フレームワーク独自の npm スクリプトを実行したりしないでください。最初の呼び出しでは npm レジストリからパッケージがダウンロードされます。そのことを一度伝えたら、続けてください。
ワークフロー
- ページシェルを1つ選びます。
atlas(ノードナビゲーション付きの概念グラフ)またはscroll(連続したドキュメント)です。読者が概念を掘り下げたり、関連性をたどったりする場合はatlas、論理を順に展開する文章、チュートリアル、レポートにはscrollをおすすめします。ライブラリは共通です。.mdxがすでに存在する場合は、そのシェルを検出して、それに合わせて作業してください。 - 作成を始める前にコンポーネントを把握します。
references/components.mdはカタログです。推測するのではなく、コンポーネント名で検索して、props と形状を確認してください。references/atlas-guide.mdx(atlas)またはreferences/scroll-guide.mdx(scroll)は、各シェルのコンポーネントを組み合わせてページを構成する方法を示す、実際にコンパイル可能な MDX です。ほかの場所でコンポーネントのドキュメントを探さないでください。また、このためにguideを実行しないでください。 ページと並べてコンパイルするために、プロジェクト内にコピーがどうしても必要な場合に限り、npx concept-atlas-dense-explain guide --mode <mode> -o <file>を実行し、作業が終わったらそのコピーを削除してください。 - 必要に応じて、ひな形から始めます。
npx concept-atlas-dense-explain create <file>.mdx --mode atlas|scroll(--modeのデフォルトはscroll)。createとguideは出力先の内容を上書きするため、残しておきたいファイルを指定しないでください。 - ユーザーの
.mdxファイルに、意味に沿った MDX を記述します(作成ルールを参照)。 - レンダリングの前に検証します。
診断メッセージはnpx concept-atlas-dense-explain validate <file>.mdx --mode atlas|scroll npx concept-atlas-dense-explain validate <file>.mdx --jsonCODE line:column messageの形式です。すべてのerrorを修正して再実行し、手間がかからない場合は警告にも対処してください。 - コンパイルします。
npx concept-atlas-dense-explain <file>.mdx --mode atlas|scroll [-o out.html] [--skin <id>] [--default-mode dark|light|system] [--style <id>]。-oを指定しない場合、MDX と同じ場所にスタンドアロン HTML が出力されます。検証エラーがあるとビルドは中止されます(--no-validateを使うと、問題があると承知のうえでビルドを強制できます)。<Mermaid>チャートは Pele でレンダリングされ、HTML にインライン化されるため、CDN の呼び出しが不要な完全オフラインの単一ファイルになります。フラグは必要ありません。 - 外観(任意):ページには、読者が選べる外観メニューが用意されています。パレット(aurora:インディゴ、ember:ゴールド、verdant:フォレスト、sakura:ピンクプラム、noir:インク)、ダーク/ライトの切り替え、コンポーネントスタイルパック(manuscript:編集者風の欄外注、classic:枠付きカード、shadcn:細い境界線のミニマルな UI、elastic:枠付きの可観測性パネル)を選択できます。標準のデフォルトは aurora × manuscript × light です。選択内容は localStorage に保存され、どちらのキャリアでも保持されます。
--skin ember --default-mode dark --style classic(またはリポジトリのビルドでCONCEPT_ATLAS_SKIN/CONCEPT_ATLAS_DEFAULT_MODE/CONCEPT_ATLAS_STYLE)を指定すると、コンパイル時のデフォルトを別の値に設定できます。--default-modeはdark/lightを受け付け、systemはキャリアのデフォルト(light)に解決されます。デフォルトを設定するのは、ユーザーが指定した場合に限ってください。コンテンツ MDX で外観を設定することはありません。 - 複数のドキュメントを扱う場合は、1回の呼び出しですべて渡します。
npx concept-atlas-dense-explain a.mdx b.mdx c.mdx -o dist [--concurrency 3](この場合、-oはディレクトリです。最初にすべてを検証してから、並列にビルドします)。ビルドに含まれるレンダラーは、コンテンツで使うものだけです。<Math>がなければ KaTeX の約 1.4MB のインラインフォントは省略され、<Mermaid>がなければ Pele は完全に除外されます。有効化するために、ダミーの<Math>/<Mermaid>ノードを追加しないでください。 - シェル、出力先、検証結果(エラー/警告)、制約を報告します。確認していない操作について、動作すると主張しないでください。
キャリア
atlas:ExplainPage→ConceptGraph→ConceptNodeに加え、Children/ConceptRefとブランチをまたぐRelationで構成されます。L0のルートは必ず1つとし、複数のL1ブランチを配置します。深さはL3/L4までです。共有コンポーネントはノード内に配置します。ConceptNodeには、ノードの知識上の役割をレベルとは独立して示す任意のkindも指定できます(「作成ルール」を参照)。scroll:ScrollDocument→ScrollHeader+ScrollSection(+ScrollProse、ScrollGrid)で構成されます。共有コンポーネントはセクション内に配置します。シェルはセクションのタイトルから目次と読書の進捗を自動生成するため、ナビゲーションを手動で作成しないでください。- ブラウザータブのタイトルはビルドフラグではなく、シェルから設定されます。
ExplainPage title(atlas)またはScrollHeader title(scroll)が<title>になるため、具体的で内容に即した名前を指定してください。「主题名称」のようなプレースホルダーは使用しないでください。すべてのページで固定の 📃 ファビコンを使用します。 - 1つのMDXファイルで両方のシェルを使用しないでください。シェルを切り替える場合は、外側の構造だけを変換してください。
コンポーネントとプロパティのリファレンス
コンポーネントの一覧、すべてのプロパティの形式、構文上の注意点については、references/components.md を参照してください。作成を始める前に必ず読み、新しいタグをこのページで使うたびに、コンポーネント名で検索してください。プロパティ名や形式を推測することはできません。チャート、学習ループ、来歴、データ/動作、構造の各コンポーネントについては、同ファイルに詳細が記載されています。以下では、すべてのページで守る必要があるルールのみを再掲します。
作成ルール
- MDX のセマンティクスを保ってください。CSS、座標、SVG、置き換え用のアプリケーションコードは記述しないでください。コンポーネント名や props を作り出さないでください。
- 重要な各ノードには、主張を表すタイトル、1 文の
summary、および実質的な内容(Definition、Mechanism、Example、Boundary、Evidence、モデル、チャート、数式のいずれか)を含めてください。Overview、Definition、Insightで同じ文章を繰り返さないでください。 kind(任意、atlas):levelとは独立して、ノードの知識上の役割をタグ付けします。system、stage、mechanism、artifact、failure、tool、boundary、decisionのいずれかを指定します。グラフの「知識タイプ」フィルターとノードバッジに使用されるため、役割が明確な場合に指定し、すべてのノードに指定する必要はありません。指定すると、任意の 2 つの要件が適用されます。kind="mechanism"にはInvariantまたはEvidenceを含めてください。kind="failure"にはFailureMode(symptom/cause/evidence/remedyを含む)を含めてください。- 配列 props にはオブジェクトの配列を指定してください:
Flow steps={[{title, description}]}、Timeline events={[{label, content}]}、MatrixModel cells={[{title, description, tone}]}、DecisionMatrix headers={[...]} rows={[[...]]}、Chart data={[{label, value}]}、References items={[{id, authors, year, title, url, source}]}。配列 prop に文字列または配列以外を指定すると、バリデーターが警告(PROP_EXPECTS_ARRAY)を出します。 Relation typeにはprerequisite、causes、produces、uses、implements、contrasts、depends-on、exception-of、precedesのいずれかを指定し、各Relationにはlabelが必要です。親子階層は(parentとChildren/ConceptRefによって)暗黙的に表現されます。Relationで表現しないでください。- 数式:MDX は子要素内の
{ ... }を式として解析するため、LaTeX はformulaを使い、波括弧またはバックスラッシュを含めて渡してください:<Math formula="r_{\text{ann}} = (1 + r)^{12} - 1" />、<MathBlock formula="I(x) = -\log_2 p(x)" variables={[{symbol, description}]} />。<Math>\log_2 N</Math>のように波括弧を含まない子要素は使用できます。バリデーターは警告(MATH_CHILDREN_BRACES)を出します。 - コード:MDX が式として読み取らないよう、コードは文字列として
code(または子要素)に渡し、テンプレートリテラルで囲んでください:<CodeBlock language="bash" lineNumbers>{npm run validate}</CodeBlock>。バッジ、キャプション、折り返しについてはreferences/components.mdに記載されています。 - 図:必ず
altを設定し、idと<FigureRef>を使って番号を付けてください。「図 N」と手書きしないでください。相対リンクと--inline-assetsのどちらを使うかはサイズ上のトレードオフです。黙って選ぶのではなく、ユーザーと相談して決めてください。 - 引用/参考文献:
<Cite id="..." />は、<References items={...} />内の一致する項目の位置に基づいて[n]を表示します。atlasでは、引用とReferencesブロックを同じノード内に置いてください。ノードの内容は、そのノードを開いたときにのみ表示されるためです。 - 続けて読みやすくする設定は、手動の CSS ではなくシェルで行います。リズムには
spacing="compact|comfortable|airy"、文字サイズにはfontSize="compact|normal|large|xlarge"(または数値のscale/lineHeight)を指定してください。
検証診断
validate とビルドでは CODE line:column message が出力されます。ビルドする前にすべての error を修正してください。references/diagnostics.md には、発生しうるコードが記載されており、エラーと警告が分けられています。NO_ROOT_LEVEL、MULTIPLE_ROOT_LEVEL、MECHANISM_KIND_UNVERIFIED、FAILURE_KIND_UNSTRUCTURED は、--strict を指定するとエラーに昇格する警告です。
報告する前に
- すべての
error診断を解消する(または--no-validateを明確に正当化する)。 - すべての
ConceptRef、Relationのエンドポイント、およびConceptGraph rootが、既存のノード ID を参照している。 - すべてのノードに
titleとsummaryがあり、すべてのRelationにlabelがある。 <Mermaid>を含むページは、すでに完全にオフラインで動作する。Pele はインラインで提供されるため、CDN フラグは不要。- 報告したパスに HTML ファイルが存在する。
npx がレジストリに接続できない場合は、阻害要因として報告してください。実装ファイルをスキルディレクトリにコピーしないでください。