Skip to content

Proposal: add official iFLYTEK AI skills plugin #292

Open

Description

@FenjuFu

Problem

The official iFLYTEK skill collection publishes reusable speech, OCR, translation, proofreading, and multimodal workflows, but Cursor users cannot currently discover or install those workflows from the official plugin marketplace.

The collection is part of the iflytek-astron ecosystem, is maintained by iFLYTEK, and is licensed under Apache-2.0.

Proposed plugin

Add a third-party skill-only plugin named iflytek-skills under third_party/iflytek-skills and register it in the marketplace manifest and README.

The initial version would vendor eight focused upstream skills:

  • iflytek-hyper-tts
  • iflytek-image-understanding
  • iflytek-ocr-invoice
  • iflytek-pdf-image-ocr
  • iflytek-speed-transcription
  • iflytek-text-proofread
  • iflytek-translate
  • iflytek-video-translate

The vendored files would be copied without functional changes from a pinned upstream commit, with the Apache-2.0 license and source revision documented for provenance.

Deliberate v1 exclusions

  • iflytek-contract-intelligence-review: its upstream API clients intentionally require injected implementations and currently raise NotImplementedError.
  • iflytek-voiceclone-tts: its training flow currently sends authentication and audio to plain-HTTP endpoints; it should not be promoted through the marketplace until an encrypted transport is available.
  • animated-sketch-diagram: useful, but not an iFLYTEK API integration and better reviewed separately from this focused capability bundle.

Runtime and data boundary

  • No hooks, background processes, MCP servers, or bundled credentials.
  • Skills invoke local Python scripts only after the user requests the corresponding capability.
  • Credentials remain user-owned environment variables; the plugin does not persist or print them.
  • Text, images, PDFs, audio, or video URLs are sent to the iFLYTEK endpoint for the invoked capability. The README will disclose that users should confirm service terms, entitlements, pricing, and data-handling requirements before sending sensitive content.
  • Some workflows require requests/urllib3; the plugin will document dependencies and will not install them silently.

Acceptance criteria

  • Add a valid .cursor-plugin/plugin.json with skill discovery only.
  • Register iflytek-skills in .cursor-plugin/marketplace.json and the root README.
  • Include plugin README, changelog, Apache-2.0 license, and upstream provenance.
  • Preserve the eight upstream skill packages without functional edits.
  • Pass node scripts/validate-plugins.mjs.
  • Compile the vendored Python scripts without syntax errors.

If this scope and third-party placement look appropriate, I will submit the implementation as a linked PR.

Activity

  1. FenjuFu commented on Aug 30, 2026

    @FenjuFu
    Author

    Implementation update after automated review: PR #293 now applies six targeted correctness fixes to the pinned upstream packages (image OCR host signing, proofreading Host headers, transcription body digests, aligned multipart chunks, URL-only PDF OCR, and transcription task lookup).

    All six fixes have offline regression coverage and pass alongside the repository validator, Python compilation, upstream Hyper TTS test, and CLI help smoke tests. Modified Apache-2.0 files carry a Cursor marketplace packaging notice, so the implementation supersedes the proposal's original byte-for-byte acceptance criterion while retaining the pinned source revision and unchanged upstream license.

  2. FenjuFu commented on Aug 30, 2026

    @FenjuFu
    Author

    Final review update: a second Bugbot round found two task-query output inconsistencies. PR #293 fixes both, expands offline regression coverage to eight tests, resolves all eight review threads, and now has a passing Bugbot check. The repository Validate plugins workflow remains action_required with zero jobs until a cursor/plugins maintainer approves the first-time fork run; the identical validator passes locally.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions