feat(tools): add summarize and bird CLI subagents (t034, t035)#40
feat(tools): add summarize and bird CLI subagents (t034, t035)#40marcusquinn merged 1 commit intomainfrom
Conversation
- Add tools/content/summarize.md for URL/YouTube/podcast summarization using steipete/summarize CLI (726+ stars) - Add tools/social-media/bird.md for X/Twitter reading and posting using steipete/bird CLI (434+ stars) - Update AGENTS.md with new subagent references and usage guidance - Mark t034 and t035 as started in TODO.md Both tools use browser cookie authentication and support AI-powered content processing without requiring API keys.
|
Warning Rate limit exceeded@marcusquinn has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 8 minutes and 47 seconds before requesting another review. ⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📒 Files selected for processing (4)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @marcusquinn, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request significantly expands the toolkit by integrating two powerful command-line interface (CLI) subagents: Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
|
🔍 Code Quality Report�[0;35m[MONITOR]�[0m Code Review Monitoring Report �[0;34m[INFO]�[0m Latest Quality Status: �[0;34m[INFO]�[0m Recent monitoring activity: 📈 Current Quality Metrics
Generated on: Sun Jan 11 04:35:32 UTC 2026 Generated by AI DevOps Framework Code Review Monitoring |
There was a problem hiding this comment.
Code Review
This pull request introduces two new subagents, summarize and bird, along with their corresponding documentation. The changes are well-structured and the documentation is comprehensive. My review includes a few suggestions to enhance the clarity, consistency, and correctness of the provided code examples and configuration details within the new documentation files.
| | Anthropic | `anthropic/claude-sonnet-4-5` | `ANTHROPIC_API_KEY` | | ||
| | Google | `google/gemini-3-flash-preview` | `GEMINI_API_KEY` | | ||
| | xAI | `xai/grok-4-fast-non-reasoning` | `XAI_API_KEY` | | ||
| | Z.AI | `zai/glm-4.7` | `Z_AI_API_KEY` | |
There was a problem hiding this comment.
The provider details for Z.AI appear to be incorrect. This is likely a typo for Zhipu AI. For correctness, I recommend updating the provider name, model ID format, and API key environment variable to reflect the correct details for Zhipu AI.
| | Z.AI | `zai/glm-4.7` | `Z_AI_API_KEY` | | |
| | Zhipu AI | `zhipuai/glm-4` | `ZHIPUAI_API_KEY` | |
| # Summarize multiple sources | ||
| for url in "${urls[@]}"; do | ||
| summarize "$url" --length medium >> research-notes.md | ||
| done |
There was a problem hiding this comment.
The bash example for summarizing multiple URLs isn't self-contained because the urls array is used without being defined. This prevents users from being able to copy and run the example directly. I suggest adding a definition for the urls array to make the example more user-friendly and immediately testable.
| # Summarize multiple sources | |
| for url in "${urls[@]}"; do | |
| summarize "$url" --length medium >> research-notes.md | |
| done | |
| # Summarize multiple sources | |
| urls=("https://example.com/page1" "https://example.com/page2") | |
| for url in "${urls[@]}"; do | |
| summarize "$url" --length medium >> research-notes.md | |
| done |
| npm i -g @steipete/bird | ||
|
|
||
| # One-shot (no install) | ||
| bunx @steipete/bird whoami |
There was a problem hiding this comment.
For consistency with the npm installation recommendation and the summarize.md subagent file, it would be clearer to use npx for the one-shot command instead of bunx. This avoids introducing a different package runner (bun) and ensures a more consistent experience for the user.
| bunx @steipete/bird whoami | |
| npx -y @steipete/bird whoami |
| # Thread a long post | ||
| bird tweet "1/3 Here's a thread about..." | ||
| # Get the tweet ID from output, then: | ||
| bird reply <tweet_id> "2/3 Continuing the thread..." | ||
| bird reply <tweet_id_2> "3/3 Final thoughts..." | ||
| ``` |
There was a problem hiding this comment.
The example for creating a tweet thread is a bit confusing. To create a linear thread, each new tweet must reply to the ID of the previous tweet in the sequence. The current example with <tweet_id> and <tweet_id_2> doesn't make this flow clear. I'm suggesting a revised example with clearer comments and more descriptive placeholders to better illustrate the process.
| # Thread a long post | |
| bird tweet "1/3 Here's a thread about..." | |
| # Get the tweet ID from output, then: | |
| bird reply <tweet_id> "2/3 Continuing the thread..." | |
| bird reply <tweet_id_2> "3/3 Final thoughts..." | |
| ``` | |
| # Thread a long post | |
| bird tweet "1/3 Here's a thread about..." | |
| # Get the tweet ID from output, then reply to it: | |
| bird reply <id_of_first_tweet> "2/3 Continuing the thread..." | |
| # Get the ID of the reply above to continue the thread: | |
| bird reply <id_of_second_tweet> "3/3 Final thoughts..." |
🤖 Augment PR SummarySummary: This PR expands the aidevops tool subagents by adding CLI-focused integrations for content summarization and X/Twitter automation. Changes:
Technical Notes: Both subagents are read-only in terms of repo modification, but allow shell usage for invoking the CLIs; 🤖 Was this summary useful? React with 👍 or 👎 |
Keep using github:marcusquinn/claude-code-mcp fork until steipete/claude-code-mcp#40 is merged.
* refactor: optimize MCP loading with lazy-load strategy - Add claude-code subagent for on-demand claude-code-mcp access - Remove claude-code-mcp_* from main agent tool lists (Build+, AI-DevOps) - Set 12 MCPs to lazy-load (enabled: false): claude-code-mcp, gsc, localwp, chrome-devtools, outscraper, amazon-order-history, google-analytics-mcp, dataforseo, shadcn, macos-automator, quickfile, MCP_DOCKER - Keep 8 MCPs eager-loaded for all main agents: osgrep, augment-context-engine, context7, repomix, playwriter, gh_grep, sentry, socket - Enable playwriter_* and repomix_* globally for all main agents - Add MCP loading policy enforcement to update existing configs This reduces OpenCode startup time by deferring MCP server initialization until the specific subagent that needs them is invoked. * fix: address code review feedback - Remove hardcoded /opt/homebrew/bin/npx fallback, use shutil.which only - Add warning for uncategorized MCPs in loading policy - Remove redundant else blocks that duplicated loading policy logic - Update claude-code-mcp.json template to use upstream @steipete package - Add sys import for stderr warnings * fix: revert to fork until upstream PR #40 merged Keep using github:marcusquinn/claude-code-mcp fork until steipete/claude-code-mcp#40 is merged.



Summary
tools/content/summarize.mdsubagent for URL/YouTube/podcast summarization using steipete/summarize CLI (726+ stars)tools/social-media/bird.mdsubagent for X/Twitter reading and posting using steipete/bird CLI (434+ stars)Tasks Completed
Features Added
summarize CLI (
tools/content/summarize.md)bird CLI (
tools/social-media/bird.md)Testing