Skip to content

スプリント s2065 - #2070

Merged
takemi-ohama merged 31 commits into
developfrom
sprint/s2065
Oct 18, 2026
Merged

takemi-ohama merged 31 commits into
developfrom
sprint/s2065

Conversation

@takemi-ohama

@takemi-ohama takemi-ohama commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

スプリント s2065 の課題を develop へ取り込む。

利用者向けの変化

移行の手順

  • 無し

課題と設計

コミット

変更の統計

 .../tests/test_slides_thumbnails.py                | 113 ++++++
 plugins/ndf/skills/layout-review/SKILL.md          |   5 +-
 .../ndf/skills/official-skills-autoloader/SKILL.md |   4 +-
 .../ndf/skills/release/assets/slides/build-deck.js |  30 ++
 .../skills/release/assets/slides/lib/deck-frame.js | 420 +++++++++++++++++++++
 .../release/assets/slides/lib/script-time.js       |  80 ++++
 .../skills/release/assets/slides/package-lock.json | 171 +++++++++
 .../ndf/skills/release/assets/slides/package.json  |  13 +
 plugins/ndf/skills/release/assets/slides/script.md |  25 ++
 .../release/references/distribution-forms.md       |   3 +-
 .../ndf/skills/release/references/form-slide.md    | 127 ++++++-
 .../ndf/skills/release/tests/slide_deck_support.py | 189 ++++++++++
 .../skills/release/tests/test_slide_template.py    | 263 +++++++++++++
 tests/test_presentation_decks.py                   |  71 ++++
 41 files changed, 3083 insertions(+), 199 deletions(-)

テスト(supervise.py の run のステップ)

ステップ exit 最後の行
collect 0

集めた実装の PR

閉じる課題

Closes #2065

手動確認

モード: standard / 通した工程: 実装 → Pull Request

🤖 Generated with Claude Code

takemi-ohama and others added 18 commits October 17, 2026 17:45
…2065)

2026-08-06 の資料の md・html・pdf は発表日時点の記録として残す。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
8 ページ目の段の続きの矢印を見出しの列へ移し(工程の箱の間にあると箱どうしの流れに読める)、
箱の文字を 8.5pt にした。12 ページ目の箱の文字を 9pt、22 ページ目の「る」だけの行を解消した。
9・18・20 ページ目は本文の領域の下に偏った空白を、区画と表の高さで埋めた。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
#2065 を実装する(スプリント s2065)
…frame.js#mergeTheme

Item-Id: I-001
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ib/deck-frame.js#mergeTheme

font・colors/sizes の 1 グループ・copyright・logo の検証と代入を mergeFont / mergeGroup /
mergeCopyright / resolveLogo へ抽出し、mergeTheme を既定値の複製・形の検証・未知キーの検査と
抽出した関数の呼び出しだけにする。docs/presentations/ の写しは変えない。

Item-Id: I-001
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ce/scripts/gws_common.py#EXIT_UNAUTHENTICATED

gws-check.py と slides-thumbnails.py に別々にあった未認証の終了コード(EXIT_UNAUTHENTICATED)と
gws の待ち時間(TIMEOUT)を gws_common.py の EXIT_UNAUTHENTICATED / GWS_TIMEOUT へ集め、
両スクリプトはそこから読み込む。slides-thumbnails.py の docstring の同期の注記も参照先へ書き換える。

Item-Id: I-002
Impl-Runtime: claude
Impl-Model: claude-opus-5-5
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@takemi-ohama

Copy link
Copy Markdown
Contributor Author

改修計画 — devbasex/ai-plugins #2070

