Skip to content

feat(skills): add iFLYTEK skills plugin - #293

Open
FenjuFu wants to merge 16 commits into
cursor:mainfrom
FenjuFu:feat/iflytek-skills
Open

FenjuFu wants to merge 16 commits into
cursor:mainfrom
FenjuFu:feat/iflytek-skills

Conversation

@FenjuFu

@FenjuFu FenjuFu commented Aug 30, 2026 •

Copy link
Copy Markdown

Summary

  • add iflytek-skills, a third-party skill-only plugin with eight official iFLYTEK speech, OCR, transcription, proofreading, translation, and multimodal workflows
  • register the plugin in the marketplace manifest and root plugin table
  • document dependencies, credentials, data egress, service enablement/cost, and upstream provenance

Closes #292.

Scope and provenance

The skill packages are based on iflytek/iFly-Skills@beb3ae3a16d9ba952303acac1eb801f234d9c348, and the upstream Apache-2.0 license is included unchanged. Files modified for marketplace packaging carry a prominent notice.

Included 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 plugin has no hooks, background processes, MCP server, automatic dependency installation, or bundled credentials. The selected scripts use HTTPS or WSS service endpoints.

As proposed in #292, this initial version excludes the incomplete contract-review clients, the voice-cloning training flow (it still uses plain HTTP at the pinned revision), and the unrelated animated-diagram skill.

Packaging fixes

Upstream has since unified credentials under IFLY_* (with XFEI_*/XFYUN_* fallback) and fixed the transcription request digest, multipart chunking, and task-query flow. Those parts of this PR now come straight from upstream, so the remaining packaging changes are:

  • sign image OCR requests with the hostname rather than hostname plus path
  • generate locale-independent GMT authentication dates for image OCR and Hyper TTS
  • normalize image OCR suffixes to the lowercase encoding values accepted by the service
  • align the proofreading Host header with its signed endpoint
  • allow PDF OCR with --pdf-url and no dummy local path
  • expose the seven speed-transcription task options (--output-type, --postproc-on, --enable-subtitle, --smoothproc, --colloqproc, --language-type, --dhw) that its SKILL.md documents but the CLI rejected. This is also submitted upstream as fix(speed-transcription): expose documented task options in the CLI iflytek/iFly-Skills#106.

Seven offline runtime regression tests and two Hyper TTS tests cover these cases.

Data boundary

Invoked skills send the requested text, image, PDF, audio, or video URL to the corresponding iFLYTEK API. The plugin README tells users to confirm organizational policy, service terms, entitlement, quota, and pricing before sending sensitive content.

Validation

  • node scripts/validate-plugins.mjs passes
  • python -m compileall -q third_party/iflytek-skills passes
  • seven marketplace runtime regression tests pass
  • two Hyper TTS unit tests pass
  • all PR commits include DCO Signed-off-by trailers

Note

Medium Risk
Adds third-party skills that run local Python and send user text/media to external iFLYTEK APIs using user-supplied credentials; risk is mainly data handling and integration correctness, not core repo auth.

Overview
Adds the iFLYTEK Skills third-party plugin to the Cursor marketplace (marketplace.json and root README), packaging eight agent skills under third_party/iflytek-skills/ for speech TTS, image understanding, invoice/PDF OCR, speed transcription, Chinese proofreading, machine translation, and video translation.

Skills are vendored from upstream iflytek/iFly-Skills (Apache-2.0) with marketplace-specific fixes: unified IFLY_* credentials (legacy prefix fallback), corrected signing/headers for image OCR and text proofreading, locale-independent GMT dates for Hyper TTS, URL-only PDF OCR, and extra speed-transcription CLI flags aligned with docs. Plugin docs cover dependencies, env credentials, data egress to iFLYTEK endpoints, and excluded upstream workflows; regression/unit tests cover the packaging changes.

Reviewed by Cursor Bugbot for commit 1b6b5d7. Bugbot is set up for automated code reviews on this repo. Configure here.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Stale Bugbot comment from a previous run.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Upstream now unifies credentials under IFLY_* with XFEI_*/XFYUN_*
fallback and fixes the speed-transcription digest, multipart chunking and
task-query flow, so take those files as-is and drop the local
transcription patches and their tests.

