Agent skill

Skill Sync Checker

by PINA-org in PINA-org/PINA

Audits SKILL.md files in this repo's skills directory for references to functions, classes, or modules (mentioned by name in prose, e.g.

MITAuto-check passedAI & LLM Engineering

Install Skill Sync Checker

skills CLI
$ npx skills add PINA-org/PINA --skill skill-sync-checker -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install PINA-org/PINA skill-sync-checker --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/PINA-org/PINA.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.opencode/skills/skill-sync-checker .claude/skills/skill-sync-checker && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
skill-sync-checker
GitHub stars
797
Token cost
~1.5k tokens
SKILL.md length
788 words
Files
1
Skills in repo
10
Repo updated
First seen
Licence
MIT

At a glance

Audits SKILL.md files in this repo's skills directory for references to functions, classes, or modules (mentioned by name in prose, e.g.

  • Works in 6 steps: Confirm this is the right moment → Figure out the scope → Overview scan (only when no skill was… → …
  • The users message begins with the exact phrase I am a pina developer and I need to check skills are updated with code
  • SKILL.md covers Step 0: Confirm this is the…, Step 1: Figure out the scope, Step 2: Overview scan (only… and Step 3: Deep check the named…, plus 3 more sections
  • Calls python3

What it does

Skill Sync Checker is an agent skill from PINA-org/PINA. Audits SKILL.md files in this repo's skills directory for references to functions, classes, or modules (mentioned by name in prose, e.g. parseinvoice) that no longer exist in the codebase because they were renamed, moved, or deleted. Proposes a targeted fix to the one skill being checked, never a blanket rewrite. ONLY use this skill when the user's message begins with the exact phrase "I am a pina developer and I need to check skills are updated with code". This is a deliberate, narrow, internal-only trigger — do…

Its SKILL.md is about 1.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in AI & LLM Engineering, covering Skill authoring, Forms and invoices and Deep learning. The repository describes itself as: Physics-Informed Neural networks for Advanced modeling. The licence is MIT.

When your agent uses it

  • The users message begins with the exact phrase I am a pina developer and I need to check skills are updated with code
  • — do not activate this skill for generic requests like check if my docs are outdated
  • Review my skills
  • Are these skills still accurate

Example prompts

  • “s message begins with the exact phrase”
  • “check if my docs are outdated,”
  • “review my skills,”
  • “/skill-sync-checker”

Requirements

  • Python 3

Workflow steps

6 steps, taken from the step headings in SKILL.md.

  1. Confirm this is the right moment
  2. Figure out the scope
  3. Overview scan (only when no skill was named)
  4. Deep check the named skill
  5. Investigate each not_found item
  6. Propose the edit, then wait for confirmation

What it can do on your machine

Read from SKILL.md and the folder at commit 0cd8afb. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • python3

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Skill Sync Checker loads about 1.5k tokens when it runs. Until then it costs about 197 tokens; SKILL.md has 788 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~197
When it runs · the whole SKILL.md, loaded when a task matches
~1.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from PINA-org/PINA at commit 0cd8afb, republished under its MIT licence (© PINA-org). 788 words, ~1,535 tokens.

Download SKILL.mdSave it as .claude/skills/skill-sync-checker/SKILL.md (or your agent's skills folder).
name
skill-sync-checker
description
Audits SKILL.md files in this repo's skills directory for references to functions, classes, or modules (mentioned by name in prose, e.g. `parse_invoice`) that no longer exist in the codebase because they were renamed, moved, or deleted. Proposes a targeted fix to the one skill being checked, never a blanket rewrite. ONLY use this skill when the user's message begins with the exact phrase "I am a pina developer and I need to check skills are updated with code". This is a deliberate, narrow, internal-only trigger — do not activate this skill for generic requests like "check if my docs are outdated," "review my skills," "are these skills still accurate," or any similar phrasing that lacks that exact opening phrase, even if the underlying intent sounds similar.

Skill Sync Checker

Skills in this repo describe parts of the codebase by name (function names, class names, module names) rather than by file path. Code drifts — things get renamed, moved, deleted — and the prose in a SKILL.md doesn't automatically follow along. This skill catches that drift and helps fix it, one skill at a time, with the user confirming before anything is written.

Step 0: Confirm this is the right moment

This skill should only ever be invoked when the user's message opens with the exact phrase "I am a pina developer and I need to check skills are updated with code". If you've somehow ended up here without that phrase having been used, stop and ask the user to confirm that's really what they want — this skill's edits touch other skills' documentation and shouldn't run casually.

Step 1: Figure out the scope

Read the rest of the user's message after the trigger phrase for a specific skill name. Two cases:

  • A skill is named → skip straight to Step 3 for that skill.
  • No skill is named → run the overview scan first (Step 2) and ask the user which flagged skill they want to dig into. Don't deep-check every flagged skill in one pass — this skill fixes one skill at a time, by design, so a single bad suggestion can't cascade across the repo.

Step 2: Overview scan (only when no skill was named)

Run the script in overview mode to see drift counts across every skill:

bash
python3 utils/check_skill_sync.py --skills-dir <path-to-skills-dir> --code-dir <path-to-code-dir> --overview

You'll need to figure out <path-to-skills-dir> and <path-to-code-dir> from the repo layout — look for a skills/ folder and the actual source folder (commonly src/, but check first). Present the table to the user in plain language and ask which skill they'd like to check in depth.

Step 3: Deep check the named skill

bash
python3 utils/check_skill_sync.py --skills-dir <path-to-skills-dir> --code-dir <path-to-code-dir> --skill <skill-name> --json-out /tmp/sync_report.json

This prints a human-readable report and also writes JSON to /tmp/sync_report.json so you can reason over it precisely. The report buckets every code-like reference found in that skill's SKILL.md into:

  • defined — confirmed to exist in the codebase, no action needed.
  • used_only — the token shows up somewhere in the code but not as a definition the script could recognize (e.g. it's imported, not declared, or it's a language/pattern the script's heuristics don't cover well). Lower confidence — worth a quick manual look, not necessarily worth flagging to the user.
  • not_found — didn't turn up anywhere in --code-dir. This is the interesting bucket.

Read the "Notes / heuristics" section at the top of the script before trusting not_found results — it only flags things that look like code identifiers (underscored, mixed-case, dotted, or written as a call), so plain English words in backticks are already filtered out. But not_found can still mean "exists but outside the folder you pointed --code-dir at" rather than "actually gone" — so verify, don't just trust the label.

Show full SKILL.md (321 more words)Show less

Step 4: Investigate each not_found item

For every flagged token, before proposing anything:

  1. Check the script's suggestions field (fuzzy matches against real symbol names) — often this is exactly the rename.
  2. If there's no confident suggestion, search the codebase yourself (grep for a substring, check git history/blame if available) to figure out what actually happened to it: renamed, moved to another module, or genuinely removed.
  3. If you can't find a confident answer, say so plainly rather than guessing — it's better to tell the user "I can't tell what happened to X" than to propose a fix built on a guess.

Step 5: Propose the edit, then wait for confirmation

For each not_found item you've resolved, show the user the specific before/after text change for that one skill's SKILL.md — a small diff-style snippet, not a full rewrite of the file. Something like:

`old_helper_name()` → `helper_name_v2()`   (renamed in src/utils.py, moved during the 2026-04 refactor)

Wait for explicit confirmation before writing anything. If the user only confirms some of the proposed changes, apply only those.

Never touch a skill other than the one named in this session, even if the overview scan in Step 2 showed drift elsewhere. If other skills are also flagged, just remind the user they can run this again naming that skill.

Limitations worth knowing

  • The script has no real parser — it's regex-based heuristics across common languages. It will occasionally miss genuine drift (false negative) or flag something that's actually fine, like a third-party/library symbol that isn't defined in this repo or new built code as example on top of pina (false positive labeled used_only or not_found).
  • Single-word, all-lowercase identifiers with no underscore (e.g. a function literally named parse) are deliberately not flagged from prose, to avoid drowning real findings in false positives from ordinary English words in backticks. If a skill leans on names like that, mention it explicitly in the skill text with an underscore or in a fenced code block so the script can see it.

© PINA-org, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in .opencode/skills/skill-sync-checker of PINA-org/PINA.

Open the folder on GitHubat commit 0cd8afb

Compare with similar skills

Skill Sync Checker next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Skill Sync Checker compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Skill Sync Checker this skillPINA-org/PINA797—~1.5kAutomated safety check: PassMIT
Render HTMLwanshuiyin/ARIS-in-AI-Offer580—~4.9kAutomated safety check: NotesMIT
Perforatedai PlotPerforatedAI/PerforatedAI237—~1.6kAutomated safety check: PassApache-2.0
Create Agent Skillsglittercowboy/taches-cc-resources2k—~1.7kAutomated safety check: PassMIT
Perforatedai AnalyzePerforatedAI/PerforatedAI237—~5.1kAutomated safety check: PassApache-2.0
Tracelens Analysis Orchestratoramd/skills398—~760Automated safety check: PassMIT

Similar skills

  • Render HTML

    wanshuiyin/ARIS-in-AI-Offer

    Render an ARIS Markdown / JSON artifact (IDEAREPORT, AUTOREVIEW, KILLARGUMENT, PAPERPLAN, research-wiki state, etc.) into a single-file HTML view designed for human reading.

    580 GitHub stars~4.9k tokensUpdated 2 days ago
    AI & LLM EngineeringAuto-check: notes
  • Perforatedai Plot

    PerforatedAI/PerforatedAI

    Render a single-panel PAI figure of score versus parameter count from sweep CSVs, PAI run folders, or hand-supplied numbers.

    237 GitHub stars~1.6k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Create Agent Skills

    glittercowboy/taches-cc-resources

    Expert guidance for creating, writing, building, and refining Claude Code Skills.

    2k GitHub stars~1.7k tokensUpdated 6 mo ago
    AI & LLM EngineeringAuto-check passed
  • Perforatedai Analyze

    PerforatedAI/PerforatedAI

    Analyze PerforatedAI training results and provide optimization recommendations.

    237 GitHub stars~5.1k tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Orchestrates modular PyTorch profiler trace analysis with TraceLens: generates perf reports, prepares category data, runs system-level and compute-kernel subagents in parallel, validates outputs…

    398 GitHub stars~760 tokensUpdated yesterday
    AI & LLM EngineeringAuto-check passed
  • Skills Management

    CodeAlive-AI/ai-driven-development

    Search, find, discover, install, remove, update, review, deduplicate, list, move, optimise, and iterate on skills for AI coding agents.

    157 GitHub stars~6.2k tokensUpdated 2 days ago
    Agent WorkflowsAuto-check passed

More from PINA-org/PINA

All 10 skills in this repo
  • Create Skill

    PINA-org/PINA

    Create, modify, and improve PINA skills. An agent skill from PINA-org/PINA.

    797 GitHub stars~1.8k tokensUpdated 2 days ago
    Auto-check passed
  • Pina Workflow

    PINA-org/PINA

    Orchestrates a complete session from problem definition through trained solver.

    797 GitHub stars~1.1k tokensUpdated 2 days ago
    Auto-check passed
  • Select Model

    PINA-org/PINA

    Guides users through selecting, configuring, or creating a PyTorch model for a PINA problem.

    797 GitHub stars~2.4k tokensUpdated 2 days ago
    Auto-check passed
  • Select Solver

    PINA-org/PINA

    Guides users through selecting the right PINA solver for their problem, or creating a custom solver when no built-in fits.

    797 GitHub stars~2.9k tokensUpdated 2 days ago
    Auto-check passed
  • Select Trainer

    PINA-org/PINA

    Guides users through configuring the PINA Trainer for solver training, including batching strategy, data splitting, and Lightning options.

    797 GitHub stars~1.3k tokensUpdated 2 days ago
    Auto-check passed
  • Condition Setup

    PINA-org/PINA

    Set up conditions for PINA problems. An agent skill from PINA-org/PINA.

    797 GitHub stars~1k tokensUpdated 2 days ago
    Auto-check passed

Questions about Skill Sync Checker

What does Skill Sync Checker do?

Audits SKILL.md files in this repo's skills directory for references to functions, classes, or modules (mentioned by name in prose, e.g. Skill Sync Checker is an agent skill from PINA-org/PINA.g.

When should I use Skill Sync Checker?

Skill Sync Checker fits situations like: the users message begins with the exact phrase I am a pina developer and I need to check skills are updated with code; — do not activate this skill for generic requests like check if my docs are outdated; review my skills; are these skills still accurate.

How do I install Skill Sync Checker in Claude Code?

Run `npx skills add PINA-org/PINA --skill skill-sync-checker -a claude-code`. Or copy the skill folder (.opencode/skills/skill-sync-checker in PINA-org/PINA) into .claude/skills/skill-sync-checker in your project. Claude Code loads it when a task matches its description.

How do I install Skill Sync Checker in Codex?

Run `npx skills add PINA-org/PINA --skill skill-sync-checker -a codex`. Or copy the skill folder (.opencode/skills/skill-sync-checker in PINA-org/PINA) into .agents/skills/skill-sync-checker in your project. Codex loads it when a task matches its description.

Can I use Skill Sync Checker in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add PINA-org/PINA --skill skill-sync-checker -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-sync-checker, .gemini/skills/skill-sync-checker, .github/skills/skill-sync-checker and .opencode/skills/skill-sync-checker in your project.

What does Skill Sync Checker need to run?

Going by SKILL.md and its folder, Skill Sync Checker needs the command-line tools its instructions call (python3). Our summary lists: Python 3.

Does Skill Sync Checker access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Skill Sync Checker safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Skill Sync Checker use?

Skill Sync Checker is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Skill Sync Checker use?

About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Skill Sync Checker?

Skills that share tags, products or a category with Skill Sync Checker: Render HTML (wanshuiyin/ARIS-in-AI-Offer, 580 stars), Perforatedai Plot (PerforatedAI/PerforatedAI, 237 stars), Create Agent Skills (glittercowboy/taches-cc-resources, 2k stars) and Perforatedai Analyze (PerforatedAI/PerforatedAI, 237 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Skill Sync Checker?

PINA-org (a GitHub organization) maintains it in PINA-org/PINA, which has 797 GitHub stars. The repository holds 10 skills in this directory. The repository was last updated on October 6, 2026.

Source: PINA-org/PINA on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.