agentsclimarketplace

Chaoxing ppt downloader

Skill Alanless123/skillsmp-skills/chaoxing-ppt-downloader

Reusable SkillsMP / Claude Code skills including Chaoxing PPT downloader and MCP config reviewer

Install
npx -y skills add Alanless123/skillsmp-skills --skill chaoxing-ppt-downloader

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Download PPT or PPTX courseware from Chaoxing course pages with Playwright. Use when a user asks to save Chaoxing courseware, PPT files, or chapter documents from `mooc1.chaoxing.com` to a local folder, especially when the files are embedded behind `pan-yz.chaoxing.com` preview frames and require a logged-in browser session.

SKILL.md

3.4 KB, 790 tokens by cl100k_base, as published. Nobody here has run it

Chaoxing PPT Downloader

Use this skill for Chaoxing course pages where the visible chapter page is not the real file URL.

The reliable path is:

  1. Open the course page with Playwright in a persistent Chrome context.
  2. Reuse an authenticated session or let the user log in once in the Playwright-opened Chrome window.
  3. Wait for pan-yz.chaoxing.com/screen/v2/file_* frames to load.
  4. Read each frame for:
    • #fileInfoNameInput
    • the embedded 'download': 'https://d0.cldisk.com/download/...' URL
  5. Download the file with Playwright request context and these headers:
    • referer: <frame url>
    • origin: https://pan-yz.chaoxing.com
    • sec-fetch-site: cross-site
    • sec-fetch-mode: navigate
    • sec-fetch-dest: document
    • upgrade-insecure-requests: 1

Workflow

1. Prepare the target folder

Create the destination directory first.

Example:

New-Item -ItemType Directory -Force -Path "D:\target\ppt" | Out-Null

2. Run the bundled script

Use the script in scripts/download_chaoxing_ppt.js.

Example:

node "C:\Users\Lenovo\.codex\skills\chaoxing-ppt-downloader\scripts\download_chaoxing_ppt.js" `
  --url "https://mooc1.chaoxing.com/mycourse/studentstudy?chapterId=..." `
  --out "D:\target\ppt"

Behavior:

  • Launch Chrome via Playwright using a persistent profile under %TEMP%.
  • If the page redirects to passport2.chaoxing.com/login, keep the browser open and wait for login.
  • Extract all unique PPT/PPTX/PDF-style file frames.
  • Save files to the requested directory.

3. Verify outputs

List the directory and confirm filenames and sizes.

Example:

Get-ChildItem "D:\target\ppt" | Select-Object Name, Length, LastWriteTime

Important Notes

  • Do not trust the visible course page URL as the file URL.
  • The real file URL is usually a signed d0.cldisk.com/download/... link embedded in the pan-yz preview frame.
  • Those signed links can expire. If reusing later fails, rerun the extraction flow instead of reusing an old download URL.
  • page.request.get() may return 403 unless the request includes the correct referer and origin.
  • If the user says they are already logged in in their normal Chrome, that still may not help unless Playwright is using the same authenticated context or the user logs in once in the Playwright-opened Chrome window.

Troubleshooting

Login page keeps appearing

  • Keep the Playwright Chrome window open.
  • Ask the user to log in there once.
  • Reuse the same persistent profile on the next run.

Direct file download returns 403

  • Re-extract the fresh download URL from the frame.
  • Send the request with the pan-yz frame URL as referer.

No pan-yz frames found

  • Wait longer after the chapter page loads.
  • Confirm the chapter really contains PPT/PPTX/PDF courseware instead of video-only content.

Output

Report:

  • the destination directory
  • the downloaded filenames
  • any files that failed and why

What ships with it: 2 files

4.6 KB alongside SKILL.md, 1 of them executable

agents/

scripts/

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.