Agent Skillsopensquilla/opensquilla › skill-creator-linter

skill-creator-linter

GitHub

内部工具,用于在注册前对 meta-skill SKILL.md 进行 G1 结构解析与引用检查、G2 调度器干跑验证。无 LLM 参与,返回 JSON 诊断结果,确保技能定义合规且可执行。

src/opensquilla/skills/bundled/skill-creator-linter/SKILL.md opensquilla/opensquilla

Trigger Scenarios

创建或修改 meta-skill 文件后 提交技能定义前需要自动化校验时

Install

npx skills add opensquilla/opensquilla --skill skill-creator-linter -g -y
More Options

Non-standard path

npx skills add https://github.com/opensquilla/opensquilla/tree/main/src/opensquilla/skills/bundled/skill-creator-linter -g -y

Use without installing

npx skills use opensquilla/opensquilla@skill-creator-linter

指定 Agent (Claude Code)

npx skills add opensquilla/opensquilla --skill skill-creator-linter -a claude-code -g -y

安装 repo 全部 skill

npx skills add opensquilla/opensquilla --all -g -y

预览 repo 内 skill

npx skills add opensquilla/opensquilla --list

SKILL.md

Frontmatter
{
    "name": "skill-creator-linter",
    "metadata": {
        "requires": {
            "anyBins": [
                "python",
                "python3"
            ]
        }
    },
    "entrypoint": {
        "args": [
            "--skill-md-stdin",
            "--gates",
            "G1,G2"
        ],
        "parse": "json",
        "stdin": "{{ with.skill_md }}",
        "command": "python {baseDir}\/scripts\/lint.py",
        "timeout": 30
    },
    "provenance": {
        "origin": "opensquilla-original",
        "license": "Apache-2.0"
    },
    "description": "Internal tool (not user-invocable). Called by meta-skill-creator as a DAG step (kind: agent) to lint a candidate meta-skill SKILL.md against G1 (parse + reference check + xml_escape grep + structural lint) and G2 (scheduler dry-run with stub executors). Deterministic, sub-second, no LLM. Returns JSON diagnostics.",
    "description_zh": "内部工具(不可由用户直接调用)。由meta-skill-creator作为DAG步骤(kind: agent)调用,针对G1(解析+引用检查+xml_escape grep+结构lint)和G2(用桩执行器进行调度器空跑)对候选元技能SKILL.md进行lint。确定性、亚秒级、无LLM,返回JSON诊断。",
    "user-invocable": false,
    "disable-model-invocation": true
}

Skill Creator Linter

Validates a candidate meta-skill SKILL.md before it gets registered.

G1 rules

Rule Check
G1.1 parse_meta_plan does not raise
G1.2 Every step.skill for kind=agent/skill_exec exists in the main catalog
G1.3 Template variables resolve at render time (covered by G1.1)
G1.4 on_failure parser rules (covered by G1.1)
G1.5 step kind: consistency (covered by G1.1)
G1.6 Grep: every `{{ inputs.user_message

G2 dry-run

Replace step executors with stubs yielding _StepDone(text="<stub:id>"). Run scheduler; pass if no exception and topology terminates.

Usage

uv run python {baseDir}/scripts/lint.py --skill-md path/to/SKILL.md --gates G1,G2
uv run python {baseDir}/scripts/lint.py --skill-md-stdin --gates G1,G2 < SKILL.md

Output

JSON to stdout: {"G1": {"passed": bool, "diagnostics": [...]}, "G2": {...}}.

Fallback

Manually inspect SKILL.md and run parse_meta_plan in a Python REPL.

Version History

  • f662be3 Current 2026-07-31 11:49
  • 7f72a32 2026-07-05 18:39

Same Skill Collection

src/opensquilla/skills/bundled/advanced-dubbing-studio/SKILL.md
src/opensquilla/skills/bundled/ai-video-script/SKILL.md
src/opensquilla/skills/bundled/audio-cog/SKILL.md
src/opensquilla/skills/bundled/awesome-webpage-image-download/SKILL.md
src/opensquilla/skills/bundled/awesome-webpage-research/SKILL.md
src/opensquilla/skills/bundled/AwesomeWebpageMetaSkill/SKILL.md
src/opensquilla/skills/bundled/cron/SKILL.md
src/opensquilla/skills/bundled/docx/SKILL.md
src/opensquilla/skills/bundled/filesystem/SKILL.md
src/opensquilla/skills/bundled/git-diff/SKILL.md
src/opensquilla/skills/bundled/github/SKILL.md
src/opensquilla/skills/bundled/history-explorer/SKILL.md
src/opensquilla/skills/bundled/html-coder/SKILL.md
src/opensquilla/skills/bundled/html-to-pdf/SKILL.md
src/opensquilla/skills/bundled/http-fetch/SKILL.md
src/opensquilla/skills/bundled/latex-compile/SKILL.md
src/opensquilla/skills/bundled/memory/SKILL.md
src/opensquilla/skills/bundled/music-and-singing-studio/SKILL.md
src/opensquilla/skills/bundled/nano-banana-pro-openrouter/SKILL.md
src/opensquilla/skills/bundled/nano-banana-pro/SKILL.md
src/opensquilla/skills/bundled/nano-pdf/SKILL.md
src/opensquilla/skills/bundled/openrouter-video-generator/SKILL.md
src/opensquilla/skills/bundled/paper-abstract-author/SKILL.md
src/opensquilla/skills/bundled/paper-citation-planner/SKILL.md
src/opensquilla/skills/bundled/paper-experiment-stub/SKILL.md
src/opensquilla/skills/bundled/paper-outline-author/SKILL.md
src/opensquilla/skills/bundled/paper-preference-planner/SKILL.md
src/opensquilla/skills/bundled/paper-refbib-stub/SKILL.md
src/opensquilla/skills/bundled/paper-revision-author/SKILL.md
src/opensquilla/skills/bundled/paper-section-author/SKILL.md
src/opensquilla/skills/bundled/paper-source-curator/SKILL.md
src/opensquilla/skills/bundled/pptx/SKILL.md
src/opensquilla/skills/bundled/seedance-2-prompt/SKILL.md
src/opensquilla/skills/bundled/skill-creator-proposals/SKILL.md
src/opensquilla/skills/bundled/skill-creator-smoke-test/SKILL.md
src/opensquilla/skills/bundled/srt-from-script/SKILL.md
src/opensquilla/skills/bundled/stack-trace-generic-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-go-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-js-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-python-probe/SKILL.md
src/opensquilla/skills/bundled/stack-trace-rust-probe/SKILL.md
src/opensquilla/skills/bundled/subtitle-burner/SKILL.md
src/opensquilla/skills/bundled/swe-bench/SKILL.md
src/opensquilla/skills/bundled/text-file-read/SKILL.md
src/opensquilla/skills/bundled/title-card-image/SKILL.md
src/opensquilla/skills/bundled/video-merger/SKILL.md
src/opensquilla/skills/bundled/video-still-animator/SKILL.md
src/opensquilla/skills/bundled/voice-clone-lab/SKILL.md
src/opensquilla/skills/bundled/voice-conversion-studio/SKILL.md

Metadata

Files
0
Version
186b3c1
Hash
302b1006
Indexed
2026-07-05 18:39

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-04 05:44
浙ICP备14020137号-1 $Гость$