← ChampfyCONTENT HISTORY

Update to Champfy

Snapshot Oct 24, 2026 · 13:05 UTC · version 1.0.2

WHAT CHANGED

Package or technical metadata updated

Package or technical metadata updated

Observed in package metadata. These changes alone do not establish a new customer-facing feature.

Save Champfy and check future changes in Following.

Up to 3 plugins free · no card required.

All fields and original values.

These are saved file metadata. Open a changed file to read its text edits.

Package file

Before

Sep 30, 2026 · 22:58 UTC

b88abfd8d3c642042fe0f3093e9dce3077af0d4c77e33ca0d45a4c12af026e5f

After

Oct 24, 2026 · 13:05 UTC

dcf1da3c51aa29aa288b5030178b24e99d4823abad8c98acd66c7390e56af83b

Package file

Before

Sep 30, 2026 · 22:58 UTC

127

After

Oct 24, 2026 · 13:05 UTC

99

Package file

Before

Sep 30, 2026 · 22:58 UTC

{"sha256":"b4f23500428516ad28a8debdaf9c48c154779b5715228d92aae48ad43497413f","size":1148}

After

Oct 24, 2026 · 13:05 UTC

Not present

Package file

Before

Sep 30, 2026 · 22:58 UTC

Not present

After

Oct 24, 2026 · 13:05 UTC

{"sha256":"5f4528c47257d97afeac45d94e49ed8180e2d72de38aa0a88fe211440df575c1","size":12499}

Compare saved observations

Download comparison JSON

Changed files

Choose a file to see its text changes. Binary or large files show metadata only.

.app.json →

.codex-plugin/plugin.json →

assets/icon.png →

mcp.json →

plugin.json →

plugin.json

− removed · + added

--- before
+++ after
@@ -0,0 +1,94 @@
+{
+  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
+  "name": "app-6a1e0e4ef1dc8191acba31bd07b2a73e",
+  "version": "1.0.2",
+  "description": "Champfy helps you find partners to play tennis and pickleball. Find players at your level near you and play more. Not sure what your tennis skill level is? Take our quick quiz to find out.",
+  "author": {
+    "name": "Victor Fria"
+  },
+  "extensions": {
+    "com.openai": {
+      "interface": {
+        "capabilities": [
+          "Interactive player discovery",
+          "Tennis skill self-assessment"
+        ],
+        "category": "Entertainment",
+        "defaultPrompt": [
+          "Find pickleball players near me",
+          "Find tennis players near me",
+          "How do I know my skill level?"
+        ],
+        "developerName": "Victor Fria",
+        "displayName": "Champfy",
+        "longDescription": "Spend less time looking for someone to play with and more time on the court. Champfy helps you find tennis and pickleball partners at your level, near you or in another city. Choose your sport, skill level, distance, and gender preferences directly in ChatGPT, then explore matching players and their Champfy profiles. Not sure what your tennis skill level is? Take the quick quiz in ChatGPT to get an estimate and find players at your level. Link your Champfy account to start searching for people to play with.",
+        "privacyPolicyURL": "https://www.champfy.com/privacy",
+        "shortDescription": "Find tennis/pickleball partner",
+        "supportURL": "https://www.champfy.com/contact",
+        "termsOfServiceURL": "https://www.champfy.com/terms-of-service",
+        "websiteURL": "https://www.champfy.com",
+        "logo": "./assets/icon.png",
+        "composerIcon": "./assets/icon.png"
+      },
+      "review": {
+        "test_cases": {
+          "positive": [
+            {
+              "description": "P1 Interactive quiz. Setup: Unlinked account; open widget, select the sample answers below and submit. Sample answer IDs (verify against get_tennis_skill_quiz): {\"years_playing\": \"years_three_to_five\", \"rally_consistency\": \"rally_moderate\", \"serve\": \"serve_placement_spin\", \"net_comfort\": \"net_functional\", \"match_strategy\": \"strategy_construct\", \"competitive_experience\": \"comp_league\", \"rated_opponents\": \"rated_competitive\"}. Use sport=tennis; select the matching choice labels in the interactive quiz.",
+              "prompt": "Help me find my tennis skill level with your quiz.",
+              "tools_triggered": "render_tennis_skill_quiz, estimate_skill_level",
+              "expected_behavior": "Widget loads canonical questions and submits selected IDs. Estimate has levelCode, levelTitle, category, confidence and rationale; no profile write."
+            },
+            {
+              "description": "P2 Conversational quiz. Setup: Ask to answer the quiz in conversation; use the sample choices below. Sample answer IDs (verify against get_tennis_skill_quiz): {\"years_playing\": \"years_three_to_five\", \"rally_consistency\": \"rally_moderate\", \"serve\": \"serve_placement_spin\", \"net_comfort\": \"net_functional\", \"match_strategy\": \"strategy_construct\", \"competitive_experience\": \"comp_league\", \"rated_opponents\": \"rated_competitive\"}. Use sport=tennis; answer with the matching choice labels in conversation.",
+              "prompt": "Ask me your tennis skill quiz in the conversation, then estimate my level.",
+              "tools_triggered": "get_tennis_skill_quiz, estimate_skill_level",
+              "expected_behavior": "Canonical question/choice IDs are used; the returned estimate supports the reply without requiring an iframe."
+            },
+            {
+              "description": "P3 Pickleball search with filters. Setup: Link the dedicated reviewer account with a saved home location. Open the panel, select pickleball and a distance of 25 miles, then press Find players.",
+              "prompt": "Help me find pickleball partners near me. Let me choose the filters first.",
+              "tools_triggered": "render_player_discovery_panel, find_players",
+              "expected_behavior": "Panel opens without find_players on mount. Editing filters does not search. Pressing Find players searches with sport=pickleball and maxDistanceMiles=25 using the saved home location. Results and counts match the tool response; the applied filters update model context."
+            },
+            {
+              "description": "P4 Home-location search. Setup: Link dedicated reviewer account with saved home location and known sample tennis matches.",
+              "prompt": "Find tennis players near me around level 3.5 within 25 miles.",
+              "tools_triggered": "find_players",
+              "expected_behavior": "Arguments sport=tennis, level=3.5, maxDistanceMiles=25, city absent. Results reflect returned counts and minimized player fields; no invented matches."
+            },
+            {
+              "description": "P5 Temporary city and refinement. Setup: Linked reviewer account; snapshot saved profile location. Use sample matches near Atlanta, GA.",
+              "prompt": "Find tennis players around level 3.5 in Atlanta, GA, within 25 miles.",
+              "tools_triggered": "find_players",
+              "expected_behavior": "Explicit city is passed. Panel reflects applied filters; change distance to 50 and apply, then ask what filters are active. Reply reflects applied search. Profile location remains unchanged; profile links open Champfy."
+            }
+          ],
+          "negative": [
+            {
+              "description": "N1 Unsupported write. No MCP tool sends invitations, books courts, or creates matches. Explain limitation; do not claim success or invoke read tools as a write.",
+              "prompt": "Invite every nearby tennis player and book a court for tomorrow."
+            },
+            {
+              "description": "N2 Unsupported private data. Do not call find_players to obtain private contact information or claim access to addresses/phones. Offer display-safe discovery only.",
+              "prompt": "Give me nearby players\u2019 phone numbers and home addresses.",
+              "expected_output_url": "https://www.champfy.com/i/app-demo/plugin-demo-2-redacted.mp4"
+            },
+            {
+              "description": "N3 Unsupported scoring sport. Scoring supports tennis only. Explain limitation or clarify tennis; do not invoke estimate_skill_level with an unsupported sport or invent a rating.",
+              "prompt": "Use your quiz to calculate my pickleball skill rating."
+            }
+          ]
+        },
+        "commerce": false,
+        "commerce_description": "The Champfy plugin does not involve purchases.",
+        "demo_recording_url": "https://www.champfy.com/i/app-demo/plugin-demo-1-redacted.mp4"
+      },
+      "publication": {
+        "release_notes": "Find tennis and pickleball partners directly in ChatGPT. Choose your sport, skill level, distance, gender preferences, or city, then explore matching players and open their Champfy profiles. Take the tennis skill quiz in ChatGPT to get a level estimate and find players at your level.",
+        "countries": []
+      },
+      "apps": "./.app.json"
+    }
+  }
+}
Full technical diff · 6 changed fields

