Skip to content

Conversation

@Mattlee10
Copy link

@Mattlee10 Mattlee10 commented Jan 29, 2026

Description

Summary

P360 Decision Readiness - Know when to make important decisions based on your body's signals.

This extension connects to your Oura Ring and calculates a "Decision Readiness" score using:

  • Sleep Score
  • Readiness Score
  • HRV Balance

Features

  • 🟢 Real-time decision readiness score (0-100)
  • 📊 Today's biometric metrics display
  • 💡 Actionable recommendations
  • 🔐 Secure OAuth2 authentication with Oura

Who is this for?

  • Biohackers who track their data
  • High-performers who want to optimize decision timing
  • Oura Ring users who want actionable insights

Screencast

Screenshot 2026-01-29 at 8 09 37 PM Screenshot 2026-01-29 at 8 10 54 PM Screenshot 2026-01-29 at 8 10 42 PM

Checklist

- Add .gitignore
- Initial commit: P360 Decision Readiness Raycast Extension
@raycastbot raycastbot added the new extension Label for PRs with new extensions label Jan 29, 2026
@raycastbot
Copy link
Collaborator

Congratulations on your new Raycast extension! 🚀

We're currently experiencing a high volume of incoming requests. As a result, the initial review may take up to 10-15 business days.

Once the PR is approved and merged, the extension will be available on our Store.

@Mattlee10 Mattlee10 marked this pull request as ready for review January 29, 2026 11:41
@Mattlee10 Mattlee10 closed this by deleting the head repository Jan 29, 2026
@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 29, 2026

Greptile Overview

Greptile Summary

This PR adds a new P360 Decision Readiness extension that integrates with Oura Ring to provide biometric-based decision-making guidance.

Key Changes:

  • New extension with OAuth2 integration for Oura Ring API
  • Decision readiness algorithm combining sleep score, readiness score, and HRV balance
  • Real-time biometric data display with actionable recommendations
  • Secure PKCE authentication flow via Raycast proxy

Issues Found:

  • CHANGELOG uses hardcoded date 2026-01-29 instead of {PR_MERGE_DATE} placeholder
  • Missing required metadata/ folder with Raycast-styled screenshots for view-type command

Overall Assessment:
The code is well-structured with proper error handling, type safety, and clear separation of concerns. The OAuth implementation follows Raycast best practices using the PKCE flow. The algorithm is simple, well-documented, and appropriate for v1. The extension provides genuine value to Oura Ring users by translating raw biometric data into actionable decision-making guidance.

Confidence Score: 4/5

  • Safe to merge after addressing the two formatting issues (CHANGELOG date placeholder and metadata folder)
  • High-quality code with proper architecture and error handling. Only issues are formatting requirements (CHANGELOG date format and missing metadata screenshots), not functional problems.
  • CHANGELOG.md needs date placeholder fix, and metadata/ folder with screenshots must be added before merge

Important Files Changed

Filename Overview
extensions/p360/CHANGELOG.md CHANGELOG exists but uses hardcoded date instead of placeholder
extensions/p360/src/check-readiness.tsx Main command properly implements OAuth flow and error handling
extensions/p360/src/lib/oauth.ts OAuth configuration correctly implements PKCE flow with Raycast proxy
extensions/p360/src/lib/oura.ts Oura API client properly handles errors and data fetching

Copy link
Contributor

@greptile-apps greptile-apps bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

4 files reviewed, 2 comments

Edit Code Review Agent Settings | Greptile

@@ -0,0 +1,27 @@
# P360 Decision Readiness Changelog

## [1.0.0] - 2026-01-29
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Use {PR_MERGE_DATE} placeholder instead of hardcoded date for initial release

Suggested change
## [1.0.0] - 2026-01-29
## [Initial Release] - {PR_MERGE_DATE}

Context Used: Rule from dashboard - What: Changelog entries must use {PR_MERGE_DATE} placeholder in titles, be placed at the top of th... (source)

Note: If this suggestion doesn't match your team's coding style, reply to this and let me know. I'll remember it for next time!

@@ -0,0 +1,93 @@
import { Detail } from "@raycast/api";
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Missing metadata/ folder with Raycast-styled screenshots. View-type commands require professional screenshots in a metadata folder.

See: https://developers.raycast.com/basics/prepare-an-extension-for-store#screenshots

Context Used: Rule from dashboard - What: Extensions with view-type commands must include a metadata/ folder containing Raycast-styled... (source)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

new extension Label for PRs with new extensions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants