3画面パック ⑩ 実装指示 — ゼロから作り直す¶
🔴 いま作りかけのものは、使いません
見た目だけ作った画面(モックアップ)は、全部捨ててから始めます。 理由は1行です ——部分的に足すと、ヘッダーの不揃いとリンク切れが増えるだけだからです。
| どうするか | |
|---|---|
| 既存の Wiki の中身(手順書・議事録・調査・成果物) | 🔴 残します。1文字も捨てません。しかも元のフォルダは読み取り専用のままにします |
| 今回作った、見た目だけの画面 | 🔴 消します。ヘッダーも、元 Wiki へ張ったリンクも、全部です |
| 元 Wiki に足した「新しい入口」のリンク | 消します。入口は、この手順の段4で作り直します |
📦 このパックの入口 | ⑨ 要件定義(何を作るのか) | pmsw-pack.zip
このページは、右腕(社内で動かしている AI エージェント)への作業指示です。人向けの解説ではありません。 上から順に実行します。段を飛ばさないでください。各段には「終わりの印」があります。印が出ていない段の次へ進まないこと。
何を作るのかは 09_requirements、画面ごとの細かい仕様は 00〜05 にあります。 この10番は順番だけを決めます。
0. 全体の順番¶
flowchart TD
S1["段1 既存 Wiki を調べる<br>🔴 何も変更しない"] --> S2["段2 3つの URL を先に決める"]
S2 --> S3["段3 複製する<br>元は読み取り専用のまま"]
S3 --> S4["段4 3画面を作る<br>01〜04 の仕様どおり"]
S4 --> S5["段5 ヘッダーを揃える<br>🔴 ちぐはぐの原因"]
S5 --> S6["段6 つながりを確かめる<br>6か所"]
S6 --> S7["段7 並行運用<br>元 Wiki と両方動かす"]
S7 --> S8["段8 引っ越し<br>条件を満たしたら"]
| 段 | やること | 終わりの印 |
|---|---|---|
| 1 | 既存 Wiki を調べる | 一覧表が1枚書けている(変更は0件) |
| 2 | 3つの URL を決める | 3行が紙に書けている |
| 3 | 複製する | 元と複製先のページ数が一致。元のハッシュ一覧が複製前と同じ |
| 4 | 3画面を作る | 3つの URL が全部 200 で開ける |
| 5 | ヘッダーを揃える | 3枚のヘッダーの差分が 0行 |
| 6 | つながりを確かめる | 6か所を押して、6回とも目的の画面が出た |
| 7 | 並行運用 | 判断表が紙に書けていて、記録が溜まり始めている |
| 8 | 引っ越し | 元 Wiki のトップに案内が出て、戻し方が書いてある |
1. 段1 — 既存 Wiki を調べる(🔴 この段では何も変更しない)¶
最初にやるのは、作ることではなく、いま何があるかを書き出すことです。
やること:
- 元 Wiki の置き場所(サーバ上のフォルダ)を1つ特定する
- どう配信されているかを1行で書く(サイトを作る道具の設定ファイルの場所と、出来上がりの置き場)
- ページ数を数える(
.mdの数) - 中身の見出しを、大きなまとまりごとに書き出す(何が、どのフォルダにあるか)
- いまの入口の URL を書く
- 元フォルダの全ファイルのハッシュ一覧を取って、ファイルに保存する(段3で「変わっていないこと」を証明するのに使います)
出来上がりは、この形の一覧表1枚です。
| 項目 | 書く内容 |
|---|---|
| 置き場所 | <あなたのサーバ> 上のフォルダのパス |
| 設定ファイル | サイトを作る道具の設定ファイルの場所 |
| 出来上がりの置き場 | 配信されているフォルダのパス |
| 入口の URL | ブラウザで開いている URL |
| ページ数 | .md の数 |
| 大きなまとまり | フォルダごとの名前と、そこに何があるか |
🔴 この段で、ファイルを1つも書き換えないこと
調べるだけです。「ついでに直す」をやらないでください。 元 Wiki は、いま実際に仕事で使われています。作業台にしません。
終わりの印
- 上の一覧表が1枚できている
- ハッシュ一覧のファイルが保存されている
- 元フォルダの更新日時が、調べる前と変わっていない
2. 段2 — 3つの URL を先に決める¶
🔴 ここを飛ばすと、あとで全部やり直しになります
PM と SW の画面には、「← ポータル」のリンクが、作った時点で焼き込まれます。 ポータルの URL が決まっていないと、リンク先が無い状態で焼き上がります。 今回リンクが切れたのは、これが理由です。順番が逆だった、というだけの話です。
この3行を決めて、紙に書き出します。
ポータル http://<あなたのサーバ>:<ポート>/
PM http://<あなたのサーバ>:<ポート>/pm/
SW http://<あなたのサーバ>:<ポート>/sw/
決め方:
| 決めること | 決め方 |
|---|---|
| ポータルの URL | 🔴 元 Wiki と同じ形にします。引っ越したときに、人の見る場所が変わらないためです |
| PM の場所 | ポータルの下の /pm/。別のサーバ・別のポートにしない |
| SW の場所 | ポータルの下の /sw/。同上 |
🔴 以後この3つは変えません
変えると、焼き込まれたリンクが全部切れます。 「あとで変えるかも」という状態で段4へ進まないこと。いま決めます。
終わりの印
3行が紙に書けていて、ポータルの URL をブラウザに貼ると(まだ中身は古くてよいので)何かが開く。
3. 段3 — 複製する(元は読み取り専用のまま残す)¶
元 Wiki の中身を、新しい置き場にまるごとコピーします。
やること:
- 複製先のフォルダを新しく作る(元とは別のフォルダ。同じサーバでよい)
- 元 Wiki の中身を、そっくりそのままコピーする(フォルダの形も保つ)
- 元フォルダを読み取り専用にする(書き込みの権限を外す)
- 段1で取ったハッシュ一覧をもう一度取り直して、複製前と比べる → 差分 0 件であること
- 元と複製先で、ページ数と総バイト数が一致することを確かめる
| 確かめること | 合格 |
|---|---|
| 元が変わっていない | ハッシュ一覧の差分が 0 件(→ 09 の B4) |
| 中身が欠けていない | ページ数・総バイト数が一致(→ B5) |
| 元が書けなくなっている | 元フォルダへの書き込みが拒否される(試して、拒否されることを確かめる) |
🔴 元フォルダを作業場所にしない
以後の作業は、すべて複製先で行います。 元フォルダは、引っ越しが終わるまで触りません。
終わりの印
- ハッシュ一覧の差分 0 件の出力が残っている
- ページ数が一致している出力が残っている
- 元フォルダへ書こうとして拒否された出力が残っている
4. 段4 — 3画面を作る(複製した側で)¶
複製した側で、01〜04 の仕様どおりに作ります。ここで初めて「作る」作業に入ります。
| 画面 | 何をするか | 仕様 |
|---|---|---|
| ポータル(デスク) | 🔴 新設しません。複製した Wiki のトップを、そのままポータルにします。トップのいちばん上に、3つの入口(デスク / 案件の板 / 型の升目)を並べます | 04_portal・06 の3〜5節 |
| PM(案件のかんばん) | CSV(表)から生成器で作ります。段2で決めた URL を渡します | 01_data・02_pm・05_build |
| SW(仕事の型の升目) | 同じく生成器で作ります | 01_data・03_sw・05_build |
表(CSV)の中身は、このパックの data/ を差し替えて使います。
🔴 サンプルの中身をそのまま使わないでください。領域(area)と工程(stage)は、あなたの会社が実際にやっている仕事のまとまりで切ります。
🔴 型を先に作らないこと
SW の升目は、初日はほぼ全部「空」です。それで合っています。 空の升目を埋めるために、仕事の無い手順書を書き起こさないでください。 やった瞬間に、この画面は「宿題リスト」になって、見られなくなります。
終わりの印
段2で決めた3つの URL が、全部 200 で開ける(→ 09 の B1)。
HTTP 200 だけでは終わりません。それぞれの中身を取って、想定の見出しが入っていることまで見ます。
5. 段5 — ヘッダーを揃える(🔴 ちぐはぐの直接の原因)¶
今回「ちぐはぐ」に見えた原因は、画面ごとにヘッダーが違ったことです。 3画面すべてに、まったく同じヘッダーを入れます。「似たもの」ではなく「同じもの」です。
5-1. 共通ヘッダーの仕様¶
| # | 出すもの | 中身 | どの画面でも |
|---|---|---|---|
| 1 | サイト名 | 会社名 or 仕事場の名前。左端。押すとポータルのトップへ | 同じ文字・同じ位置 |
| 2 | デスク | ポータルのトップへ。中身(手順書・記録)を読む場所 | 同じ |
| 3 | 案件の板 | /pm/ へ。いま何が動いているか |
同じ |
| 4 | 型の升目 | /sw/ へ。どの型が残ったか |
同じ |
| 5 | 言葉の決め | 用語のページへ(シェルフ / プロジェクト / カード / 章) | 同じ |
| 6 | いまどこに居るかの印 | 開いている画面のボタンだけ、色を変える | 印の付け方も同じ |
5-2. 決めごと¶
| 決めごと | 内容 |
|---|---|
| 並び順 | 🔴 上の表の 1 → 6 の順で固定。画面ごとに並べ替えない |
| 置く場所 | 🔴 全画面で、ページのいちばん上。スクロールしても残る形にする |
| 文言 | 🔴 一字一句同じ。「案件の板」を別の画面で「PM」と書かない |
| 作り方 | 🔴 ヘッダーの元ネタを1か所に置き、3画面ともそこから読む。画面ごとに書き写さないこと。書き写した瞬間に、また不揃いが始まります |
| リンク先 | 段2で決めた3つの URL。相対パスで書かない(画面の階層が違うと切れます) |
🔴 判定は「目で見て似ている」ではありません
3枚の HTML からヘッダーの部分を抜き出して、文字として比べます。 差分が0行になって、はじめて合格です(→ 09 の B3)。
終わりの印
3枚のヘッダーを抜き出して比べた出力があり、差分が 0 行。
6. 段6 — つながりを確かめる(6か所)¶
段2で決めた URL を渡してもう一度生成したうえで、6か所を実際に押します。
| # | どこを押す | どこへ行けば正解 |
|---|---|---|
| 1 | ポータルの「案件の板」 | PM |
| 2 | ポータルの「型の升目」 | SW |
| 3 | PM の「← ポータル」 | ポータルのトップ |
| 4 | SW の「← ポータル」 | ポータルのトップ |
| 5 | PM の「型 n / 総数」 | SW |
| 6 | SW の「進行中 n件」 | PM |
さらに、複製したページから元 Wiki を指しているリンクを全部叩いて、404 が0件であることを確かめます(→ 09 の B10)。
🔴 6か所すべてが通って、はじめて完了です
1か所でも切れていたら、段2の URL が違っています。画面を手で直して辻褄を合わせないこと。 URL を直して、もう一度生成し直します。
終わりの印
6か所を押して、6回とも目的の画面が出た。リンク切れの検査の出力が残っていて、404 が 0件。
7. 段7 — 並行運用(元 Wiki と、新しい3画面を両方動かす)¶
すぐには引っ越しません。しばらく両方動かして、新しい側だけで仕事が回るかを見ます。
7-1. どちらを見るかのルール(先に決めます)¶
| 場面 | 見る場所 |
|---|---|
| 今日どれを進めるか決める | 🔴 新しい側(ポータル → 案件の板) |
| 手順書・議事録・調査を読む | 🔴 新しい側(複製したデスク) |
| 新しい側に無い、古い記録を探す | 元 Wiki(読み取り専用) |
| 書き足す・直す | 🔴 新しい側だけ。元 Wiki には書きません(書けないようにしてあります) |
🔴 同じことを2か所に書かないでください
書く場所を2つ持つ運用は、一人では1日ももちません。 元 Wiki は読むだけ。書くのは新しい側だけ、と決めます。
7-2. 記録すること(並行運用の間)¶
| 記録するもの | どこに |
|---|---|
| 元 Wiki を見に行った回数と、その理由 | デスクの「決めたこと(決定ログ)」の棚に、1行ずつ |
| 新しい側で困ったこと | 同上 |
| PM のカードが動いた回数 | 板を見れば分かるので、記録不要 |
7-3. 🔴 引っ越す / 戻す の判断表¶
先に決めておきます。後から決めると、いつまでも移せません。
| こうなったら | どうする |
|---|---|
| 新しい側だけで仕事が回った日が続いた(目安:2週間) | ✅ 段8へ進む(引っ越す) |
| 元 Wiki を見に行った回数が、ほぼ 0 になった | ✅ 段8へ進む |
| 6か所の行き来が、期間中ずっと切れなかった | ✅ 段8へ進む |
| 元 Wiki を見に行く回数が減らない | ⏸ 引っ越さない。何を探しに行っているかを調べ、その中身を複製先に持ってくる |
| 新しい側に書いたのに、元 Wiki にも書いてしまった | ⏸ 引っ越さない。書く場所のルールを決め直す |
| PM のカードが2週間まったく動いていない | 🔴 戻す。画面の問題ではなく、板の作り(列・工程)が仕事と合っていません。段4からやり直す |
| ヘッダーが、また画面ごとに違っている | 🔴 戻す。段5の「元ネタを1か所」が守られていません |
終わりの印
判断表が紙に書けていて、記録が溜まり始めている。「いつ引っ越すか」が、人の気分ではなく表で決まる状態。
8. 段8 — 引っ越し(条件を満たしたら、正本を移す)¶
段7の判断表で ✅ が揃ったら、正本を新しい側に移します。
やること:
| # | やること | 中身 |
|---|---|---|
| 1 | URL を入れ替える | 人が見ている入口の URL が、新しい側を指すようにする。🔴 人の見る URL は変えません。中身の向き先だけを変えます |
| 2 | リンクを張り替える | 複製先から元 Wiki を指しているリンクを、複製先の中のページを指すように直す。直したら、もう一度 404 0件を確かめる |
| 3 | 元 Wiki のトップに案内を貼る | 「この Wiki は引っ越しました → 新しい場所」の1枚。元の中身は消しません |
| 4 | 元を読み取り専用のまま凍結する | 段3でそうしてあります。そのままにします |
| 5 | 🔴 戻し方を書き残す | 「何を、どう戻せば、元の状態に帰れるか」を1ページにする。デスクの「決めたこと」の棚に置く |
戻し方に必ず書くこと¶
| 項目 | 書く内容 |
|---|---|
| 元 Wiki の場所 | フォルダのパスと、凍結した日 |
| 入口の向き先を戻す手順 | 段8の1番の逆 |
| 複製先の場所 | フォルダのパス |
| 戻すと失われるもの | 🔴 引っ越し後に新しい側へ書いたものは、元 Wiki には入っていません。先に取り出す手順を書く |
🔴 元 Wiki を削除しないこと
引っ越しが終わっても、元 Wiki のファイルは消しません。 容量が問題になるまで、読み取り専用のまま置いておきます。
終わりの印
- 人の見る URL を開くと、新しい側が出る
- 元 Wiki のトップに「引っ越しました」の案内が出る
- 戻し方のページが1枚ある
- リンク切れの検査が
4040件
9. 🔴 やってはいけないこと¶
| やってはいけないこと | 何が起きるか |
|---|---|
| 元 Wiki を直接書き換える | 失敗したときに戻せません。元は読み取り専用のままです |
| 画面の HTML を手で直す | PM と SW は生成物です。次に生成した瞬間に消えます。直す場所は表(CSV)だけ |
| URL を後から変える | 焼き込まれたリンクが全部切れます。段2で決めて、以後変えません |
| ヘッダーを画面ごとに書き写す | また不揃いになります。元ネタは1か所だけ |
| いまのモックアップを再利用する | ちぐはぐの原因そのものです。捨ててから始めます |
| 型を先に作る | 宿題リストになって、見られなくなります |
| 段を飛ばす | 特に 段2(URL)を飛ばすと、段4以降が全部やり直しになります |
| 並行運用を省いて、いきなり引っ越す | 戻せません |
200 が返ったことを「出来た」とする |
中身を取って読むまでが確認です |
| コメント機能を同時に作る | 常駐サーバが要る別の作りものです。どちらも中途半端になります |
| 個人情報を画面に出す | person.csv の氏名・メール・電話は、どの画面にも出しません |
10. 詰まったときに、人に聞くこと(🔴 右腕が勝手に決めてはいけない判断)¶
下の8つは、工夫して先へ進まず、その場で止めて聞いてください。
| # | こういうとき | 聞くこと |
|---|---|---|
| 1 | 領域(area)と工程(stage)が決められない | 「うちの仕事は、どこからどこまでを1つのまとまりと考えますか」。🔴 勝手にきれいな分類を作らないこと |
| 2 | 元 Wiki の中に、複製してよいか分からないものがある(個人情報・見積・給与など) | 「これは複製先に持っていってよいですか」。判断を代わりにしないこと |
| 3 | URL を変えたくなった(段2の3行を変えたい) | 「この URL に変えてよいですか。変えると、すでに張ったリンクを全部張り直します」 |
| 4 | 元 Wiki のページの構造と、デスクの6つの棚が合わない | 「いまのフォルダを、6つの棚のどれに入れますか」。合わせるために元の中身を並べ替えないこと |
| 5 | 引っ越してよい条件を満たしたか判断がつかない | 「段7の判断表の、この行はどう見ますか」。自分で ✅ を付けないこと |
| 6 | 仕様どうしが食い違っている(このパックの中で矛盾を見つけた) | 「09と10で、ここが食い違って読めます。どちらが正ですか」。片方を勝手に採らないこと |
| 7 | 受入条件が通らない(09 の B1〜B10 のどれかが落ちる) | 「Bn が、この出力で落ちています」と出力そのものを添えて報告する。🔴 条件の方を緩めないこと |
| 8 | 型を作りたくなった(升目が空すぎて気になる) | 聞くまでもありません。作らないでください。空は正常です |
11. 報告の仕方¶
「出来ました」と言うときは、下の3つを添えます。
| 添えるもの | 中身 |
|---|---|
| 受入条件の出力 | 09 の B1〜B10 を実際に実行した、出力そのもの。「確認しました」だけの報告は受け取られません |
| わざと壊した検査の結果 | 壊した CSV を1回食わせて、止まったこと(B9)。壊しても通るなら、検査は入っていません |
| 確かめていない部分 | 🔴 見ていないところがあれば「未検証」と書く。黙って「完了」と書かないこと |
この仕組み全体の1文
PM が動かし、SW が数え、デスク(= Wiki)が中身を持つ。
これで実装指示は終わりです。09_requirements(何を作るのか) に戻る。