🚀 新規事業

システム開発依頼書

最終更新 2026年06月23日 / 40_新規事業/TERASU/システム開発依頼書.md

TERASU案件管理システム 機能拡張開発依頼書 v1

別Claude Codeセッションで実装するための完全自己完結ドキュメント。
25項目を制作担当ファーストで実装する。

---

クイックアクセス

依頼サマリ
| 項目 | 値 |
|---|---|
| ゴール | 制作担当の作業効率を最大化し、PM(FS兼任)の負担を減らす |
| 実装機能数 | 25項目(A群-F群) |
| 想定工数 | 5-7営業日(ミニマム1日 / 標準3日 / フル装備5-7日) |
| 対象システム | TERASU案件管理(terasu-mgmt.pages.dev) |
| 主担当 | ゲンカイ + Claude Code |


1. 別セッション開始時のキックオフプロンプト

新セッション開始時、これをそのままコピペしてください。

TERASU案件管理システムの機能拡張を進めます。

【依頼書】
~/Obsidian/SCALE-Brain/40_新規事業/TERASU/システム開発依頼書.md

【リポジトリパス】
/Users/oogushiyuuki/株式会社SCALE/hp/terasu/

【公開URL】
https://terasu-mgmt.pages.dev/

【データベース】
Supabase (pelhuxlntrtejgwhcvzo.supabase.co)
- terasu_app_data テーブル(key/value JSONB)
- SCALE CRM の app_data とは完全分離

