RenderCV Typst Package Publisher
Validates the rendercv-typst package end to end, then forks, clones, and opens a pull request to publish a new version to the Typst Universe.
Transparent workflow: model invocation disabled, pre-publish validations, user consultation on existing PRs, stop-on-failure with aggregated reporting. Deducted: Step 8 commits/pushes and opens an externally visible PR without a final user confirmation step; `git reset --hard` operates on a cache clone but consequences for local uncommitted changes and rollback are unstated; gh authentication scope for fork/clone is not disclosed.
Clear step ordering, aggregated validation reporting, explicit no-skip rule, specific failure messages naming missing files. Deducted: entire flow depends on gh CLI, GitHub reachability, and hardcoded upstream conventions (packages/preview/rendercv) with no diagnostics for when these fail; static review cannot confirm runnability (capped at 10).
Audience clear (rendercv maintainers publishing a Typst package), boundaries defined, disable-model-invocation prevents false triggering, and version/theme-example checks are precisely specified. Deducted: core function depends entirely on GitHub/gh, potentially unreachable from mainland-China networks, with no disclosure; no Chinese-language support notes.
Well-layered single SKILL.md (validate → prepare → execute → report) with explicit copy-exclusion rules. Deducted: no version, changelog, or known-limitations section for the skill itself; hardcoded upstream directory conventions lack an update path; publisher identity unverified, maintenance responsibility only inferable from the repo.
Concrete goal with feedback loop down to the PR URL; clear marginal value by automating a multi-step, error-prone publishing flow. Deducted: static review cannot verify key-path output (capped at 7); pre-checked submission checkboxes in the PR template may produce statements not fully verified by execution.
Only source code is auditable; no tests or CI cover this skill path (repo evals target the CV-generation skill, not this one) and no third-party execution evidence exists (low value within the cap of 5).
- This skill targets rendercv maintainers' publishing workflow; general users do not need it. disable-model-invocation: true means it will not auto-trigger.
- Execution forks, pushes, and opens a PR to the public typst/packages repo — an externally visible action; verify network and gh auth before running.
- `git reset --hard upstream/main` discards local uncommitted changes in the cache clone; check $HOME/.cache/rendercv/typst-packages state before running.
- The whole flow depends on GitHub/gh and may be unreachable from mainland-China networks; ensure adequate connectivity.
- The PR template's submission checklist is pre-checked; verify each item is actually true before submitting.
What does this skill do, and when should you use it?
This skill lives in the rendercv/rendercv repository and automates publishing a new version of the rendercv-typst package to the Typst Universe (typst/packages repo). It reads package metadata from typst.toml and runs seven integrity checks — required files, manifest completeness, version consistency, CHANGELOG entry, theme example coverage, broken links, and import style — blocking publication if any fail. It then handles any existing PRs and local clones, forks and sparse-clones the repository, copies package files, builds a PR description following the typst/packages submission template, and commits and creates the PR. Model invocation is explicitly disabled, making it a maintainer-triggered release tool rather than an autonomous agent.
Reads src/rendercv/renderer/rendercv_typst/typst.toml for version and metadata; runs 7 checks: required files (lib.typ, typst.toml, README.md, LICENSE, thumbnail.png, template/main.typ), manifest field completeness, version consistency across README/template/example imports, a CHANGELOG entry for the version, one example .typ file per README theme, no broken relative links, and absolute @preview imports in the template; queries existing rendercv PRs via gh and asks how to proceed; forks and sparse-clones typst/packages to $HOME/.cache/rendercv/typst-packages; creates a rendercv-{version} branch and copies files (excluding CHANGELOG.md, .git, and PDFs); builds the PR title rendercv:{version} and body from the CHANGELOG; commits, pushes, and opens the PR with gh pr create; finally reports the PR URL, clone location, branch name, and any warnings.
- A RenderCV maintainer releasing a new rendercv-typst version who wants the validation and PR submission automated
- Catching version strings that drifted out of sync across README, template, and example imports, with every stale file listed at once
- Enforcing that every theme shown in the README has a corresponding example .typ file before release
- Deciding what to do when an open rendercv PR already exists in typst/packages (update, close and reopen, or abort)
- Ensuring strict compliance with Typst Universe submission rules (absolute imports, no PDFs, full new-package checklist)
What are this skill's strengths and limitations?
- Validation is strict: all 7 checks are collected and reported together, and any failure blocks publication
- Enforces one example file per README theme, preventing incomplete package releases
- Idempotent handling of existing PRs and clones, deleting stale merged/closed branches and resetting to upstream/main
- PR description follows the typst/packages submission template exactly, including the full new-package checklist
- Excludes CHANGELOG.md, .git, and PDF files per the Typst packages repo requirements
- disable-model-invocation: true means it cannot be triggered by the model automatically — manual invocation only
- Very narrow scope: hardcoded to the rendercv-typst package; cannot publish other Typst packages
- Depends on gh CLI authentication and fork permissions, requiring GitHub account setup
- The source provides no independent test evidence or cross-platform validation record for this skill
How do you install this skill?
This skill is one of 6 bundled in the rendercv/rendercv repository at .claude/skills/publish-rendercv-typst-package/SKILL.md. The README gives the collection install command: npx skills add rendercv/rendercv-skill. It works with any AI coding agent that supports the skills standard. Note: the source does not document steps for installing this single skill in isolation.
How do you use this skill?
The skill sets disable-model-invocation: true, so it is never triggered automatically — the maintainer must invoke it explicitly. An example prompt: "Create a PR to publish the new rendercv-typst version to the Typst Universe." The skill then validates, forks/clones, copies files, and opens the PR, reporting the PR URL, clone location ($HOME/.cache/rendercv/typst-packages), and branch name (rendercv-{version}). Prerequisites are gh and git installed locally, and the version in typst.toml ready for release.
How does this skill compare with similar options?
The source offers no comparisons with other Typst package publishing tools. Relative to manual publishing, the difference is automation of validation and submission.