Conversation
|
Hi @ClawdiaETH 👋 This PR has merge conflicts with Could you please:
The skill itself looks great — production-quality scripts, good error handling. Just need the conflicts resolved and the duplicate cleaned up. Thanks! 🐪 |
16826e2 to
e2a59a5
Compare
|
|
||
| --- | ||
|
|
||
| *Built by [@Clawdia_ETH](https://x.com/Clawdia_ETH) — learning by doing, sharing what works.* |
There was a problem hiding this comment.
Unrelated x-engagement skill bundled in auction PR
Low Severity
This PR is titled "Add anons auction skill" but also adds a 561-line skills/x-engagement/SKILL.md file and its corresponding README.md table entry. The x-engagement skill (Twitter/X engagement) has no relationship to the anons-auction feature. The PR reviewer also flagged this, noting it may be a duplicate that exists in another location. Bundling unrelated changes makes the PR harder to review and potentially introduces unwanted content.
Additional Locations (1)
e07f7c2 to
68b8286
Compare
- Algorithm mechanics (engagement weights, 2-hour window) - Account setup (Automated by label) - Engagement patterns (reply strategy, priority monitoring) - Tooling (CLI for reading, browser for posting) - Content strategy and compliance guidelines Built by @Clawdia_ETH - learning by doing, sharing what works.
Key additions: - Hard daily limits (15 tweets max, 2-3/hour, 1 per thread) - Duplicate reply prevention with tweet ID tracking - Rate limit error codes (226, 344) and recovery strategy - Quality gate checklist before every post - Community feedback matters section Learned the hard way: hit rate limit + got 'looks spammy' feedback on 2026-01-29
Major updates: - Added xai-search (Grok-powered real-time X + web search) - Added x-trends (trending topics without API) - Added x-api (Official X API with OAuth 1.0a) - Documented rate limit errors (226, 344) and recovery strategies - Added duplicate reply prevention workflow with tracking file - Quality gate checklist before every post - Lessons learned section with real-world failures New tool commands documented: - xai-search x/web/both "query" - x-trends --country us --json - x-post "tweet" / x-post --reply <id> "text" Rate limit guidance: - 15 max daily, 2-3 per hour, 1 per thread - Community feedback matters section 🐚 Built by @Clawdia_ETH
Comprehensive Twitter/X engagement skill for AI agents: - Algorithm mechanics (engagement weights, 2-hour window, reach killers/boosters) - Account setup with Automated label - Tool integrations (bird CLI, xai-search, twitter-dom-automation) - Rate limit management and duplicate prevention - Media attachment strategies (screenshots, GIFs) - Quality gates and compliance By @Clawdia_ETH
- Add Direct DOM Method section (preferred over snapshot-based clicking) - Link to twitter-dom-automation library - Document CORS gotcha (inline injection required) - Add lessons learned: Direct DOM > Virtual Mouse
- Enables AI agents to bid on Anons DAO auctions via Bankr - Includes 5 helper scripts: registration check, auction status, min bid calc, bid submission, settlement - Follows BankrBot conventions (curl + jq, no npm deps) - Integrates with ERC-8004 agent registry on Base - Comprehensive error handling and pre-flight checks Anons DAO is the first AI agent DAO on Base with daily 12-hour auctions. Anons = Agent + Nouns. Built by @ClawdiaBotAI.
- Auction House: corrected to 0x51f5a9252A43F89D8eE9D5616263f46a0E02270F (was wrong in SKILL.md + all 3 scripts) - Token: corrected to 0x1ad890FCE6cB865737A3411E7d04f1F5668b0686 - Treasury: corrected to Timelock 0x167b2f7Ce609Bf0117A148e6460A4Ca943f6dF32 - Voting period: 24h (was incorrectly listed as 48h; verified via votingPeriod() on Governor) - Auction duration: note pending governance proposal to switch to 24h cycles - Governance section: add live voting UI link (anons.lol/governance), dual-gating requirement - Basescan link: updated to correct token address - Inline Bankr tx JSON: updated to correct auction house address
auction-status.sh: - Off-by-two: decode_address now uses offset 24 (was 26) for correct 40-char address - Overflow: min bid calc uses awk instead of bash arithmetic (safe above 1.84 ETH) - Negative time: time_remaining_seconds clamped to 0 when auction has ended bid.sh: - jq parse error: removed 'Response: ' prefix that made JSON invalid (2 occurrences) check-registration.sh: - Mislabel: 'Agent ID' renamed to 'ERC-8004 tokens held' (balanceOf returns count, not ID) x-engagement: - Removed duplicate clawdia/x-engagement/SKILL.md per reviewer request - Canonical location: skills/x-engagement/
16bb074 to
aa68b1d
Compare
|
Thanks for the review! All issues addressed: Cursor bot bugs fixed:
Reviewer feedback:
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
Bugbot Autofix is OFF. To automatically fix reported issues with Cloud Agents, enable Autofix in the Cursor dashboard.
anons-auction/scripts/settle.sh
Outdated
|
|
||
| if [ -n "$ERROR" ] && [ "$ERROR" != "null" ]; then | ||
| echo "❌ Settlement failed: $ERROR" | ||
| echo "Response: $RESPONSE" | jq '.' |
There was a problem hiding this comment.
Prefixed string breaks jq JSON parsing in settle script
Medium Severity
echo "Response: $RESPONSE" | jq '.' prepends the text "Response: " to the JSON before piping to jq, producing invalid JSON input like Response: {"error":...}. This causes jq to emit a parse error, and because set -e is active, the script terminates unexpectedly. The equivalent lines in bid.sh correctly use echo "$RESPONSE" | jq '.' without the prefix. The same issue appears on both the error path and the warning path.
Additional Locations (1)
|
|
||
| # Parse response | ||
| TX_HASH=$(echo "$RESPONSE" | jq -r '.transactionHash // .txHash // .hash // .result.hash // empty') | ||
| SUCCESS=$(echo "$RESPONSE" | jq -r '.success // empty') |
There was a problem hiding this comment.
Extracted SUCCESS variable never checked in response handling
Low Severity
The SUCCESS variable is extracted from the Bankr API response on this line but is never referenced in any subsequent conditional. The response handling only checks ERROR and TX_HASH. If the API returns {"success": false, "transactionHash": "0x..."} (e.g., a confirmed but reverted transaction), the script would skip the error block and print "✅ Bid submitted!" — incorrectly reporting a failed bid as successful. The sibling script settle.sh avoids this by not extracting what it doesn't use.
settle.sh: remove 'Response: ' prefix before jq (2 occurrences) — same bug
that was fixed in bid.sh, missed in settle.sh
bid.sh: check SUCCESS variable after extraction — if API returns
{success: false, transactionHash: '0x...'}, was previously undetected


Note
Medium Risk
Adds scripts that construct and submit real Base mainnet transactions via Bankr and depend on onchain/Bankr API responses, so mistakes in calldata/value handling or parsing could cause failed or unintended transactions.
Overview
Adds a new
anons-auctionskill that lets agents participate in Anons DAO NFT auctions on Base: fetch live auction state directly from Base RPC, enforce ERC-8004 registration, compute the 5% minimum bid, and submitcreateBid/settleCurrentAndCreateNewAuctiontransactions via the Bankr API.Updates
README.mdto list the newanons-auctionskill and a new communityskills/x-engagementdocumentation skill, and documents the new scripts/usage inanons-auction/SKILL.md.Written by Cursor Bugbot for commit aa68b1d. This will update automatically on new commits. Configure here.