← Vibe ProspectingCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
changed
changed
removed
added
added
added
added
added
added
Update to Vibe Prospecting
Snapshot Oct 8, 2026 · 12:02 UTC · version 8.0.2
Package or technical metadata updated
Package contents changed in 8 files: .app.json, .codex-plugin/plugin.json, LICENSE, …. Open the file diff to inspect the edits.
Observed in package metadata. These changes alone do not establish a new customer-facing feature.
Package file
Before
ae51d95516b63cca4df0513e679c23d08b73fe7cac18147409346b3ff8f83918
After
61ba1960e20ba9bb94187a58d7f8cc3f2a83734aef53894fb3ea5891908095f0
Package file
Before
127
After
107
Package file
Before
{"sha256":"b54c2cbaba95cfe115731464ce824916bf9567fedc9a60b109822483c55694e7","size":7234}
After
Not present
Package file
Before
Not present
After
{"sha256":"31082998e16c7db0aa2c58cdf0ff39c98432f50291c8adf7dc48d89722c451fc","size":1085}
Compare saved observations
Download comparison JSONresources/openai/chatgpt-app-submission.json
--- before +++ after @@ -0,0 +1,236 @@ +{ + "$schema": "https://developers.openai.com/apps-sdk/schemas/chatgpt-app-submission.v1.json", + "schema_version": 1, + "app_info": { + "display_name": "Vibe Prospecting", + "subtitle": "Find B2B leads", + "description": "Vibe Prospecting helps users find companies and prospects, match known businesses or people, enrich results with company and contact details, inspect business and prospect events, review final samples, load saved datasets, and export confirmed results as CSV files.", + "category": "BUSINESS" + }, + "tools": { + "autocomplete": { + "annotations": { + "readOnlyHint": true, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Only retrieves standardized filter values and does not create result tables, datasets, or workflow state.", + "open_world_justification": "Looks up values inside authenticated Vibe Prospecting services and does not publish or change public internet state.", + "destructive_justification": "Does not delete, overwrite, revoke access, charge usage, or perform irreversible actions." + } + }, + "enrich-business": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Reads an existing session table, calls enrichment services, and writes enriched company results into new session tables.", + "open_world_justification": "Stores derived results in the user's private session and does not publish or modify public internet content.", + "destructive_justification": "Creates derived session data but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "enrich-prospects": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Reads an existing session table, calls enrichment services, and writes enriched prospect results into new session tables.", + "open_world_justification": "Stores derived results in the user's private session and does not publish or modify public internet content.", + "destructive_justification": "Creates derived session data but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "export-to-csv": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": true, + "destructiveHint": true + }, + "justifications": { + "read_only_justification": "Runs the approved workflow, uploads CSV files, creates a dataset record, and updates exclusion state for exported entities.", + "open_world_justification": "Creates internet-reachable CSV download artifacts and download-link records after explicit export confirmation.", + "destructive_justification": "Consumes credits and creates export plus exclusion records after explicit export confirmation." + } + }, + "fetch-businesses-events": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Reads business IDs from a session table, calls event services, and writes event results into new session tables.", + "open_world_justification": "Stores event results in the user's private session and does not publish or modify public internet content.", + "destructive_justification": "Creates derived session data but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "fetch-entities": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Fetches companies or prospects and stores exploration results in session tables for follow-up workflow steps.", + "open_world_justification": "Stores search results in the user's private session and does not publish or modify public internet content.", + "destructive_justification": "Creates session result tables but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "fetch-entities-statistics": { + "annotations": { + "readOnlyHint": true, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Only retrieves aggregate statistics for matching companies or prospects and returns them without creating result tables.", + "open_world_justification": "Returns private aggregate lookup results and does not publish or modify public internet content.", + "destructive_justification": "Does not delete, overwrite, revoke access, charge usage, or perform irreversible actions." + } + }, + "fetch-prospects-events": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Reads prospect IDs from a session table, calls event services, and writes prospect event results into new session tables.", + "open_world_justification": "Stores event results in the user's private session and does not publish or modify public internet content.", + "destructive_justification": "Creates derived session data but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "get-dataset": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Lists saved datasets or loads a selected dataset into a session table for further workflow steps.", + "open_world_justification": "Loads or lists authenticated user datasets inside private Vibe Prospecting systems and does not publish public internet content.", + "destructive_justification": "Creates a session copy of dataset rows when loading but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "internal-autocomplete": { + "annotations": { + "readOnlyHint": true, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Only retrieves autocomplete data for app widgets and does not create result tables or datasets.", + "open_world_justification": "Looks up widget autocomplete values inside authenticated services and does not publish or change public internet state.", + "destructive_justification": "Does not delete, overwrite, revoke access, charge usage, or perform irreversible actions." + } + }, + "match-business": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Matches provided companies and stores successful matches in a session table.", + "open_world_justification": "Stores match results in the user's private session and does not publish or modify public internet content.", + "destructive_justification": "Creates session match data but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "match-prospects": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": false + }, + "justifications": { + "read_only_justification": "Matches provided people and stores successful matches in a session table.", + "open_world_justification": "Stores match results in the user's private session and does not publish or modify public internet content.", + "destructive_justification": "Creates session match data but does not delete, overwrite, revoke access, or perform irreversible destructive actions." + } + }, + "show-sample": { + "annotations": { + "readOnlyHint": false, + "openWorldHint": false, + "destructiveHint": true + }, + "justifications": { + "read_only_justification": "Reads session rows, estimates the export workflow, and records sample-display usage before revealing full sample rows.", + "open_world_justification": "Operates only on private session tables and billing state and does not publish or change public internet state.", + "destructive_justification": "Charges sample-display usage for the selected session table before revealing full sample rows." + } + } + }, + "test_cases": [ + { + "description": "Find companies matching a specific country code", + "user_prompt": "Find me 20 companies with company_country_code IL and show a sample", + "file_attachment_urls": null, + "tools_triggered": "fetch-entities, show-sample", + "expected_output": "Returns a concise sample of matching companies.", + "expected_output_url": null + }, + { + "description": "Find prospects and enrich contact details.", + "user_prompt": "Find 20 prospects at companies with company_country_code US, call enrich-prospects to get their email and phone number, then show a sample", + "file_attachment_urls": null, + "tools_triggered": "fetch-entities, enrich-prospects, show-sample", + "expected_output": "Returns a sample of prospects with enriched email and phone number values.", + "expected_output_url": null + }, + { + "description": "Resolve a known company and enrich company details.", + "user_prompt": "Match Microsoft by domain microsoft.com, call enrich-business to get firmographic details, and show a sample", + "file_attachment_urls": null, + "tools_triggered": "match-business, enrich-business, show-sample", + "expected_output": "Returns a sample of the matched company record with enriched firmographic details.", + "expected_output_url": null + }, + { + "description": "Fetch employees from a known company with emails.", + "user_prompt": "Match the company with domain gong.io, find 30 prospects there, call enrich-prospects to get their email, then show a sample", + "file_attachment_urls": null, + "tools_triggered": "match-business, fetch-entities, enrich-prospects, show-sample", + "expected_output": "Returns a sample of gong.io prospects with enriched email values.", + "expected_output_url": null + }, + { + "description": "Find companies in a bucketed size range.", + "user_prompt": "Find 20 companies with company_country_code GB and company_size 51-200, and show a sample", + "file_attachment_urls": null, + "tools_triggered": "fetch-entities, show-sample", + "expected_output": "Returns a sample of companies with company_size 51-200.", + "expected_output_url": null + } + ], + "negative_test_cases": [ + { + "description": "Do not trigger for general consumer web search.", + "user_prompt": "What are the best restaurants near Times Square tonight?", + "file_attachment_urls": null, + "tools_triggered": null, + "expected_output": "The app should not be invoked because restaurant recommendations are outside B2B prospecting workflows.", + "expected_output_url": null + }, + { + "description": "Do not trigger for sending outreach.", + "user_prompt": "Draft a sales pitch email and send it to john@example.com, CC my manager.", + "file_attachment_urls": null, + "tools_triggered": null, + "expected_output": "The app should not be invoked because it does not draft or send emails or messages.", + "expected_output_url": null + }, + { + "description": "Do not trigger for weather questions.", + "user_prompt": "Will it rain in London this weekend?", + "file_attachment_urls": null, + "tools_triggered": null, + "expected_output": "The app should not be invoked because weather forecasts are outside its supported workflows.", + "expected_output_url": null + } + ] +}
Full technical diff · 9 changed fields
changed /files/.app.json/sha256
BEFORE
"ae51d95516b63cca4df0513e679c23d08b73fe7cac18147409346b3ff8f83918"
AFTER
"61ba1960e20ba9bb94187a58d7f8cc3f2a83734aef53894fb3ea5891908095f0"
changed /files/.app.json/size
BEFORE
127
AFTER
107
removed /files/.codex-plugin~1plugin.json
BEFORE
{
"sha256": "b54c2cbaba95cfe115731464ce824916bf9567fedc9a60b109822483c55694e7",
"size": 7234
}AFTER
Field is absent
added /files/LICENSE
BEFORE
Field was absent
AFTER
{
"sha256": "31082998e16c7db0aa2c58cdf0ff39c98432f50291c8adf7dc48d89722c451fc",
"size": 1085
}added /files/assets~1openai-logo.png
BEFORE
Field was absent
AFTER
{
"sha256": "0770137788b4b35de7f75df60c9c87a858fc51c11b834764ce34de09e1eb0fb1",
"size": 12871
}added /files/mcp.json
BEFORE
Field was absent
AFTER
{
"sha256": "a0414c1cb99f97da6fb9efca2b0181e523d0de1f2d9965a7b3c691d22d1f012c",
"size": 222
}added /files/plugin.json
BEFORE
Field was absent
AFTER
{
"sha256": "bef091772cf30a486982ae8fa1ed111d9259b2352d8b3b63b580cca88ac8a066",
"size": 11876
}added /files/resources~1openai~1chatgpt-app-submission.json
BEFORE
Field was absent
AFTER
{
"sha256": "4a355c6890ae3ef15606f67975e9a94026d6a1df65417b88d524e5ae4ef9a18b",
"size": 12312
}added /files/skills~1vibe-prospecting~1SKILL.md
BEFORE
Field was absent
AFTER
{
"sha256": "adf4f234a21872d10b2711e5327b1b1b340e05e70c8b0a9dee24525b0bcc91dd",
"size": 9226
}Full snapshot data
{
"files": {
".app.json": {
"sha256": "61ba1960e20ba9bb94187a58d7f8cc3f2a83734aef53894fb3ea5891908095f0",
"size": 107
},
"LICENSE": {
"sha256": "31082998e16c7db0aa2c58cdf0ff39c98432f50291c8adf7dc48d89722c451fc",
"size": 1085
},
"assets/openai-logo.png": {
"sha256": "0770137788b4b35de7f75df60c9c87a858fc51c11b834764ce34de09e1eb0fb1",
"size": 12871
},
"mcp.json": {
"sha256": "a0414c1cb99f97da6fb9efca2b0181e523d0de1f2d9965a7b3c691d22d1f012c",
"size": 222
},
"plugin.json": {
"sha256": "bef091772cf30a486982ae8fa1ed111d9259b2352d8b3b63b580cca88ac8a066",
"size": 11876
},
"resources/openai/chatgpt-app-submission.json": {
"sha256": "4a355c6890ae3ef15606f67975e9a94026d6a1df65417b88d524e5ae4ef9a18b",
"size": 12312
},
"skills/vibe-prospecting/SKILL.md": {
"sha256": "adf4f234a21872d10b2711e5327b1b1b340e05e70c8b0a9dee24525b0bcc91dd",
"size": 9226
}
}
}SHA-256 of public snapshot: 87e5dc153d2ef761640d6190abb6f35103021ab97026aae88f763f44ab649348