mirror of
https://github.com/garrytan/gstack.git
synced 2026-05-02 11:45:20 +02:00
feat: lifecycle map + proactive preference system
Root gstack description now includes a developer workflow guide mapping 12 stages to skills. Preamble reads proactive preference via gstack-config. Users can opt out with "stop suggesting things" and re-enable with "be proactive again" — natural language toggle, no CLI needed.
This commit is contained in:
@@ -7,6 +7,32 @@ description: |
|
||||
responsive layouts, test forms and uploads, handle dialogs, and assert element states.
|
||||
~100ms per command. Use when you need to test a feature, verify a deployment, dogfood a
|
||||
user flow, or file a bug with evidence.
|
||||
|
||||
gstack also includes development workflow skills. When you notice the user is at
|
||||
these stages, suggest the appropriate skill:
|
||||
- Brainstorming a new idea → suggest /office-hours
|
||||
- Reviewing a plan (strategy) → suggest /plan-ceo-review
|
||||
- Reviewing a plan (architecture) → suggest /plan-eng-review
|
||||
- Reviewing a plan (design) → suggest /plan-design-review
|
||||
- Creating a design system → suggest /design-consultation
|
||||
- Debugging errors → suggest /debug
|
||||
- Testing the app → suggest /qa
|
||||
- Code review before merge → suggest /review
|
||||
- Visual design audit → suggest /design-review
|
||||
- Ready to deploy / create PR → suggest /ship
|
||||
- Post-ship doc updates → suggest /document-release
|
||||
- Weekly retrospective → suggest /retro
|
||||
|
||||
If the user pushes back on skill suggestions ("stop suggesting things",
|
||||
"I don't need suggestions", "too aggressive"):
|
||||
1. Stop suggesting for the rest of this session
|
||||
2. Run: gstack-config set proactive false
|
||||
3. Say: "Got it — I'll stop suggesting skills. Just tell me to be proactive
|
||||
again if you change your mind."
|
||||
|
||||
If the user says "be proactive again" or "turn on suggestions":
|
||||
1. Run: gstack-config set proactive true
|
||||
2. Say: "Proactive suggestions are back on."
|
||||
allowed-tools:
|
||||
- Bash
|
||||
- Read
|
||||
@@ -30,8 +56,13 @@ _BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
echo "BRANCH: $_BRANCH"
|
||||
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
|
||||
echo "LAKE_INTRO: $_LAKE_SEEN"
|
||||
_PROACTIVE=$(~/.claude/skills/gstack/bin/gstack-config get proactive 2>/dev/null || echo "true")
|
||||
echo "PROACTIVE: $_PROACTIVE"
|
||||
```
|
||||
|
||||
If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills — only invoke
|
||||
them when the user explicitly asks. The user opted out of proactive suggestions.
|
||||
|
||||
If output shows `UPGRADE_AVAILABLE <old> <new>`: read `~/.claude/skills/gstack/gstack-upgrade/SKILL.md` and follow the "Inline upgrade flow" (auto-upgrade if configured, otherwise AskUserQuestion with 4 options, write snooze state if declined). If `JUST_UPGRADED <from> <to>`: tell user "Running gstack v{to} (just updated!)" and continue.
|
||||
|
||||
If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
|
||||
|
||||
@@ -7,6 +7,32 @@ description: |
|
||||
responsive layouts, test forms and uploads, handle dialogs, and assert element states.
|
||||
~100ms per command. Use when you need to test a feature, verify a deployment, dogfood a
|
||||
user flow, or file a bug with evidence.
|
||||
|
||||
gstack also includes development workflow skills. When you notice the user is at
|
||||
these stages, suggest the appropriate skill:
|
||||
- Brainstorming a new idea → suggest /office-hours
|
||||
- Reviewing a plan (strategy) → suggest /plan-ceo-review
|
||||
- Reviewing a plan (architecture) → suggest /plan-eng-review
|
||||
- Reviewing a plan (design) → suggest /plan-design-review
|
||||
- Creating a design system → suggest /design-consultation
|
||||
- Debugging errors → suggest /debug
|
||||
- Testing the app → suggest /qa
|
||||
- Code review before merge → suggest /review
|
||||
- Visual design audit → suggest /design-review
|
||||
- Ready to deploy / create PR → suggest /ship
|
||||
- Post-ship doc updates → suggest /document-release
|
||||
- Weekly retrospective → suggest /retro
|
||||
|
||||
If the user pushes back on skill suggestions ("stop suggesting things",
|
||||
"I don't need suggestions", "too aggressive"):
|
||||
1. Stop suggesting for the rest of this session
|
||||
2. Run: gstack-config set proactive false
|
||||
3. Say: "Got it — I'll stop suggesting skills. Just tell me to be proactive
|
||||
again if you change your mind."
|
||||
|
||||
If the user says "be proactive again" or "turn on suggestions":
|
||||
1. Run: gstack-config set proactive true
|
||||
2. Say: "Proactive suggestions are back on."
|
||||
allowed-tools:
|
||||
- Bash
|
||||
- Read
|
||||
|
||||
@@ -31,8 +31,13 @@ _BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
echo "BRANCH: $_BRANCH"
|
||||
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
|
||||
echo "LAKE_INTRO: $_LAKE_SEEN"
|
||||
_PROACTIVE=$(~/.claude/skills/gstack/bin/gstack-config get proactive 2>/dev/null || echo "true")
|
||||
echo "PROACTIVE: $_PROACTIVE"
|
||||
```
|
||||
|
||||
If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills — only invoke
|
||||
them when the user explicitly asks. The user opted out of proactive suggestions.
|
||||
|
||||
If output shows `UPGRADE_AVAILABLE <old> <new>`: read `~/.claude/skills/gstack/gstack-upgrade/SKILL.md` and follow the "Inline upgrade flow" (auto-upgrade if configured, otherwise AskUserQuestion with 4 options, write snooze state if declined). If `JUST_UPGRADED <from> <to>`: tell user "Running gstack v{to} (just updated!)" and continue.
|
||||
|
||||
If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
|
||||
|
||||
@@ -109,8 +109,13 @@ _BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
echo "BRANCH: $_BRANCH"
|
||||
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
|
||||
echo "LAKE_INTRO: $_LAKE_SEEN"
|
||||
_PROACTIVE=$(~/.claude/skills/gstack/bin/gstack-config get proactive 2>/dev/null || echo "true")
|
||||
echo "PROACTIVE: $_PROACTIVE"
|
||||
\`\`\`
|
||||
|
||||
If \`PROACTIVE\` is \`"false"\`, do not proactively suggest gstack skills — only invoke
|
||||
them when the user explicitly asks. The user opted out of proactive suggestions.
|
||||
|
||||
If output shows \`UPGRADE_AVAILABLE <old> <new>\`: read \`~/.claude/skills/gstack/gstack-upgrade/SKILL.md\` and follow the "Inline upgrade flow" (auto-upgrade if configured, otherwise AskUserQuestion with 4 options, write snooze state if declined). If \`JUST_UPGRADED <from> <to>\`: tell user "Running gstack v{to} (just updated!)" and continue.
|
||||
|
||||
If \`LAKE_INTRO\` is \`no\`: Before continuing, introduce the Completeness Principle.
|
||||
|
||||
@@ -28,8 +28,13 @@ _BRANCH=$(git branch --show-current 2>/dev/null || echo "unknown")
|
||||
echo "BRANCH: $_BRANCH"
|
||||
_LAKE_SEEN=$([ -f ~/.gstack/.completeness-intro-seen ] && echo "yes" || echo "no")
|
||||
echo "LAKE_INTRO: $_LAKE_SEEN"
|
||||
_PROACTIVE=$(~/.claude/skills/gstack/bin/gstack-config get proactive 2>/dev/null || echo "true")
|
||||
echo "PROACTIVE: $_PROACTIVE"
|
||||
```
|
||||
|
||||
If `PROACTIVE` is `"false"`, do not proactively suggest gstack skills — only invoke
|
||||
them when the user explicitly asks. The user opted out of proactive suggestions.
|
||||
|
||||
If output shows `UPGRADE_AVAILABLE <old> <new>`: read `~/.claude/skills/gstack/gstack-upgrade/SKILL.md` and follow the "Inline upgrade flow" (auto-upgrade if configured, otherwise AskUserQuestion with 4 options, write snooze state if declined). If `JUST_UPGRADED <from> <to>`: tell user "Running gstack v{to} (just updated!)" and continue.
|
||||
|
||||
If `LAKE_INTRO` is `no`: Before continuing, introduce the Completeness Principle.
|
||||
|
||||
Reference in New Issue
Block a user