Keep the image OCR, proofreading and PDF OCR packaging fixes, and expose
the speed-transcription task options that SKILL.md documents but the
CLI rejected (also submitted upstream as iflytek/iFly-Skills#106).

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
@FenjuFu

FenjuFu commented Oct 1, 2026

Copy link
Copy Markdown
Author

Refreshed this branch: merged current main to resolve the marketplace.json/README conflicts, and re-based the vendored skills on upstream iFly-Skills@beb3ae3. Upstream now covers the transcription fixes and the IFLY_* credential unification, so the local patch set is smaller. The one new packaging change exposes the speed-transcription options that its SKILL.md documents but the CLI rejected; that is also submitted upstream as iflytek/iFly-Skills#106. Validator, compileall, and the five packaging regression tests all pass locally.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>

@cursor cursor Bot left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Stale Bugbot comment from a previous run.

Use GMT dates independent of process locale for image OCR and Hyper TTS, and lowercase OCR image suffixes. Cover both signing paths and image encoding cases with offline regressions.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes using high effort and found 1 potential issue.

Fix All in Cursor

Bugbot Autofix is ON, but it could not run because the branch was deleted or merged before autofix could start.

Reviewed by Cursor Bugbot for commit 5636e26. Configure here.

@FenjuFu FenjuFu changed the title Add iFLYTEK AI skills plugin feat(skills): add iFLYTEK skills plugin Oct 13, 2026
@FenjuFu

FenjuFu commented Oct 13, 2026

Copy link
Copy Markdown
Author

Merged current main in 5636e26 and resolved the marketplace and README conflicts, keeping both the new Tailscale entry and the iFLYTEK plugin. The plugin validator, seven runtime regression tests, two Hyper TTS tests, Python compilation and diff checks pass. The tests use mocked service responses and do not make live API calls.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
@FenjuFu

FenjuFu commented Oct 26, 2026 •

Copy link
Copy Markdown
Author

Merged current main (99b609a) in 10e2b3e to resolve the marketplace and README conflicts. The resolution keeps all upstream entries and the existing iFLYTEK entry; the plugin subtree is unchanged. No history was rewritten.

The plugin validator, seven runtime regression tests, two Hyper TTS tests, Python compilation and diff checks against current main pass locally. All 13 commits in the PR range have matching sign-offs. The tests use mocked responses and make no live API calls.

The broader pstack harness generator fails on Windows at generate-pstack-harness-trees.mjs:133: native relative paths use backslashes while the lookup uses forward slashes. The generator and its pstack/harness inputs are identical to current main. The pstack script suite subsequently finished with failures in the Windows/mise setup cases; it is not reported as passing. The new-head Cursor Bugbot check passed, while Validate plugins run 40372135382 requires maintainer approval. There is no independent DCO check on this repository.

Preserve the RingCentral catalog additions and Tailscale updates while
retaining the original iflytek-skills plugin files.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
@FenjuFu

FenjuFu commented Oct 27, 2026

Copy link
Copy Markdown
Author

Updated the branch against main ab69380 in 757b8bd after the RingCentral additions created another catalog conflict. This merge preserves all 123 upstream marketplace entries and the existing iflytek-skills entry (124 total), including the latest Tailscale changes. The 39 iFLYTEK plugin files remain byte-for-byte unchanged.

The current plugin validator passes for all 124 entries, and both catalog changes pass the whitespace check. Tree checks also preserve all 1,277 other main-branch blobs and all 17 executable-file modes. The previous merge and review history are retained.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
@FenjuFu

FenjuFu commented Oct 27, 2026 •

Copy link
Copy Markdown
Author

Merged main 519d36a in 1b6b5d7 to resolve the catalog conflict after the ServiceNow entry was added. All 2045 upstream files retain their content and modes apart from the two intended catalog additions; the 39 existing plugin files are unchanged. The marketplace now has 125 entries.

The plugin validator, seven runtime regressions, two Hyper TTS regressions, Python compilation and diff checks pass. These tests use mocked responses. All 15 commits in the PR range have matching sign-offs. Current-head checks: Cursor Bugbot: IN_PROGRESS. Validate plugins (https://github.com/cursor/plugins/actions/runs/40553967866) requires maintainer approval. There is no independent DCO check. The previous Windows pstack limitation has not been revalidated by these targeted checks.

Signed-off-by: FenjuFu <92919259+FenjuFu@users.noreply.github.com>
@FenjuFu

FenjuFu commented Oct 30, 2026 •

Copy link
Copy Markdown
Author

Merged main 4dd1d05 in 304e83e to resolve the marketplace and README conflicts. The resolution preserves all 2,055 upstream files and the 39 existing plugin files, with only the two intended catalog additions. The marketplace contains 129 entries.

The plugin validator, seven runtime regression tests, two Hyper TTS tests, Python compilation and diff checks pass locally. The tests use mocked responses and make no live service calls. All 16 commits in the PR range have matching noreply author identities and sign-offs. The broader Windows pstack limitation noted above was not revalidated by these targeted checks.

Current-head checks: no completed check result is reported yet. Validate plugins (https://github.com/cursor/plugins/actions/runs/41096821041) requires maintainer approval. There is no independent DCO check.

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.

Proposal: add official iFLYTEK AI skills plugin

1 participant