npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@robertvii/ouraclaw-cli

v0.3.0

Published

Standalone CLI for Oura automation with an optional OpenClaw skill

Readme

ouraclaw-cli

CI npm version codecov

Based on Ricky Bloomfield's OuraClaw, this fork refactors the original OpenClaw plugin into a standalone, JSON-first CLI while keeping the oura skill compatible through a CLI-backed adaptation. It also adds an optimized morning flow that avoids stale yesterday fallback data and only sends when something is genuinely out of the ordinary (configurable).

ouraclaw-cli is a standalone CLI for Oura automation. It fetches Oura data, manages OAuth tokens and local thresholds, builds summary output, and ships an optional OpenClaw skill that invokes the CLI directly.

Install

npm install -g @robertvii/ouraclaw-cli

Migrating from the old OpenClaw plugin? See Migration Guide.

Or from source:

git clone https://github.com/robert7/ouraclaw-cli.git
cd ouraclaw-cli
npm install
npm run build

Quick Start

Before running setup, create an Oura application:

  1. Go to developer.ouraring.com.
  2. Open My Applications and create a new app.
  3. Set the redirect URI to http://localhost:9876/callback.

Then run the interactive setup wizard:

ouraclaw-cli setup

The wizard:

  1. Collects your Oura client ID and client secret.
  2. Reuses existing auth by default unless you explicitly choose to re-authenticate.
  3. Asks before opening the hardened OAuth flow in a browser, with a headless/SSH-aware default.
  4. Stores tokens plus threshold and baseline defaults in $HOME/.ouraclaw-cli/ouraclaw-cli.json.
  5. Ends by asking whether you want to continue with scheduled delivery setup when OpenClaw is installed.

Oura validates the redirect URI string literally, so it must be exactly http://localhost:9876/callback.

Key Guides

Common Commands

ouraclaw-cli fetch daily_sleep
ouraclaw-cli fetch sleep --start-date 2026-03-12 --end-date 2026-03-13
ouraclaw-cli auth status
ouraclaw-cli baseline rebuild
ouraclaw-cli summary morning --text
ouraclaw-cli summary morning-optimized
ouraclaw-cli summary evening --text

JSON is the default output mode. Use --text on summary commands when you want a ready-to-send recap.

Scheduling

ouraclaw-cli can set up OpenClaw cron jobs for:

  • a fixed morning recap
  • a fixed evening recap
  • an optimized morning watcher that re-checks between a start and end time so you get notified as soon as Oura syncs

Even if you want a morning message every day, the optimized watcher can still be the better setup. It can wait until today's Oura data is actually synced, then either alert only on unusual days or send every day once the real same-day data is ready.

Run:

ouraclaw-cli schedule setup

Existing OuraClaw plugin users can also remove old cron jobs and import useful defaults with:

ouraclaw-cli schedule migrate-from-ouraclaw-plugin

See Scheduling guide for the full walkthrough and Migration Guide for old plugin cleanup.

Optimized Morning Flow

summary morning-optimized is the quiet-by-default alert path: it compares today's Oura data against fixed thresholds plus your personal baseline and only recommends sending when something is genuinely out of the ordinary. See Optimized morning routine for the full decision logic, baseline tuning, and delivery-confirmation flow.

The scheduler can also use that same optimized flow for daily delivery. In that mode it still waits for real Oura sync instead of firing too early, but it sends a normal morning recap once today's data is ready.

OpenClaw Skill

The packaged skill lives in skills/oura/. It requires the ouraclaw-cli binary to be installed on the same machine as OpenClaw and keeps command invocations short and allowlist-friendly.

Documentation

Development

npm install
npm run build
npm run typecheck
npm test
npm run test:coverage
./code-quality.sh

License

MIT