Skip to content

Wire completeness intro to cross-platform gstack-open-url - #3

Draft
RachaelQuisel wants to merge 2 commits into
mainfrom
claude/todo-implementation-gojia5
Draft

Wire completeness intro to cross-platform gstack-open-url#3
RachaelQuisel wants to merge 2 commits into
mainfrom
claude/todo-implementation-gojia5

Conversation

@RachaelQuisel

@RachaelQuisel RachaelQuisel commented Jul 16, 2026

Copy link
Copy Markdown
Owner

What

The first-time Boil the Lake intro (generateLakeIntro() in scripts/resolvers/preamble.ts) hardcoded macOS open to launch the essay. On Linux and Windows that command doesn't exist, so the launch silently failed. This wires the intro to the existing cross-platform bin/gstack-open-url helper (open on macOS, xdg-open on Linux, start on Windows, with a plain URL-print fallback for headless environments).

Implements the Cross-platform URL open helper TODO from TODOS.md (the helper script already existed; this completes the story by actually using it in the one place the TODO called out).

Changes

  • scripts/resolvers/preamble.tsgenerateLakeIntro(ctx) now emits ${binDir}/gstack-open-url <url> instead of open <url>, matching the binDir pattern used elsewhere in the resolver.
  • Regenerated all SKILL.md files via bun run gen:skill-docs (separate commit).
  • TODOS.md — marked the item SHIPPED.

Testing

  • bun test test/skill-validation.test.ts test/gen-skill-docs.test.ts — 614 pass, 0 fail.
  • The 3 failing tests in the full bun test run are pre-existing environment issues (browse integration tests need the compiled binary + npx playwright install, neither present in a fresh clone) and are unrelated to this change.

🤖 Generated with Claude Code

https://claude.ai/code/session_01QCGf8qGNaSX8JaMYbVDL88


Generated by Claude Code

Summary by Sourcery

Wire the first-time Completeness Principle intro to the existing cross-platform URL opener and update docs to reflect the change.

Bug Fixes:

  • Ensure the Completeness Principle intro opens the essay via a cross-platform URL helper instead of macOS-only open, preventing silent failures on Linux and Windows.

Documentation:

  • Regenerate all SKILL.md guides to reference the gstack-open-url helper instead of the macOS-only open command.
  • Mark the cross-platform URL open helper work as shipped in TODOS.md with updated description and completion metadata.

claude added 2 commits July 16, 2026 21:18
The first-time Boil the Lake intro hardcoded macOS `open`, which silently
fails on Linux and Windows. Point generateLakeIntro() at the existing
bin/gstack-open-url helper (open / xdg-open / start + headless fallback)
so the essay launch works everywhere. Mark the TODO shipped.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QCGf8qGNaSX8JaMYbVDL88
Ran bun run gen:skill-docs after wiring generateLakeIntro() to the
cross-platform URL helper.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QCGf8qGNaSX8JaMYbVDL88
@sourcery-ai

sourcery-ai Bot commented Jul 16, 2026

Copy link
Copy Markdown

Reviewer's Guide

Wires the Boil the Lake intro flow to the existing cross-platform gstack-open-url helper and regenerates SKILL docs to match, while marking the corresponding TODO as shipped.

Sequence diagram for cross-platform lake intro URL opening

sequenceDiagram
  actor User
  participant gstack_cli
  participant gstack_open_url_helper
  participant Browser

  User->>gstack_cli: run_gstack_first_time
  gstack_cli->>User: generateLakeIntro_prompt
  User->>gstack_cli: confirm_open_essay
  gstack_cli->>gstack_open_url_helper: gstack-open-url boil_the_ocean_url

  alt macOS
    gstack_open_url_helper->>Browser: open boil_the_ocean_url
  else Linux
    gstack_open_url_helper->>Browser: xdg-open boil_the_ocean_url
  else Windows
    gstack_open_url_helper->>Browser: start boil_the_ocean_url
  else headless
    gstack_open_url_helper->>User: print_url_to_stdout
  end
Loading

File-Level Changes

Change Details Files
Use cross-platform gstack-open-url helper in the Completeness/Boil the Lake intro instead of macOS-only open.
  • Change generateLakeIntro to accept TemplateContext and emit ${ctx.paths.binDir}/gstack-open-url instead of open .
  • Update the lake intro instructions to tell users to run gstack-open-url only on user consent while still always touching the completeness marker file.
  • Wire generateLakeIntro(ctx) into generatePreamble so the new context-aware implementation is used.
scripts/resolvers/preamble.ts
Regenerate SKILL documentation to reference gstack-open-url and match the new intro flow.
  • Replace inline open https://garryslist.org/posts/boil-the-ocean commands with ~/.claude/skills/gstack/bin/gstack-open-url in all SKILL docs.
  • Update the accompanying prose to say 'Only run gstack-open-url if the user says yes' while keeping the touch semantics unchanged.
SKILL.md
autoplan/SKILL.md
benchmark/SKILL.md
browse/SKILL.md
canary/SKILL.md
checkpoint/SKILL.md
codex/SKILL.md
connect-chrome/SKILL.md
cso/SKILL.md
design-consultation/SKILL.md
design-html/SKILL.md
design-review/SKILL.md
design-shotgun/SKILL.md
document-release/SKILL.md
health/SKILL.md
investigate/SKILL.md
land-and-deploy/SKILL.md
learn/SKILL.md
office-hours/SKILL.md
plan-ceo-review/SKILL.md
plan-design-review/SKILL.md
plan-eng-review/SKILL.md
qa-only/SKILL.md
qa/SKILL.md
retro/SKILL.md
review/SKILL.md
setup-browser-cookies/SKILL.md
setup-deploy/SKILL.md
ship/SKILL.md
Mark the cross-platform URL open helper work as shipped in the project TODOs.
  • Annotate the 'Cross-platform URL open helper' section as SHIPPED, strike through the old description, and describe the completed implementation including Windows/start support and headless fallback.
  • Record completion metadata (version v0.15.2.0) in the TODO entry and remove obsolete priority/effort fields.
TODOS.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

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.

2 participants