Repository navigation
#2065 を実装する(スプリント s2065) - #2069
Merged
Merged
Conversation
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>
…#2065) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…うにする (#2065) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…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>
…2065) 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>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…2065) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
takemi-ohama
marked this pull request as ready for review
October 17, 2026 23:49
This was referenced Oct 17, 2026
Merged
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
スライドの作成を、Node の生成スクリプトで pptx を作る経路に一本化しました(#2065)。あわせて、ページの枠組み・トーン&マナー・台本からのノート・尺の計算を備えた汎用テンプレートと、Google Slides の全ページのサムネイルを取るスクリプトを ndf の release Skill に加えました。発表資料「独自スキルプラグイン開発の薦め」もこの経路で作っています。
利用者向けの変化
移行の手順
変更の要点
plugins/ndf/skills/release/assets/slides/に追加しました。lib/deck-frame.jsがページの枠組み、lib/script-time.jsが台本からの尺の計算、build-deck.jsが生成の入口です。script.mdは台本の雛形ですreferences/form-slide.mdを、生成スクリプトの方式に合わせて書き直しました。汎用テンプレート、構成メモと台本、変換とサムネイルの確認は、規約から辿れます。比較の語は外していますdocs/presentationsから Marp の手順とbuild.shを外し、生成スクリプトの方式へ書き換えました。要求の写しには、Marp と python-pptx を外す決定 12・13 を足していますテスト
test_slide_template.py: テンプレートの生成、枠組みの座標、トーン&マナーの差し替え、台本と尺test_slides_thumbnails.py: サムネイルのスクリプトtests/test_presentation_decks.py: 発表資料の生成issues/issue-2065-design-decisions.mdほか)です。中身はレビューで確認が要ります設計と違う点
issues/issue-2065-design-decisions.mdの決定 11(と設計の「非機能の実現方式」のシステム環境)actions/setup-nodeの 22 だけを足し、汎用テンプレートと発表資料のnpm ciはジョブで打たず、生成のテスト(plugins/ndf/skills/release/tests/slide_deck_support.py)がロックを取って自分で打つnpm ciを打ち忘れた手元の実行でも生成のテストが読み飛ばされないため。前提のコマンド(node・npm)の確認は根のconftest.pyが行うissues/issue-2065-design.mdの「入出力の契約」のslides-thumbnails.pyの終了コードcontentUrlが無いときは 2(読めない)、gws か curl が無いときは 3(前提が無い)を返す。画像の取得は curl で行い、curl の失敗は 1plugins/ndf/scripts/lib/step_result.pyのEXIT_UNREADABLE・EXIT_PRECONDITION)に揃え、応答を読めない失敗を「gws の失敗」と区別するためissues/issue-2065-design.mdの「構成要素」のテストのパス(release/tests/test_slide_template.py・google-workspace/tests/test_slides_thumbnails.py)plugins/ndf/skills/の下(plugins/ndf/skills/release/tests/test_slide_template.py・plugins/ndf/skills/google-workspace/tests/test_slides_thumbnails.py)にあり、design-match の「無い」は設計の表がplugins/ndf/skills/を省いた書き方による。作らなかったテストは無い体裁レビュー(代替: 手元の描画。gws 未認証のときに行った。正式な記録は下の「体裁レビュー(Google Slides のサムネイル)」)
soffice --headless --convert-to pdf)→pdftoppm -r 80。書体は Noto Sans CJK JP で描画されたgws の変換とサムネイル(未達。代替の記録。2026-10-18 08 時台に下で達成)
python3 plugins/ndf/skills/google-workspace/scripts/gws-check.pyはauthenticated(exit 0)を返したが、gws auth statusはauth_method: none・credential_source: client_secret.jsonで、トークンが無いgws drive files export --params '{"fileId":"<台本のID>","mimeType":"text/markdown"}'→ exit 1error[auth]: Access denied. No credentials provided.! gws auth loginを打った後に、form-slide.md の「変換と確認」の順で打つ--dry-runで確かめた(gws-dry-run.md)gws の dry-run(代替。2026-10-18 02:51 JST)
presentations get: GET https://slides.googleapis.com/v1/presentations/PRES
exit=0
getThumbnail: GET https://slides.googleapis.com/v1/presentations/PRES/pages/p1/thumbnail
files copy: POST https://www.googleapis.com/drive/v3/files/FILE/copy
files update --upload: PATCH https://www.googleapis.com/upload/drive/v3/files/FILE
+upload: POST https://www.googleapis.com/upload/drive/v3/files
台本の正本との突き合わせ(2026-10-18 08 時台 JST)
gws auth status→auth_method: oauth2gws drive files export --params '{"fileId":"<台本の正本の ID>","mimeType":"text/markdown"}' --output canon.md→ exit 0(17695 bytes)。text/plainでも exit 0(17528 bytes)1\.など)・行末の空白・空行・表の区切り行の形を正規化し、script.md と行単位で diffnode slides/lib/script-time.js script.md --limit 35→ 合計 5317 字・911.5 秒(15分12秒)。notes.md の「尺」と一致Google Slides への変換(gws の実際の実行結果)
gws drive permissions list→owner(user)の 1 件だけnode slides/build-deck.js work/gws/skill-plugin-development.pptxgws drive +upload skill-plugin-development.pptx(pptx のあるディレクトリで)mimeTypeは pptxgws drive files copy --params '{"fileId":"<上げた pptx の ID>"}' --json '{"name":"独自スキルプラグイン開発の薦め","mimeType":"application/vnd.google-apps.presentation"}'mimeType: application/vnd.google-apps.presentationpython3 plugins/ndf/skills/google-workspace/scripts/slides-thumbnails.py <ID> work/thumbs-r1 --size LARGEstatus: ok・23 ページ・約 30 秒gws drive files update --params '{"fileId":"<Google Slides の ID>"}' --upload skill-plugin-development.pptx --upload-content-type application/vnd.openxmlformats-officedocument.presentationml.presentation(pptx のあるディレクトリで)体裁レビュー(Google Slides のサムネイル)
slides-thumbnails.py、LARGE=横 1600px)。書体は Noto Sans JP で描画された(最終版をgws slides presentations getのfontFamilyで確認)モード: standard / 通した工程: 実装 → 完了判定 → Pull Request
🤖 Generated with Claude Code