/ndf:cross-refactoring が提案し、改修計画し、適用した改善項目の記録である。
理由と手順は提案の時点でしか残らないため、公開の直前に書き出している。

  • 件数: 採用 0・未確認 0・取り消し 2・見送り 14(うち時間 14)(最終ゲート: passed)
  • 公開: c44baf7 を push した
  • 書き直した時刻: 2026-10-18T00:18:33
  • 対象範囲: .github/workflows/pytest.yml, .gitignore, AGENTS.md, conftest.py, docs/presentations/2026-10-17-skill-plugin-development/README.md, docs/presentations/2026-10-17-skill-plugin-development/notes.md, docs/presentations/2026-10-17-skill-plugin-development/script.md, docs/presentations/2026-10-17-skill-plugin-development/slides/build-deck.js, docs/presentations/2026-10-17-skill-plugin-development/slides/lib/deck-frame.js, docs/presentations/2026-10-17-skill-plugin-development/slides/lib/script-time.js, docs/presentations/2026-10-17-skill-plugin-development/slides/package-lock.json, docs/presentations/2026-10-17-skill-plugin-development/slides/package.json, docs/presentations/2026-10-17-skill-plugin-development/slides/theme.json, docs/presentations/README.md, docs/specifications/ndf-documentation-mode.md, docs/specifications/ndf-google-workspace-gws.md, issues/issue-2065-design-decisions.md, issues/issue-2065-design.md, issues/issue-2065-requirements.md, plugins/ndf/skills/design/references/layout-common.md, plugins/ndf/skills/design/references/layout-slide.md, plugins/ndf/skills/document-systems/references/system-gdrive.md, plugins/ndf/skills/google-workspace/SKILL.md, plugins/ndf/skills/google-workspace/scripts/gws-check.py, plugins/ndf/skills/google-workspace/scripts/gws_common.py, plugins/ndf/skills/google-workspace/scripts/slides-thumbnails.py, plugins/ndf/skills/layout-review/SKILL.md, plugins/ndf/skills/official-skills-autoloader/SKILL.md, plugins/ndf/skills/release/assets/slides/build-deck.js, plugins/ndf/skills/release/assets/slides/lib/deck-frame.js, plugins/ndf/skills/release/assets/slides/lib/script-time.js, plugins/ndf/skills/release/assets/slides/package-lock.json, plugins/ndf/skills/release/assets/slides/package.json, plugins/ndf/skills/release/assets/slides/script.md, plugins/ndf/skills/release/references/distribution-forms.md, plugins/ndf/skills/release/references/form-slide.md, tests, plugins/ndf/skills/google-workspace/tests, plugins/ndf/skills/release/tests
  • テストの戦略: local-full(根拠 derived:test_duration)
  • 範囲テストの雛形: uv run --frozen --project . --all-extras pytest {paths} -q -n 4 -o junit_family=xunit1 --junitxml=.ndf/tmp/junit.xml / python3 scripts/check-script-structure.py {paths}(静的解析) / bash scripts/check-lint.sh -- {paths}(静的解析)
  • 着手前のテスト: uv run --frozen --project . --all-extras pytest . -q -n 4 -o junit_family=xunit1 --junitxml=.ndf/tmp/junit.xml && python3 scripts/check-script-structure.py && bash scripts/check-lint.sh(whole)
  • 着手前のテストの結果: 失敗(462.5 秒 / HEAD 39cbc96)
  • 既存失敗の件数: 2
  • 想定最大時間: 30 分 / 改修計画の時点で使えた時間: 7.69 分
  • 実装担当: claude

改善項目

I-001 — plugins/ndf/skills/release/assets/slides/lib/deck-frame.js#mergeTheme

兆候 手法 重要度 等級 提案元 状態 コミット
long_method extract_method major high claude / codex / kiro 取り消し 2

なぜ: 1 関数に theme.json 全体の検証・colors/sizes の項目別検証・font/copyright/logo の検証が同居し、CC30・認知的複雑度30・51 行・分岐が深い(指標の本体最上位)。colors と sizes のループは group ごとに型と値の判定と失敗メッセージを分岐で持ち、logo は存在確認まで抱える。値の検証を group 単位の小関数(validateFont / validateColorSizeGroup / validateLogo)へ抽出すれば、mergeTheme は『既定へ重ねる』骨格だけになる。既存テスト(test_slide_template.py の test_bad_theme_stops_with_1・test_partial_theme_keeps_other_defaults 等)が振る舞いを守る。注意: このファイルは『写して使う』正本で、変更すると presentation 側の写し(docs/.../slides/lib/deck-frame.js)の再コピーと README.md の sha256 ハッシュ更新が連鎖する。見積りはその連鎖分を含む。

