Skip to content

docs: align marketplace listing copy with Deriv UX writing - #7

Merged
ako-deriv merged 3 commits into
masterfrom
ashkan/updates
Sep 11, 2026
Merged

ako-deriv merged 3 commits into
masterfrom
ashkan/updates

Conversation

@ashkan-deriv

@ashkan-deriv ashkan-deriv commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Align marketplace listing copy with Deriv UX writing: sentence case, Deriv as the display name, and approved trade names.
  • Codex author.name / developerName stay deriv because verify-surface treats them as the plugin id.

Test plan

  • node .github/workflows/verify-surface.mjs passes
  • Confirm Cursor / Claude / Codex listing cards still read as intended

Use sentence case, approved trade names, and lead-with-the-job descriptions so listings read consistently across Cursor, Claude, Codex, and skills.sh.

Co-authored-by: Cursor <cursoragent@cursor.com>
@github-actions

Copy link
Copy Markdown

Dependency Review

✅ No vulnerabilities or license issues or OpenSSF Scorecard issues found.

OpenSSF Scorecard

PackageVersionScoreDetails

Scanned Manifest Files

Keep the plugin id lowercase; show Deriv as the author, owner, and developer name.

Co-authored-by: Cursor <cursoragent@cursor.com>

@ako-deriv ako-deriv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Copy-only change, and the direction is good: displayName: "Deriv" is applied consistently across all four manifest formats, the plugin descriptions are identical everywhere, and the new copy surfaces validate_payload, which the old "Get live … plus guides" wording missed.

One blocker (the verify-surface CI failure) and a few consistency nits, all inline.

PR hygiene: the title is "docs review" with an empty body. The commit message ("docs: align marketplace listing copy with Deriv UX writing") is a better title, and a one-line body noting the sentence-case / product-name decisions would help future readers.

Comment thread .codex-plugin/plugin.json Outdated
"longDescription": "Get live Deriv API schemas plus guides for authentication, subscriptions, trades, and errors. Search endpoints, read current request and response fields, take worked examples, and validate payloads. The plugin does not sign in to a Deriv account, store keys, or place trades.",
"developerName": "deriv",
"displayName": "Deriv",
"shortDescription": "Live Deriv API schemas and guides",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Blocking — this is why verify-surface fails.

FAIL: codex listing: shortDescription must be one line of 30 characters or fewer

"Live Deriv API schemas and guides" is 33 characters; the gate at .github/workflows/verify-surface.mjs:339 caps it at 30 (the old string was 26).

Options that fit:

  • "Live Deriv API schemas" (22)
  • "Deriv API schemas and guides" (28)
  • "Live Deriv API docs and tools" (29)

Comment thread .codex-plugin/plugin.json Outdated
"displayName": "Deriv",
"shortDescription": "Live Deriv API schemas and guides",
"longDescription": "Live Deriv API schemas, payload validation, and guides for authentication, subscriptions, trades, and errors. Search endpoints, read current request and response fields, use worked examples, and validate payloads. This plugin doesn't sign in to a Deriv account, store keys, or place trades.",
"developerName": "Deriv",

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nit: displayName is now "Deriv" but developerName here (and author.name in all four manifests) is still lowercase "deriv". developerName is user-facing in the Codex directory listing, so it probably wants the same casing. Fine either way, just worth deciding intentionally.

display_name: "Trading authentication"
short_description: "Add secure authentication to trading apps"
default_prompt: "Use $deriv-auth to add OAuth, account selection, and an authenticated trading socket."
dependencies:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nit: this PR normalizes the MCP dependency description in market-data, trade-lifecycle, and trade-types to "Live Deriv API guides, schemas, examples, and payload validation" (matching trading-app), but this file's is still "Live Deriv authentication guides and endpoint schemas" (line 9, outside the diff). If one shared string is the goal, this is the one that got missed.

Comment thread skills/deriv-auth/SKILL.md Outdated
---
name: deriv-auth
description: Implement or repair New Deriv API authentication, including OAuth 2.0 Authorization Code with PKCE, PAT handling, callback and session security, account selection, and OTP-authenticated Options WebSocket connections. Use whenever a task involves Deriv login, sign-up, tokens, scopes, sessions, accounts, account switching, logout, reconnects, or obtaining a trading WebSocket — even if the user just says "users can't log in", "hook up Deriv OAuth", "get an authenticated socket", or "reconnecting loses the session". Not for Legacy API compatibility.
description: Add or fix New Deriv API authentication OAuth, tokens, accounts, and trading WebSocket sessions. Use whenever a task involves Deriv login, sign-up, tokens, scopes, sessions, accounts, account switching, logout, reconnects, or obtaining a trading WebSocket — even if the user just says "users can't log in", "hook up Deriv OAuth", "get an authenticated socket", or "reconnecting loses the session". Not for Legacy API compatibility.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Non-blocking: skill descriptions double as the trigger text agents match against. The shorter lead sentence drops PKCE, PAT, OTP, callback, session security, and the "Use whenever…" clause doesn't cover them. A user saying "add PKCE to my Deriv login" or "use a personal access token" now has a weaker match. Consider keeping one or two of the high-value nouns (e.g. "OAuth with PKCE, personal access tokens").

