Skip to content

feat(tools): add summarize and bird CLI subagents (t034, t035)#40

Merged
marcusquinn merged 1 commit intomainfrom
feature/t034-t035-summarize-bird-cli
Jan 11, 2026
Merged

feat(tools): add summarize and bird CLI subagents (t034, t035)#40
marcusquinn merged 1 commit intomainfrom
feature/t034-t035-summarize-bird-cli

Conversation

@marcusquinn
Copy link
Owner

Summary

  • Add tools/content/summarize.md subagent for URL/YouTube/podcast summarization using steipete/summarize CLI (726+ stars)
  • Add tools/social-media/bird.md subagent for X/Twitter reading and posting using steipete/bird CLI (434+ stars)
  • Update AGENTS.md with new subagent references and usage guidance

Tasks Completed

  • t034: Add steipete/summarize for URL/YouTube/podcast summarization
  • t035: Add steipete/bird CLI for X/Twitter reading and posting

Features Added

summarize CLI (tools/content/summarize.md)

  • Summarize URLs, YouTube videos, podcasts, and local files
  • Supports multiple AI providers (OpenAI, Anthropic, Google, xAI, OpenRouter)
  • Real extraction pipeline with Markdown output
  • Chrome extension with daemon for one-click summarization
  • Free model support via OpenRouter

bird CLI (tools/social-media/bird.md)

  • Tweet, reply, read via GraphQL API
  • Thread and conversation viewing
  • Search, mentions, bookmarks, likes management
  • Following/followers lists
  • Media uploads (images, GIFs, video)
  • Browser cookie authentication (no API keys needed)

Testing

  • Markdown files properly formatted
  • AGENTS.md updated with new subagent references
  • TODO.md updated with started timestamps

- 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.
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 11, 2026

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 @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

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.

📥 Commits

Reviewing files that changed from the base of the PR and between 55e1552 and 1f16d47.

📒 Files selected for processing (4)
  • .agent/AGENTS.md
  • .agent/tools/content/summarize.md
  • .agent/tools/social-media/bird.md
  • TODO.md

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@gemini-code-assist
Copy link

Summary of Changes

Hello @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: summarize and bird. The summarize tool enhances content processing capabilities by providing AI-driven summarization for various media types, while the bird tool streamlines social media management by offering comprehensive X/Twitter automation. These additions aim to improve efficiency in information consumption and social engagement within the system.

Highlights

  • New Summarization Subagent: Introduced a new summarize CLI subagent (tools/content/summarize.md) for AI-powered summarization of URLs, YouTube videos, podcasts, and local files, supporting multiple AI providers.
  • New X/Twitter Automation Subagent: Added a new bird CLI subagent (tools/social-media/bird.md) for X/Twitter automation, enabling reading, posting, and replying via GraphQL API using browser cookie authentication.
  • Documentation Updates: Updated AGENTS.md to include references and usage guidance for the newly integrated summarize and bird subagents.
  • Task Tracking: Marked tasks t034 and t035 as "started" in TODO.md, reflecting the commencement of work on these new tool integrations.
Using Gemini Code Assist

The 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 /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

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 .gemini/ folder in the base of the repository. Detailed instructions can be found here.

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

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@sonarqubecloud
Copy link

@github-actions
Copy link

🔍 Code Quality Report

�[0;35m[MONITOR]�[0m Code Review Monitoring Report

�[0;34m[INFO]�[0m Latest Quality Status:
SonarCloud: 0 bugs, 0 vulnerabilities, 256 code smells

�[0;34m[INFO]�[0m Recent monitoring activity:
Sun Jan 11 04:34:54 UTC 2026: Code review monitoring started
Sun Jan 11 04:34:55 UTC 2026: SonarCloud - Bugs: 0, Vulnerabilities: 0, Code Smells: 256
Sun Jan 11 04:34:55 UTC 2026: Qlty - 0 issues found, auto-formatting applied
Sun Jan 11 04:34:57 UTC 2026: Codacy analysis completed with auto-fixes

📈 Current Quality Metrics

  • BUGS: 0
  • CODE SMELLS: 256
  • VULNERABILITIES: 0

Generated on: Sun Jan 11 04:35:32 UTC 2026


Generated by AI DevOps Framework Code Review Monitoring

Copy link

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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` |

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
| Z.AI | `zai/glm-4.7` | `Z_AI_API_KEY` |
| Zhipu AI | `zhipuai/glm-4` | `ZHIPUAI_API_KEY` |

Comment on lines +324 to +327
# Summarize multiple sources
for url in "${urls[@]}"; do
summarize "$url" --length medium >> research-notes.md
done

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
# 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

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
bunx @steipete/bird whoami
npx -y @steipete/bird whoami

Comment on lines +389 to +394
# 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..."
```

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

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.

Suggested change
# 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..."

@marcusquinn marcusquinn merged commit de0cfe1 into main Jan 11, 2026
10 checks passed
@augmentcode
Copy link

augmentcode bot commented Jan 11, 2026

🤖 Augment PR Summary

Summary: This PR expands the aidevops tool subagents by adding CLI-focused integrations for content summarization and X/Twitter automation.

Changes:

  • Added .agent/tools/content/summarize.md subagent documenting the steipete/summarize CLI for summarizing URLs, YouTube, podcasts, and local files.
  • Added .agent/tools/social-media/bird.md subagent documenting the steipete/bird CLI for reading/posting/replying on X/Twitter via the web GraphQL API.
  • Updated .agent/AGENTS.md to list the new tools/content/ and tools/social-media/ folders and add quick links to both subagents.
  • Updated TODO.md to mark tasks t034 and t035 as started (timestamped).

Technical Notes: Both subagents are read-only in terms of repo modification, but allow shell usage for invoking the CLIs; summarize uses provider API keys while bird primarily authenticates via browser cookies (with optional manual token overrides).

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. 1 suggestions posted.

Fix All in Augment

Comment augment review to trigger a new review at any time.


- **Purpose**: Summarize URLs, YouTube videos, podcasts, and files using AI
- **Install**: `npm i -g @steipete/summarize` or `brew install steipete/tap/summarize`
- **Repo**: https://github.com/steipete/summarize (726+ stars)
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hardcoding the GitHub star count (e.g., “726+ stars”) will go stale quickly and conflicts with the repo’s guidance to avoid hardcoded counts. (Also applies to .agent/tools/social-media/bird.md.)

Fix This in Augment

🤖 Was this useful? React with 👍 or 👎

@marcusquinn marcusquinn deleted the feature/t034-t035-summarize-bird-cli branch January 11, 2026 05:20
marcusquinn added a commit that referenced this pull request Jan 25, 2026
Keep using github:marcusquinn/claude-code-mcp fork until
steipete/claude-code-mcp#40 is merged.
marcusquinn added a commit that referenced this pull request Jan 25, 2026
* 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant