← Back to Skills Marketplace
rgstephens

FargoRate

by Greg Stephens · GitHub ↗ · v0.4.0 · MIT-0
cross-platform ✓ Security Clean
506
Downloads
2
Stars
1
Active Installs
8
Versions
Install in OpenClaw
/install fargo
Description
Look up pool player ratings and handicap data from FargoRate. Use when the user asks about a pool player's rating, FargoRate ID, match odds, race-to recommen...
README (SKILL.md)

FargoRate

Look up pool player ratings, match odds, and handicap data from FargoRate using the fargo CLI tool.


Commands

search — Search players by name or FargoRate ID

fargo search \x3Cname or id>
fargo search "John Smith"
fargo search 12345

lookup — Lookup a player by FargoRate ID

Alias for search that accepts a single ID.

fargo lookup \x3Cid>
fargo lookup 12345

bulk — Lookup multiple players at once

fargo bulk \x3Cid1> [id2 ...]
fargo bulk --group \x3Cname>
fargo bulk 12345 67890 11111

# Use a saved group (see `group` command)
fargo bulk --db --group monday-league
Flag Description
--group \x3Cname> Use a saved group of player IDs instead of listing them (requires --db)

Uses the configured custom list ID (see setup). Defaults to the built-in list ID.

odds — Calculate match odds

fargo odds \x3Crating1> \x3Crating2> \x3Crace1> \x3Crace2>
# Player rated 550 (races to 7) vs player rated 480 (races to 9)
fargo odds 550 480 7 9

races — Get recommended race lengths

fargo races \x3Crating1> \x3Crating2> [--type 0|1|2] [--length N]
Flag Default Description
--type 1 Race type: 0=Scotch Doubles, 1=Singles, 2=Team
--length Fix the total race length; omit to auto-recommend
# Recommended singles race lengths for two players
fargo races 550 480

# Scotch doubles race recommendation
fargo races 550 480 --type 0

# Singles races that fit within a total of 15 games
fargo races 550 480 --length 15

top — View top 10 ranked players

fargo top [--ranking World|US] [--gender M|F]
Flag Default Description
--ranking World World or US
--gender M M or F
fargo top
fargo top --ranking US --gender F

setup — Configure the tool

fargo setup [--list-id ID]

Saves a custom list ID used by the bulk command to ~/.nanobot/workspace/fargorate/config.json.

# Interactive prompt
fargo setup

# Non-interactive
fargo setup --list-id myCustomListId

group — Manage named groups of player IDs

Groups let you save a named list of FargoRate IDs so you don't have to type them every time. All group commands require --db.

# Create or replace a group
fargo --db group set monday-league 12345 67890 11111

# List all groups
fargo --db group list

# Show members of a group (shows cached name/rating if player has been looked up)
fargo --db group show monday-league

# Delete a group
fargo --db group delete monday-league

Groups can then be used with bulk:

fargo --db bulk --group monday-league
fargo --changes --db bulk --group monday-league

Version

fargo --version

Global Flags

These flags work with every command:

Flag Description
--json Output raw JSON as received from the API
--db [path] Save retrieved player data into a SQLite database
--changes Only output players whose rating or robustness changed (requires --db)

Database (--db)

The --db flag enables a local SQLite database that persists player data across runs. It works with search, lookup, and bulk — any command that retrieves player records from the API.

Usage

# Use the default database file (fargo.db in the current directory)
fargo --db search "John Smith"
fargo --db bulk 12345 67890

# Use a custom path (requires = syntax)
fargo --db=~/data/fargo.db search "John Smith"

# Combine with --json (outputs raw JSON AND updates the database)
fargo --json --db search "John Smith"

Behavior

  • The database file is created automatically if it does not exist.
  • Player rows are inserted or updated on each run — existing records are refreshed, new ones added.
  • previous_rating is updated automatically whenever the rating changes.
  • A row is appended to rating_history only when the player is new or their rating has changed, avoiding duplicate history entries.

