ISTQB CTFL v4.0 や CTFL-AT の各章の追加と Next.js 移行、新規テストツール(Playwright, Cypress, Selenium, OWASP ZAP など)のガイド追加、およびドキュメント類の Bun 統一化やセキュリティ・表示の最適化#83
Conversation
improve スキル(direction 特化監査)の成果物。36 ルートの現状棚卸し、 2026-07 時点の国際資格ランドスケープ調査(CT-FT 新設・CTAL-AT v2.0 置換等)、 カバレッジギャップ表、direction findings D1-D5 を記録。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
章別詳解のルート化(Phase A)、CT-FT 新設ガイド(B)、用語集(C)、 学習パス(D)、模擬問題スパイク(E) を優先度順に定義したハンドオフ計画。 TDD 必須サイクル・Faithful Migration 等の規約をインライン。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
NavItem を資格ボード×レベル×コンテンツ種別の多軸メタデータへ拡張し、 CATEGORY_ORDER/TITLES の3箇所同期を単一設定に統合する計画。 characterization テストで後方互換を保証する手順を定義。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
docs/SYLLABUS_STATUS.md 版管理台帳の新設、一次情報源レジストリ、 四半期巡回SOP、鮮度バッジ(準拠シラバス版・最終確認日)の導入手順、 判明済み改訂4件(CTAL-AT v2.0/CTAL-TA v4.0/CT-AI v2.0/CT-GenAI v1.1)の 起票を定義したハンドオフ計画。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
実行順(002→003→001)・依存関係・後続タスクスタブ4件・ rejected findings を記録したインデックス。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
✅ Deploy Preview for quality-assurance-studies ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Warning Review limit reached
Next review available in: 45 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughCTFL v4.0第2章のNext.jsページ、improveスキル仕様、複数のテスト関連学習ガイド、ナビゲーション・E2E・移行記録を追加または更新した。 ChangesCTFL v4.0 第2章ページ移行
improveスキル
学習ガイド群
Estimated code review effort: 5 (Critical) | ~90 minutes Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 7
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.agents/skills/improve/references/plan-template.md:
- Around line 67-73: The validation commands in the plan template still assume
pnpm, but this repo should use Bun for dependency management and script
execution. Update the command table and the matching Done criteria in the plan
template to use bun install, bun run typecheck, bun test, and bun run lint, or
replace them with the recon-confirmed real commands; keep the same
package-manager assumption consistent wherever validation gates are defined.
In
`@app/istqb-ctfl-v4-chapter2-sdlc-and-testing/istqb-ctfl-v4-chapter2-sdlc-and-testing.css`:
- Around line 17-28: The .hero rule has a dead `padding-top` override because
the later `padding` shorthand in the same selector resets all sides. Update the
`.istqb-ctfl-v4-chapter2-page .hero` styles so the intended top spacing is
preserved by either removing the redundant `padding-top` declaration or
expressing the padding values in one declaration, and keep the fix localized to
the `.hero` selector in this stylesheet.
- Around line 148-150: The stylesheet is missing the shared definitions for the
`.version-badge` and `.mermaid-caption` elements used by `page.tsx`, so add
scoped rules under `.istqb-ctfl-v4-chapter2-page` in
`istqb-ctfl-v4-chapter2-sdlc-and-testing.css`. Make sure the new selectors match
the existing component structure and provide the intended badge/caption
presentation consistently wherever those symbols are rendered.
In `@app/istqb-ctfl-v4-chapter2-sdlc-and-testing/page.tsx`:
- Line 587: The callout uses a non-existent modifier class, so update the JSX in
the page component to use the existing `callout-good` style instead of
`callout-success` wherever that success callout is rendered, including the
matching instance referenced elsewhere in the same file; use the
`callout-success` className occurrences in this page and replace them with the
established `callout-good` variant so the intended styling is applied.
- Around line 1196-1340: The external reference links in the references list are
using target="_blank" without rel="noopener noreferrer", which leaves them
vulnerable to reverse tabnabbing. Update every external anchor rendered in the
ref-item sections of the page component to include rel="noopener noreferrer"
alongside target="_blank", and make sure any similar links in this page follow
the same pattern.
- Around line 200-1013: The table wrapper class used throughout page.tsx is
mismatched with the stylesheet selector, so the responsive table styles are not
applied. Update the wrapper markup in the relevant table sections to use the
same class name as the CSS rule in istqb-ctfl-v4-chapter2-sdlc-and-testing.css,
and keep the class consistent wherever the table container is rendered. Use the
table wrapper elements around the tables in page.tsx as the main place to fix
this so the existing overflow and border styling applies everywhere.
In `@docs/MIGRATION_PROGRESS.md`:
- Line 16: The Japanese text in the migration progress document contains
accidental English “of” insertions in the status notes. Update the affected
sentences in MIGRATION_PROGRESS.md to use natural Japanese particles such as
“における” or “の” instead, and verify the wording around the build-status entry and
the Next.js migration guide entry remains grammatically consistent.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 8d7af17c-b7ee-4a07-bd81-6f339fc4c4d8
📒 Files selected for processing (32)
.agents/skills/improve/SKILL.md.agents/skills/improve/references/audit-playbook.md.agents/skills/improve/references/closing-the-loop.md.agents/skills/improve/references/plan-template.md.gitignoreCLAUDE.mdCtfl-at-chapter1-agile-software-development.mdCtfl-at-chapter2.mdCtfl-v4-chapter2-sdlc-and-testing.htmlCtfl-v4-chapter2-sdlc-and-testing.mdCtfl-v4-chapter3-static-testing.mdGEMINI.mdIstqb-ctfl-chapter5.mdIstqb-ctfl-v4-chapter4.mdIstqb-ctfl-v4-chapter6.mdapp/istqb-ctfl-v4-chapter2-sdlc-and-testing/NavBar.tsxapp/istqb-ctfl-v4-chapter2-sdlc-and-testing/istqb-ctfl-v4-chapter2-sdlc-and-testing.cssapp/istqb-ctfl-v4-chapter2-sdlc-and-testing/page.tsxarchive/html-archive/Ctfl-v4-chapter1-fundamentals.htmlarchive/html-archive/ISTQB-CTEL-TM-OTM-Guide.htmlarchive/html-archive/Istqb-ctfl.htmlarchive/html-archive/ctfl/Ctfl-v4-chapter2-sdlc-and-testing.htmlarchive/html-archive/istqb-ctel-tm-mtt-complete-guide.htmlarchive/html-archive/istqb-ctel-tm-sm-complete-guide.htmlarchive/md-archive/Ctfl-v4-chapter1-fundamentals.mdarchive/md-archive/ISTQB-CTEL-TM-OTM-Guide.mddocs/MIGRATION_PROGRESS.mddocs/coverage-dashboard.htmle2e/pages.tslib/navigation.tstests/istqb-ctfl-v4-chapter2-sdlc-and-testing/page.test.tsxtests/lib/navigation.test.ts
💤 Files with no reviewable changes (11)
- Ctfl-v4-chapter3-static-testing.md
- archive/md-archive/ISTQB-CTEL-TM-OTM-Guide.md
- Ctfl-v4-chapter2-sdlc-and-testing.md
- archive/md-archive/Ctfl-v4-chapter1-fundamentals.md
- Ctfl-at-chapter1-agile-software-development.md
- Istqb-ctfl-chapter5.md
- Ctfl-v4-chapter2-sdlc-and-testing.html
- Istqb-ctfl-v4-chapter6.md
- archive/html-archive/istqb-ctel-tm-sm-complete-guide.html
- Ctfl-at-chapter2.md
- Istqb-ctfl-v4-chapter4.md
…SP ZAP, Playwright, and Selenium
…ting-ct-ft-guide.html
There was a problem hiding this comment.
Actionable comments posted: 17
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Cucumber-beginner-guide.html`:
- Around line 619-625: Update every external link in
Cucumber-beginner-guide.html that uses target="_blank" so its rel attribute is
exactly "noopener noreferrer", including the visible source link and all
additional affected links throughout the file. Preserve the existing URLs and
link text.
- Around line 3122-3142: Update the IntersectionObserver callback so
intersecting entries are ordered by intersectionRatio and only the most visible
section determines the active sidebar link. Remove the per-entry immediate class
toggling in the observer handling, while preserving the existing link lookup and
active-class behavior for the selected section.
In `@Cypress-beginner-guide.html`:
- Around line 524-536: Update every external link in
Cypress-beginner-guide.html, including the links near the doc-lede and the other
referenced sections, so links using target="_blank" use rel="noopener
noreferrer" instead of rel="noopener" alone. Preserve the existing URLs, link
text, and surrounding content.
- Around line 436-514:
サイドバーの目次ナビゲーションに現在地ハイライトを追加してください。既存の目次リンクと各セクションのIDを利用し、IntersectionObserverで表示中のセクションを検知して対応するリンクへ.activeを付与し、他のリンクからは除去してください。併せてサイドバーの.active状態を視認できるCSS定義を追加し、他ガイドと同じ挙動を維持してください。
In `@Cypress-beginner-guide.md`:
- Around line 770-772: ファイル末尾に改行を1つ追加し、markdownlintのMD047違反を解消してください。
In `@Finance-testing-ct-ft-guide.html`:
- Around line 556-573: Update every external link in the HTML file, including
the sidebar links near ISTQB公式ページ and CT-FT シラバス PDF, so its rel attribute is
exactly "noopener noreferrer" while preserving target="_blank" and all existing
hrefs.
In `@Finance-testing-ct-ft-guide.md`:
- Around line 760-762:
ファイル末尾に改行を追加し、Finance-testing-ct-ft-guide.mdがMD047の末尾改行要件を満たすよう修正してください。
- Around line 1-2: Update the Markdown heading sequence around the top-level
title so the # heading and the ## heading are separated by a blank line,
satisfying MD022 without changing either heading’s text.
In `@Github-actions.md`:
- Around line 617-627: Github-actions.md 内の actions/checkout 参照をすべて `@v6` から `@v7`
に更新し、pull_request_target / workflow_run ではフォーク PR の checkout が既定で拒否される v7
の仕様説明も関連するガイド内容へ反映してください。
In `@Owasp-zap-beginner-guide.html`:
- Around line 605-612: Update every external anchor in
Owasp-zap-beginner-guide.html, including the links in the visible source-line
block, so links opened with target="_blank" use rel="noopener noreferrer"
instead of rel="noopener". Preserve the existing URLs, targets, and markup
structure while applying this consistently throughout the file.
In `@Playwright-beginner-guide.html`:
- Around line 699-729: Update every external link in
Playwright-beginner-guide.html, including the links in the 参照URL section and
第18章参考文献一覧, so its existing target="_blank" is paired with rel="noopener
noreferrer" instead of rel="noopener". Preserve the URLs and link structure
while applying the repository-required relationship value consistently
throughout the file.
In `@Playwright-intermediate-advanced-guide.html`:
- Around line 13-14: Playwright-intermediate-advanced-guide.html loads Mermaid
10.9.1 via the classic UMD script, unlike the other guides. Update the mermaid
script reference to the same Mermaid 11 ESM version and loading style used by
the Cucumber and Cypress HTML guides, while preserving the existing Highlight.js
inclusion.
- Around line 650-658: Update every external anchor in the document, including
the referenced sections and the bibliography table, so links using
target="_blank" have rel="noopener noreferrer" instead of only rel="noopener".
Preserve the existing URLs, link text, and target behavior while applying the
attribute consistently throughout the file.
- Line 553:
サイドバー開閉用のbutton要素(sidebarToggle)にtype属性を明示的に追加し、フォーム内に配置された場合も送信ボタンとして扱われないようtype="button"に設定してください。
In `@Selenium-beginner-guide.html`:
- Around line 507-513: Update every external anchor in
Selenium-beginner-guide.html, including the links in the page subtitle and
Chapter 16 references, to include target="_blank" and rel="noopener noreferrer".
Apply this consistently across the entire file while leaving internal links
unchanged.
- Around line 2249-2251: Update the Mermaid ESM import in
Selenium-beginner-guide.html to pin a specific patch version instead of the
floating `@11` tag, using the currently verified stable version and matching the
exact-version convention used by the other learning guides.
In `@Selenium-beginner-guide.md`:
- Around line 826-828: 末尾のMarkdownドキュメントに改行がないため、Selenium-beginner-guide.md
のファイル末尾へ改行文字を1つ追加し、末尾が単一の改行で終わる状態にする。
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4dff1990-2b78-4efb-9b6f-45c6b129714a
📒 Files selected for processing (17)
Ctfl-v4-chapter3-static-testing.htmlCucumber-beginner-guide.htmlCucumber-beginner-guide.mdCypress-beginner-guide.htmlCypress-beginner-guide.mdFinance-testing-ct-ft-guide.htmlFinance-testing-ct-ft-guide.mdGithub-actions.mdOwasp-zap-beginner-guide.htmlOwasp-zap-beginner-guide.mdPlaywright-beginner-guide.htmlPlaywright-beginner-guide.mdPlaywright-intermediate-advanced-guide.htmlPlaywright-intermediate-advanced-guide.mdSelenium-beginner-guide.htmlSelenium-beginner-guide.mdSonarqube.md
There was a problem hiding this comment.
Caution
Inline review comments failed to post. This is likely due to GitHub's internal server error or limits when posting large numbers of comments. If you are seeing this consistently it is likely a permissions issue. Please check "Moderation" -> "Code review limits" under your organization settings.
Actionable comments posted: 17
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Cucumber-beginner-guide.html`:
- Around line 619-625: Update every external link in
Cucumber-beginner-guide.html that uses target="_blank" so its rel attribute is
exactly "noopener noreferrer", including the visible source link and all
additional affected links throughout the file. Preserve the existing URLs and
link text.
- Around line 3122-3142: Update the IntersectionObserver callback so
intersecting entries are ordered by intersectionRatio and only the most visible
section determines the active sidebar link. Remove the per-entry immediate class
toggling in the observer handling, while preserving the existing link lookup and
active-class behavior for the selected section.
In `@Cypress-beginner-guide.html`:
- Around line 524-536: Update every external link in
Cypress-beginner-guide.html, including the links near the doc-lede and the other
referenced sections, so links using target="_blank" use rel="noopener
noreferrer" instead of rel="noopener" alone. Preserve the existing URLs, link
text, and surrounding content.
- Around line 436-514:
サイドバーの目次ナビゲーションに現在地ハイライトを追加してください。既存の目次リンクと各セクションのIDを利用し、IntersectionObserverで表示中のセクションを検知して対応するリンクへ.activeを付与し、他のリンクからは除去してください。併せてサイドバーの.active状態を視認できるCSS定義を追加し、他ガイドと同じ挙動を維持してください。
In `@Cypress-beginner-guide.md`:
- Around line 770-772: ファイル末尾に改行を1つ追加し、markdownlintのMD047違反を解消してください。
In `@Finance-testing-ct-ft-guide.html`:
- Around line 556-573: Update every external link in the HTML file, including
the sidebar links near ISTQB公式ページ and CT-FT シラバス PDF, so its rel attribute is
exactly "noopener noreferrer" while preserving target="_blank" and all existing
hrefs.
In `@Finance-testing-ct-ft-guide.md`:
- Around line 760-762:
ファイル末尾に改行を追加し、Finance-testing-ct-ft-guide.mdがMD047の末尾改行要件を満たすよう修正してください。
- Around line 1-2: Update the Markdown heading sequence around the top-level
title so the # heading and the ## heading are separated by a blank line,
satisfying MD022 without changing either heading’s text.
In `@Github-actions.md`:
- Around line 617-627: Github-actions.md 内の actions/checkout 参照をすべて `@v6` から `@v7`
に更新し、pull_request_target / workflow_run ではフォーク PR の checkout が既定で拒否される v7
の仕様説明も関連するガイド内容へ反映してください。
In `@Owasp-zap-beginner-guide.html`:
- Around line 605-612: Update every external anchor in
Owasp-zap-beginner-guide.html, including the links in the visible source-line
block, so links opened with target="_blank" use rel="noopener noreferrer"
instead of rel="noopener". Preserve the existing URLs, targets, and markup
structure while applying this consistently throughout the file.
In `@Playwright-beginner-guide.html`:
- Around line 699-729: Update every external link in
Playwright-beginner-guide.html, including the links in the 参照URL section and
第18章参考文献一覧, so its existing target="_blank" is paired with rel="noopener
noreferrer" instead of rel="noopener". Preserve the URLs and link structure
while applying the repository-required relationship value consistently
throughout the file.
In `@Playwright-intermediate-advanced-guide.html`:
- Around line 13-14: Playwright-intermediate-advanced-guide.html loads Mermaid
10.9.1 via the classic UMD script, unlike the other guides. Update the mermaid
script reference to the same Mermaid 11 ESM version and loading style used by
the Cucumber and Cypress HTML guides, while preserving the existing Highlight.js
inclusion.
- Around line 650-658: Update every external anchor in the document, including
the referenced sections and the bibliography table, so links using
target="_blank" have rel="noopener noreferrer" instead of only rel="noopener".
Preserve the existing URLs, link text, and target behavior while applying the
attribute consistently throughout the file.
- Line 553:
サイドバー開閉用のbutton要素(sidebarToggle)にtype属性を明示的に追加し、フォーム内に配置された場合も送信ボタンとして扱われないようtype="button"に設定してください。
In `@Selenium-beginner-guide.html`:
- Around line 507-513: Update every external anchor in
Selenium-beginner-guide.html, including the links in the page subtitle and
Chapter 16 references, to include target="_blank" and rel="noopener noreferrer".
Apply this consistently across the entire file while leaving internal links
unchanged.
- Around line 2249-2251: Update the Mermaid ESM import in
Selenium-beginner-guide.html to pin a specific patch version instead of the
floating `@11` tag, using the currently verified stable version and matching the
exact-version convention used by the other learning guides.
In `@Selenium-beginner-guide.md`:
- Around line 826-828: 末尾のMarkdownドキュメントに改行がないため、Selenium-beginner-guide.md
のファイル末尾へ改行文字を1つ追加し、末尾が単一の改行で終わる状態にする。
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 4dff1990-2b78-4efb-9b6f-45c6b129714a
📒 Files selected for processing (17)
Ctfl-v4-chapter3-static-testing.htmlCucumber-beginner-guide.htmlCucumber-beginner-guide.mdCypress-beginner-guide.htmlCypress-beginner-guide.mdFinance-testing-ct-ft-guide.htmlFinance-testing-ct-ft-guide.mdGithub-actions.mdOwasp-zap-beginner-guide.htmlOwasp-zap-beginner-guide.mdPlaywright-beginner-guide.htmlPlaywright-beginner-guide.mdPlaywright-intermediate-advanced-guide.htmlPlaywright-intermediate-advanced-guide.mdSelenium-beginner-guide.htmlSelenium-beginner-guide.mdSonarqube.md
🛑 Comments failed to post (17)
Cucumber-beginner-guide.html (2)
619-625: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
外部リンクの
rel属性にnoreferrerが欠落しています。ファイル全体で
target="_blank"の外部リンクにrel="noopener"のみが指定されており、noreferrerが付与されていません(L620, L634, L754, L865, L1235, L1541, L1676, L1809, L1913, L2056, L2244, L2465, L2559, L2622, L2798 など多数)。🔧 修正例(同パターンがファイル全体に多数存在)
- <a href="https://cucumber.io/docs" target="_blank" rel="noopener" + <a href="https://cucumber.io/docs" target="_blank" rel="noopener noreferrer" >cucumber.io/docs</a >As per path instructions, "All external links must include
target=\"_blank\"andrel=\"noopener noreferrer\"." この記述に反しているため修正が必要です。Also applies to: 634-637, 754-761, 865-869, 1235-1246, 1541-1554, 2465-2490
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cucumber-beginner-guide.html` around lines 619 - 625, Update every external link in Cucumber-beginner-guide.html that uses target="_blank" so its rel attribute is exactly "noopener noreferrer", including the visible source link and all additional affected links throughout the file. Preserve the existing URLs and link text.Source: Path instructions
3122-3142: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value
スクロールスパイの複数交差時のハイライトが不安定になる可能性。
entries.forEach内で交差した要素ごとに即座に.activeを付け替えているため、複数セクションが同時に交差する(初期表示・高速スクロール時など)と、配列内で最後に処理されたエントリが常に優先され、意図した要素と異なる項目がハイライトされる場合があります。同PR内のPlaywright-intermediate-advanced-guide.htmlではintersectionRatioでソートしてから最も可視率の高い要素を採用しており、そちらの実装の方がロバストです。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cucumber-beginner-guide.html` around lines 3122 - 3142, Update the IntersectionObserver callback so intersecting entries are ordered by intersectionRatio and only the most visible section determines the active sidebar link. Remove the per-entry immediate class toggling in the observer handling, while preserving the existing link lookup and active-class behavior for the selected section.Cypress-beginner-guide.html (2)
436-514: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value
サイドバーに現在地ハイライト(スクロールスパイ)が実装されていません。
同シリーズの他ガイド(Cucumber、Playwright-intermediate-advanced)ではIntersectionObserverでサイドバーの現在セクションを
.activeハイライトしていますが、本ファイルにはその仕組み(CSSの.active定義・JS)がありません。一貫したナビゲーション体験のため、追加を検討してください。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cypress-beginner-guide.html` around lines 436 - 514, サイドバーの目次ナビゲーションに現在地ハイライトを追加してください。既存の目次リンクと各セクションのIDを利用し、IntersectionObserverで表示中のセクションを検知して対応するリンクへ.activeを付与し、他のリンクからは除去してください。併せてサイドバーの.active状態を視認できるCSS定義を追加し、他ガイドと同じ挙動を維持してください。
524-536: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
外部リンクの
rel属性にnoreferrerが欠落しています。Cucumber版と同様に、本ファイルの全外部リンクが
target="_blank" rel="noopener"のみでnoreferrerを付与していません(L525, L550, L604, L744, L783, L1104 など多数)。🔧 修正例(同パターンがファイル全体に多数存在)
- <a - href="https://docs.cypress.io/app/get-started/why-cypress" - target="_blank" - rel="noopener" - >Why Cypress?</a - > + <a + href="https://docs.cypress.io/app/get-started/why-cypress" + target="_blank" + rel="noopener noreferrer" + >Why Cypress?</a + >As per path instructions, "All external links must include
target=\"_blank\"andrel=\"noopener noreferrer\"." この記述に反しているため修正が必要です。Also applies to: 550-559, 603-613, 865-890, 1102-1112, 2224-2234
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cypress-beginner-guide.html` around lines 524 - 536, Update every external link in Cypress-beginner-guide.html, including the links near the doc-lede and the other referenced sections, so links using target="_blank" use rel="noopener noreferrer" instead of rel="noopener" alone. Preserve the existing URLs, link text, and surrounding content.Source: Path instructions
Cypress-beginner-guide.md (1)
770-772: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
ファイル末尾に改行がありません(MD047違反)。
静的解析(markdownlint-cli2)でファイル末尾の改行不足が検出されています。
.markdownlint.json準拠が求められているため、コミット前に修正してください。🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 772-772: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cypress-beginner-guide.md` around lines 770 - 772, ファイル末尾に改行を1つ追加し、markdownlintのMD047違反を解消してください。Sources: Coding guidelines, Linters/SAST tools
Finance-testing-ct-ft-guide.html (1)
556-573: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
外部リンクの
rel属性にnoreferrerが欠落しています(リポジトリ全体のガイドライン違反、ファイル内多数箇所)。サイドバーのリンク(例: L559-563, L567-572)をはじめ、本ファイル内の外部リンクはほぼ全て
rel="noopener"のみで、noreferrerが付与されていません(他の例: L751-756, L759-764, L2804-2810, L2815-2821 など)。As per path instructions,**/*.{tsx,jsx,html}: "All external links must includetarget=\"_blank\"andrel=\"noopener noreferrer\"." に従い、ファイル全体でrel属性を修正してください。🔧 修正例(該当箇所すべてに適用)
- class="nav-link" - target="_blank" - rel="noopener" + class="nav-link" + target="_blank" + rel="noopener noreferrer"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.<li> <a href="https://istqb.org/certifications/certified-tester-finance-testing-ct-ft/" class="nav-link" target="_blank" rel="noopener noreferrer" >ISTQB公式ページ ↗</a > </li> <li> <a href="https://istqb.org/wp-content/uploads/2026/05/ISTQB-CT-FT-Syllabus-Release-v1.0.pdf" class="nav-link" target="_blank" rel="noopener noreferrer" >CT-FT シラバス PDF ↗</a > </li>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Finance-testing-ct-ft-guide.html` around lines 556 - 573, Update every external link in the HTML file, including the sidebar links near ISTQB公式ページ and CT-FT シラバス PDF, so its rel attribute is exactly "noopener noreferrer" while preserving target="_blank" and all existing hrefs.Source: Path instructions
Finance-testing-ct-ft-guide.md (2)
1-2: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
見出しの前後に空行がありません(MD022違反)。
# ...完全ガイドの直後に空行なしで## ...解説が続いています。.markdownlint.json準拠が必須のため修正してください。🔧 修正例
# ISTQB® Certified Tester – Finance Testing(CT-FT)完全ガイド + ## 初学者のためのステップバイステップ解説📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.# ISTQB® Certified Tester – Finance Testing(CT-FT)完全ガイド ## 初学者のためのステップバイステップ解説🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 1-1: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Below(MD022, blanks-around-headings)
[warning] 2-2: Headings should be surrounded by blank lines
Expected: 1; Actual: 0; Above(MD022, blanks-around-headings)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Finance-testing-ct-ft-guide.md` around lines 1 - 2, Update the Markdown heading sequence around the top-level title so the # heading and the ## heading are separated by a blank line, satisfying MD022 without changing either heading’s text.Sources: Coding guidelines, Linters/SAST tools
760-762: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
ファイル末尾に改行がありません(MD047違反)。
Cypress-beginner-guide.mdと同様、静的解析でファイル末尾の改行不足が検出されています。
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 762-762: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Finance-testing-ct-ft-guide.md` around lines 760 - 762, ファイル末尾に改行を追加し、Finance-testing-ct-ft-guide.mdがMD047の末尾改行要件を満たすよう修正してください。Sources: Coding guidelines, Linters/SAST tools
Github-actions.md (1)
617-627: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash set -euo pipefail # Locate the documentation file and the relevant checkout references. git ls-files | rg '^Github-actions\.md$' rg -n 'actions/checkout@v[0-9]+' Github-actions.md # Show the surrounding context for the listed matches. python3 - <<'PY' from pathlib import Path path = Path('Github-actions.md') text = path.read_text(encoding='utf-8') for needle in ['actions/checkout@v6', 'actions/checkout@v7']: print(f'\n## {needle}\n') for i, line in enumerate(text.splitlines(), start=1): if needle in line: start = max(1, i-3) end = min(len(text.splitlines()), i+3) for j in range(start, end+1): print(f'{j}: {text.splitlines()[j-1]}') print() PYRepository: myoshi2891/Quality-Assurance-Studies
Length of output: 3997
🌐 Web query:
actions/checkout v7 GA pull_request_target workflow_run fork pull request checkout default deny June 2026💡 Result:
Actions/checkout v7 was released on June 18, 2026, and introduces a significant security improvement regarding the handling of fork pull requests in privileged workflows [1][2]. By default, actions/checkout v7 refuses to check out code from fork pull requests when a workflow is triggered by pull_request_target or workflow_run [3][4]. These events run with the base repository's GITHUB_TOKEN, secrets, and runner access, creating a high risk of "pwn request" vulnerabilities if untrusted code from a fork is executed [3][5][4]. If a workflow legitimately requires checking out a fork's head ref in these contexts, users must explicitly opt in by setting the new input allow-unsafe-pr-checkout: true [3][6][4]. The name of this input is intentionally designed to be prominent during code reviews, signaling that the user has reviewed the associated security risks [5][4]. This protection is specific to fork pull request references and does not prevent checking out other untrusted code, such as unrelated third-party repositories or manually fetched content [5].
Citations:
- 1: https://github.com/actions/checkout/releases/tag/v7.0.0
- 2: https://github.blog/changelog/2026-06-18-safer-pull_request_target-defaults-for-github-actions-checkout/
- 3: https://github.com/actions/checkout?tab=readme-ov-file
- 4: https://github.com/actions/checkout/blob/main/README.md
- 5: https://docs.github.com/en/actions/reference/security/securely-using-pull_request_target
- 6: actions/checkout#2454
actions/checkout@v6を@v7に更新してください。
本ガイドは「2026年7月時点の最新仕様」をうたっているため、pull_request_target/workflow_runでフォーク PR の checkout を既定で拒否する v7 の変更も反映した方が整合します。ファイル内の@v6参照は他にも複数あります。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Github-actions.md` around lines 617 - 627, Github-actions.md 内の actions/checkout 参照をすべて `@v6` から `@v7` に更新し、pull_request_target / workflow_run ではフォーク PR の checkout が既定で拒否される v7 の仕様説明も関連するガイド内容へ反映してください。Owasp-zap-beginner-guide.html (1)
605-612: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
外部リンクの
rel属性にnoreferrerが欠落しています(リポジトリ全体のガイドライン違反、ファイル内多数箇所)。冒頭のリンク(L606, L609)をはじめ、本ファイル内の外部リンクはほぼ全て
rel="noopener"のみでnoreferrerが付与されていません(他の例: L649-679, L741-756, L2821-2867 など)。As per path instructions,**/*.{tsx,jsx,html}: "All external links must includetarget=\"_blank\"andrel=\"noopener noreferrer\"." に従い修正してください。🔧 修正例
- target="_blank" - rel="noopener" + target="_blank" + rel="noopener noreferrer"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.<div class="source-line"> <a href="https://www.zaproxy.org/" target="_blank" rel="noopener noreferrer" >zaproxy.org</a > <a href="https://www.zaproxy.org/docs/" target="_blank" rel="noopener noreferrer" >zaproxy.org/docs/</a > </div>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Owasp-zap-beginner-guide.html` around lines 605 - 612, Update every external anchor in Owasp-zap-beginner-guide.html, including the links in the visible source-line block, so links opened with target="_blank" use rel="noopener noreferrer" instead of rel="noopener". Preserve the existing URLs, targets, and markup structure while applying this consistently throughout the file.Source: Path instructions
Playwright-beginner-guide.html (1)
699-729: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
外部リンクの
rel属性にnoreferrerが欠落しています(リポジトリ全体のガイドライン違反、ファイル内多数箇所)。「参照URL」セクションのリンク(L703-708, L790-796, L799-805)をはじめ、本ファイル内の外部リンクはほぼ全て
rel="noopener"のみでnoreferrerが付与されていません(第18章の参考文献一覧 L2426-2673 も同様)。As per path instructions,**/*.{tsx,jsx,html}: "All external links must includetarget=\"_blank\"andrel=\"noopener noreferrer\"." に従い修正してください。🔧 修正例
- target="_blank" - rel="noopener" + target="_blank" + rel="noopener noreferrer"📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.<h4>参照URL</h4> <ul class="ref-list"> <li> <span class="ref-label">Installation | Playwright</span ><a href="https://playwright.dev/docs/intro" target="_blank" rel="noopener noreferrer" >https://playwright.dev/docs/intro</a > </li> <li> <span class="ref-label">Playwright Tutorial in 2026 (Autify)</span ><a href="https://autify.com/blog/playwright-tutorial" target="_blank" rel="noopener noreferrer" >https://autify.com/blog/playwright-tutorial</a > </li> <li> <span class="ref-label" >Getting Started with Playwright: A Beginner's Guide (Medium)</span ><a href="https://medium.com/@90mandalchandan/getting-started-with-playwright-a-beginners-guide-7c79825b66e8" target="_blank" rel="noopener noreferrer" >https://medium.com/@90mandalchandan/getting-started-with-playwright-a-beginners-guide-7c79825b66e8</a > </li> </ul>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-beginner-guide.html` around lines 699 - 729, Update every external link in Playwright-beginner-guide.html, including the links in the 参照URL section and 第18章参考文献一覧, so its existing target="_blank" is paired with rel="noopener noreferrer" instead of rel="noopener". Preserve the URLs and link structure while applying the repository-required relationship value consistently throughout the file.Source: Path instructions
Playwright-intermediate-advanced-guide.html (3)
13-14: 📐 Maintainability & Code Quality | 🔵 Trivial | 💤 Low value
Mermaidのバージョンが他ガイドと異なります(10.9.1 vs 11)。
同PR内の他のHTMLガイド(Cucumber、Cypress)は
mermaid@11のESM版を読み込んでいますが、本ファイルは classic UMD の10.9.1を使用しています。動作上の不具合はありませんが、シリーズ内でのバージョン統一を検討してもよいでしょう。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` around lines 13 - 14, Playwright-intermediate-advanced-guide.html loads Mermaid 10.9.1 via the classic UMD script, unlike the other guides. Update the mermaid script reference to the same Mermaid 11 ESM version and loading style used by the Cucumber and Cypress HTML guides, while preserving the existing Highlight.js inclusion.
553-553: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
<button>にtype属性がありません。
typeを省略すると既定値はsubmitになります。現状は<form>内に無いため実害はありませんが、将来的にフォーム内に組み込まれた場合に意図しない送信を招くおそれがあるため、明示しておくのが安全です。🔧 修正案
- <button class="sidebar-toggle" id="sidebarToggle" aria-label="目次を開閉">☰</button> + <button type="button" class="sidebar-toggle" id="sidebarToggle" aria-label="目次を開閉">☰</button>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.<button type="button" class="sidebar-toggle" id="sidebarToggle" aria-label="目次を開閉">☰</button>🧰 Tools
🪛 HTMLHint (1.9.2)
[warning] 553-553: The type attribute must be present on elements.
(button-type-require)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` at line 553, サイドバー開閉用のbutton要素(sidebarToggle)にtype属性を明示的に追加し、フォーム内に配置された場合も送信ボタンとして扱われないようtype="button"に設定してください。Source: Linters/SAST tools
650-658: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
外部リンクの
rel属性にnoreferrerが欠落しています。本ファイルの全外部リンクも
target="_blank" rel="noopener"のみで、noreferrerを付与していません(L651, L774, L782, L790, L929, L937, L945 など多数、参考文献一覧の巨大なテーブルも含む)。🔧 修正例(同パターンがファイル全体に多数存在)
- <a href="https://playwright.dev/docs/intro" target="_blank" rel="noopener" + <a href="https://playwright.dev/docs/intro" target="_blank" rel="noopener noreferrer" >Playwright公式ドキュメント</a >As per path instructions, "All external links must include
target=\"_blank\"andrel=\"noopener noreferrer\"." この記述に反しているため修正が必要です。Also applies to: 769-798, 1042-1070, 2082-2110
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` around lines 650 - 658, Update every external anchor in the document, including the referenced sections and the bibliography table, so links using target="_blank" have rel="noopener noreferrer" instead of only rel="noopener". Preserve the existing URLs, link text, and target behavior while applying the attribute consistently throughout the file.Source: Path instructions
Selenium-beginner-guide.html (2)
507-513: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick win
外部リンクに
target="_blank"とrel="noopener noreferrer"が全く付与されていません(4ファイル中最も深刻)。例えば L508-513, L563-568, L598-604, L699-704, L780-781, L805-813, L916-925、および第16章の参考文献一覧(L2005-2232)のリンクはいずれも
target/rel属性が皆無です。他の学習ガイド(Finance/Owasp/Playwright)は少なくともtarget="_blank" rel="noopener"は付与されているのに対し、本ファイルはそれすら欠けています。As per path instructions,**/*.{tsx,jsx,html}: "All external links must includetarget=\"_blank\"andrel=\"noopener noreferrer\"." に従い、ファイル全体で属性を追加してください。🔧 修正例
- <a href="https://www.selenium.dev/documentation/" - >Selenium 公式ドキュメント</a - > + <a href="https://www.selenium.dev/documentation/" + target="_blank" rel="noopener noreferrer" + >Selenium 公式ドキュメント</a + >📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.<p class="page-subtitle"> <a href="https://www.selenium.dev/documentation/" target="_blank" rel="noopener noreferrer" >Selenium 公式ドキュメント</a >を主な情報源とし、 アーキテクチャの理解から実際のコードの書き方、保守性の高いテスト設計までを段階的に解説します。 各セクションの末尾に参照元URLを明記しています。 </p>🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Selenium-beginner-guide.html` around lines 507 - 513, Update every external anchor in Selenium-beginner-guide.html, including the links in the page subtitle and Chapter 16 references, to include target="_blank" and rel="noopener noreferrer". Apply this consistently across the entire file while leaving internal links unchanged.Source: Path instructions
2249-2251: 🩺 Stability & Availability | 🔵 Trivial | ⚡ Quick win
Mermaidのバージョンがフローティングメジャータグ(
@11)で固定されていません。他の学習ガイド(Finance-testing-ct-ft-guide.html、Owasp-zap-beginner-guide.html、Playwright-beginner-guide.html)はいずれも
mermaid@10.9.1のように厳密なパッチバージョンで固定していますが、本ファイルはmermaid@11という未固定のメジャータグをESM importで読み込んでいます。CDN側で新しいマイナー/パッチがリリースされるたびに、コード変更なしに図の描画結果や挙動が変わりうるため、再現性・安定性の観点から他ファイルと同様に具体的なバージョンへ固定することを推奨します(2026年7月時点のnpm最新は11.16.0)。🔧 修正例
- import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; + import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11.16.0/dist/mermaid.esm.min.mjs';最新の安定版バージョンは変動するため、実際に固定する前にnpm/CDN上の最新パッチバージョンをご確認ください。
📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11.16.0/dist/mermaid.esm.min.mjs';🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Selenium-beginner-guide.html` around lines 2249 - 2251, Update the Mermaid ESM import in Selenium-beginner-guide.html to pin a specific patch version instead of the floating `@11` tag, using the currently verified stable version and matching the exact-version convention used by the other learning guides.Selenium-beginner-guide.md (1)
826-828: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win
ファイル末尾に改行がありません(MD047)。
markdownlintが
Files should end with a single newline characterを検出しています。ファイル末尾に改行を1つ追加してください。As per coding guidelines, "すべてのMarkdownドキュメントは
.markdownlint.jsonに準拠させる。編集・新規作成時はコミット前に指定のmarkdownlint検証を実行し、エラーを0件にする。"🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 828-828: Files should end with a single newline character
(MD047, single-trailing-newline)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Selenium-beginner-guide.md` around lines 826 - 828, 末尾のMarkdownドキュメントに改行がないため、Selenium-beginner-guide.md のファイル末尾へ改行文字を1つ追加し、末尾が単一の改行で終わる状態にする。Sources: Coding guidelines, Linters/SAST tools
…rmaid-caption rules
…e correct table-wrapper class
…HTML guides Update rel="noopener" to rel="noopener noreferrer" across all external links in the following guides to prevent referrer information leakage: - Cucumber-beginner-guide.html (51 links) - Cypress-beginner-guide.html (65 links) - Finance-testing-ct-ft-guide.html (59 links) - Owasp-zap-beginner-guide.html (129 links) - Playwright-beginner-guide.html (78 links) - Playwright-intermediate-advanced-guide.html (78 links)
…visible section Replace per-entry immediate toggling with ratio-based selection: - Filter to only intersecting entries before processing - Sort by intersectionRatio descending to find the most visible section - Apply .active only to the single best candidate per callback batch
…de.html - Add .sidebar nav li a.active CSS rule with left-border indicator - Add IntersectionObserver scrollspy detecting h2[id^='sec-'] sections - Select most-visible section via intersectionRatio sorting (same pattern as Cucumber guide)
…MD022) - Cypress-beginner-guide.md: add missing trailing newline (MD047) - Finance-testing-ct-ft-guide.md: add missing trailing newline (MD047) and insert blank line between # and ## headings (MD022) - Selenium-beginner-guide.md: add missing trailing newline (MD047)
…ork PR behavior - Replace all actions/checkout@v6 references with @v7 (13 occurrences) - Expand section 15.2 to cover workflow_run and document v7 security change: fork PR checkout is denied by default in pull_request_target and workflow_run triggers; explicit ref specification required for fork HEAD checkout
…maid UMD 10.9.1 to ESM 11.4.1 - Remove UMD script tag (mermaid/10.9.1/mermaid.min.js) from <head> - Replace window.mermaid conditional with ESM module import pattern matching Cucumber and Cypress guides (type=module, DOMContentLoaded) - Pin to exact version mermaid@11.4.1 (no floating @11 tag) - Add type="button" to sidebarToggle button element
…elenium external links; pin Mermaid to 11.4.1 - Add target="_blank" rel="noopener noreferrer" to all 72 external (https://) anchor tags in Selenium-beginner-guide.html (internal links unchanged) - Pin Mermaid ESM import from floating @11 to exact version @11.4.1 matching the convention used by other learning guides
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (10)
Selenium-beginner-guide.html (2)
1164-1177: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
revealedを待機前に取得してください。
両方の例でrevealedが未定義のまま参照されるため、このままだとコピーして実行したときにNameErrorになります。WebDriverWaitの戻り値で要素を受け取ってから使う形にするとよいです。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Selenium-beginner-guide.html` around lines 1164 - 1177, Update both WebDriverWait examples around the wait and customization snippets so the revealed element is located before waiting and is not referenced while undefined. Use the WebDriverWait.until return value to assign the revealed element, then perform the existing visibility or send_keys behavior with that assigned element.
495-496: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winSelenium のバージョン表記を 4.46.0 に統一してください
ヘッダーの4.41.0とrequirements.txtの固定例を同じ最新安定版に揃えると、案内とコード例の不整合を防げます。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Selenium-beginner-guide.html` around lines 495 - 496, Update the Selenium version displayed in the header span containing the ti-versions icon from 4.41.0 to 4.46.0, and align the pinned Selenium version example in requirements.txt to the same 4.46.0 release.Cypress-beginner-guide.md (1)
581-599: 📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick winBun でコマンド例を統一してください
この節のnpx cypress run、npm run e2e:chrome、npm run build、npm startはbunx/bun runに置き換えてください。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cypress-beginner-guide.md` around lines 581 - 599, この節のコマンド例をBunに統一し、Cypress実行の「npx cypress run」を「bunx cypress run」、スクリプト実行の「npm run e2e:chrome」「npm run build」「npm start」をそれぞれ対応する「bun run」形式へ置き換えてください。コマンド以外の説明や設定内容は変更しないでください。Source: Coding guidelines
Playwright-intermediate-advanced-guide.html (3)
813-815: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick winNode コマンドを Bun に統一してください。
このガイド内の
npm/npxコマンドはリポジトリ規約に反します。以降の実行・更新・CI例も含め、Bun ベースのコマンドとキャッシュ設定に統一してください。As per coding guidelines, "依存関係の管理、スクリプト実行、Nodeツールの実行には必ずBunを使用し、npm・yarn・pnpmは禁止する。"
Also applies to: 881-921
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` around lines 813 - 815, ガイド内の `npm` / `npx` コマンドをすべて Bun 相当のコマンドへ置き換え、`code-1` および 881〜921 行付近の実行・更新・CI例を含めて統一してください。依存関係管理、スクリプト実行、Node ツール実行、キャッシュ設定で npm・yarn・pnpm を残さないようにしてください。Source: Coding guidelines
2844-2853: 🩺 Stability & Availability | 🟡 Minor | ⚡ Quick win
apiContextをafterAllで破棄してください。
beforeAllで作成したAPIRequestContextは、テスト終了時にawait apiContext.dispose()してリソースを解放してください。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` around lines 2844 - 2853, テスト終了時に作成した APIRequestContext を解放するため、beforeAll で初期化している apiContext に対応する afterAll フックを追加し、await apiContext.dispose() を呼び出してください。
1168-1172: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick win
defineConfigの import を追加してください。
このplaywright.config.tsの例は単体ではdefineConfigが未定義です。コピー可能なサンプルにするならimport { defineConfig } from '@playwright/test';を先頭に足すか、設定断片であることを明記してください。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` around lines 1168 - 1172, defineConfig is used without being declared in the Playwright configuration example. Add the defineConfig import from `@playwright/test` at the beginning of the example so it remains self-contained and copyable.Playwright-beginner-guide.html (2)
864-905: 📐 Maintainability & Code Quality | 🟠 Major | ⚡ Quick winインストール・更新コマンドを Bun に統一してください。
npm init、npm install、npxの案内はリポジトリ規約に反します。Bun での導入・実行手順へ置換してください。As per coding guidelines, "依存関係の管理、スクリプト実行、Nodeツールの実行には必ずBunを使用し、npm・yarn・pnpmは禁止する。"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-beginner-guide.html` around lines 864 - 905, コードブロック内のPlaywright初期化・バージョン確認・更新手順をBunへ統一してください。`npm init playwright@latest`はBunで実行する初期化コマンドに置き換え、`npm install`と`npx playwright`も対応するBunの依存関係追加・ツール実行コマンドへ変更してください。説明文や実行内容は維持し、npm・npxなどの禁止されたコマンドを残さないでください。Source: Coding guidelines
635-636: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winブラウザ対応の説明を修正してください。
Cypress は Chromium 系限定ではなく Firefox も正式サポートし、WebKit も実験的に対応しています。Playwright の「Mobile Safari」は Safari 本体のネイティブ自動化ではなく、WebKit ベースのデバイスエミュレーションとして書くのが正確です。 (635-636, 695-697)🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-beginner-guide.html` around lines 635 - 636, ブラウザ対応の説明を見直し、CypressはChromium系だけでなくFirefoxを正式サポートし、WebKitは実験的対応として記載してください。Playwrightの「Mobile Safari」はSafari本体のネイティブ自動化ではなく、WebKitベースのデバイスエミュレーションであると表現し、該当するブラウザ説明箇所を更新してください。Finance-testing-ct-ft-guide.html (2)
1938-1941: 🔒 Security & Privacy | 🟠 Major | ⚡ Quick winマスキングを匿名化と断定しないでください。
伏せ字化や識別子の置換だけでは再識別可能性が残り得るため、GDPR上は個人データのままになり得ます。「匿名化が成立した場合のみ個人データに該当しない」と修正してください。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Finance-testing-ct-ft-guide.html` around lines 1938 - 1941, Update the masking description in the table cell for 「マスキング(データ匿名化)」 so it does not assert that masking necessarily removes GDPR personal-data status. State that masking or identifier replacement may remain re-identifiable, and that data is no longer personal data only when anonymization is successfully achieved.
1616-1640: 🎯 Functional Correctness | 🟡 Minor | ⚡ Quick winISO/IEC 25010:2023 の品質特性名を更新してください。
「対話性(旧:使用性)」は「インタラクション容易性(対話性)」、 「移植性」は「柔軟性」に直してください。現状の表記だと旧版の品質モデルとして読まれます。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Finance-testing-ct-ft-guide.html` around lines 1616 - 1640, Update the quality characteristic labels in the table: change 「対話性(旧:使用性)」 to 「インタラクション容易性(対話性)」 and change 「移植性」 to 「柔軟性」, while leaving the surrounding descriptions unchanged.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Github-actions.md`:
- Line 438: GitHub Actions の CI 例全体を Bun 運用へ統一してください。対象箇所の npm ci、npm test、npm
run ...、および npm キャッシュ設定を、それぞれ依存関係の導入・スクリプト実行・キャッシュに対応する Bun
の形式へ置き換え、npm・yarn・pnpm の記述を残さないでください。
---
Outside diff comments:
In `@Cypress-beginner-guide.md`:
- Around line 581-599: この節のコマンド例をBunに統一し、Cypress実行の「npx cypress run」を「bunx
cypress run」、スクリプト実行の「npm run e2e:chrome」「npm run build」「npm start」をそれぞれ対応する「bun
run」形式へ置き換えてください。コマンド以外の説明や設定内容は変更しないでください。
In `@Finance-testing-ct-ft-guide.html`:
- Around line 1938-1941: Update the masking description in the table cell for
「マスキング(データ匿名化)」 so it does not assert that masking necessarily removes GDPR
personal-data status. State that masking or identifier replacement may remain
re-identifiable, and that data is no longer personal data only when
anonymization is successfully achieved.
- Around line 1616-1640: Update the quality characteristic labels in the table:
change 「対話性(旧:使用性)」 to 「インタラクション容易性(対話性)」 and change 「移植性」 to 「柔軟性」, while
leaving the surrounding descriptions unchanged.
In `@Playwright-beginner-guide.html`:
- Around line 864-905: コードブロック内のPlaywright初期化・バージョン確認・更新手順をBunへ統一してください。`npm
init playwright@latest`はBunで実行する初期化コマンドに置き換え、`npm install`と`npx
playwright`も対応するBunの依存関係追加・ツール実行コマンドへ変更してください。説明文や実行内容は維持し、npm・npxなどの禁止されたコマンドを残さないでください。
- Around line 635-636:
ブラウザ対応の説明を見直し、CypressはChromium系だけでなくFirefoxを正式サポートし、WebKitは実験的対応として記載してください。Playwrightの「Mobile
Safari」はSafari本体のネイティブ自動化ではなく、WebKitベースのデバイスエミュレーションであると表現し、該当するブラウザ説明箇所を更新してください。
In `@Playwright-intermediate-advanced-guide.html`:
- Around line 813-815: ガイド内の `npm` / `npx` コマンドをすべて Bun 相当のコマンドへ置き換え、`code-1`
および 881〜921 行付近の実行・更新・CI例を含めて統一してください。依存関係管理、スクリプト実行、Node ツール実行、キャッシュ設定で
npm・yarn・pnpm を残さないようにしてください。
- Around line 2844-2853: テスト終了時に作成した APIRequestContext を解放するため、beforeAll
で初期化している apiContext に対応する afterAll フックを追加し、await apiContext.dispose()
を呼び出してください。
- Around line 1168-1172: defineConfig is used without being declared in the
Playwright configuration example. Add the defineConfig import from
`@playwright/test` at the beginning of the example so it remains self-contained
and copyable.
In `@Selenium-beginner-guide.html`:
- Around line 1164-1177: Update both WebDriverWait examples around the wait and
customization snippets so the revealed element is located before waiting and is
not referenced while undefined. Use the WebDriverWait.until return value to
assign the revealed element, then perform the existing visibility or send_keys
behavior with that assigned element.
- Around line 495-496: Update the Selenium version displayed in the header span
containing the ti-versions icon from 4.41.0 to 4.46.0, and align the pinned
Selenium version example in requirements.txt to the same 4.46.0 release.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 6442ec93-801a-4d88-84ab-c1e8be1bc89f
📒 Files selected for processing (15)
.agents/skills/improve/references/plan-template.mdCucumber-beginner-guide.htmlCypress-beginner-guide.htmlCypress-beginner-guide.mdFinance-testing-ct-ft-guide.htmlFinance-testing-ct-ft-guide.mdGithub-actions.mdOwasp-zap-beginner-guide.htmlPlaywright-beginner-guide.htmlPlaywright-intermediate-advanced-guide.htmlSelenium-beginner-guide.htmlSelenium-beginner-guide.mdapp/istqb-ctfl-v4-chapter2-sdlc-and-testing/istqb-ctfl-v4-chapter2-sdlc-and-testing.cssapp/istqb-ctfl-v4-chapter2-sdlc-and-testing/page.tsxdocs/MIGRATION_PROGRESS.md
|
@coderabbitai review |
✅ Action performedReview finished.
|
There was a problem hiding this comment.
Actionable comments posted: 1
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (3)
Playwright-intermediate-advanced-guide.html (2)
2043-2081: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winシャーディングCI例に
oven-sh/setup-bunが欠落しており、bun/bunxが実行できません。
playwright-testsジョブはactions/setup-node@v5のみをセットアップし、merge-reportsジョブは checkout さえ行っていません。両ジョブともbun install/bunx playwright ...を呼び出していますが、GitHub-hosted ランナーにBunは標準搭載されていないため、18章の正しい例(oven-sh/setup-bun@v2を含む)と異なり、このワークフローは実行時に失敗します。🐛 修正例
jobs: playwright-tests: strategy: fail-fast: false matrix: shardIndex: [1, 2, 3, 4] shardTotal: [4] steps: - uses: actions/checkout@v5 - uses: actions/setup-node@v5 with: node-version: lts/* + - uses: oven-sh/setup-bun@v2 + with: + bun-version: latest - run: bun install --frozen-lockfile - run: bunx playwright install --with-deps - run: bunx playwright test --shard=${{ matrix.shardIndex }}/${{ matrix.shardTotal }} ... merge-reports: if: ${{ !cancelled() }} needs: [playwright-tests] runs-on: ubuntu-latest steps: + - uses: actions/checkout@v5 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + - run: bun install --frozen-lockfile - uses: actions/download-artifact@v5 with: path: all-blob-reports pattern: blob-report-* merge-multiple: true - run: bunx playwright merge-reports --reporter html ./all-blob-reportsBased on learnings, "依存関係の管理、スクリプト実行、Nodeツールの実行には必ずBunを使用し、npm・yarn・pnpmは禁止する。" — この方針を守るには、実行前にBunのセットアップが必要です。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` around lines 2043 - 2081, シャーディングCI例のplaywright-testsとmerge-reports両ジョブで、bun/bunx実行前にoven-sh/setup-bun@v2を追加してBunをセットアップする。あわせてmerge-reportsジョブにもcheckoutを追加し、両ジョブがGitHub-hostedランナー上で必要なワークフローを実行できるようにする。Source: Learnings
3253-3261: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick win
bunxではなくnpxを使うか、Bun の導入を明示してください
mcr.microsoft.com/playwrightには Bun が含まれていないため、このコマンドはそのままだと失敗します。公式サンプルに合わせてnpx playwright@1.61.0 run-server ...に戻すか、コンテナ内で Bun をインストールしてください。🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Playwright-intermediate-advanced-guide.html` around lines 3253 - 3261, Update the Docker command in code-58 to use npx instead of bunx when launching Playwright run-server, matching the available tooling in the Playwright image; alternatively, explicitly install Bun in the container before invoking bunx.Cypress-beginner-guide.md (1)
611-627: 🗄️ Data Integrity & Integration | 🟠 Major | ⚡ Quick winGitHub Actions例に
oven-sh/setup-bunが欠落しており、bun run build/bun run startが実行できません。
cypress-io/github-action@v7のbuild/startオプションはランナー上のシェルでそのまま実行されるため、事前にBunランタイムをセットアップしておく必要があります。現状はactions/checkout@v6のみで、Bunのセットアップステップがありません。🐛 修正例
jobs: cypress-run: runs-on: ubuntu-24.04 steps: - name: Checkout uses: actions/checkout@v6 + - uses: oven-sh/setup-bun@v2 + with: + bun-version: latest + - run: bun install --frozen-lockfile - name: Cypress run uses: cypress-io/github-action@v7 with: build: bun run build start: bun run startBased on learnings, "依存関係の管理、スクリプト実行、Nodeツールの実行には必ずBunを使用し、npm・yarn・pnpmは禁止する。" — Bunを使う以上、セットアップ手順もあわせて明記する必要があります。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@Cypress-beginner-guide.md` around lines 611 - 627, GitHub Actionsの「Cypress Tests」ジョブで、Cypress実行前にoven-sh/setup-bunを使ってBunランタイムをセットアップするステップを追加してください。actions/checkoutとcypress-io/github-actionの間に配置し、既存のbun run buildおよびbun run startがそのまま実行できる状態を保ってください。Source: Learnings
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Cypress-beginner-guide.md`:
- Around line 636-641: Update the “Cypress run” workflow step to include the
missing oven-sh/setup-bun action before invoking the Bun-based build and start
commands, matching the setup used in the corresponding workflow section.
---
Outside diff comments:
In `@Cypress-beginner-guide.md`:
- Around line 611-627: GitHub Actionsの「Cypress
Tests」ジョブで、Cypress実行前にoven-sh/setup-bunを使ってBunランタイムをセットアップするステップを追加してください。actions/checkoutとcypress-io/github-actionの間に配置し、既存のbun
run buildおよびbun run startがそのまま実行できる状態を保ってください。
In `@Playwright-intermediate-advanced-guide.html`:
- Around line 2043-2081:
シャーディングCI例のplaywright-testsとmerge-reports両ジョブで、bun/bunx実行前にoven-sh/setup-bun@v2を追加してBunをセットアップする。あわせてmerge-reportsジョブにもcheckoutを追加し、両ジョブがGitHub-hostedランナー上で必要なワークフローを実行できるようにする。
- Around line 3253-3261: Update the Docker command in code-58 to use npx instead
of bunx when launching Playwright run-server, matching the available tooling in
the Playwright image; alternatively, explicitly install Bun in the container
before invoking bunx.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 5178d3fd-d4b3-4856-8471-7cf9375d29e7
📒 Files selected for processing (6)
Cypress-beginner-guide.mdFinance-testing-ct-ft-guide.htmlGithub-actions.mdPlaywright-beginner-guide.htmlPlaywright-intermediate-advanced-guide.htmlSelenium-beginner-guide.html
| - name: Cypress run | ||
| uses: cypress-io/github-action@v7 | ||
| with: | ||
| build: bun run build | ||
| start: bun run start | ||
| browser: chrome |
There was a problem hiding this comment.
🗄️ Data Integrity & Integration | 🟡 Minor | ⚡ Quick win
同様に oven-sh/setup-bun が欠落しています(上記コメントと同一の根本原因)。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Cypress-beginner-guide.md` around lines 636 - 641, Update the “Cypress run”
workflow step to include the missing oven-sh/setup-bun action before invoking
the Bun-based build and start commands, matching the setup used in the
corresponding workflow section.
|
Note Docstrings generation - SUCCESS |
Docstrings generation was requested by @myoshi2891. * #83 (comment) The following files were modified: * `app/istqb-ctfl-v4-chapter2-sdlc-and-testing/NavBar.tsx` * `app/istqb-ctfl-v4-chapter2-sdlc-and-testing/page.tsx`
📝 Add docstrings to `dev`
主に、ISTQB CTFL v4.0 や CTFL-AT の各章の追加と Next.js 移行、新規テストツール(Playwright, Cypress, Selenium, OWASP ZAP など)のガイド追加、およびドキュメント類の Bun 統一化やセキュリティ・表示の最適化に関するものです。
1. ISTQB CTFL v4.0 / CTFL-AT シラバス学習ガイドの拡充と Next.js 移行
Chapter 1 (Fundamentals)およびChapter 2 (SDLC and Testing)などの Next.js ページ(App Router)への移行と、対応するテストファイルの整備、マイグレーション進捗管理ドキュメントの更新が実施されました。2. 新規テストツール・手法ガイドの追加
3. ドキュメント全体の品質向上とセキュリティ対策
target="_blank"リンクに対して、セキュリティリスク(タブジャッキング)を防ぐためにrel="noreferrer"(またはrel="noopener noreferrer") が一括で付与されました。11.4.1にアップグレードされ、ダイアグラムの表示崩れや SVG クリッピング、レスポンシブ描画が改善されました。IntersectionObserverの挙動が改善されました。4. コマンド・ランタイムの Bun 統一化(直近の変更)
npm/npxからbun/bunxへと統一されました。4.46.0にアップデートされ、WebDriverWaitのスニペットが修正されました。