手順: 1. 現状固定テストを足す: node -e で require('./lib/deck-frame').mergeTheme を呼び、未検証の経路(override が配列・font が空文字・sizes が 0 以下・colors がオブジェクトでない・copyright が数値・logo が空文字・logo のファイルが無い・logo が null)の DeckError の code と message、正常時の戻り値を記録する(test_slide_template.py に parametrize で 1 本)
2. font の検証と代入を mergeFont(t, override) として抽出
3. colors / sizes の 1 グループ分を mergeGroup(t, group, g) として抽出
4. copyright を mergeCopyright、logo を resolveLogo(value, baseDir) として抽出(戻り値を t.logo へ代入)
5. mergeTheme は既定値の複製・形の検証・未知キーの検査のあと、抽出した関数を順に呼ぶだけにする
6. docs/presentations/ の写しは変更しない(test_deck_uses_copied_frame のハッシュが落ちるため)
7. 全体テストと check-lint を通す

取り消した理由: 最終ゲート修正を打ち切った後に、着手前の木へ戻した(案 B)

I-002 — plugins/ndf/skills/google-workspace/scripts/gws_common.py#EXIT_UNAUTHENTICATED

兆候 手法 重要度 等級 提案元 状態 コミット
duplication consolidate_duplication major high claude 取り消し 1

なぜ: 未認証の終了コード EXIT_UNAUTHENTICATED = sr.EXIT_GATE + 1 と TIMEOUT = 120 が gws-check.py と slides-thumbnails.py に別々に定義され、slides-thumbnails.py の docstring は『gws-check.py と同じ値』と文章で同期を求めている。共有部品の gws_common.py が既にあるのに、同じ役割の定数が 2 つの Skill スクリプトに分かれている

手順: 1. gws_common.py に EXIT_UNAUTHENTICATED = sr.EXIT_GATE + 1 と GWS_TIMEOUT = 120 を定義
2. gws-check.py と slides-thumbnails.py の定義を消し、gws_common から import する(gws-check の TIMEOUT は _run の既定値、slides-thumbnails の TIMEOUT は gws と curl の両方で使っているので名前の置き換えを漏らさない)
3. slides-thumbnails.py の docstring の『gws-check.py と同じ値』を『gws_common.EXIT_UNAUTHENTICATED』へ書き換える
4. test_gws_check.py と test_slides_thumbnails.py の 11 を返すテストが通ることを確かめる

取り消した理由: 最終ゲート修正を打ち切った後に、着手前の木へ戻した(案 B)

指標の測定

  • 状態: written / 言語とツールの対応: 既定(.ndf/code-metrics.json は無い) / 所要: 1.9 秒(使えた時間 90 秒 / 上限 90 秒)
  • 指標のファイル: /tmp/ndf-worktrees/devbasex--ai-plugins/rf2070/work/.cross_refactoring/code-metrics-rf2070.md
言語 ツール 版 ランナー ファイル 秒 結果
javascript lizard lizard 1.24.0 uvx 6 0.2 測った
python ruff-complexipy ruff 0.16.9 / complexipy 8.0.1 uvx 13 0.4 測った
shell — — — 13 — unsupported_language
重複: python symilar pylint 4.0.9 uvx 13 0.6 測った(0 箇所)
重複: javascript, shell jscpd jscpd 4.3.0 npx 19 0.7 測った(2 箇所)

時間の上限

値 中身
提案の枠の終わり(監視の上限 = 残り + 余裕) 2026-10-18T00:06:18+00:00
改修計画の枠の終わり(同上) 2026-10-18T00:09:18+00:00
テストの追加の終わり = 実装の終わり − Σ(採っていて未検証の項目の実装の見積り) 2026-10-18T00:07:04+00:00
実装の終わり = 最終ゲートの修正の打ち切り − バッファ − Σ(採っていて未検証の項目の検証の見積り) 2026-10-18T00:08:27+00:00
直しの試行の打ち切り 2026-10-18T00:13:26+00:00
想定最大時間の終わり H(子プロセスはすべてここまでに止まる) 2026-10-18T00:22:36+00:00
確かめの開始の締め切り = H − 確かめの見込み(最終ゲート修正と打ち切りの後の取り消しもここまで) 2026-10-18T00:14:53+00:00
確かめの見込み(秒。最終ゲートの確かめ 1 回。バッファの最終ゲートの全体テスト) 463
最終ゲート修正 1 回の見込み(秒。バッファの final_fix。起動は今 + この値が確かめの開始の締め切り以前のときだけ) 88
指標の測定の上限(秒。提案の枠の中から割く) 90
着手前のテスト 1 回の上限(秒) 1280
範囲テスト 1 回の上限(秒) 1388
手元の全体テスト 1 回の上限(秒) 1280
CI の待ちの上限(秒) 2040
余裕(秒。手順の上限と CLI の上限に足す) 90