【作業前に読むべきもの】
1. この依頼書全文
2. 既存実装: index.html / core.js / pages.js / kickoff.js / overview.js / ai.js / lib/*.js
3. CLAUDE.md (~/Obsidian/SCALE-Brain/CLAUDE.md)

【守るべきこと】
- 既存関数を消さない(feedback_never_delete_functions ルール)
- 編集前後にtar.gzバックアップを取る
- コード変更後は必ずデプロイ
- changelog相当のコメントを実装ファイル先頭に追記

依頼書の「8. 実装順序」に従って、ミニマムセットから順に実装してください。
完了したら、依頼書の「11. 完了条件」をチェックし、Slackで報告。

2. プロジェクト前提

システム概要

項目
サービス名 TERASU案件管理(HP制作 案件管理プラットフォーム)
ローカルパス /Users/oogushiyuuki/株式会社SCALE/hp/terasu/
本番URL https://terasu-mgmt.pages.dev/
デプロイ先 Cloudflare Pages(git連携 自動デプロイ前提)
バックエンド Supabase(テーブル: terasu_app_data
認証 ログインフォーム(メール+パスワード)
フレームワーク Vanilla JS + HTML/CSS(外部ライブラリ最小)

ファイル構成

hp/terasu/
├── index.html          # アプリシェル + ログイン
├── core.js (66KB)      # Supabase / NAV / 認証 / 共通基盤
├── pages.js (46KB)     # メンバー / 案件概要 / ヒアリング / メール / 契約
├── kickoff.js (30KB)   # キックオフMTG(7アジェンダ・タイマー・議事録)
├── overview.js (30KB)  # サービス概要シート(12セクション)
├── ai.js (72KB)        # Claude API連携(自動入力・要約)
├── style.css (25KB)    # 全UI
├── lib/
│   ├── workflow.js     # 制作5ステップ(Hearing→Design→Build→Review→Ship)
│   ├── demos.js        # デモ100種カタログ
│   ├── instructions.js # Claude Code指示書バージョン管理
│   ├── revisions.js    # 月額修正依頼(30分タイマー)
│   ├── mtg.js          # 週次MTG/議事録
│   ├── sales.js        # LinkedInパイプライン
│   ├── finance.js      # MRR/粗利/解約率/LTV
│   └── manual.js       # マニュアル
└── icons/, seed/

データキーの命名規則(既存)

  • グローバル: D('key', default) / S('key', value) を使う
  • プロジェクト固有: PD('key', default) / PS('key', value)
  • 内部的に proj_<id>_key として保存される
  • LocalStorage prefix: te_

3. ロール再定義(実装に反映)

現状

ロール 既存タイプ 既存ラベル
経営者 admin Admin
プロジェクトマネージャ pm PM
実働者 worker 実働

新定義(既存タイプは保持、ラベルのみ更新)

ロール type 新ラベル 主な業務
経営者 admin Admin 全権限
FS兼PM pm PM(FS兼任) 商談 / 契約 / ヒアリング / キックオフ / 月次運用 / 修正受付 / クロスセル
制作担当 worker 制作担当 案件理解 / AI生成 / 修正反映 / レビュー / 公開作業

実装すべき変更

  • pages.jsrenderMembers() で表示ラベルのみ更新
  • m.type==='pm'?'PM':'実働'm.type==='pm'?'PM(FS兼任)':'制作担当'
  • 既存データに変更なし

4. 実装機能一覧(25項目)

A群: 制作担当 最適化(最優先・8項目)

# 機能 規模 関連ファイル
A1 制作キット画面 新規 lib/production_kit.js
A2 AI案件サマリ生成(30秒で読める3行要約) ai.js 拡張
A3 素材ステータス可視化 既存「素材管理」NAV (id:assets) を実装
A4 今日のTODO自動生成 新規 lib/today_todo.js
A5 Build完了チェックリスト lib/workflow.js 拡張
A6 公開前最終チェックリスト lib/workflow.js 拡張(Ship工程)
A7 Claude Code指示書 ワンクリックコピー強化 lib/instructions.js 拡張
A8 デモプレビューURL 即時オープン lib/demos.js 拡張

B群: 引き継ぎ強化(5項目)

# 機能 規模 関連ファイル
B1 キックオフ→制作担当 ワンクリックアサイン kickoff.js 拡張
B2 制作担当 オンボーディングモーダル 新規 lib/onboarding_modal.js
B3 質問・困り事 ワンクリック起票 新規 lib/quick_question.js
B4 素材待ち→PM自動通知 A3と連動
B5 レビュー依頼 ワンクリック lib/workflow.js Review工程拡張

C群: 修正依頼 最適化(4項目)

# 機能 規模 関連ファイル
C1 自分宛フィルタ + 優先度ソート lib/revisions.js 拡張
C2 30分縛り→月累計時間管理 lib/revisions.js 改修
C3 修正完了→クライアント自動メール lib/revisions.js + pages.js メール連携
C4 修正カテゴリ AI自動分類 ai.js 拡張 + lib/revisions.js

D群: PM最適化(5項目)

# 機能 規模 関連ファイル
D1 ダッシュボードPM観点KPI 新規 lib/pm_dashboard.js or pages.js 拡張
D2 キックオフ→概要シート反映 強化 kickoff.js applyDecisionsToSheet() 改修
D3 月次レポート自動生成 新規 lib/monthly_report.js
D4 クロスセル提案タイミング通知 新規 lib/cross_sell_alert.js
D5 週次MTG 自動アジェンダ生成 lib/mtg.js 拡張

E群: 通知・アラート(4項目)

# 機能 規模 関連ファイル
E1 公開予定3日前 赤フラグ 新規 lib/alerts.js
E2 SLA違反検知 lib/alerts.js
E3 素材受領期限切れ通知 lib/alerts.js
E4 6ヶ月継続前 通知 lib/alerts.js

F群: ナレッジ・マニュアル(3項目)

# 機能 規模 関連ファイル
F1 制作担当向けFAQ lib/manual.js 拡張
F2 クライアントFAQ標準回答集 lib/manual.js 拡張
F3 公開後お手入れマニュアルPDF生成 新規 lib/handover_pdf.js

5. 各項目の詳細仕様

A1: 制作キット画面(最重要・大規模)

目的: 制作担当が案件を開いた時、1画面で必要情報を全て把握できる状態を作る

実装内容:
- 新規ファイル lib/production_kit.js 作成
- NAV project{id:'production_kit',label:'制作キット',icon:'...'}最上位に追加
- 関数 renderProductionKit() を実装

画面構成(順序厳守):
1. ヘッダー: 社名 / 業種 / 公開予定日 / 現在ステップ
2. AI要約カード(A2連携): 3行サマリ + 「再生成」ボタン
3. 選定デモカード: サムネ + プレビューURL + カスタマイズ箇所
4. Claude Code指示書 (最新版): 内容表示 + 「コピー」ボタン
5. 素材ステータス(A3連携): ロゴ/写真/コピー/ドメインの ✓/⚠
6. ヒアリング/キックオフ サマリ: 折りたたみで全文展開
7. 今日のTODO(A4連携): 3項目
8. PM連絡導線(B3連携): 「PMに質問」ボタン

Acceptance Criteria:
- [ ] 制作担当ロールでログイン後、案件選択時に最初に表示される
- [ ] 全セクションが1スクロールで把握できる(折りたたみ多用)
- [ ] 各セクションへの遷移リンクあり(詳細編集は既存ページへ)
- [ ] ローディング1秒以内


A2: AI案件サマリ生成

目的: ヒアリング+キックオフ+概要シートをAIで3行要約。「30秒で案件を理解できる」状態。

実装内容:
- ai.js に関数 generateProjectSummary(projectId) を追加
- プロンプト:
```
以下のヒアリング・キックオフ・サービス概要シートから、
HP制作担当者が30秒で案件を把握できる3行要約を作ってください。

1行目: 何屋・誰向け・主な訴求
2行目: デザイン方向性・トーン
3行目: 必須機能・特殊要件
`` - 生成結果をproj__ai_summary` に保存
- 元データに変更があれば「再生成が必要」フラグを立てる

Acceptance Criteria:
- [ ] A1の最上部に表示
- [ ] 「再生成」ボタンあり
- [ ] AI応答キャッシュ24時間有効(既存_aiCacheGetを使う)


A3: 素材ステータス可視化

目的: クライアントから受領すべき素材の進捗を可視化。受領待ちは赤フラグ。

実装内容:
- 既存NAVに {id:'assets',label:'素材管理',...} あり → 実装する
- 新規ファイル lib/assets.js、関数 renderAssets()
- データ構造: proj_<id>_assets
js { items: [ {id, type:'logo'|'photo'|'text'|'domain'|'other', label:'', status:'pending'|'received', received_at:'', note:''} ], last_request_sent_at: '' }
- デフォルト項目(自動生成): ロゴ / メイン写真 / 会社情報テキスト / ドメイン情報 / 商品/サービス画像
- A1の制作キットには集約サマリ(4項目アイコンの色分け)

Acceptance Criteria:
- [ ] 各素材を pending/received で切替可能
- [ ] 受領待ちが3日以上続いたら赤フラグ
- [ ] PM側で「素材リクエストメール再送」ボタンあり
- [ ] B4 (PM自動通知) と連動


A4: 今日のTODO自動生成

目的: 制作担当が「今日何をやればいいか」を3つに絞って提示

実装内容:
- 新規ファイル lib/today_todo.js、関数 generateTodayTodos(projectId)
- ロジック:
1. 現在の workflow.current_step を取得
2. 未完了サブタスクのうち、依存解決済みのものを優先度順に3つ選択
3. 素材未受領で止まる場合は「PMに素材確認」をTOPに
4. 修正依頼が当日締切ありなら最優先

Acceptance Criteria:
- [ ] A1制作キットに表示される
- [ ] チェックすると workflow のサブタスクと連動して完了マーク
- [ ] ログイン時 + 12時間ごとに自動再計算


A5: Build完了チェックリスト

目的: Build工程の完了を客観基準でゲート

実装内容:
- lib/workflow.jsWF_STEPS の Build に gate フィールド追加
js {k:'build',label:'Build',icon:'⚙️', subtasks:[...], gate:[ '全ページHTML完成(5ページ)', 'PC/タブレット/スマホ全対応確認', 'お問い合わせフォーム送信テスト', '基本SEO(title/description/OGP)設定', 'ファビコン設定', '構造化データ埋め込み', 'レイアウト崩れなし', '画像最適化(WebP / 圧縮)' ]}
- 制作担当がチェック→PMに自動通知

Acceptance Criteria:
- [ ] 全項目チェックされない限り Build 完了にできない
- [ ] チェック完了で B5(レビュー依頼)が起動可能になる


A6: 公開前最終チェックリスト

目的: 公開直前の品質ゲート

実装内容:
- lib/workflow.js の Ship に gate フィールド追加
js gate:[ 'Lighthouse スコア90以上(Performance/Accessibility/SEO)', '独自ドメイン接続確認', 'SSL証明書有効', 'GA4タグ動作確認(DebugView)', 'sitemap.xml 設置', 'robots.txt 設置', 'お問い合わせフォーム本番送信テスト', '404ページ表示確認', 'リンク切れチェック', 'OGP画像表示確認(FB Debugger)' ]

Acceptance Criteria:
- [ ] 全項目チェックされない限り Ship 完了にできない
- [ ] 完了時に「納品連絡メール」テンプレを自動展開


A7: Claude Code指示書 ワンクリックコピー強化

目的: 既存copyInstruction()に変数自動展開を追加

実装内容:
- lib/instructions.jscopyInstruction() を拡張
- コピー時に以下のプレースホルダーを自動展開:
- {client} → クライアント名
- {public_url} → 公開予定URL
- {demo_id} → 選定デモID
- {demo_url} → 選定デモプレビューURL
- {primary_color} → 概要シートの primary color
- {pages} → 構成ページ一覧

Acceptance Criteria:
- [ ] コピー時に変数が実値に置換される
- [ ] 変数が未定義の場合は [未設定] を入れる(コピー側で気付ける)


A8: デモプレビューURL 即時オープン

目的: 既存デモ管理から、選定デモを別タブで即確認

実装内容:
- lib/demos.jsrenderDemoCatalog() に「プレビューを開く」ボタン追加
- A1の制作キットからも直接ボタン

Acceptance Criteria:
- [ ] 別タブで demo.preview_url を開く
- [ ] target="_blank" rel="noopener"


B1: キックオフ→制作担当 ワンクリックアサイン

目的: キックオフ完了後、制作担当アサイン+指示書AI生成+Slack通知を1動作で

実装内容:
- kickoff.js_renderKickoffWrap() に「制作担当をアサインして開始」ボタン
- クリック時の処理:
1. 制作担当を選択(既存メンバーから)
2. AI指示書を自動生成(A2のサマリ + 概要シート + デモ情報を結合)
3. lib/instructions.js に新バージョンとして保存
4. workflow を design ステップに進める
5. Slack通知(後述のSlack連携API or webhook)

Acceptance Criteria:
- [ ] アサイン後、制作担当ロールでログインすると新規案件が見える
- [ ] 指示書 v1 が自動生成済み
- [ ] PM側に「アサイン完了」トースト


B2: 制作担当 オンボーディングモーダル

目的: 制作担当が案件初アクセス時、必読情報をモーダルで提示

実装内容:
- 新規ファイル lib/onboarding_modal.js
- 関数 showProductionOnboarding(projectId)
- モーダル内容:
1. AI要約(A2)
2. キックオフ決定事項
3. 指示書要点(最初の200文字)
4. 「了解しました(オンボ完了)」ボタン
- 完了フラグ: proj_<id>_onb_done = true
- renderProductionKit() 冒頭で未完了なら自動表示

Acceptance Criteria:
- [ ] 案件初アクセスで自動表示
- [ ] 完了後は再表示されない
- [ ] 「もう一度見る」ボタンが制作キットにある


B3: 質問・困り事 ワンクリック起票

目的: 制作担当が困った時、PMにすぐ質問できる導線

実装内容:
- 新規ファイル lib/quick_question.js
- グローバルに「PMに質問」フローティングボタン(右下固定)
- クリック→モーダル
- カテゴリ選択: 素材待ち / 仕様確認 / 技術質問 / その他
- 内容入力(5行程度)
- 「送信」ボタン
- 送信処理:
1. proj_<id>_questions に保存
2. Slack通知(PM宛DM)
3. メール送信(PMアドレス宛)

Acceptance Criteria:
- [ ] 全画面でフローティングボタン表示(admin・PMには非表示)
- [ ] 履歴一覧画面あり
- [ ] PMが「回答」できる(コメント追記+通知)


B4: 素材待ち→PM自動通知

目的: 制作担当が素材待ちで止まったら、PMに自動でアクションを促す

実装内容:
- A3 (assets) と連動
- 制作担当が素材ステータスを「pending」のまま3日経過 → PMにアラート
- アラート機構は E群と統合

Acceptance Criteria:
- [ ] PMダッシュボードに「素材待ち案件」カード表示
- [ ] PMの修正画面で「素材リクエストメール再送」ワンクリック


B5: レビュー依頼 ワンクリック

目的: 制作担当が完了→PMレビュー依頼を1動作で

実装内容:
- lib/workflow.js Review工程に「PMレビューを依頼する」ボタン
- 処理:
1. workflow を review ステップに進める
2. PMにSlack通知(プレビューURL付き)
3. メールテンプレ review_request を自動展開(送信は手動)

Acceptance Criteria:
- [ ] A5 (Build完了チェックリスト) 全項目クリアでないと押せない
- [ ] 重複押下防止


C1: 修正依頼 自分宛フィルタ + 優先度ソート

目的: 制作担当が自分の対応すべき修正を即座に把握

実装内容:
- lib/revisions.jsrenderRevisions() を改修
- 制作担当ロールの場合:
- デフォルトで「自分宛 + 未完了」フィルタ
- 優先度(緊急/通常/低)ソート
- 当日締切は赤帯
- フィールド追加: revision.assigned_to, revision.priority, revision.due_date

Acceptance Criteria:
- [ ] フィルタ切替UI(全件/自分宛/未完了)
- [ ] 優先度フィールド入力UI
- [ ] 既存データは priority='normal' で互換


C2: 30分縛り→月累計時間管理

目的: 利益管理を「依頼ごと30分」から「月累計X時間」に変更

実装内容:
- 既存の30分赤フラグは維持(指針として)
- 新規: 月累計の対応時間を集計
- 新フィールド: monthly_target_min (デフォルト300分=5時間/月)
- アラート:
- 月の累計対応時間 / target = 70%超 → 黄
- 90%超 → 赤
- ダッシュボードに表示

Acceptance Criteria:
- [ ] 月累計時間の自動集計
- [ ] target を案件ごとに上書き可能
- [ ] アラート表示


C3: 修正完了→クライアント自動メール

目的: 既存メールテンプレ revision_done を修正完了時に自動展開

実装内容:
- lib/revisions.js の修正完了処理に追加
- 完了時にモーダル表示:
- 「{client}様へ修正完了メールを送信しますか?」
- メール本文プレビュー(テンプレ自動充填)
- 「送信」「コピーのみ」「スキップ」ボタン

Acceptance Criteria:
- [ ] 完了時にモーダル自動表示
- [ ] メール本文編集可能
- [ ] メール送信ログを保存


C4: 修正カテゴリ AI自動分類

目的: 修正依頼を「運用内/運用外」にAIで自動分類。運用外は別途見積フラグ。

実装内容:
- ai.jsclassifyRevision(content) 関数追加
- プロンプト:
```
以下の修正依頼内容を分類してください。

運用内(追加費用なし): テキスト変更/画像差替/色調整/お知らせ追加
運用外(別途見積): ページ追加/構造変更/新機能追加/EC・会員機能

返答形式: {category:'内/外', reason:'分類理由', recommendation:'対応方針'}
`` - 結果をrevision.ai_category` に保存
- 「外」の場合、UIに別途見積フラグ表示

Acceptance Criteria:
- [ ] 修正依頼登録時に自動分類
- [ ] 制作担当が分類を上書き可能
- [ ] 「外」の場合PMに通知


D1: ダッシュボード PM観点KPI

目的: PMが朝開く画面で全案件の状況を一目把握

実装内容:
- 既存ダッシュボード(renderDashboard())を拡張 or 新規 lib/pm_dashboard.js
- カード表示項目:
- 進行中案件数
- 制作待ち(素材待ち・指示書待ち)
- 修正依頼残(自分宛+未対応)
- 今月公開予定数
- 今月新規契約数
- MRR(Finance連携)
- 公開3日前赤フラグ案件
- SLA違反案件

Acceptance Criteria:
- [ ] PMロールで初期表示
- [ ] 各カードクリックで詳細画面へ遷移


D2: キックオフ→概要シート反映 強化

目的: 既存の applyDecisionsToSheet() の精度向上

実装内容:
- kickoff.jsapplyDecisionsToSheet() を改修
- AI(ai.js)を使って議事録から概要シート12セクションへ自動マッピング
- マッピングプレビュー画面追加(PM確認後に反映)

Acceptance Criteria:
- [ ] AI抽出 → プレビュー → 確定の3段階
- [ ] 既存値を上書きしない(追記モード)


D3: 月次レポート自動生成

目的: 月次運用クライアント向けレポートを自動生成

実装内容:
- 新規ファイル lib/monthly_report.js
- 関数 generateMonthlyReport(projectId, yearMonth)
- 含める情報:
- GA4データ(PV/UU/直帰率/流入経路)
- お問い合わせ件数
- 当月の修正依頼サマリ
- 改善提案(AI生成)
- HTML出力 + メール本文化(monthly_invoice テンプレ拡張)
- 自動実行: 毎月1日 朝9時(cron)

Acceptance Criteria:
- [ ] PDF出力対応
- [ ] AI改善提案が必ず含まれる
- [ ] PMが内容確認後に送信(自動送信ではない)


D4: クロスセル提案タイミング通知

目的: 公開後のクロスセル提案を逃さない

実装内容:
- 新規ファイル lib/cross_sell_alert.js
- ルール:
- 公開3ヶ月後 → SCALE CRM 提案タイミング通知
- 公開1ヶ月後 + アクセス数月100PV超 → SCALE Form 提案
- 月次お問い合わせ5件超 → SCALE Insight 提案
- E群アラートに統合

Acceptance Criteria:
- [ ] PMダッシュボードに通知表示
- [ ] 提案メールテンプレ自動展開


D5: 週次MTG 自動アジェンダ生成

目的: 週次MTG準備時間をゼロに

実装内容:
- lib/mtg.jsaddWeeklyMTG() 改修
- 新規MTG作成時、AIで自動アジェンダ生成
- 含める情報:
- 全案件の前週進捗
- 完了予定だが未完了の案件
- 修正依頼残
- SLA違反案件
- 来週公開予定

Acceptance Criteria:
- [ ] 「自動生成」ボタン
- [ ] PMが編集可能


E1-E4: アラート機構

目的: 期限超過・SLA違反を自動検知して通知

実装内容:
- 新規ファイル lib/alerts.js
- 関数 checkAllAlerts() を 30分ごと実行
- アラートタイプ:
- E1: 公開予定3日前
- E2: SLA違反(修正対応24h超 / 障害4h超)
- E3: 素材受領期限切れ(pending 3日超)
- E4: 6ヶ月継続前(公開日+5ヶ月)
- 通知方法:
- 既存 notify() 関数(core.js)を活用
- PM宛のSlack通知(D1ダッシュボードに表示)

Acceptance Criteria:
- [ ] 自動チェック動作
- [ ] PMロールにのみ通知(制作担当には B4 の素材待ちのみ)
- [ ] 既読/未読管理


F1: 制作担当向けFAQ

目的: 制作中につまづくポイントを集約

実装内容:
- lib/manual.js を拡張、新セクション「制作担当FAQ」追加
- 初期コンテンツ(後で社内で増やす):
- Q: Claude Codeで初稿生成のコツは?
- Q: フォーム送信先の設定方法は?
- Q: 独自ドメイン接続の手順は?
- Q: GA4タグの設置方法は?
- Q: Lighthouseスコア改善のチェックポイントは?
- Q: クライアントから「作り直して」と言われた時は?

Acceptance Criteria:
- [ ] 検索機能あり
- [ ] 制作キット画面からリンクあり


F2: クライアントFAQ標準回答集

目的: クライアントから来る質問の標準回答テンプレ集

実装内容:
- lib/manual.js を拡張、新セクション「クライアントFAQ」追加
- 内容:
- Q: 修正本当に無制限?
- Q: ソースコードはもらえる?
- Q: 6ヶ月の縛りはなぜ?
- Q: AIで作って大丈夫?
- Q: 公開後すぐに更新できる?
- Q: 解約方法は?

Acceptance Criteria:
- [ ] 各回答を「コピー」できる
- [ ] PM/制作両方からアクセス可能


F3: 公開後 お手入れマニュアルPDF生成

目的: 納品時にクライアントへ渡すマニュアルPDFを自動生成

実装内容:
- 新規ファイル lib/handover_pdf.js
- 関数 generateHandoverPdf(projectId)
- 含めるセクション:
- サイト概要
- 公開URL / 管理画面(GA4)
- 修正依頼の出し方
- 月額プラン詳細
- 緊急時連絡先
- よくある質問(F2連携)
- PDF生成: jsPDF or print-to-PDF

Acceptance Criteria:
- [ ] Ship工程完了時にダウンロード可能
- [ ] クライアント名・URL・日付が自動充填


6. データスキーマ拡張

既存テーブル

  • terasu_app_data (key TEXT, value JSONB)

新規追加が必要なkey

key 用途
proj_<id>_assets 素材ステータス (A3)
proj_<id>_ai_summary AI要約 (A2)
proj_<id>_today_todos 今日のTODO (A4)
proj_<id>_questions 質問履歴 (B3)
proj_<id>_onb_done オンボ完了フラグ (B2)
proj_<id>_monthly_target_min 月間対応時間目標 (C2)
alerts_state アラート既読管理 (E群)
monthly_reports 月次レポート保存 (D3)
cross_sell_log クロスセル提案履歴 (D4)

既存スキーマ変更(注意)

既存 変更内容
revision (lib/revisions.js) フィールド追加: assigned_to, priority, due_date, ai_category
WF_STEPS (lib/workflow.js) 各ステップに gate フィールド追加

マイグレーション

  • 既存データは欠損時にデフォルト値を返す方式(破壊的変更なし)
  • priority 未定義の場合は 'normal'
  • gate 未定義は空配列

7. 実装順序(推奨)

Phase 1: ミニマムセット(1営業日)

A1, A2, A3, A5, A6, B1, C1

→ 制作担当の8割の不便が解消する

Phase 2: 標準セット(追加2営業日)

B3, B5, C3, D1, E1, E2

→ PM/制作の連携と通知が整備

Phase 3: フル装備(追加3-4営業日)

A4, A7, A8, B2, B4, C2, C4, D2, D3, D4, D5, E3, E4, F1, F2, F3

→ 全機能完備


8. 守るべきルール(重要)

バックアップ

  • 編集前に必ず tar.gz バックアップ:
    bash cd /Users/oogushiyuuki/株式会社SCALE/hp/ tar -czf ~/terasu-backups/terasu-$(date +%Y%m%d_%H%M).tar.gz terasu/
  • バックアップ保存先: ~/terasu-backups/(無ければ作成)

関数の取り扱い

  • 既存関数は絶対に消さない(feedback_never_delete_functionsルール)
  • 機能変更時は新関数を追加し、古い関数からはコメントで移行先を案内
  • グローバル変数の上書きは禁止

デプロイ

  • 変更後は必ずデプロイ(feedback_always_deployルール)
  • Cloudflare Pagesのgit連携で自動デプロイ前提
  • デプロイ後、https://terasu-mgmt.pages.dev/ で動作確認

ファイル先頭にchangelog

  • 各実装ファイルの先頭に変更履歴コメント:
    js // CHANGELOG // 2026-04-XX: A1 制作キット画面を追加 // 2026-04-XX: A2 AI要約を追加

Slack通知

  • 大きな変更後はSlack通知:
    bash # ~/Obsidian/scripts/slack_post.sh などで通知
  • 通知内容: 変更概要 / デプロイURL / テスト推奨ポイント

9. テスト観点

各実装後、最低限以下を確認:

既存機能の動作確認(破壊的変更チェック)

  • [ ] ログイン
  • [ ] 案件作成・選択
  • [ ] ヒアリング保存
  • [ ] キックオフ保存
  • [ ] サービス概要シート保存
  • [ ] 制作フロー進捗更新
  • [ ] 修正依頼登録
  • [ ] メール起票

新機能の動作確認(各項目)

  • 各項目の Acceptance Criteria を全てチェック

マルチデバイス確認

  • PC(Chrome)
  • スマホ(Safari)

ロール別動作確認

  • Admin
  • PM(FS兼任)
  • 制作担当

10. 完了条件

機能完成

  • [ ] 全25項目(A1-F3)の Acceptance Criteria を満たす
  • [ ] テスト観点をすべてクリア

ドキュメント

  • [ ] 各ファイル先頭にchangelog記載
  • [ ] このノート(システム開発依頼書.md)の「完了状況」セクションを更新

デプロイ

  • [ ] 本番URL(terasu-mgmt.pages.dev)で全機能確認済み
  • [ ] バックアップ取得済み

報告

  • [ ] Slack(#dev or #ceo)に完了報告
  • [ ] 実装内容のサマリ + デプロイURL
  • [ ] 既知の制約・課題があれば明記

11. 完了状況

全25項目フル実装・本番デプロイ完了 (2026-04-27)
本番URL: https://terasu-mgmt.pages.dev/

# 機能 状態 担当 完了日 実装ファイル
A1 制作キット画面 完了 Claude 2026-04-27 lib/production_kit.js (新規)
A2 AI案件サマリ生成 完了 Claude 2026-04-27 ai.js (generateProjectSummary 追加)
A3 素材ステータス可視化 完了 Claude 2026-04-27 pages.js (renderAssets 強化、3日超で赤フラグ)
A4 今日のTODO自動生成 完了 Claude 2026-04-27 lib/today_todo.js (新規)
A5 Build完了チェックリスト 完了 Claude 2026-04-27 lib/workflow.js (gate 8項目追加)
A6 公開前最終チェックリスト 完了 Claude 2026-04-27 lib/workflow.js (Ship gate 10項目追加)
A7 Claude Code指示書コピー強化 完了 Claude 2026-04-27 lib/instructions.js (copyInstructionExpanded)
A8 デモプレビューURL即時オープン 完了 Claude 2026-04-27 lib/demos.js (openDemoPreview 別タブ)
B1 キックオフ→アサイン1クリック 完了 Claude 2026-04-27 kickoff.js (assignProductionWorker + AI指示書)
B2 制作担当オンボーディングモーダル 完了 Claude 2026-04-27 lib/onboarding_modal.js (新規)
B3 質問・困り事1クリック起票 完了 Claude 2026-04-27 lib/quick_question.js (新規・フローティング)
B4 素材待ち→PM自動通知 完了 Claude 2026-04-27 pages.js (resendAssetRequestMail) + lib/alerts.js
B5 レビュー依頼1クリック 完了 Claude 2026-04-27 lib/workflow.js (requestPmReview Build gate連動)
C1 自分宛フィルタ+優先度ソート 完了 Claude 2026-04-27 lib/revisions.js (3フィルタ + REV_PRIORITIES)
C2 月累計時間管理 完了 Claude 2026-04-27 lib/revisions.js (月累計バー + 70/90%アラート)
C3 修正完了→自動メール 完了 Claude 2026-04-27 lib/revisions.js (_showRevisionDoneMailModal)
C4 修正カテゴリAI自動分類 完了 Claude 2026-04-27 ai.js (classifyRevision) + lib/revisions.js (UI)
D1 PM観点ダッシュボード 完了 Claude 2026-04-27 lib/pm_dashboard.js (新規・KPI 6カード)
D2 キックオフ→概要シート反映強化 完了 Claude 2026-04-27 kickoff.js (aiMapMinutesToSheet 12セクション)
D3 月次レポート自動生成 完了 Claude 2026-04-27 lib/monthly_report.js (新規・PDF出力対応)
D4 クロスセル提案通知 完了 Claude 2026-04-27 lib/cross_sell_alert.js (新規・4ルール)
D5 週次MTG自動アジェンダ 完了 Claude 2026-04-27 lib/mtg.js (generateWeeklyMTGAgenda)
E1 公開3日前赤フラグ 完了 Claude 2026-04-27 lib/alerts.js (launch_3days)
E2 SLA違反検知 完了 Claude 2026-04-27 lib/alerts.js (sla_revision/sla_failure)
E3 素材受領期限切れ通知 完了 Claude 2026-04-27 lib/alerts.js (asset_pending)
E4 6ヶ月継続前通知 完了 Claude 2026-04-27 lib/alerts.js (six_month)
F1 制作担当向けFAQ 完了 Claude 2026-04-27 lib/manual.js (worker_faq カテゴリ + 5ページ)
F2 クライアントFAQ標準回答 完了 Claude 2026-04-27 lib/manual.js (client_faq カテゴリ + 6ページ)
F3 お手入れマニュアルPDF生成 完了 Claude 2026-04-27 lib/handover_pdf.js (新規)

実装サマリ

  • 新規ライブラリ: 11ファイル / 既存ファイル拡張: 8つ / core.js / pages.js / index.html 更新
  • コード規模: 新規 ~2,500行 / 既存拡張 ~800行 / 合計 ~3,300行
  • 検証: 全22 JSファイル node --check 構文OK
  • デプロイ: Cloudflare Pages 28ファイルアップロード成功
  • バックアップ: ~/terasu-backups/terasu-20260427_1736-post-25features.tar.gz
  • Slack報告: 司令名義で #scale-group-com 投稿済

関連ノート


関連MOC


更新履歴

日付 内容
2026-04-27 初版作成(25項目フル仕様 + 別セッション開始プロンプト)
2026-04-27 全25項目フル実装・本番デプロイ完了 (Claude実装、~3,300行、22JS構文OK)
2026-04-28 完了状況テーブル更新(status: ready→done、各項目に実装ファイル明記)

実装完了済 (2026-04-27)
本番URL: https://terasu-mgmt.pages.dev/
当初の別セッション運用想定だったが、本セッション内で完結実装し本番反映済。