Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
lovstudio avatar

Lovstudio Skill Optimizer

  • 2 installs
  • Updated July 13, 2026
  • lovstudio/skill-optimizer-skill

Audits and auto-fixes an existing lovstudio skill, then bumps its semver version and appends a CHANGELOG entry.

About

Audits and auto-fixes an existing lovstudio skill against repo conventions, then bumps its semver version and appends a CHANGELOG entry. A developer uses it to polish, standardize, or version-bump a skill they already have.

  • Runs a lint to fix to version-bump to changelog pipeline on an existing skill
  • Prioritizes issues raised in the current conversation over a generic sweep

Lovstudio Skill Optimizer by the numbers

  • 2 all-time installs (skills.sh)
  • Ranked #611 of 782 Skill Development skills by installs in the Skillselion catalog
  • Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/lovstudio/skill-optimizer-skill --skill lovstudio-skill-optimizer

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs2
Last updatedJuly 13, 2026
Repositorylovstudio/skill-optimizer-skill

What it does

Audits and auto-fixes an existing lovstudio skill, then bumps its semver version and appends a CHANGELOG entry.

Files

SKILL.mdMarkdownGitHub ↗

skill-optimizer — 自动优化 lovstudio skill 并维护版本与 changelog

Runs a lint → fix → bump → changelog pipeline on an existing skill in this repo. Fully automatic — no interactive prompts. Every run produces a concrete version bump and a new CHANGELOG.md entry so optimization history is traceable.

When to Use

  • User mentioned a concrete problem with an existing skill in this conversation

(wrong trigger phrases, stale CLI flags, missing README badge, etc.) and wants it fixed.

  • User asks to "audit", "polish", "refine", "刷一遍" an existing skill.
  • User explicitly asks to bump a skill's version or update its changelog.
  • Proactively after another skill has been modified meaningfully — run this to

record the change with a version bump.

Workflow (MANDATORY, fully automatic)

Do not ask the user for options. Infer everything from (a) the target skill name and (b) any optimization notes mentioned in the current conversation.

Step 1: Identify target & context

From the user's message, extract:

1. Target skill name — e.g. any2pdf, lovstudio-any2pdf, or any2pdf-skill. Normalize to the bare name (strip prefix). If the user did not name a skill explicitly, infer it from recent conversation context (the skill they were just working on). If still ambiguous, ask one targeted question. 2. Context-driven fix list — scan the current conversation for issues the user raised about this skill: wrong flags, trigger misfires, broken CJK rendering, missing options, confusing README, etc. This list is the primary driver. The generic lint only supplements it.

Step 2: Lint

python3 skills/lovstudio-skill-optimizer/scripts/lint_skill.py <name> --json

Parse the JSON findings. Combine with the context-driven fix list from Step 1. Prioritize in this order:

1. Fixes the user explicitly mentioned in conversation (highest priority) 2. Lint error findings 3. Lint warn findings 4. Lint info findings — apply only if cheap and safe

For standardization work, portability findings are high priority when the skill is reusable by other users. Mark/LovStudio private paths should either be removed, moved into references/user-config.md + env/profile handling, or explicitly marked author-only in compatibility.

Step 3: Apply fixes directly

Edit SKILL.md, README.md, scripts/*.py with the Edit tool based on the prioritized fix list. Guidelines:

  • SKILL.md frontmatter description: make sure it covers what + when +

concrete trigger phrases (中文 + English). Don't bloat it; keep under ~800 chars.

  • CLI args in scripts: if the user hit a bug with a specific flag, fix the

root cause — don't paper over it.

  • Progressive disclosure: if SKILL.md body > 500 lines, split the largest

section to references/<topic>.md.

  • User initialization: if the skill references personal workspace paths,

private brand assets, design guides, or output roots, add a references/user-config.md profile/env contract and replace required local paths with CLI flags, environment variables, or profile lookups.

  • Don't write tests or docs that weren't asked for. The CHANGELOG entry IS

the documentation of the change.

  • Don't add emojis unless the original file already uses them consistently.

Step 4: Decide bump type

Choose semver bump based on the fixes applied:

BumpUse when
patchbug fix, wording fix, frontmatter tweak, CJK rendering fix
minornew CLI flag, new option, new reference doc, expanded scope
majorbreaking CLI change, removed option, renamed skill

Stay in 0.x unless explicitly told otherwise — per repo release conventions.

Step 5: Bump version + write changelog

python3 skills/lovstudio-skill-optimizer/scripts/bump_version.py <name> \
  --type <patch|minor|major> \
  --message "<one-line summary of the biggest change>" \
  --change "<additional bullet>" \
  --change "<additional bullet>"

This updates:

  • README.md version badge (source of truth)
  • SKILL.md frontmatter metadata.version (kept in sync if present)
  • CHANGELOG.md — prepends a new entry with today's date (creates the file if missing)

Step 6: Re-lint & report

python3 skills/lovstudio-skill-optimizer/scripts/lint_skill.py <name>

For a repo-wide standardization baseline:

python3 skills/lovstudio-skill-optimizer/scripts/lint_skill.py --all --root .

Report to the user, in this exact shape and nothing more:

optimized: lovstudio-<name>
version:   <old> → <new>
fixes:
  - <bullet 1>
  - <bullet 2>
remaining lint warnings: <count>  (or "none")

Do not print a trailing summary, self-congratulation, or next-step suggestions. The diff speaks for itself.

Step 7: Commit, push & sync all locations

Skills may live in a source repo plus one distribution catalog. Keep all published locations in sync:

source repo:          lovstudio/<name>-skill or lovstudio/dev-skills
general catalog:      lovstudio/general-skills, for public/paid general skills
dev-skills catalog:   lovstudio/dev-skills, for bundled meta/dev tools

7a. Commit & push to source repo:

cd <source-checkout>
git add <changed files>
git commit -m "fix(<name>): <one-line summary>"
git push
  • Commit message follows repo convention: fix|feat|docs(<skill-name>): <summary>
  • Use fix for patch, feat for minor, feat! for major

7b. Sync to the relevant distribution repo:

Use the catalog repo's own sync scripts, then render and validate metadata:

cd <general-skills-or-dev-skills-checkout>
python3 scripts/sync-skills.py
python3 scripts/render-marketplace.py
python3 scripts/render-readme.py
python3 scripts/validate_deps.py
git add <manifest and synced skill paths>
git commit -m "chore: sync <name> skill"
git push origin main

If any step fails, report the sync state to the user rather than silently skipping. A partial sync (source updated but pro-skills stale) is the exact problem this step exists to prevent.

CLI Reference

lint_skill.py

ArgumentDefaultDescription
<name>Skill name (with or without lovstudio- prefix)
--pathAbsolute path to skill dir (overrides name)
--jsonoffEmit findings as JSON

Exit code: 2 if any error-severity finding, 0 otherwise.

bump_version.py

ArgumentDefaultDescription
<name>Skill name
--pathAbsolute path to skill dir (overrides name)
--typepatch \
--setExplicit version e.g. 0.2.0
--message, -mrequiredPrimary changelog bullet
--change, -cAdditional bullet (repeatable)
--dry-runoffShow what would change without writing

Dependencies

Python 3.8+ (stdlib only, no pip install needed).

Related skills

Skill Developmentagentsautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.