入力: 予算 30 分 / 全体テストの所要 w 426.4(ndf-record) / 着手前の実測 x 462.5 / CI の壁時計 c 680.0 / 範囲テストの所要 s None(—) / 戦略 local-full

無音の打ち切りは手順の監視の上限と同じ値である。項目ごとの期限は持たない(実装を止めるのは実装の終わりだけ)。

見送った提案

対象 兆候 理由 根拠(MVV) 補足
plugins/ndf/skills/release/assets/slides/lib/deck-frame.js#mergeTheme conditional_chain duplicate Value 6 / Value 1 C-001 と同じ変更
plugins/ndf/skills/release/assets/slides/lib/deck-frame.js#createDeck duplication budget Value 6 見積り 2.4 分が残りに入らない
plugins/ndf/skills/google-workspace/scripts/gws_common.py#LIB duplication budget Value 6 見積り 2.5 分が残りに入らない
plugins/ndf/skills/google-workspace/scripts/gws_common.py#output_tail duplication budget Value 6 見積り 2.5 分が残りに入らない
plugins/ndf/skills/release/assets/slides/lib/deck-frame.js#parseScript long_method budget Value 3 / Value 1 / Value 6 見積り 3.0 分が残りに入らない
tests/runtime-smoke/lib/codex-hooks-list.py#main long_method budget Value 1 / Value 3 / Value 6 見積り 3.0 分が残りに入らない
plugins/ndf/skills/google-workspace/scripts/slides-thumbnails.py#_gws magic_value budget Value 1 見積り 2.2 分が残りに入らない
plugins/ndf/skills/release/assets/slides/lib/script-time.js#parseArgs magic_value budget Value 7 / Value 1 見積り 2.2 分が残りに入らない
plugins/ndf/skills/release/assets/slides/lib/deck-frame.js#createDeck.cover duplication budget Value 6 見積り 2.4 分が残りに入らない
plugins/ndf/skills/release/tests/slide_deck_support.py#read_pptx deep_nesting budget Value 1 見積り 2.4 分が残りに入らない
plugins/ndf/skills/google-workspace/scripts/gws-check.py#_halt inconsistent_naming budget Value 8 見積り 2.5 分が残りに入らない
plugins/ndf/skills/google-workspace/tests/test_gws_check.py#test_never_calls_gws_other_than_auth_status duplication budget Value 1 見積り 2.5 分が残りに入らない
plugins/ndf/skills/release/tests/test_slide_template.py#_build duplication budget Value 1 見積り 2.5 分が残りに入らない
conftest.py#_isolated_git_identity duplication budget Value 1 / Value 6 見積り 3.1 分が残りに入らない
plugins/ndf/skills/release/assets/slides/lib/deck-frame.js#createDeck.resolve deep_nesting budget Value 1 見積り 3.4 分が残りに入らない

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | codex | REQUEST_CHANGES

修正が必要な指摘は3件です。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 1 | kiro | REQUEST_CHANGES

スライド生成スクリプト(pptxgenjs)の新設と Marp 経路の撤去。仕様(requirements/design/decisions)とコード・テストは整合しており、決定 12・13 が決定 3 を置き換える記述、4 つの規約ファイル・autoloader・layout 系の単一経路化、lib/ の写しと README ハッシュ(86c3acf…)の一致、exit コード契約も確認できた。1 点、未認証の判定方式が gws-check.py と slides-thumbnails.py で食い違う(下記)。

- form-slide.md: Google Slides への変換を下書き先が gdrive のときだけにする
- google-workspace: files copy に ignoreDefaultVisibility を付けて非公開を保つ
- 資料の package.json の scripts.time を ../script.md に直し、写す手順に足す
- slides-thumbnails.py: 未認証の判定を gws auth status の credential_source へ揃える

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@takemi-ohama

