## Summary
- Add `docs/{en,zh-CN,zh-HK}/docs/legal/` directory with
`_category_.json` (position 8, collapsed)
- Add HK and SG versions of User Data Authorisation and Acknowledgement
in three languages (6 files total)
- Add links in `AppFooter.vue` Legal section pointing to the two new
pages
- Add i18n translation keys (`footer.dataAuthorisationHK` /
`footer.dataAuthorisationSG`) for all three locales
- Use `sidebar_label` for shorter sidebar display names
## Test plan
- [ ] Sidebar shows "Legal" section (collapsed) with "Data Authorisation
(HK)" and "Data Authorisation (SG)"
- [ ] Each page renders the full legal text correctly in all three
languages
- [ ] Footer Legal section shows two new links; clicking navigates to
the correct pages
- [ ] `localePath()` correctly prefixes `/zh-CN/` and `/zh-HK/` for
non-English locales
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
Two issues fixed in the DCA documentation (all 3 locales: zh-CN, zh-HK,
en):
1. **SDKLinks method names were wrong** — the `<SDKLinks>` components
referenced non-existent method names, causing broken SDK code links
2. **`delete_dca.md` removed** — the SDK has no `delete` method; the CLI
example on that page already used `dca stop`, so the page was redundant
with `stop_dca.md`
## SDKLinks fixes
| File | Before | After |
|------|--------|-------|
| `list_dca.md` | `method="list_dca"` | `method="list"` |
| `create_dca.md` | `method="create_dca"` | `method="create"` |
| `update_dca.md` | `method="update_dca"` | `method="update"` |
| `dca_history.md` | `method="dca_history"` | `method="history"` |
Already correct (no change): `pause`, `resume`, `stop`, `stats`,
`check_support`, `calc_date`, `set_reminder`
## Removed files (3 locales)
- `docs/{locale}/docs/account/dca/delete_dca.md` — SDK has no `delete`
method; functionality is covered by `stop_dca.md`
## Test plan
- [x] `autocorrect --lint docs/` — no issues ✅
- [x] Local dev server verified (`npm run dev`) ✅🤖 Generated with [Claude Code](https://claude.com/claude-code)
Auto-generated by skills repo CI.
Source commit:
longbridge/skills@4ce7a1998a
Updates `skills.json` with the latest skill list extracted from all
`SKILL.md` frontmatter files.
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
## Summary
- **AppNav**: Replace `localePath('/login')` with
`createLoginRedirectPath()` + `target="_self"` on the Get Started button
— bypasses VitePress SPA router interception so the browser navigates to
the server-side `/login` route with proper `redirect_to` params
- **AppFooter**: Replace placeholder `href="#"` on Terms / Privacy /
Risk Disclosure links with real Longbridge URLs, using locale-aware
`sgBaseUrl`
## Test plan
- [ ] Click "Get Started" in navbar → should navigate to login page (not
VitePress 404)
- [ ] After login, should redirect back to the originating page
- [ ] Footer legal links open correct Longbridge support pages in new
tab
- [ ] Locale switching (zh-CN / zh-HK) uses correct sgBaseUrl prefix for
footer links
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Clarifies that US stocks can be shorted directly with no additional
setup
- Clarifies that HK short selling requires activation via the mobile
app: place first HK short sell order → triggers SBL agreement signing →
wait for approval
- Notes that HK short selling is subject to a fee levied by the Hong
Kong Inland Revenue Department, with details in the in-app agreement
- Documents API error `602301` returned before the HK SBL agreement is
signed
- Updates `docs/{en,zh-CN,zh-HK}/docs/cli/orders/order.md` and
`skills/longbridge/references/cli/overview.md`
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- Adds short selling documentation to
`docs/{en,zh-CN,zh-HK}/docs/cli/orders/order.md` and
`skills/longbridge/references/cli/overview.md`
- Documents that US and HK markets must each be activated separately via
the mobile app before short selling is available via CLI/API/MCP
- Activation flow: place first short sell order in the mobile app →
triggers SBL agreement signing → wait for review approval
- Notes API error `602301` returned before the SBL agreement is signed
- Notes A-share (SH/SZ) short selling is not supported
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
Ref #1003
- Replace the SG market code entry with a blockquote note explaining
that Singapore real-time quotes are currently unavailable via Longbridge
Developers (API / CLI / MCP)
- Direct users to the Longbridge client (app or desktop) for SG market
quotes
- Remove SG from the Basic quote permission level description in all
three language versions (en / zh-CN / zh-HK)
## Test plan
- [ ] Verify the note renders correctly as a blockquote in all three
locale pages
- [ ] Confirm the quote permission table looks correct without SG in the
Basic row
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
## Summary
- **Quote restructure**: Split flat `pull/` (25 items) into semantic
groups — `stocks/`, `options/`, `warrants/`, `analytics/`
- **Subscribe**: Merged `push/` into `subscribe/` (renamed to
"Subscribe"); added Overview page explaining WebSocket subscription
model and pull API reference links
- **Market**: Extracted `quote/market/` to standalone top-level
`market/` section (position 3.2) to accommodate future additions like
rankings, screeners, IPO
- **Trade ordering**: Fixed `execution/` (History→Today) and `order/`
(Submit→Today→History→Details→Replace→Cancel→Estimate) sidebar ordering
- **Titles**: Optimized all Quote section titles with proper securities
industry terminology; renamed "Withdraw Order" → "Cancel Order"; "Update
Watchlist Group" → "Manage Group Securities"
- **Watchlist**: Renamed group label and sorted items; `update_group`
title now reflects its actual function (add/remove securities in group)
- **Appendix**: Moved `security_list` to socket appendix as "Overnight
Eligible Securities" with accurate description
## Test plan
- [ ] Build and verify sidebar structure renders correctly
- [ ] Verify existing URLs still resolve (absolute slugs preserved for
moved files)
- [ ] Verify new `/market/*` URLs work
- [ ] Check Subscribe Overview links resolve correctly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
---------
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Translates the new CLI v0.21.0 command documentation (business-segments,
industry-rank, industry-peers, financial-report snapshot,
institution-rating --views) from English to Simplified and Traditional
Chinese.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
## Summary
Adds changelog entry for CLI v0.21.0 (consolidating v0.20.1~v0.20.3),
with MCP v0.3.0 mentioned inline.
### CLI v0.21.0
- Industry Intelligence: `industry-rank`, `industry-peers`
- Revenue Segment Breakdown: `business-segments`
- AI Earnings Snapshot: `financial-report snapshot`
- Analyst Conviction Trends: `institution-rating --views`
- MCP server updated with the same capabilities (133 tools total)
Written for end users — less technical, more about what you can now do.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
## Problem
PR #992 merged a version of `pack-skills.yml` that was **missing the
environment-selection logic**. Both canary and release always upload
regardless of what you select.
## Two root causes
1. **Wrong version merged** — the file in #992 didn't include
`workflow_dispatch` inputs, the `Resolve environment` step, or the `if:`
conditions
2. **Reserved keyword** — the step used `id: env`, but `env` is a
built-in GitHub Actions context. Using it as a step ID causes
`steps.env.outputs.*` to silently fail, making every `if:` evaluate to
`true`
## Fix
- Adds `workflow_dispatch` inputs: `canary` / `release` / `both`
(default: `canary`)
- Adds `Resolve environment` step with `id: setup` (not `env`)
- Adds `if:` conditions: canary step only runs when target is `canary`
or `both`; release step only when `release` or `both`
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
## Summary
Adds `pack-skills.yml` — triggered by `repository_dispatch` from
`longbridge/skills` or manually via `workflow_dispatch`.
## Changes from previous version
Added `environment` input parameter:
| Value | Behaviour |
|---|---|
| `canary` (default) | Upload to canary OSS only — safe for testing, no
production impact |
| `release` | Upload to release OSS only |
| `both` | Upload to both (full release) |
## How to test safely
1. Run `workflow_dispatch` in `longbridge/developers` → select
**`canary`**
2. Verify zip files appear at `oss://lb-assets/github/canary/.../skill/`
3. Once confirmed, run with **`both`** to push to production
## Secrets used
Reuses existing secrets — no new secrets needed:
- `FE_LB_ASSET_ACCESS_KEY_ID`
- `FE_LB_ASSET_ACCESS_KEY_SECRET`
## Counterpart
PR #23 in `longbridge/skills` — sends the dispatch event (also updated
to manual-only + passes `environment`).
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
## Summary
- Add JSON `mcpServers` config block to Method B (MCP) section of the
Skill install guide
- Clarifies that the JSON format works for Claude Desktop, Cursor, Zed,
Gemini CLI, and other JSON-config-based clients
- Updated all three language versions (en, zh-CN, zh-HK)
## Test plan
- [ ] Verify the JSON block renders correctly in the docs
- [ ] Check all three language versions display properly
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Add a "Refresh Access Token" subsection covering Python, JavaScript,
Rust, Java, and C++ examples. Each example shows refreshing with a
3-year expiry and using the returned token to create a new Config.
## Summary
- Add hidden HTML comment at the top of all three locale files (`en` /
`zh-CN` / `zh-HK`) instructing the AI to follow a strict install order —
regardless of user prompts to skip steps:
1. Install CLI or configure MCP
2. Complete authentication (`longbridge auth login`)
3. Verify with "Get the latest price for TSLA" and confirm live data
4. Only then install the Skill (Step 2)
- Update English screenshots to latest versions for Claude Desktop and
Codex
- Clarify that both **Chat** and **Cowork** modes in Claude Desktop are
restricted (not just Chat)
## Test plan
- [ ] Verify HTML comments are not visible on the rendered page
- [ ] Confirm new screenshots render correctly in the en locale
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>