changed /files/.app.json/sha256

BEFORE
"b88abfd8d3c642042fe0f3093e9dce3077af0d4c77e33ca0d45a4c12af026e5f"
AFTER
"dcf1da3c51aa29aa288b5030178b24e99d4823abad8c98acd66c7390e56af83b"

changed /files/.app.json/size

BEFORE
127
AFTER
99

removed /files/.codex-plugin~1plugin.json

BEFORE
{
  "sha256": "b4f23500428516ad28a8debdaf9c48c154779b5715228d92aae48ad43497413f",
  "size": 1148
}
AFTER
Field is absent

added /files/assets~1icon.png

BEFORE
Field was absent
AFTER
{
  "sha256": "5f4528c47257d97afeac45d94e49ed8180e2d72de38aa0a88fe211440df575c1",
  "size": 12499
}

added /files/mcp.json

BEFORE
Field was absent
AFTER
{
  "sha256": "6b2242e8d6491f0a57cf29d8bc7f836c7085006a72592b2be35f9dfc18465534",
  "size": 201
}

added /files/plugin.json

BEFORE
Field was absent
AFTER
{
  "sha256": "a9e1816f01d118768f55e9247e57670e1e4ad0e50b50c808ca6aafe73fc7d05f",
  "size": 7303
}
Full snapshot data
{
  "files": {
    ".app.json": {
      "sha256": "dcf1da3c51aa29aa288b5030178b24e99d4823abad8c98acd66c7390e56af83b",
      "size": 99
    },
    "assets/icon.png": {
      "sha256": "5f4528c47257d97afeac45d94e49ed8180e2d72de38aa0a88fe211440df575c1",
      "size": 12499
    },
    "mcp.json": {
      "sha256": "6b2242e8d6491f0a57cf29d8bc7f836c7085006a72592b2be35f9dfc18465534",
      "size": 201
    },
    "plugin.json": {
      "sha256": "a9e1816f01d118768f55e9247e57670e1e4ad0e50b50c808ca6aafe73fc7d05f",
      "size": 7303
    }
  }
}

SHA-256 of public snapshot: 521607f946f492e61c32d16b42d7cff957c6e76b1cf9823da790770a847bdbf6