Schema

CREATE TABLE players (
    id                      TEXT PRIMARY KEY,
    first_name              TEXT NOT NULL,
    last_name               TEXT NOT NULL,
    location                TEXT,
    rating                  INTEGER NOT NULL DEFAULT 0,
    previous_rating         INTEGER NOT NULL DEFAULT 0,
    provisional_rating      INTEGER NOT NULL DEFAULT 0,
    robustness              INTEGER NOT NULL DEFAULT 0,
    last_update_timestamp   DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    email                   TEXT,
    mobile                  TEXT,
    telegram                TEXT,
    discord                 TEXT,
    preferred_communication TEXT CHECK(preferred_communication IN ('email','mobile','telegram','discord'))
);

CREATE TABLE rating_history (
    id                 INTEGER PRIMARY KEY AUTOINCREMENT,
    player_id          TEXT NOT NULL REFERENCES players(id) ON DELETE CASCADE,
    timestamp          DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    rating             INTEGER NOT NULL,
    provisional_rating INTEGER NOT NULL,
    robustness         INTEGER NOT NULL
);

CREATE TABLE fargo_groups (
    name       TEXT PRIMARY KEY,
    created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
    updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
);

CREATE TABLE fargo_group_members (
    group_name TEXT NOT NULL REFERENCES fargo_groups(name) ON DELETE CASCADE,
    player_id  TEXT NOT NULL,
    PRIMARY KEY (group_name, player_id)
);

Note: Contact fields (email, mobile, telegram, discord, preferred_communication) are stored in the database but are not populated by the FargoRate API. They can be set directly in the database and are included in --changes output when a player's rating changes.


Change Detection (--changes)

The --changes flag filters output to only players whose rating or robustness changed since the last run. It requires --db and works with search, lookup, and bulk.

All fetched players are still written to the database on every run — --changes only affects what is printed.

Examples

# Report only players whose rating or robustness changed
fargo --changes --db search "John Smith"
fargo --changes --db bulk 12345 67890 11111

# Custom DB path
fargo --changes --db=~/data/fargo.db bulk 12345 67890

# Machine-readable JSON output of changes (useful for bots)
fargo --changes --json --db search "John Smith"

Example output

1 change(s) detected:

Name       : John Smith
ID         : 12345
Rating     : 480 → 495 (provisional: 0)
Robustness : 200 → 215
Location   : Phoenix AZ
Email      : [email protected]
Preferred  : email
---

New players (not previously in the database) are marked [NEW] and show their current values without a arrow.

JSON output example (--json --changes)

[
  {
    "firstName": "John",
    "lastName": "Smith",
    "id": "12345",
    "rating": 495,
    "provisionalRating": 0,
    "robustness": 215,
    "location": "Phoenix AZ",
    "isNew": false,
    "previousRating": 480,
    "previousRobustness": 200,
    "email": "[email protected]",
    "preferredCommunication": "email"
  }
]

Contact fields (email, mobile, telegram, discord, preferredCommunication) are omitted from JSON output when empty.

When no changes are detected, the output is:

