Steam Games CLI
Scanned@mjrussell
npx machina-cli add skill @mjrussell/steam --openclawSteam Games CLI
CLI for browsing and discovering games in your Steam library. Filter by playtime, reviews, Deck compatibility, genres, and tags.
Installation
npm install -g steam-games-cli
Setup
- Get a Steam Web API key from https://steamcommunity.com/dev/apikey
- Configure the CLI:
steam config set-key YOUR_API_KEY
steam config set-user YOUR_STEAM_ID
Commands
Profile
steam whoami # Profile info and library stats
steam whoami --json
Library
steam library # List all games
steam library --limit 10 # Limit results
steam library --json # JSON output for scripting
Tags & Genres (Instant)
steam tags # List all 440+ Steam tags
steam tags --json
steam genres # List all genres
steam genres --json
Filtering Options
Playtime
steam library --unplayed # Never played
steam library --min-hours 10 # At least 10 hours
steam library --max-hours 5 # Less than 5 hours
steam library --deck # Played on Steam Deck
Reviews (1-9 scale)
steam library --reviews very-positive # Exact category
steam library --min-reviews 7 # Score 7+ (Positive and above)
steam library --show-reviews # Show review column
Categories: overwhelmingly-positive (9), very-positive (8), positive (7), mostly-positive (6), mixed (5), mostly-negative (4), negative (3), very-negative (2), overwhelmingly-negative (1)
Steam Deck Compatibility
steam library --deck-compat verified # Verified only
steam library --deck-compat playable # Playable only
steam library --deck-compat ok # Verified OR Playable
steam library --show-compat # Show Deck column
Tags & Genres
steam library --tag "Roguelike" # Filter by tag
steam library --genre "Strategy" # Filter by genre
steam library --show-tags # Show tags column
Sorting
steam library --sort name # Alphabetical (default)
steam library --sort playtime # Most played first
steam library --sort deck # Most Deck playtime first
steam library --sort reviews # Best reviewed first
steam library --sort compat # Best Deck compat first
AI Agent Workflow
The CLI is optimized for AI agents with stream fusion and early termination.
Step 1: Discover available tags/genres (instant)
steam tags --json
steam genres --json
Step 2: Filter library with combined criteria
# Unplayed Deck Verified roguelikes with good reviews
steam library --unplayed --deck-compat verified --tag "Roguelike" --min-reviews 7 --limit 10 --json
# Well-reviewed strategy games under 5 hours
steam library --max-hours 5 --genre "Strategy" --min-reviews 8 --limit 5 --json
# Trading games playable on Deck
steam library --tag "Trading" --deck-compat ok --limit 10 --json
Performance Notes
- Local filters (playtime, unplayed) apply first - instant
- Remote filters (reviews, deck compat, tags) fetch in parallel per game
- Early termination: stops when limit is reached
- Use local filters first to minimize API calls
Usage Examples
User: "What should I play on my Steam Deck?"
steam library --deck-compat verified --min-reviews 7 --sort playtime --limit 10
User: "What roguelikes do I have?"
steam library --tag "Roguelike" --show-tags --limit 20
User: "What unplayed games are highly rated?"
steam library --unplayed --min-reviews 8 --sort reviews --limit 10 --show-reviews
User: "How many games do I have?"
steam whoami
User: "What strategy games work on Deck?"
steam library --genre "Strategy" --deck-compat ok --show-compat --limit 15
User: "What tags are available?"
steam tags --json
Output Formats
- Default: Colored table
--plain: Plain text list--json: JSON for scripting/AI agents
Overview
Steam Games CLI lets you browse and discover games in your Steam library with targeted filters. Filter by playtime, reviews, Steam Deck compatibility, genres, and tags to surface suitable titles. It helps with questions like what to play or which games are Deck-friendly.
How This Skill Works
It uses your Steam Web API key to read your library, applying local filters (e.g., playtime, unplayed) instantly, while remote filters (reviews, deck compatibility, tags) fetch in parallel. Output can be human-readable or JSON for scripting and automation.
When to Use It
- When you want to discover which games in your library fit specific criteria (e.g., unplayed, Deck-compatible, within a time range).
- When you need recommendations based on reviews or genres/tags to narrow your options.
- When planning Steam Deck play sessions and verifying Deck compatibility at a glance.
- When scripting or automating curation tasks with JSON output for tooling.
- When comparing multiple filter criteria to surface a focused subset of games.
Quick Start
- Step 1: Install: npm install -g steam-games-cli
- Step 2: Configure: steam config set-key YOUR_API_KEY; steam config set-user YOUR_STEAM_ID
- Step 3: Try a command: steam library --limit 5 --json
Best Practices
- Keep your Steam API key secure and restrict access where possible.
- Start with broad filters (tags/genres) before tightening with playtime or reviews.
- Use --json for scripting and integration with other tools.
- Apply local filters first to minimize API calls and improve speed.
- Save common query patterns as examples to speed up daily use.
Example Use Cases
- Unplayed Deck Verified roguelikes with good reviews: steam library --unplayed --deck-compat verified --tag "Roguelike" --min-reviews 7 --limit 10 --json
- Well-reviewed strategy games under 5 hours: steam library --max-hours 5 --genre "Strategy" --min-reviews 8 --limit 5 --json
- Trading games playable on Deck: steam library --tag "Trading" --deck-compat ok --limit 10 --json
- What should I play on my Steam Deck?: steam library --deck-compat verified --min-reviews 7 --sort playtime --limit 10
- List all Steam tags for discovery: steam tags --json