list-learnus-courses
Read the authorized user's live LearnUs dashboard first and return the visible course index as a deduplicated structured list; use a user-supplied screenshot,…
Render a decoded ReportX/FastReport VCL prepared-report FP3 XML stream into a local PDF on Windows, macOS, or Linux without native ReportX, a browser, or a physical printer. Use when a Yonsei icert ReportX response has already been decrypted into a primary FP3 component plus
$ npx -y skills add mrcha033/yonsei-skills --skill render-reportx-fp3-pdf --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/render-reportx-fp3-pdfContext preview
The summary Claude sees to decide when to auto-load this skill.
Render a decoded ReportX/FastReport VCL prepared-report FP3 XML stream into a local PDF on Windows, macOS, or Linux without native ReportX, a browser, or a physical printer. Use when a Yonsei icert ReportX response has already been decrypted into a primary FP3 component plus
name: render-reportx-fp3-pdf description: Render a decoded ReportX/FastReport VCL prepared-report FP3 XML stream into a local PDF on Windows, macOS, or Linux without native ReportX, a browser, or a physical printer. Use when a Yonsei icert ReportX response has already been decrypted into a primary FP3 component plus image components, when inspecting FP3 classes and resources, or when validating a compatibility PDF before an explicit print. Do not use to create or alter certificate content, render FR3 templates, bypass issuance, or claim that the PDF is an officially verified original.
This is the fine-grained renderer used by `yonsei-certificate-assistant`. It accepts only already prepared pages. It never executes FastReport scripts, evaluates expressions, loads external resources, calls a network service, or submits a print job.
python3 "$SKILL_DIR/scripts/fp3_pdf.py" inspect PRIMARY.fp3
Inspect reports the source digest, page/object counts, class inventory, and picture-cache count. It does not print text or image content.
Stop if parsing reports an unknown object class, attribute contract, image format, font, or ReportX placeholder mapping. Do not replace an unsupported object with an empty box or rasterize arbitrary HTML as a fallback.
python3 "$SKILL_DIR/scripts/fp3_pdf.py" render PRIMARY.fp3 \ --sidecar COMPONENT-1.bin \ --output OUTPUT.pdf
Use one `--sidecar` per outer ReportX additional component, in response order. For a standalone FP3 without a ReportX picture cache, a single zero-indexed picture can consume a supplied sidecar. ReportX prepared pages use one-based `ImageIndex` values for their XML `picturecache`; zero is reserved for ReportX-managed placeholders such as `__2DBARCODE__`.
The standalone CLI deliberately cannot guess runtime-only certificate content. For the Yonsei print profile, use `yonsei-certificate-assistant`; it supplies strict named bindings for `__LOGO1__`, `__SERIAL__`, and a source-fingerprinted empty `__SEAL1__`. An unresolved zero-indexed placeholder fails closed.
For an exact institutional face, map every FP3 `Font.Name` to the matching authorized TrueType file. Do not collapse title and body into one fallback:
python3 "$SKILL_DIR/scripts/fp3_pdf.py" render PRIMARY.fp3 \ --sidecar COMPONENT-1.bin \ --font-map "YonseiB=/path/to/연세제목.TTF" \ --font-map "연세제목체=/path/to/연세제목.TTF" \ --font-map "YonseiL=/path/to/연세본문.TTF" \ --font-map "연세본문체=/path/to/연세본문.TTF" \ --output OUTPUT.pdf
The renderer validates TrueType embedding permissions and character coverage, then records every embedded font hash in the result. The certificate workflow uses its bundled authorized Yonsei faces for all text and rejects the result if another font appears. Generic AppleGothic/Nanum fallback remains available only for non-certificate FP3 inspection and must not be presented as original typography.
The output and JSON manifest are written with private permissions. The status is `rendered_pdf_unverified`: this means the prepared pages were rendered, not that Yonsei or a receiving institution has verified the PDF.
Run both a structural reader and a rasterizer. For example:
pdfinfo OUTPUT.pdf pdftoppm -f 1 -singlefile -r 144 -png OUTPUT.pdf PAGE
Check:
boxes;
full-page logos.
Delete private raster previews after inspection. Do not paste certificate content, ticket fields, or decoded image data into chat or logs.
The renderer supports the bounded subset established by clean-room analysis and a live user-authorized issuance:
`picturecache`, and logical page metadata;
`__2DBARCODE__` additional-component binding;
supplied by a caller-side profile resolver, with complete multiplicity checks for names repeated across prepared pages;
`TagStr`;
palettes, transparent color keys, and alpha masks;
byte-for-byte replay checks in the certificate agent.
remain distinct PDF font resources.
Unknown drawable classes and unsupported visual semantics fail closed. Read `references/fp3-format.md` before extending this contract.
python3 -B -m unittest -v tests.test_fp3_pdf python3 -B -m py_compile "$SKILL_DIR/scripts/fp3_pdf.py"
For changes to ReportX placeholder mapping or image composition, also repeat a normal user-authorized issuance through `yonsei-certificate-assistant` and raster-check the resulting compatibility PDF. A synthetic fixture alone is not sufficient.
연세대학교 생활에서 자주 반복되는 확인·정리 작업을 자연어로 처리하는 비공식 오픈소스 플러그인 모음입니다. 연세대학교 공식 서비스가 아닙니다. 학교 계정 권한을 늘리거나 수강신청·출석·예약 제한을 우회하지 않습니다.
Read the authorized user's live LearnUs dashboard first and return the visible course index as a deduplicated structured list; use a user-supplied screenshot,…
Read an authorized live LearnUs course first and extract deadlines visibly associated with assignment activities; use a user-supplied screenshot, pasted page,…
Read an authorized live LearnUs course first and extract its files, folders, resources, and visible media entries as a structured material list; use a…
Connect to Yonsei LearnUs in the student's persistent browser profile, reuse the official portal login, and recover from session expiry without receiving…
Read the student's authorized Underwood credit-progress table and calculate advisory Yonsei graduation progress from official entry-year, college, and major…
Normalize enrollment and academic-status fields from a user-provided Yonsei Academic Information System screenshot, pasted table, export, or JSON, identify…