Copy link
Copy Markdown
Contributor Author

🔧 /ndf:fix サマリ | round 1 | commit bce04a3

対応件数: critical=0 / major=4 / minor=0(合計 4 件)
決着: 4 件 / 見送り: 0 件 / 却下: 0 件
CI: PENDING

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 2 | claude | REQUEST_CHANGES

pptx を Google Slides へ変換する 2 手の手順のうち、1 手目のアップロードがドメイン内共有の既定値を外せない。あわせて、削除した build.sh を前例として指す記述が配布している Skill に残っている。

差分の外を指す指摘

  • plugins/ndf/skills/google-workspace/SKILL.md:70 [major] [major / データ保護] 変換の 1 手目を gws drive +upload から gws drive files create --params '{"ignoreDefaultVisibility":true}' --json '{"name":"<名前>"}' --upload <ファイル>.pptx に替えてください(system-gdrive.md の「新しく作る」も同じ)。+upload には ignoreDefaultVisibility を渡す手段がありません。このため、Workspace の管理者がアップロードをドメイン内共有にする既定値を設定していると、Drive に残る承認前の pptx がドメインに見えてしまいます。複製にだけ指定しても「非公開」は保てません。
  • plugins/ndf/skills/document-systems/references/system-repo.md:5 [major] [major / 削除の参照残り] この PR で消した docs/presentations/build.sh を前例として指す 5〜7 行目を書き直してください。現在の前例は「2026-08-06 の資料は Marp で作った記録として pdf・html を残している」ことだけです。配布している Skill がこの行を読むと、存在しない build.sh を前例として探して従おうとします(決定 12 で Marp の経路を外したこととも食い違います)。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 2 | kiro | APPROVE

round 1 の 4 件(form-slide.md の gdrive 限定、SKILL.md の ignoreDefaultVisibility、package.json の ../script.md、slides-thumbnails.py の未認証判定を gws auth status の JSON へ揃える)は bce04a3 で解消を確認。slides-thumbnails.py は credential_source==none で判定し、stderr 文言に依存しない回帰テスト(test_unauthenticated_returns_11 / 偽 gws が『the wording is not relied on』を返す)で exit 11 の契約が守られる。設計文書は決定 12・13 が決定 3 を置き換える記述・要求の受け入れ条件 16/17・layout-slide/layout-common/distribution-forms/autoloader の単一経路化が整合。Marp 撤去は build.sh 削除と許容された 2026-08-06 の記録行のみ残存で完結、lib/ ハッシュ 86c3acf… が両写しと README で一致。追加で指摘する critical/major は無い。

