ai-universe-second-opinion-workflow
Complete workflow for using AI Universe MCP /secondo command
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 6
- Forks
- 0
01 前言 Front Matter
- type
- usage
- scope
- project
- description
- Complete workflow for using AI Universe MCP /secondo command
02 资源文件 2
- 参考文档manifest.json93 B
- 参考文档references/patterns.md10.5 KB
03 SKILL.md 正文
AI Universe Second Opinion Workflow
Quick start: Use /secondo or the HTTPie helper script to gather multi-model analysis (Cerebras, Gemini, Perplexity, GPT-4o + synthesis).
Activation cues
- Requests to run or debug the AI Universe "second opinion" workflow.
- Follow-ups after failed
/secondoruns or HTTPie 401/5xx errors. - Planning sessions that need step-by-step instructions for MCP calls.
- Questions about cost, rate limits, or interpreting multi-model output.
Prerequisites & authentication
- Verify auth-cli.mjs installation:
test -f ~/.claude/scripts/auth-cli.mjs && echo "✅ Installed" || echo "❌ Not found - run /localexportcommands" - Check authentication status:
node ~/.claude/scripts/auth-cli.mjs status - If not authenticated or token expired, run login (opens browser for OAuth):
# Run this outside Claude Code in a regular terminal node ~/.claude/scripts/auth-cli.mjs login - Ensure
http(HTTPie),jq,python3, andnode(>=20.0.0) are installed in the environment.
ℹ️ Seamless Auto-Refresh: The
/secondocommand uses the exact same auth-cli.mjs from AI Universe repo. If your token is valid, it does nothing. If expired, it auto-refreshes using your refresh token (silent, no browser popup). Only prompts for login if refresh token expires (30+ days).
ℹ️ Token Location: All tokens stored in
~/.ai-universe/auth-token.json(same as AI Universe repo)
- ID token: 1-hour expiration
- Refresh token: enables 30+ day sessions
ℹ️ For a dedicated authentication walkthrough see ai-universe-auth.md. Dependency notes live in secondo-dependencies.md.
Primary commands
| Scenario | Command |
|---|---|
| Quick question (when SlashCommand is working) | /secondo "Should I use Redis or in-memory caching?" |
| Build MCP request with PR context | python3 skills/second_opinion_workflow/scripts/build_second_opinion_request.py /tmp/mcp_request.json "QUESTION" 3 origin/main |
| Call MCP via HTTPie | http POST https://ai-universe-backend-dev-114133832173.us-central1.run.app/mcp "Authorization:Bearer $TOKEN" < /tmp/mcp_request.json --timeout=180 --print=b |
| Parse embedded JSON response | jq -r '.result.content[0].text' /tmp/mcp_response.json > /tmp/mcp_parsed.json |
| Summarize models/costs | python3 skills/second_opinion_workflow/scripts/parse_second_opinion.py /tmp/mcp_parsed.json |
| End-to-end helper | skills/second_opinion_workflow/scripts/request_second_opinion.sh "QUESTION" [MAX_OPINIONS] |
Recommended workflow (HTTPie)
- Generate the request payload (captures diff + per-file patches automatically):
Adjustpython3 skills/second_opinion_workflow/scripts/build_second_opinion_request.py \ /tmp/mcp_request.json \ "YOUR QUESTION HERE" \ 3 \ origin/mainSECOND_OPINION_MAX_FILES,SECOND_OPINION_MAX_DIFF_CHARS, orSECOND_OPINION_MAX_PATCH_CHARSif you need more/less context. - (Optional) Inspect/tweak
/tmp/mcp_request.jsonto refine the natural-language question while keeping the attached git context intact. - Get authentication token (auto-refresh from AI Universe repo):
# Get token (auto-refreshes if expired, does nothing if valid) TOKEN=$(node ~/.claude/scripts/auth-cli.mjs token) - Send request (allowing up to 180s for cold starts):
http POST https://ai-universe-backend-dev-114133832173.us-central1.run.app/mcp \ "Accept:application/json, text/event-stream" \ "Authorization:Bearer $TOKEN" \ < /tmp/mcp_request.json \ --timeout=180 \ --print=b > /tmp/mcp_response.json - Parse embedded JSON and display summary (or use the helper script):
Or run:jq -r '.result.content[0].text' /tmp/mcp_response.json > /tmp/mcp_parsed.json python3 <<'PYEOF' import json with open('/tmp/mcp_parsed.json', 'r') as f: data = json.load(f) print(f"✅ Received responses from {data['summary']['totalModels']} models") print(f"? Total cost: ${data['summary']['totalCost']:.4f}") print(f"? Total tokens: {data['summary']['totalTokens']:,}") print("\nPrimary response:\n") print(data['primary']['response']) PYEOFpython3 skills/second_opinion_workflow/scripts/parse_second_opinion.py /tmp/mcp_parsed.json - Review synthesis to confirm consensus and recommended actions.
? Need more HTTPie patterns? Use ai-universe-httpie.md as a companion reference.
SlashCommand fallback (Option A)
Use /secondo "QUESTION" for quick prompts only when the command file is healthy. If it fails or hangs, switch to the HTTPie workflow.
Automation helper script
Run the bundled script from repo root for a streamlined flow:
skills/second_opinion_workflow/scripts/request_second_opinion.sh "How should I harden our auth endpoints?" 4
The script:
- Validates token presence and checks that
MAX_OPINIONSis a positive integer. - Invokes
build_second_opinion_request.pyto embed branch/base metadata, diffstat, recent commits, and per-file patches into the payload. - Calls the MCP endpoint with HTTPie and a 180s timeout.
- Parses the embedded JSON and prints model count, token usage, cost, and the primary + synthesis responses.
- Writes raw artifacts to
/tmp; setKEEP_TEMP_FILES=1when running the script to keep them after completion.
For advanced prompting templates and interactive options, see the existing ~/.claude/scripts/secondo-cli.sh utility.
Troubleshooting
- 502 Bad Gateway / cold start → Retry after 30–60 seconds. Send a lightweight
"What is 2+2?"request first to warm the backend. - 401 Unauthorized / invalid token → Token expired (30-day TTL). Re-run
node scripts/auth-cli.mjs loginoutside Claude Code. - "command -c invalid" errors → Avoid nested command substitutions. Use heredocs + two-step token capture as shown above.
- Parsing failures → Always extract
.result.content[0].textbefore loading JSON. Use the helper Python snippet or script for safe parsing.
Cost & rate limits
- Authenticated users: 100 requests/hour, with multi-model synthesis limited to 1/hr.
- Typical cost ranges: $0.01–$0.20 depending on prompt complexity.
- Model cost breakdown (approx.): Cerebras $0.003, Gemini 2.5 Flash $0.001, Perplexity $0.002, GPT-4o $0.10, synthesis $0.005.
Reporting expectations
- Confirm authentication status and whether
/secondoor HTTPie path was used. - Provide model count, total tokens, and total cost from the parsed summary.
- Include primary + synthesis takeaways or recommended next actions.
- Note any errors encountered and remediation steps (e.g., re-authentication, retries).
Related references
skills/second_opinion_workflow/scripts/for helper tooling.- ai-universe-auth.md for login instructions.
- secondo-dependencies.md for HTTPie/JQ requirements.
- ai-universe-httpie.md for advanced HTTPie patterns.
04 同仓库更多 Skills
instinct
Use when the user invokes /instinct or /in, or asks to "message Instinct", "ask Instinct", "tell Instinct", "check Instinct", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.
hr
Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.
history-resume
Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.
grok
Alias for the canonical grokbot browser conversation workflow; /grok talks to the Grok bot the same way /dot talks to Dot.
codexa-bench
Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.