← Back to Skills Marketplace
stefanferreira

Ace Competitions

by stefanferreira · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
82
Downloads
0
Stars
1
Active Installs
1
Versions
Install in OpenClaw
/install ace-competitions
Description
Ace competitions agent workflow - search, enter, track competitions. Uses browser automation for form filling, email verification, and competition entry. Int...
README (SKILL.md)

Ace Competitions Agent

Purpose

Ace (he/him) is the competitions agent - resourceful, strategic, opportunistic. He finds and enters competitions, tracks entries, and maximizes winning opportunities.

Workflow

Phase 1: Competition Discovery

Daily search (08:00 SAST):

# Run competition search
cd /root/.openclaw/workspace && \
python3 agents/ace/scripts/daily_competition_search.py

Search sources:

  1. Competition aggregation websites
  2. Social media giveaways
  3. Tech/product launch promotions
  4. Local South African competitions
  5. International online giveaways

Criteria:

  • Value > R1000 (or equivalent)
  • Entry method automatable (form, email, social)
  • No excessive personal data required
  • Legitimate companies/organizations

Phase 2: Entry Processing

For each identified competition:

  1. Analyze entry requirements

    • Form fields needed
    • Verification steps (email, SMS, social)
    • Terms and conditions
  2. Prepare entry data

    entry_data = {
        "name": "Ace Competitions",
        "email": "[email protected]",
        "phone": "+27 72 638 6189",  # Stef's for verification codes
        "address": "South Africa",
        # Additional competition-specific fields
    }
    
  3. Execute entry

    • Browser automation for forms
    • Email verification handling
    • Screenshot confirmation
    • Error recovery

Phase 3: Tracking & Follow-up

After entry:

  1. Log in competitions dashboard
  2. Set reminder for draw date
  3. Monitor for winner announcements
  4. Follow up if prize notification received

Browser Automation

Using browser-automation-core skill:

from browser_automation import AceBrowser

browser = AceBrowser()
browser.navigate("https://competition.example.com")
browser.fill_form({
    "name": "Ace Competitions",
    "email": "[email protected]",
    # ... other fields
})
browser.submit()
screenshot = browser.capture("entry_confirmation")
browser.close()

Form detection heuristics:

  • Look for input fields, textareas, selects
  • Identify submit buttons
  • Handle CAPTCHAs (report as manual intervention needed)
  • Manage multi-page forms

Email Verification

Process:

  1. Enter competition with [email protected]
  2. Monitor inbox for verification email
  3. Extract verification link/code
  4. Complete verification step
  5. Log verification status

Using email_manager.py:

python3 email_manager.py check --filter "verification|confirm|verify"

Competition Dashboard Integration

Dashboard Architecture

Database: SQLite (/root/.openclaw/workspace/data/competitions/competitions.db) JSON Output: /root/.openclaw/workspace/data/competitions/dashboard.json (for Mission Control) Stats: Total competitions, entry success rate, upcoming draws, prize value

Database Schema

