Chaoxing ppt downloader
Reusable SkillsMP / Claude Code skills including Chaoxing PPT downloader and MCP config reviewer
npx -y skills add Alanless123/skillsmp-skills --skill chaoxing-ppt-downloaderAssembled 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:
- Open the course page with Playwright in a persistent Chrome context.
- Reuse an authenticated session or let the user log in once in the Playwright-opened Chrome window.
- Wait for
pan-yz.chaoxing.com/screen/v2/file_*frames to load. - Read each frame for:
#fileInfoNameInput- the embedded
'download': 'https://d0.cldisk.com/download/...'URL
- Download the file with Playwright request context and these headers:
referer: <frame url>origin: https://pan-yz.chaoxing.comsec-fetch-site: cross-sitesec-fetch-mode: navigatesec-fetch-dest: documentupgrade-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 thepan-yzpreview frame. - Those signed links can expire. If reusing later fails, rerun the extraction flow instead of reusing an old
downloadURL. page.request.get()may return403unless the request includes the correctrefererandorigin.- 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
downloadURL from the frame. - Send the request with the
pan-yzframe URL asreferer.
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/
- openai.yaml336 B
scripts/
- download_chaoxing_ppt.jsruns4.2 KB