一键导入
vibeteam-readiness
Run VibeTeam system readiness checks - validates infrastructure, LLM, integrations (Slack, GitHub, Gmail, Sentry, Langfuse), and K8s agents
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Run VibeTeam system readiness checks - validates infrastructure, LLM, integrations (Slack, GitHub, Gmail, Sentry, Langfuse), and K8s agents
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Create and configure role-scoped GitHub Apps for VibeTeam, map credentials to agents placeholders, and validate installation permissions/identity.
Run VibeTeam GitHub/Slack handoff validation with unit tests, Slack evals, GitHub webhook evals, and permission checks. Use when validating multi-agent GitHub communication (issues, discussions, PR comments) or when asked to prove changes via tests/evals and record status.
Create and configure VibeTeam Slack apps (one ingress app plus role-scoped responder apps), wire role tokens/secrets, and validate routing/identity behavior.
Final completion gate for VibeTeam tasks. Use at the end of implementation to verify diff quality, real testing, GitHub/Slack multi-agent communication evidence, and PR health before declaring done.
Search shared knowledgebase content using docs_tools (BM25 + fallback keyword scoring) before answering from memory.
Shared workflow for knowledgebase retrieval using docs_tools and injected OpenClaw context.
| name | vibeteam-readiness |
| description | Run VibeTeam system readiness checks - validates infrastructure, LLM, integrations (Slack, GitHub, Gmail, Sentry, Langfuse), and K8s agents |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"sre","workflow":"verification"} |
Execute this playbook to evaluate whether VibeTeam is fully operational. Run each check, record results, and produce a GREEN/YELLOW/RED assessment.
Load environment variables first:
cd ~/workspace/vibebrowser/VibeTeam
set -a && source .env && set +a
Verify required variables are set:
for var in AZURE_API_KEY AZURE_API_BASE GITHUB_TOKEN SENTRY_AUTH_TOKEN LANGFUSE_PUBLIC_KEY LANGFUSE_SECRET_KEY SLACK_BOT_TOKEN; do
echo "$var: $([ -n "${!var}" ] && echo 'SET' || echo 'NOT SET')"
done
Required:
AZURE_API_KEY - Azure OpenAI API keyAZURE_API_BASE - Azure OpenAI endpointGITHUB_TOKEN - GitHub personal access tokenOptional:
SENTRY_AUTH_TOKEN - Sentry API tokenLANGFUSE_PUBLIC_KEY / LANGFUSE_SECRET_KEY - Langfuse keysSLACK_BOT_TOKEN - Slack bot tokencurl -s -o /dev/null -w "%{http_code} %{time_total}s" https://api.vibebrowser.app/health
Expected: 200 or 401, response < 2s
curl -s -o /dev/null -w "%{http_code} %{time_total}s" https://api-dev.vibebrowser.app/health
Expected: 200 or 401, response < 2s
curl -s -o /dev/null -w "%{http_code} %{time_total}s" https://portal.vibebrowser.app
Expected: 200, response < 3s
curl -s -o /dev/null -w "%{http_code} %{time_total}s" https://docs.vibebrowser.app
Expected: 200, response < 3s
curl -s -o /dev/null -w "%{http_code} %{time_total}s" https://langfuse.vibebrowser.app/api/public/health
Expected: 200, response < 3s
curl -s -o /dev/null -w "%{http_code} %{time_total}s" https://team.vibebrowser.app
Expected: 200, response < 5s
curl -s -X POST "${AZURE_API_BASE}openai/deployments/gpt-4.1-mini/chat/completions?api-version=2024-08-01-preview" \
-H "Content-Type: application/json" \
-H "api-key: ${AZURE_API_KEY}" \
-d '{"messages":[{"role":"user","content":"Say hello in 5 words"}],"max_tokens":50}' \
| jq -r '.choices[0].message.content // .error.message'
Expected: Coherent 5-word response Timeout: Allow up to 120 seconds Evaluate:
[ -n "$SLACK_BOT_TOKEN" ] && echo "SLACK_BOT_TOKEN is set" || echo "SLACK_BOT_TOKEN is NOT SET"
curl -s -X POST "https://slack.com/api/auth.test" \
-H "Authorization: Bearer ${SLACK_BOT_TOKEN}" \
-H "Content-Type: application/json" \
| jq '{ok: .ok, user: .user, team: .team}'
Expected: "ok": true with user and team info
kubectl get pods -n vibeteam -l app=slack-webhook-bot 2>/dev/null || echo "kubectl not available or namespace missing"
Expected: Pod in Running state
gh api /repos/VibeTechnologies/VibeWebAgent/issues/322 --jq '.title'
Expected: Returns issue title
gh api /rate_limit --jq '.rate | "Used: \(.used)/\(.limit), Resets: \(.reset | strftime("%H:%M:%S"))"'
Expected: Less than 80% used
ls -la .secrets/gmail-credentials.json .secrets/gmail-token.json 2>/dev/null || echo "Gmail credential files not found"
kubectl get secret gmail-oauth-secrets -n vibeteam -o jsonpath='{.data}' 2>/dev/null | jq -r 'keys' || echo "Secret not found or kubectl unavailable"
Expected: Contains gmail-credentials.json and gmail-token.json
Skip if SENTRY_AUTH_TOKEN is not set.
curl -s "https://sentry.io/api/0/projects/vibetechnologies/vibebrowserextension/issues/?query=is:unresolved&statsPeriod=24h" \
-H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
| jq 'if type == "array" then [.[] | {title: .title, count: .count, level: .level}] | sort_by(-.count) | .[:5] else {error: .detail} end'
curl -s "https://sentry.io/api/0/projects/vibetechnologies/vibe-api-gateway/issues/?query=is:unresolved&statsPeriod=24h" \
-H "Authorization: Bearer ${SENTRY_AUTH_TOKEN}" \
| jq 'if type == "array" then [.[] | {title: .title, count: .count, level: .level}] | sort_by(-.count) | .[:5] else {error: .detail} end'
Evaluate:
fatal or error level issues?Skip if LANGFUSE keys not set.
curl -s "https://langfuse.vibebrowser.app/api/public/traces?limit=10" \
-u "${LANGFUSE_PUBLIC_KEY}:${LANGFUSE_SECRET_KEY}" \
| jq 'if .data then (.data | map({name: .name, latency: .latency, level: .level}) | .[:5]) else {error: .message} end'
Evaluate:
kubectl get cronjobs -n vibeteam 2>/dev/null || echo "kubectl unavailable"
Expected CronJobs:
reliability-engineer (*/5 * * * *)product-manager (0 */2 * * *)support-engineer (*/15 * * * *)software-engineer (0 */4 * * *)release-engineer (0 9 * * *)kubectl get jobs -n vibeteam --sort-by=.metadata.creationTimestamp 2>/dev/null | tail -10 || echo "kubectl unavailable"
kubectl get pods -n vibeteam 2>/dev/null || echo "kubectl unavailable"
Evaluate:
Based on all checks, determine overall status:
All conditions met:
One or more non-critical issues:
Any critical failure:
Generate a report in this format:
# VibeTeam Readiness Assessment - [DATE]
## Status: [GREEN/YELLOW/RED]
## Summary
[1-2 sentence overall assessment]
## Checks Performed
| Check | Status | Notes |
|-------|--------|-------|
| API Prod | OK/WARN/FAIL | [details] |
| API Dev | OK/WARN/FAIL | [details] |
| Portal | OK/WARN/FAIL | [details] |
| OpenHands UI | OK/WARN/FAIL | [details] |
| Docs | OK/WARN/FAIL | [details] |
| LLM | OK/WARN/FAIL | [details] |
| Slack | OK/WARN/FAIL | [details] |
| GitHub | OK/WARN/FAIL | [details] |
| Gmail | OK/WARN/FAIL | [details] |
| Sentry | OK/WARN/FAIL | [details] |
| Langfuse | OK/WARN/FAIL | [details] |
| K8s Agents | OK/WARN/FAIL | [details] |
## Issues Found
- [List any issues]
## Recommendations
- [List any recommended actions]