feat(council): surf council skill with zombie window recovery#95
Open
rlaksana wants to merge 4 commits intonicobailon:mainfrom
Open
feat(council): surf council skill with zombie window recovery#95rlaksana wants to merge 4 commits intonicobailon:mainfrom
rlaksana wants to merge 4 commits intonicobailon:mainfrom
Conversation
- Add AIMODE support to service worker (AIMODE_EVALUATE, AIMODE_CDP_COMMAND, AIMODE_NEW_TAB, AIMODE_CLOSE_TAB) - Add aimode-client.cjs and claude-client.cjs - Update CLAUDE.md with missing npm scripts and troubleshooting section - Update .gitignore to exclude Claude/FPF/experimental configs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add AIMODE handlers to COMMANDS_WITHOUT_TAB - Change all AI clients (ChatGPT, Claude, Gemini, Perplexity, Grok, AI Studio, AIMode) to open in new window instead of new tab - Use focused: false to prevent focus stealing - Also fix AIMODE_NEW_TAB message type in host.cjs Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Allows --pro to be placed before or after the query argument without causing "query required" error. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit adds the complete council skill for orchestrating multiple AI providers: - Council skill (skills/surf-council/): - council.cjs: Core orchestration with parallel provider execution - SKILL.md: Documentation with usage examples - providers/: chatgpt, gemini, aimode wrappers with timeout/zombie recovery - recovery/: socket health check and zombie window detection - Error handling improvements: - Fix silent cleanup in chatgpt-client.cjs and aimode-client.cjs - Add SURF_ERRORS with actionable hints in host.cjs - Improve socket error messages in cli.cjs and do-executor.cjs - Configuration: - Add COUNCIL_CONFIG with default providers, timeouts, zombie recovery settings Features: - Parallel multi-provider execution (chatgpt, gemini, aimode) - Per-provider configurable timeouts (5min/3min/2min vs old 45min defaults) - Zombie window detection and force-close recovery - Graceful degradation: continues with successful providers when others fail - Synthesized response from priority order (chatgpt > gemini > aimode) - Actionable error messages with recovery hints Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add surf council skill that orchestrates multiple AI providers (ChatGPT, Gemini, AI Mode) with:
Changes
New Files
skills/surf-council/SKILL.md- Skill documentationskills/surf-council/council.cjs- Core orchestrationskills/surf-council/providers/*.cjs- Provider wrappers with timeout/zombie recoveryskills/surf-council/recovery/*.cjs- Socket health check and zombie detectionModified Files
native/chatgpt-client.cjs- Fix silent cleanup error swallowingnative/aimode-client.cjs- Fix silent cleanup error swallowingnative/host.cjs- Add SURF_ERRORS with actionable hintsnative/cli.cjs- Improve socket error messagesnative/do-executor.cjs- Improve socket error messagesnative/config.cjs- Add COUNCIL_CONFIGTest Plan
surf-council "test query"to verify council skill works🤖 Generated with Claude Code