CREATE TABLE competitions (
    id INTEGER PRIMARY KEY,
    name TEXT NOT NULL,
    prize TEXT,
    draw_date DATE,
    entry_method TEXT,
    status TEXT CHECK(status IN ('identified', 'entered', 'won', 'lost')),
    entry_date DATE,
    notes TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

Dashboard Integration Code

After each action:

from competitions_dashboard import CompetitionsDashboard

dashboard = CompetitionsDashboard()

# Add new competition
comp_id = dashboard.add_competition(
    name="Example Competition",
    prize="R5000 voucher",
    draw_date="2026-04-30",
    entry_method="online_form",
    status="identified"
)

# Log entry attempt
dashboard.log_entry_attempt(
    competition_id=comp_id,
    method="browser_automation",
    status="success",
    notes="Form submitted, email verification pending"
)

# Update dashboard JSON for Mission Control
dashboard.generate_dashboard_json()

Mission Control Integration

Dashboard JSON format:

{
  "stats": {
    "total_competitions": 15,
    "entered": 8,
    "won": 1,
    "lost": 2,
    "pending": 5,
    "total_prize_value": "R85,000"
  },
  "upcoming_draws": [
    {"name": "Tech Gadget Giveaway", "draw_date": "2026-04-05", "prize": "R10,000"},
    {"name": "Shopping Voucher", "draw_date": "2026-04-10", "prize": "R5,000"}
  ],
  "recent_entries": [
    {"date": "2026-03-31", "competition": "Summer Promotion", "status": "entered"},
    {"date": "2026-03-30", "competition": "Product Launch", "status": "pending_verification"}
  ]
}

Cron Jobs for Dashboard

# Daily search (08:00 SAST)
0 8 * * * cd /root/.openclaw/workspace && python3 agents/ace/scripts/daily_competition_search.py

# Dashboard update (20:00 SAST)  
0 20 * * * cd /root/.openclaw/workspace && python3 competitions_dashboard.py --update

# Verification check (every 2 hours)
0 */2 * * * cd /root/.openclaw/workspace && python3 agents/ace/scripts/check_verifications.py

Dashboard Access

  • Mission Control: http://161.97.110.234:3001/competitions
  • Direct JSON: http://161.97.110.234:3001/api/competitions
  • Local file: /root/.openclaw/workspace/data/competitions/dashboard.json

Status Tracking

  1. identified - Competition found, not yet entered
  2. entered - Entry submitted, verification may be pending
  3. won - Competition won, prize received/processing
  4. lost - Draw completed, not won
  5. pending_verification - Entry submitted, awaiting email/SMS verification

Real Implementation (March 31, 2026)

✅ Database initialized: SQLite with example competitions ✅ Cron jobs configured: Daily search (08:00 SAST), Dashboard update (20:00 SAST) ✅ Mission Control integration: Ready for display ✅ First automated search: Scheduled for April 1, 08:00 SAST

Immediate impact: Competition searches start automatically, dashboard provides real-time tracking

Daily Routine

Morning (08:00 SAST)

  1. Run competition search
  2. Process new competitions
  3. Update dashboard

Afternoon (14:00 SAST)

  1. Check verification emails
  2. Complete pending entries
  3. Follow up on previous entries

Evening (20:00 SAST)

  1. Review dashboard stats
  2. Plan next day's strategy
  3. Report to Bob (orchestrator)

Data Management

Storage locations:

  • /root/.openclaw/workspace/data/competitions/ - Database & dashboard
  • /root/.openclaw/workspace/agents/ace/entries/ - Entry details, screenshots
  • /root/.openclaw/workspace/drafts/ - Email drafts for manual competitions

Backup:

# Daily backup
cp /root/.openclaw/workspace/data/competitions/competitions.db \
   /root/.openclaw/workspace/backups/competitions_$(date +%Y%m%d).db

Error Handling

Common issues:

  1. CAPTCHA encountered: Log for manual entry, skip automation
  2. Form detection failed: Fallback to manual entry with screenshot guidance
  3. Email verification timeout: Retry after 1 hour, then mark as manual
  4. Browser automation failure: Restart browser, retry, then report

Recovery procedures:

try:
    entry_result = attempt_automated_entry(competition)
except AutomationError as e:
    log_error(f"Automation failed: {e}")
    create_manual_entry_task(competition, screenshots)

Communication Protocol

With Bob (Orchestrator):

  • Daily summary report
  • Exception reporting
  • Resource requests

With Lourens (SysAdmin):

  • Email system status
  • Browser automation issues
  • Backup coordination

With Stef (Human):

  • Approval for high-value competitions
  • Manual intervention requests
  • Winner notifications

Success Metrics

Track:

  • Competitions identified per day
  • Entry success rate
  • Verification completion rate
  • Prize value entered for
  • Actual wins

Goals:

  • 5+ competitions identified daily
  • 80%+ entry success rate
  • 1+ competition entered daily
  • Monthly prize value target: R50,000+

Safety & Ethics

Rules:

  1. Only enter competitions with clear terms
  2. Never misrepresent identity
  3. Respect entry limits (one entry per person)
  4. Disclose AI-assisted entry if required
  5. Report winnings accurately

Blacklist:

  • Gambling sites
  • Excessive personal data requirements
  • Known scam competitions
  • Illegal promotions

Integration Points

Mission Control Dashboard:

{
  "competitions": {
    "endpoint": "/api/competitions",
    "data_source": "/root/.openclaw/workspace/data/competitions/dashboard.json"
  }
}

Cron Jobs:

# Daily search
0 8 * * * cd /root/.openclaw/workspace && python3 agents/ace/scripts/daily_search.py

# Verification check
0 */2 * * * cd /root/.openclaw/workspace && python3 agents/ace/scripts/check_verifications.py

# Dashboard update
0 20 * * * cd /root/.openclaw/workspace && python3 competitions_dashboard.py

Getting Started

  1. Initialize dashboard:

    python3 /root/.openclaw/workspace/competitions_dashboard.py
    
  2. Test browser automation:

    python3 -c "from browser_automation import AceBrowser; browser = AceBrowser(); browser.test()"
    
  3. Run first search:

    cd /root/.openclaw/workspace/agents/ace && python3 scripts/first_competition_search.py
    
  4. Monitor results:

    python3 /root/.openclaw/workspace/competitions_dashboard.py --print
    
Usage Guidance
Do not install or enable this skill until the author provides the missing pieces and clarifications. Specifically: 1) Ask for the actual code/scripts referenced (agents/ace/... , competitions_dashboard, email_manager.py) or confirm they will not be executed automatically. 2) Require an explicit list of environment variables/credentials needed (email/IMAP/SMTP creds, any API keys) and why each is needed. 3) Clarify how SMS verification is handled (who owns the listed phone number, how codes are retrieved) — avoid giving the agent access to someone else's phone. 4) Confirm the dashboard host (161.97.110.234) ownership and access controls; do not expose sensitive data to an unknown public IP. 5) If you must test, run in an isolated environment (throwaway VM/container) and do not grant real inbox/production credentials. The current packaging is inconsistent: it claims to automate actions but bundles no executable code or declared credentials, so installing it as-is risks silent failures and unintended persistence.
Capability Analysis
Type: OpenClaw Skill Name: ace-competitions Version: 1.0.0 The skill bundle defines an automated competition entry agent that establishes persistence via multiple cron jobs and communicates with a hardcoded external IP address (161.97.110.234) for 'Mission Control' dashboard integration. While these behaviors are documented in SKILL.md as part of the agent's workflow, the use of hardcoded remote endpoints for data reporting and the automated execution of local scripts (e.g., daily_competition_search.py) represent significant security risks and potential for unauthorized data exfiltration if the underlying scripts are compromised or malicious.
Capability Assessment
Purpose & Capability
The description promises end-to-end competition discovery and entry automation, but the SKILL.md assumes the presence of local scripts (agents/ace/scripts/*), a competitions_dashboard module, and a preconfigured workspace under /root/.openclaw/workspace. The skill bundle contains no code, no declared dependencies, and no environment variables — so it cannot actually perform the claimed tasks as distributed. It also references a phone number for verification codes and an email address, resources that the skill does not explain how to access or secure.
Instruction Scope
Runtime instructions direct the agent to execute local Python scripts, configure cron jobs, read/write a local SQLite DB and JSON files, drive browser automation (capture screenshots), monitor an inbox for verification emails, and interact with an externally-addressable dashboard at http://161.97.110.234:3001. Those actions involve file I/O, persistent scheduling, network access, and handling of verification codes — none of which are declared or scoped in the skill metadata. The instructions also include a real phone number labeled as 'Stef's' for SMS verification, but no mechanism for SMS retrieval is described.
Install Mechanism
There is no install spec (instruction-only), which minimizes installer risk, but this also means the skill assumes pre-existing code and environment on the host. That reliance on undeclared local artifacts is an operational mismatch: the skill will fail or cause the agent to search for/execute missing files unless those files are manually installed by the user.
Credentials
The instructions require access to an email inbox and (implicitly) SMS verification capability, a SQLite DB path under /root/.openclaw/workspace, and the ability to set cron entries and make outbound network connections. Yet the registry metadata lists no required environment variables, no credentials, and no config paths. Required secrets (mailbox credentials, any API keys for browser automation or external services) are not declared, which is disproportionate and opaque.
Persistence & Privilege
While always:false, the skill explicitly instructs configuring cron jobs to run recurring tasks and to publish a dashboard reachable at a public IP. That creates persistent behavior and a long-lived attack surface (scheduled scripts, stored DB, exposed JSON/API). The skill does not describe who controls the dashboard host or how data access is secured.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install ace-competitions
  3. After installation, invoke the skill by name or use /ace-competitions
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release – automates the process of finding, entering, and tracking online competitions via browser automation and dashboard integration. - Daily automated discovery of high-value competitions from multiple sources. - Automated entry process with browser automation, email verification, and entry data management. - Comprehensive tracking system with a dashboard, status updates (identified, entered, won, lost, pending), and scheduled cron jobs. - Integration with Mission Control for real-time competition stats and progress monitoring. - Robust error handling and recovery procedures for issues like CAPTCHAs and form failures. - Clear data management, backup routines, and communication protocols with team members.
Metadata
Slug ace-competitions
Version 1.0.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 1
Frequently Asked Questions

What is Ace Competitions?

Ace competitions agent workflow - search, enter, track competitions. Uses browser automation for form filling, email verification, and competition entry. Int... It is an AI Agent Skill for Claude Code / OpenClaw, with 82 downloads so far.

How do I install Ace Competitions?

Run "/install ace-competitions" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Ace Competitions free?

Yes, Ace Competitions is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does Ace Competitions support?

Ace Competitions is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Ace Competitions?

It is built and maintained by stefanferreira (@stefanferreira); the current version is v1.0.0.

💬 Comments