feat: wire team sync push into ship, retro, qa, and greptile skills

Add non-fatal sync steps to all 4 skill templates:
- /ship Step 8.5: write ship log JSON + push after PR creation
- /retro Step 13: push snapshot after JSON save
- /qa Phase 6.7: write qa-sync.json + push after health score
- greptile-triage: push each triage entry after history file writes

All calls use || true for zero disruption. Silent when sync not
configured.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Garry Tan
2026-03-15 19:42:54 -05:00
parent dc3fcc8611
commit 06f2da2019
7 changed files with 113 additions and 0 deletions
+27
View File
@@ -408,6 +408,33 @@ EOF
---
## Step 8.5: Sync to Team (non-fatal)
After the PR is created, write a ship log and sync to the team store. This step is entirely silent if sync is not configured.
1. Write ship metadata to a temp file:
```bash
cat > /tmp/gstack-ship-log.json << 'SHIPEOF'
{
"version": "<new version from Step 4>",
"branch": "<current branch>",
"pr_url": "<PR URL from Step 8>",
"review_findings": { "critical": 0, "informational": 0 },
"greptile_stats": { "total": 0, "valid": 0, "fixed": 0, "fp": 0 },
"todos_completed": [],
"test_results": { "pass": true, "test_count": 0 }
}
SHIPEOF
```
Substitute actual values from the preceding steps. Use `0` for Greptile fields if no Greptile comments were found.
2. Push (non-fatal):
```bash
~/.claude/skills/gstack/bin/gstack-sync push-ship /tmp/gstack-ship-log.json 2>/dev/null && echo "Synced to team ✓" || true
```
---
## Important Rules
- **Never skip tests.** If tests fail, stop.
+27
View File
@@ -399,6 +399,33 @@ EOF
---
## Step 8.5: Sync to Team (non-fatal)
After the PR is created, write a ship log and sync to the team store. This step is entirely silent if sync is not configured.
1. Write ship metadata to a temp file:
```bash
cat > /tmp/gstack-ship-log.json << 'SHIPEOF'
{
"version": "<new version from Step 4>",
"branch": "<current branch>",
"pr_url": "<PR URL from Step 8>",
"review_findings": { "critical": 0, "informational": 0 },
"greptile_stats": { "total": 0, "valid": 0, "fixed": 0, "fp": 0 },
"todos_completed": [],
"test_results": { "pass": true, "test_count": 0 }
}
SHIPEOF
```
Substitute actual values from the preceding steps. Use `0` for Greptile fields if no Greptile comments were found.
2. Push (non-fatal):
```bash
~/.claude/skills/gstack/bin/gstack-sync push-ship /tmp/gstack-ship-log.json 2>/dev/null && echo "Synced to team ✓" || true
```
---
## Important Rules
- **Never skip tests.** If tests fail, stop.