daymade/claude-code-skills

wps-doc-scraper

Faithfully archive public WPS/KDocs/金山文档 links, especially embedded ProcessOn .pof mind maps and canvases, as raw source data, original SVG/PNG, and Markdown.

View source
Original skill document

Rendered from the source repository. Headings, examples, code, tables, links, and referenced images are preserved.

WPS Doc Scraper

Overview

Archive WPS/KDocs public documents with source fidelity. Prefer unauthenticated data APIs, keep the raw payloads, capture the original visual artifact when the document is a canvas or mind map, and generate Markdown only as a structured representation of the source.

This is an extraction skill, not a writing skill. Do not use an LLM to rewrite, summarize, smooth, or infer missing document content unless the user explicitly asks for a separate analysis after the archive is complete.

Workflow Decision Tree

  1. Identify the URL type.
  • kdocs.cn/view/l/<share_id> or kdocs.cn/l/<share_id>: read public link metadata first.
  • wps.processon.com/diagrams/view?...: extract file_id and group_id, then use the ProcessOn data API.
  • wps.processon.com/wpsapi/diagrams/view/api?...: treat as the source API directly.
  • Other WPS/KDocs pages: collect public metadata, try official public export/download only when available, then use browser DOM capture as a fallback.
  1. For ProcessOn .pof mind maps or canvases, run the API extractor:
bash
   python3 /path/to/wps-doc-scraper/scripts/wps_processon_extract.py \
     --url "https://www.kdocs.cn/view/l/..." \
     --output-dir "/path/to/archive-dir"

Expected outputs: processon-api.json, processon-definition.json, capture-manifest.json, and <title>.md.

  1. Capture the original image.
  • If the page exposes a rendered SVG, save the serialized full SVG as <title>-全画布.svg.
  • If the SVG uses foreignObject, do not trust ImageMagick alone for text rendering. Use scripts/render_svg_tiles.py to make the PNG through macOS Quick Look square tiles.
bash
   python3 /path/to/wps-doc-scraper/scripts/render_svg_tiles.py \
     --svg "/path/to/<title>-全画布.svg" \
     --output "/path/to/<title>-全画布.png"
  1. Validate the archive.
  • Markdown is a structural conversion, not an editorial rewrite.
  • The original image exists for visual documents.
  • Raw JSON and manifest exist.
  • No output text contains the Unicode replacement character .
  • Any failed or permission-limited path is recorded in the manifest or final response.

Hard Rules

  • Never log in, save to an account, copy into the user's cloud drive, or mutate the remote document unless the user explicitly requests it.
  • Never bypass CAPTCHAs, paywalls, tenant restrictions, or permission walls. A public link that requires login is a hard boundary unless the user provides authorized access.
  • Do not infer hidden nodes or missing text. Preserve what the API or rendered DOM actually exposes.
  • HTTP 200 is not enough. Detect login-wall payloads such as 用户未登录, empty definitions, and placeholder shells.
  • Keep raw source artifacts before transformation: API JSON, parsed definition JSON, serialized SVG, screenshots or PNGs, and a capture manifest.
  • For browser fallback, capture DOM/source data before screenshots when possible; screenshots alone are not a faithful text archive.
  • Report extraction gaps plainly. Do not silently produce a polished Markdown file from partial data.

Bundled Resources

scripts/

  • wps_processon_extract.py: deterministic extractor for public WPS/KDocs ProcessOn .pof mind maps. It resolves KDocs share metadata, downloads the ProcessOn data API JSON, parses the embedded definition, and writes Markdown plus a manifest.
  • render_svg_tiles.py: macOS Quick Look based SVG-to-PNG renderer for full-canvas SVGs with foreignObject text. It renders square vertical tiles and stitches them into one PNG.

references/

  • processon-mindmap-api.md: endpoint pattern and payload shape for WPS-hosted ProcessOn files.
  • rendered-svg-capture.md: browser-side process for extracting the rendered full-canvas SVG and producing a PNG.
  • capture-manifest.md: minimum manifest fields and acceptance checks.
  • permission-and-failure-boundaries.md: login walls, forbidden escalation, and failure reporting rules.
from this repository

More skills

All skills
daymade
Community

i18n-expert

This skill should be used when setting up, auditing, or enforcing internationalization/localization in UI codebases (React/TS, i18next or similar, JSON locales), including installing/configuring the i18n framework, replacing hard-coded strings, ensuring en-US/zh-CN coverage, mapping error codes to localized messages, and validating key parity, pluralization, and formatting.

installs
1
GitHub stars
1.4K
Updated
Sep 22
daymade
Community

frontend-visual-qa

- Audits already-rendered web, landing-page, HTML deck/slide, browser tool/game, dashboard/admin, design-system, and desktop UIs using real-browser or native-app journeys, inspected screenshots, DOM geometry, responsive or projection viewports, and a bundled Playwright sweep. Use after UI implementation to find typography, wrapping, overlap, overflow, responsive, route, overlay, map, transient-state, data-visualization, browser-output, file-dialog, PDF/print, or Electron-shell defects, or to compare a rendered artifact with a visual reference. Do not use for greenfield UI design, extracting a design system from screenshots, general QA-program setup, or nonvisual code debugging.

installs
2
GitHub stars
1.4K
Updated
Sep 21
daymade
Community

github-ops

- Operates GitHub through gh CLI and the REST/GraphQL APIs with explicit target, authorization, impact preview, and independent readback. Use for pull requests, issues, Actions, repositories, collaborators, teams, organization member privileges, base permissions, 2FA enforcement, repository settings, API automation, parallel or superseded PR convergence, and public or enterprise GitHub. Also use when a GitHub write returned success but the requested state did not change, or when deciding whether a setting is writable through CLI, REST, GraphQL, or only the GitHub UI.

installs
1
GitHub stars
1.4K
Updated
Sep 20
daymade
Community

ashare-news-fetcher

- 抓取 A 股消息面情报:从财联社、华尔街见闻、金十、新浪 7x24、东财快讯、 证监会/央行/上交所/财政部政策公告、东方财富股吧等公开来源抓取与股票相关的 新闻、政策、情绪,输出结构化 JSON 或 Markdown。 当用户提到“A 股消息面”、“抓新闻”、“个股消息”、“政策监管”、“股吧情绪”、 “财联社”、“东财快讯”、“市场情绪”或需要把某只股票相关的公开情报聚合出来时 触发。也适用于“帮我看看 000001 最近有什么消息”这类口语化请求。

installs
1
GitHub stars
1.4K
Updated
Sep 16