Comment thread skills/deriv-trade-lifecycle/SKILL.md Outdated
---
name: deriv-trade-lifecycle
description: Implement and test the New Deriv API Options lifecycle from streaming proposal through buy, open-contract monitoring, portfolio reconciliation, optional update, cancellation or sell, settlement, reconnect, and subscription cleanup. Use whenever a task prices or purchases a contract, tracks open or closed positions, sells early, sets take profit, handles buy or sell errors, or recovers mid-trade from a disconnect — even if the user just says "the buy button fails", "show my open trades", or "sell at market". Not for Legacy API compatibility or OAuth setup alone.
description: Implement the New Deriv API Options flow: price, buy, monitor, sell, and settle. Use whenever a task prices or purchases a contract, tracks open or closed positions, sells early, sets take profit, handles buy or sell errors, or recovers mid-trade from a disconnect — even if the user just says "the buy button fails", "show my open trades", or "sell at market". Not for Legacy API compatibility or OAuth setup alone.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Non-blocking, same routing concern: the lead sentence drops proposal, portfolio, cancellation, subscription cleanup. "Reconcile my portfolio" or "cancel the contract" were previously direct matches.

Comment thread skills/deriv-market-data/SKILL.md Outdated
---
name: deriv-market-data
description: Implement New Deriv API Options market and contract discovery plus price streams with active symbols, contracts for a symbol, contract listings, ticks, and tick history. Use whenever a task involves market or symbol selectors, deciding which trade types a symbol supports, deriving trade controls from contract metadata, live tick or price subscriptions, charts, or public read-only feeds — even if the user just says "show live prices", "list the volatility indices", or "why is this duration rejected". Not for order execution or Legacy API compatibility.
description: Add New Deriv API market discovery and live prices — symbols, contracts, ticks, and tick history. Use whenever a task involves market or symbol selectors, deciding which trade types a symbol supports, deriving trade controls from contract metadata, live tick or price subscriptions, charts, or public read-only feeds — even if the user just says "show live prices", "list the volatility indices", or "why is this duration rejected". Not for order execution or Legacy API compatibility.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Non-blocking, same routing concern: active symbols and contracts for a symbol are the literal endpoint names users tend to type, and they're no longer in the description.

Comment thread skills/deriv-trade-types/SKILL.md Outdated
---
name: deriv-trade-types
description: Translate user-facing trade names into New Deriv API Options contract families, proposal shapes, compatible controls, and live availability. Use whenever a task selects, adds, or configures a Deriv Options trade type — Accumulators, Rise/Fall, Higher/Lower, Matches/Differs, Even/Odd, Over/Under, Multipliers, Touch/No Touch, Stays In/Goes Out, Vanilla, Turbos, Asians, Reset, or tick high/low — even if the user just says "up/down", "digits", "binary call/put", or "add accumulators to my bot" without naming contract codes. Not for Legacy API compatibility or CFD execution.
description: Map trade names to New Deriv API Options contract families, proposal shapes, and live availability. Use whenever a task selects, adds, or configures a Deriv Options trade type — Accumulator options, Rise/Fall, Higher/Lower, Matches/Differs, Even/Odd, Over/Under, Multipliers, Touch/No Touch, Stays Between / Goes Outside, Vanilla options, Turbo options, Asian options, Reset Call / Reset Put, or High/Low Ticks — even if the user just says "up/down", "digits", "Call/Put", or "add accumulators to my bot" without naming contract codes. Not for Legacy API compatibility or CFD execution.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The switch to product names (Accumulator options, Stays Between / Goes Outside, High/Low Ticks, Reset Call / Reset Put) matches Deriv's UX vocabulary — good.

Two small things:

  • The body and reference links still use the old terms: "Accumulators" (lines 22, 61), "Vanilla and Turbos" (line 27), "Asian, reset, and tick-lookback families" (line 28). Not wrong, but if this PR is about aligning with UX writing, the body will drift from the frontmatter.
  • "binary call/put" → "Call/Put" drops the "binary" keyword, which is what users coming from other platforms often say.

Comment thread skills/deriv-llms/SKILL.md Outdated
---
name: deriv-llms
description: Snapshot of the Deriv API llms.txt index and endpoint pages for when hosted MCP tools are unavailable. Use when looking up Deriv API endpoints, authentication, errors, workflows, contract types, or field lists from the bundled docs; when the hosted MCP is down; or when the user asks for llms.txt / endpoint pages. Prefer hosted get_schema, get_field, and guide tools while they work. Do not invent fields.
description: Use the bundled Deriv API docs snapshot when hosted MCP tools are unavailable. Use when looking up Deriv API endpoints, authentication, errors, workflows, contract types, or field lists from the bundled docs; when the hosted MCP is down; or when the user asks for llms.txt / endpoint pages. Prefer hosted get_schema, get_field, and guide tools while they work. Do not invent fields.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nit: two consecutive sentences start with "Use" ("Use the bundled … Use when looking up …"). Something like "Bundled Deriv API docs snapshot for when hosted MCP tools are unavailable. Use when …" reads cleaner.

Shorten the Codex shortDescription to 30 characters, keep Codex author.name as the plugin id, and put PKCE, portfolio, active symbols, and similar trigger nouns back in skill descriptions.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ashkan-deriv ashkan-deriv changed the title docs review docs: align marketplace listing copy with Deriv UX writing Sep 11, 2026
@ako-deriv
ako-deriv merged commit 08740bc into master Sep 11, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants