servicenow

新資格版 学習アプリ構築プレイブック

このリポジトリの学習アプリ(CSA版)を別の資格に横展開するための完全な手順書。 特定のLLMやツールに依存せず、任意のLLM(Claude/GPT/Gemini等)または手作業で再現できる。

アーキテクチャ

servicenow/
├── template/app_template.html   # アプリの器(全資格共通・変更不要)
├── certs/<cert_id>/             # 資格ごとのコンテンツ(ここだけ作る)
│   ├── config.json              # タイトル・分野構成・配点
│   ├── notes/*.md               # 分野別ノート(Markdown)
│   └── questions.js             # 問題データ
├── tools/build.py               # ビルドスクリプト
├── app/<cert_id>_single.html    # 生成物(GitHub Pagesで配信)
└── docs/NEW_CERT_PLAYBOOK.md    # このファイル

構築手順

Step 1: 試験ガイドの調査

対象資格の公式試験ガイド(Exam Blueprint)を入手し、以下を確定する:

Step 2: config.json 作成

certs/csa/config.json をコピーして編集:

{
  "cert_id": "cad",
  "app_title": "ServiceNow CAD 学習システム",
  "app_subtitle": "Certified Application Developer 試験対策",
  "version_badge": "PDI: Zurich リリース準拠",
  "storage_prefix": "cad",
  "output_single": "cad_single.html",
  "domains": [
    { "id": 1, "label": "...", "weight": 15, "note": "01_xxx.md" }
  ]
}

注意:

Step 3: ノート作成 (notes/*.md)

各分野1ファイル。CSA版のノート(certs/csa/notes/)を書式サンプルとして参照すること。 各ノートに必ず含めるセクション:

  1. # 分野N: <名前>(配点 X%) — 見出し
  2. 番号付きセクション — 概念説明(コード例・テーブル名を具体的に)
  3. ## 全体構造マップ — ASCII図で概念の関係を図解
  4. ## PDI 操作ガイド — 実機(Personal Developer Instance)での演習タスク5個前後。 ナビゲーションパス(All → System Definition → ...)を明記
  5. ## 試験との接続 — 「試験でこう問われたらこう答える」のQ&A形式

Markdown対応記法: 見出し(#〜###)、リスト(ネスト可)、太字コード、 コードブロック(```)、表、水平線。

LLMに書かせる場合のプロンプト例:

ServiceNow <資格名> 試験の分野「<分野名>」(配点X%)の学習ノートを
Markdownで書いてください。試験ガイドのトピック: <トピック列挙>。
必須セクション: 概念説明(テーブル名・API名を具体的に)/全体構造マップ(ASCII図)/
PDI操作ガイド(実機演習5タスク・ナビゲーションパス明記)/試験との接続(Q&A形式)。
準拠バージョン: <リリース名>。日本語で。

Step 4: 問題作成 (questions.js)

certs/csa/questions.js の構造をそのまま踏襲:

const DOMAINS = {
  1: { name: "...", weight: 15 },
};

const QUESTIONS = [
  {
    id: 101, domain: 1,
    q: "問題文",
    choices: ["選択肢1", "選択肢2", "選択肢3", "選択肢4"],
    answer: [0],          // choicesのインデックス。複数正解は [0, 2] のように
    expl: "解説。正解の根拠と、誤答選択肢がなぜ違うかを両方書く"
  },
];

規約:

Step 5: 品質監査(最重要)

作りっぱなしにしない。 CSA版で実際に見つかった欠陥の類型:

監査プロンプト(LLMに分野ごとに投げる):

以下のServiceNow <資格名> 試験対策の問題データを監査してください。
各問題について: (1)正解が技術仕様として本当に正しいか (2)解説が正確か
(3)選択肢に曖昧さがないか (4)最新リリース(<リリース名>)のUI・仕様に即しているか。
問題のあるものだけ「id/問題点/修正案」で列挙。
[questions.jsの該当分野を貼る]

さらに:

Step 6: ビルドと検証

python3 tools/build.py <cert_id>

チェックリスト:

Step 7: デプロイ

git add certs/<cert_id> app/<cert_id>_single.html
git commit -m "feat: add <cert_id> study app"
git push origin main

GitHub Pagesが有効なので、プッシュ後数分で https://<user>.github.io/servicenow/app/<cert_id>_single.html で配信される。 スマホでキャッシュが残る場合はバージョンバッジの文言を変えて確認する。

テンプレート(器)を修正する場合

template/app_template.html を編集 → python3 tools/build.py --all で 全資格を再ビルド。器の修正が全資格に一括反映される。

CSSの重要な既知対応(壊さないこと):