diff --git a/SKILL.md b/SKILL.md index edd41954..70d576cd 100644 --- a/SKILL.md +++ b/SKILL.md @@ -473,7 +473,7 @@ Auto-shuts down after 30 min idle. State persists between calls (cookies, tabs, _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/benchmark/SKILL.md b/benchmark/SKILL.md index efb0ae7d..b7d5a3b5 100644 --- a/benchmark/SKILL.md +++ b/benchmark/SKILL.md @@ -435,7 +435,7 @@ plan's living status. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/browse/SKILL.md b/browse/SKILL.md index 47519f9b..c0bcb353 100644 --- a/browse/SKILL.md +++ b/browse/SKILL.md @@ -439,7 +439,7 @@ State persists between calls (cookies, tabs, login sessions). _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/canary/SKILL.md b/canary/SKILL.md index 5a42ab11..d2535d8f 100644 --- a/canary/SKILL.md +++ b/canary/SKILL.md @@ -557,7 +557,7 @@ plan's living status. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/design-consultation/SKILL.md b/design-consultation/SKILL.md index 4bb1b015..36d89123 100644 --- a/design-consultation/SKILL.md +++ b/design-consultation/SKILL.md @@ -622,7 +622,7 @@ If the codebase is empty and purpose is unclear, say: *"I don't have a clear pic _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/design-html/SKILL.md b/design-html/SKILL.md index c9e75ba9..ea73c852 100644 --- a/design-html/SKILL.md +++ b/design-html/SKILL.md @@ -699,7 +699,7 @@ else a few taps away with an obvious path to get there. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/design-review/SKILL.md b/design-review/SKILL.md index 19c7f752..f2c136f9 100644 --- a/design-review/SKILL.md +++ b/design-review/SKILL.md @@ -631,7 +631,7 @@ After the user chooses, execute their choice (commit or stash), then continue wi _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/devex-review/SKILL.md b/devex-review/SKILL.md index e93a7866..8978872d 100644 --- a/devex-review/SKILL.md +++ b/devex-review/SKILL.md @@ -619,7 +619,7 @@ branch name wherever the instructions say "the base branch" or ``. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/gstack-upgrade/SKILL.md b/gstack-upgrade/SKILL.md index 99a820d1..81bb1228 100644 --- a/gstack-upgrade/SKILL.md +++ b/gstack-upgrade/SKILL.md @@ -53,7 +53,7 @@ Tell user: "Auto-upgrade enabled. Future updates will install automatically." Th **If "Not now":** Write snooze state with escalating backoff (first snooze = 24h, second = 48h, third+ = 1 week), then continue with the current skill. Do not mention the upgrade again. ```bash -_SNOOZE_FILE=~/.gstack/update-snoozed +_SNOOZE_FILE="$HOME/.gstack/update-snoozed" _REMOTE_VER="{new}" _CUR_LEVEL=0 if [ -f "$_SNOOZE_FILE" ]; then diff --git a/gstack-upgrade/SKILL.md.tmpl b/gstack-upgrade/SKILL.md.tmpl index 19f3a0d5..5402a1da 100644 --- a/gstack-upgrade/SKILL.md.tmpl +++ b/gstack-upgrade/SKILL.md.tmpl @@ -55,7 +55,7 @@ Tell user: "Auto-upgrade enabled. Future updates will install automatically." Th **If "Not now":** Write snooze state with escalating backoff (first snooze = 24h, second = 48h, third+ = 1 week), then continue with the current skill. Do not mention the upgrade again. ```bash -_SNOOZE_FILE=~/.gstack/update-snoozed +_SNOOZE_FILE="$HOME/.gstack/update-snoozed" _REMOTE_VER="{new}" _CUR_LEVEL=0 if [ -f "$_SNOOZE_FILE" ]; then diff --git a/land-and-deploy/SKILL.md b/land-and-deploy/SKILL.md index 4661fab7..5415179d 100644 --- a/land-and-deploy/SKILL.md +++ b/land-and-deploy/SKILL.md @@ -574,7 +574,7 @@ plan's living status. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/office-hours/SKILL.md b/office-hours/SKILL.md index 50ad2740..0c31095f 100644 --- a/office-hours/SKILL.md +++ b/office-hours/SKILL.md @@ -585,7 +585,7 @@ plan's living status. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/open-gstack-browser/SKILL.md b/open-gstack-browser/SKILL.md index 1f134137..0ec96ac5 100644 --- a/open-gstack-browser/SKILL.md +++ b/open-gstack-browser/SKILL.md @@ -579,7 +579,7 @@ anti-bot stealth, and custom branding. You see every action in real time. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/pair-agent/SKILL.md b/pair-agent/SKILL.md index 5787693b..33403034 100644 --- a/pair-agent/SKILL.md +++ b/pair-agent/SKILL.md @@ -598,7 +598,7 @@ The skill will tell you if one is needed and how to set it up. _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/qa-only/SKILL.md b/qa-only/SKILL.md index ec8a28d5..8e57eced 100644 --- a/qa-only/SKILL.md +++ b/qa-only/SKILL.md @@ -596,7 +596,7 @@ You are a QA engineer. Test web applications like a real user — click everythi _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/qa/SKILL.md b/qa/SKILL.md index db9711fb..3a04bd78 100644 --- a/qa/SKILL.md +++ b/qa/SKILL.md @@ -673,7 +673,7 @@ After the user chooses, execute their choice (commit or stash), then continue wi _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/scripts/resolvers/browse.ts b/scripts/resolvers/browse.ts index ef7e9485..a0ae37a7 100644 --- a/scripts/resolvers/browse.ts +++ b/scripts/resolvers/browse.ts @@ -106,7 +106,7 @@ export function generateBrowseSetup(ctx: TemplateContext): string { _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/${ctx.paths.localSkillRoot}/browse/dist/browse" ] && B="$_ROOT/${ctx.paths.localSkillRoot}/browse/dist/browse" -[ -z "$B" ] && B=${ctx.paths.browseDir}/browse +[ -z "$B" ] && B="$HOME${ctx.paths.browseDir.replace(/^~/, '')}/browse" if [ -x "$B" ]; then echo "READY: $B" else diff --git a/setup-browser-cookies/SKILL.md b/setup-browser-cookies/SKILL.md index 846b4377..5b228986 100644 --- a/setup-browser-cookies/SKILL.md +++ b/setup-browser-cookies/SKILL.md @@ -454,7 +454,7 @@ If `CDP_MODE=true`: tell the user "Not needed — you're connected to your real _ROOT=$(git rev-parse --show-toplevel 2>/dev/null) B="" [ -n "$_ROOT" ] && [ -x "$_ROOT/.claude/skills/gstack/browse/dist/browse" ] && B="$_ROOT/.claude/skills/gstack/browse/dist/browse" -[ -z "$B" ] && B=~/.claude/skills/gstack/browse/dist/browse +[ -z "$B" ] && B="$HOME/.claude/skills/gstack/browse/dist/browse" if [ -x "$B" ]; then echo "READY: $B" else