No changes detected.
Usage Guidance
This skill is a CLI wrapper and appears coherent, but because it installs and runs a third‑party binary you should: 1) inspect the Homebrew tap (rgstephens/fargo) and its GitHub repo/release artifacts before installing; 2) run the fargo binary in a sandbox or review its source to confirm it doesn't transmit local contact data (SKILL.md's 'local-only' claim is not verifiable here); 3) be cautious where you place the SQLite DB (it will store contact fields if you provide them) and avoid putting sensitive credentials or personal data into the tool unless you've verified the binary's behavior.
Capability Analysis
Type: OpenClaw Skill Name: fargo Version: 0.4.0 The 'fargo' skill is a legitimate utility for looking up pool player ratings and match odds via a CLI tool. It uses a local SQLite database for persistence and includes standard configuration and search commands without any evidence of data exfiltration, malicious execution, or prompt injection.
Capability Assessment
Purpose & Capability
Name/description, required binary ('fargo'), and the listed commands all align: the skill is a thin wrapper around a FargoRate CLI and the requested resources are expected.
Instruction Scope
The runtime instructions explicitly read/write a local config (~/.nanobot/workspace/fargorate/config.json) and can create a SQLite DB (default file fargo.db or user-specified path). This is reasonable for a CLI that caches player data, but the DB schema includes contact fields (email, mobile, telegram, discord) — SKILL.md asserts these are 'local-only' but that claim cannot be verified from an instruction-only skill.
Install Mechanism
Install is via Homebrew using a third‑party tap (rgstephens/fargo). Using a brew tap is a standard approach, but it pulls a binary from an external source you should review (tap owner/repo) before installing to ensure integrity.
Credentials
No environment variables, secrets, or unrelated credentials are requested. The permissions requested are limited to writing a local config/DB and running the fargo binary, which match the skill's purpose.
Persistence & Privilege
Skill is not marked always:true and does not request system-wide configuration or other skills' credentials. It persists its own config/DB as expected for a CLI cache.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install fargo
  3. After installation, invoke the skill by name or use /fargo
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.4.0
- Skill name updated from "fargorate" to "fargo". - Version bumped to 0.4.0. - No feature or command changes; documentation now uses the new skill name. - All usage and install instructions in SKILL.md reflect the updated name.
v0.3.6
- Homebrew is now the recommended installation method; install.sh has been removed. - Updated installation instructions: users should install with Homebrew (`brew install rgstephens/fargo/fargo`) instead of the previous curl-based script. - Metadata updated to reflect Homebrew-based installation process. - No changes to commands, usage, or core functionality.
v0.3.3
fargo-skill v0.3.3 - Updated SKILL.md to reflect latest version number (0.3.3). - No command changes or new features; documentation only.
v0.3.2
- Bumped version to 0.3.2 in SKILL.md. - No other content or functionality changes.
v0.3.1
## fargo-skill 0.3.1 Changelog - Updated documentation in SKILL.md to reflect current features and usage. - Version number incremented to 0.3.1 in SKILL.md. - No code or functional changes; this release is documentation-only.
v0.3.0
fargo-skill 0.3.0 - Updated skill version to 0.3.0 in SKILL.md. - No changes to functionality or documentation content. - No interface or command updates in this release.
v0.2.5
- Added version and homepage metadata to SKILL.md for improved integration and visibility. - Expanded description to clarify database usage and privacy details. - Updated installation metadata to a structured YAML format for better compatibility. - No changes to functionality or CLI usage; documentation and metadata improvements only.
v0.2.0
- Initial public release of the fargo-skill at version 0.2.0. - Added SKILL.md with a detailed description, usage instructions, and documentation for all CLI commands. - Supports searching pool player ratings, match odds, handicaps, top player lists, group management, and rating change detection using the `fargo` CLI tool. - Database integration via `--db` flag to persist player data, track rating/robustness changes, and manage groups of player IDs. - Includes global flags for JSON output and change-only reporting. - Provides installation and versioning instructions for the tool.
Metadata
Slug fargo
Version 0.4.0
License MIT-0
All-time Installs 1
Active Installs 1
Total Versions 8
Frequently Asked Questions

What is FargoRate?

Look up pool player ratings and handicap data from FargoRate. Use when the user asks about a pool player's rating, FargoRate ID, match odds, race-to recommen... It is an AI Agent Skill for Claude Code / OpenClaw, with 506 downloads so far.

How do I install FargoRate?

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

Is FargoRate free?

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

Which platforms does FargoRate support?

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

Who created FargoRate?

It is built and maintained by Greg Stephens (@rgstephens); the current version is v0.4.0.

💬 Comments