…em-repo の消えた build.sh への参照を直す (#2070)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@takemi-ohama

Copy link
Copy Markdown
Contributor Author

🔧 /ndf:fix サマリ | round 2 | commit 836d04b

対応件数: critical=0 / major=2 / minor=0(合計 2 件)
決着: 2 件 / 見送り: 0 件 / 却下: 0 件
CI: PENDING

レビュー本文の指摘への返事:

  • 対応しました。(836d04bfe)
  • 対応しました。(836d04bfe)

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 3 | claude | APPROVE

round 2 の 2 件(変換の 1 手目を ignoreDefaultVisibility 付きの files create へ替える・system-repo.md の消えた build.sh への参照)は 836d04b で解消を確認した。42 ファイルを見直し、追加で直すべき critical / major は無い。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 3 | codex | APPROVE

新規の critical / major 指摘はありません。判断根拠: Value 1・Value 3・Value 6、C1・C2・C3。

@takemi-ohama

Copy link
Copy Markdown
Contributor Author

🔧 /ndf:fix サマリ | commit (なし)

対応件数: critical=0 / major=0 / minor=0(合計 0 件)
決着: 0 件 / 見送り: 0 件 / 却下: 0 件
CI: NONE

@takemi-ohama
takemi-ohama marked this pull request as ready for review October 18, 2026 00:44
takemi-ohama and others added 11 commits October 18, 2026 03:29
汎用テンプレートの section は台本のページを消費しない。見本の台本から章扉の区切りを外し、
テストに章扉のノート・ページ番号・照合の振る舞いを足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
ページには 1 つのメッセージと短い句だけを置き、内部の語は言い換えるか一言で説明した。
17 ページは導入したプロジェクトの Issue の一覧を整理し続ける趣旨へ直した。枠組み lib/ を
写し直し、README のハッシュと構成メモの表・章立てを合わせた。台本は変えていない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
体裁設計にページの文言と章立ての項目を、生成の手順にページの文言を書く節と章扉が台本の
ページを消費しないことを、体裁レビューに聞き手の目で文言が読めるかの観点を足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
サムネイルで全ページを見て、補足の文を注へ回すか落とし、文字の大きさと区画の高さを合わせた。
数値と台本は変えていない。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
指摘の再現率(0.21 / 0.49 / 0.91)は測り直すと再現せず、指標が修正担当の判断を正解にした
自己採点だった(#2071 で指標を決め直す)。指標が決まるまでページと台本に数値を載せない。

- 生成スクリプト: 棒グラフと見出しを外し、AI の入れ替えと観点の切り替えの 2 区画に置き換える
- 台本: 12 ページの読み上げから数値の 1 文を外す(正本の Google ドキュメントからも同じ 1 文を消した)
- 構成メモ: 根拠の列と尺(5,261 字・15 分 2 秒)を合わせる

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JmtvCAsKEdaC7W9gdwjiaN
Anthropic と OpenAI の公式はスキル(作る単位)とプラグイン(配る単位)を呼び分け、
「スキルプラグイン」という語を使わない。題を「独自プラグイン開発の薦め」にし、
台本 4 のページを「スキルとプラグイン」に作り直して Codex と Agent Skills 規格の公式リンクを足した。

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JmtvCAsKEdaC7W9gdwjiaN
- 台本の 10・11(requirements-design・design と document-restructuring)を 1 ページ「コードの前に、読める文書を」へ
- 台本の 12・13(cross-review と cross-refactoring)を 1 ページ「複数の AI で、見て直す」へ
- 以後の番号を詰め、台本の写し・構成メモ・README・索引・テストを 21 ページ(章扉を含め 27 ページ)に合わせた
- 尺は 5,306 字・15 分 10 秒 → 4,955 字・14 分 09 秒

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SyiLCs8wNrE2PKfeeqZDyT
- 台本 20 の読み上げ「始め方は 3 段階です」を「3 ステップです」へ(写しと正本の両方。スピーカーノートにも入る)
- 構成メモの「階段の図」を「斜めに下げて並べた図」へ、尺の表を合わせた(4,957 字・14 分 10 秒)
- 生成スクリプトのコメントの「段」を言い換えた

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SyiLCs8wNrE2PKfeeqZDyT
発表資料の文言をスライドの言葉遣いへ直し、章扉と公式リンクを入れ、呼び方を公式の語へ揃える(#2065)

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 4 | codex | APPROVE

新規の critical / major 指摘はありません。判断根拠: Value 1・Value 3・Value 6、C1・C2・C3。

@takemi-ohama takemi-ohama left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤖 cross-review | round 4 | kiro | APPROVE

42 ファイルを確認。round 1〜3 の 6 件(slides-thumbnails.py の未認証判定を gws auth status の JSON へ・SKILL.md と system-gdrive.md の変換 1 手目/2 手目に ignoreDefaultVisibility:true・form-slide.md の Google Slides 変換を draft.system==gdrive に限定・system-repo.md の削除済み build.sh への参照除去・package.json scripts.time を ../script.md)は head 8db8a89 で解消を確認した。deck-frame.js/script-time.js の release asset と presentation 写しは byte 同一で README のハッシュ e1fbac16… と一致。設計文書は決定 12・13・14 が決定 3 を置き換える記述・受け入れ条件 16/17・layout-slide/layout-common/distribution-forms/autoloader/ndf-documentation-mode/ndf-google-workspace-gws の単一経路化が整合し、発表資料は script 21 ページ・notes 21 行・section 6 で test_skill_plugin_development_has_21_pages_and_6_sections と一致。gws-check.py は _tail/TAIL_LINES を gws_common へ寄せ、exit 11 契約は維持。Marp 参照は許容された 2026-08-06 の記録行とテスト fixture のみ。追加で直すべき critical / major は無い。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant