基于 Claude Code 官方 skill-creator,我融入了自己对提示词架构、Skill 架构以及 CLI 工具运行机制的理解,对其进行了全面重构,打造了一个新版 Skill Creator。 在测评环节,我采用 Codex 的 Headless 模式(无需打开图形界面,直接在终端执行)进行了三轮以上的独立对话测试。测试结果显示,新版在各项维度上全面超越原版。
概览
Official original = Claude Code's official skill-creator My Skill Creator Copy = my second iteration Dazhuang Skill Creator = the final version in this repo Dazhuang Skill Creator starts from Claude Code's official skill-creator, then rebuilds it with a stronger view of prompt architecture, skill architecture, and how CLI tool execution actually behaves in real usage. This is not just a wording tweak. I reworked the workflow, structure, bundled resources, and maintenance model so the generated skill is easier to evolve, easier to debug, and easier to collaborate on over time. Update v1.5.0 (2026-04-11): this major memory release introduces memory modes (off / adaptive / lessons / auto), lesson-to-hard-rule promotion, stricter memory invariants in quick_validate.py, and regression coverage for no-rehire behavior. Update v1.5.
README
Dazhuang Skill Creator
Official original = Claude Code’s official
skill-creator
My Skill Creator Copy= my second iteration
Dazhuang Skill Creator= the final version in this repo
Dazhuang Skill Creator starts from Claude Code’s official skill-creator, then rebuilds it with a stronger view of prompt architecture, skill architecture, and how CLI tool execution actually behaves in real usage.
This is not just a wording tweak. I reworked the workflow, structure, bundled resources, and maintenance model so the generated skill is easier to evolve, easier to debug, and easier to collaborate on over time.
Update
v1.5.0(2026-04-11): this major memory release introduces memory modes (off/adaptive/lessons/auto), lesson-to-hard-rule promotion, stricter memory invariants inquick_validate.py, and regression coverage for no-rehire behavior. Updatev1.5.2(2026-04-11): memory judgment is now a required step during scaffold creation; ifautois used without--intentand it currently falls tooff, initialization pauses and asks for explicit intent or explicit mode. Updatev1.5.3(2026-04-11): onboarding friction is reduced.init_skill.pynow prints copy-ready fixes when--pathis missing, andquick_validate.pynow prints copy-ready Step 4 event lines when memory commands are missing. Updatev1.5.4(2026-04-11): fixed three real flow pain points: no more default pointers to missingreferences/examples.md;quick_validate.pynow supports--strict(and packaging uses strict checks by default); memory-judgment wording is now dynamic so explicit modes do not look like re-classification. Updatev1.5.5(2026-04-11): fixed fenced-code heading parsing inquick_validate.py; selecting--resources assetsnow always scaffoldsassets/output-format.md; report/review/table-like tasks now get earlier assets-path guidance during init. Updatev1.5.6(2026-04-11): clarified auto-mode resource completion (lessons/adaptivealways auto-addreferences/+scripts/), and fixed throttled update checks so stale cached versions are no longer shown aslatest. Updatev1.5.7(2026-04-11): the evaluation flow now stops to align the judging standard first. You write an “evaluation proposal” first, then a “formal evaluation plan”; without that plan, benchmark and review now stop by default. Updatev1.5.8(2026-04-11): multi-skill benchmark summaries now show every config, not just the first two; benchmark aggregation now hard-checks eval-to-dimension coverage against the evaluation plan; review also shows required report sections and dimension mapping. Updatev1.5.9(2026-04-11): fixed the big evaluation-entry bug. The first response to any skill-evaluation request must now stop at the alignment proposal; no direct scoring, no direct A/B run, and no direct benchmark before the user confirms the judging scheme.
For evaluation, I used Codex in headless mode - no GUI, no need to open the CLI page, just terminal execution - and ran at least 3 independent conversation tests per benchmark item. The full benchmark standards and archived reports are included in 测评报告/.
If this project is useful to you, please consider giving it a star. For contact or collaboration:
- WeChat:
yinyinGyL - Email:
[email protected]
What Was Benchmarked
1. Five task-type capability comparisons
- A | Content creation - whether prompts, templates, and platform style can be organized into reusable skills
- B | Structured output - whether the skill can follow a strict JSON schema and keep the output stable
- C | Tool research - whether it reads source files, cites evidence, and avoids hand-wavy summaries
- D | Script execution - whether the generated scripts actually run and fail safely when needed
- E | Hybrid orchestration - whether prompt, reference, asset, and script layers work together coherently
2. Five capability archetype comparisons
- Minimal compressed output
- Strict structured output
- Safety judgment
- Template-based abstraction
- Dirty-input normalization
Evaluation Method
- Benchmarks were run with Codex headless mode in the terminal
- Each case was tested with at least 3 independent conversations
- The 3-version capability-archetype benchmark compared:
- Claude Code official
skill-creator My Skill Creator Copyas the second iterationDazhuang Skill Creatoras the final version
- Claude Code official
- The archived reports include:
45 creation runs + 15 baselinesfor the 3-version benchmark30 creation runs + 15 baselinesfor the head-to-head task-type benchmark
- Source directory integrity checks remained clean during benchmarking (
manifest diff = 0)
Evaluation Dimensions
The benchmark scoring rolls up into five top-level dimensions:
- Process efficiency
- Precision
- Product quality
- Actual-use effect
- Stability
Results
Overall conclusion
Dazhuang Skill Creatorranks first in both benchmark sets archived in this repo- In the 3-version capability-archetype benchmark, the final version wins with a total score of
99.43 - In the head-to-head task-type benchmark, the final version beats the official original with a total score of
99.44vs96.20 - The result is a clear overall win, but not a “crushing” win according to the benchmark’s own verdict rule
3-version capability-archetype benchmark
| Version | Total | Actual Use | Process | Precision | Quality | Stability |
|---|---|---|---|---|---|---|
| Dazhuang Skill Creator | 99.43 | 98.64 | 100.00 | 99.53 | 100.00 | 100.00 |
| My Skill Creator Copy | 87.84 | 94.60 | 84.25 | 97.55 | 94.39 | 0.00 |
Claude Code official skill-creator |
87.22 | 98.06 | 77.18 | 100.00 | 90.72 | 0.00 |
Key takeaways:
- Final version leads the runner-up by
11.59points - Final version achieves
100.0downstream semantic accuracy in this benchmark set - Final version is also the smallest of the three by average skill size (
4,290bytes vs7,063and6,613)
5 task-type benchmark: final version vs official original
| Task Type | Official | Dazhuang | Result |
|---|---|---|---|
| A - Content creation | 100.00 | 100.00 | Tie |
| B - Structured output | 100.00 | 100.00 | Tie |
| C - Tool research | 98.89 | 100.00 | Dazhuang leads |
| D - Script execution | 100.00 | 100.00 | Tie |
| E - Hybrid orchestration | 83.72 | 83.82 | Dazhuang leads slightly |
Additional head-to-head results:
- Total score:
99.44vs96.20 - Actual-use effect:
100.00vs98.08 - Process efficiency:
97.74vs89.37 - Downstream semantic accuracy:
96.76vs96.52 - Runtime validation: both versions scored
100.0
Why This Version Is Easier To Maintain
Compared with the original version, this repo puts more emphasis on maintainable structure:
- Keep the main
SKILL.mdcentered on durable rules and workflow - Keep single-file skills inside a fixed section whitelist:
角色,规则,工作流程,例子,输出格式,索引 - Treat
例子as model-facing internal references, not user prompt examples; treat输出格式as model-facing templates - Push long explanations into
references/ - Put reusable templates into
assets/ - Put deterministic or repetitive work into
scripts/ - Keep frequently adjusted defaults in
config.yaml
That makes follow-up iteration much easier. The original version can become hard to modify once generated, while this version is designed to remain editable and team-friendly over time.
Default Strategy For Existing Skills
This repo no longer treats “optimize an existing skill” as “just tweak the description”, and it does not treat refactoring as a separate methodology either.
- Creation and refactoring follow the same blueprint; the difference is whether you start from scratch or reorganize material from an old skill
- First diagnose whether the real issue is triggering, structure, or both
- If the old skill is bloated, scattered, or easy to derail across long contexts, default to structural refactoring so it realigns with the Dazhuang architecture
- Only run trigger eval / description optimization after the skill body itself is structurally sound
- The goal is alignment with the same blueprint, not mechanically forcing every skill into the same template; simple skills can still stay single-file
Project Structure
SKILL.md- the final Dazhuang Skill Creator skill definitionVERSION- the local creator version marker used by the runtime update checkagents/- benchmark and comparison agent promptsreferences/- architecture notes, evaluation workflow, packaging guidance, internal examples, and schemasassets/- model-facing templates, reusable assets, and report templatesscripts/- initialization, validation, update checking, evaluation, optimization, reporting, and packaging toolsconfig.yaml- editable defaults for init, update checking, evaluation, optimization, and packaging测评报告/- archived benchmark reports and screenshots
Quick Start
Install into a Claude Code / Codex / Open Claude skill directory
The recommended install path is git clone, because runtime update checks and auto-update both rely on a real git working tree.
cd
git clone https://github.com/DazhuangJammy/DazhuangSkill-Creator.git
If you ask another AI to install this repo for you, be explicit:
- use
git clone https://github.com/DazhuangJammy/DazhuangSkill-Creator.git - do not just download a zip
- do not just copy the folder contents
- do not remove
.git
Standard prompt for Claude / Codex / other installation-oriented AIs:
Please install this skill into my skill directory, and you must use git clone.
Repository:
https://github.com/DazhuangJammy/DazhuangSkill-Creator.git
Requirements:
1. Use git clone, not a zip download
2. Do not just copy the folder contents
3. Keep the .git directory intact
4. Confirm the installed directory is a normal git working tree
5. If the target directory already exists, tell me first before deciding whether to pull or reinstall
Create a new skill scaffold
On Windows, replace python3 with py -3 (preferred) or python.
One easy-to-miss point:
--pathis not optional in practice. If you do not pass--path, you must setinit_skill.output_pathinconfig.yamlfirst.- For first-run success, explicitly pass
--path ./out, then move it into config later if you want.
python3 scripts/init_skill.py my-skill --path ./out --memory-mode auto --intent "low-risk deterministic task"
If a single-file skill needs extra inline modules, declare them explicitly:
python3 scripts/init_skill.py my-judge-skill --path ./out --sections role,output-format --memory-mode auto --intent "boundary-heavy review task"
If you want references/examples.md to be created on day one, add --examples.
Without --examples, that file is not created and the scaffold will not force a pointer to it.
If you enable --resources assets, the scaffold now always creates assets/output-format.md (independent of --examples).
Memory modes:
off: no memory layerlessons: enable memory pipeline from day one (memory-state+memory-events+memory-lessons)adaptive: start without memory, then auto-enable after repeated runtime frictionauto(default): classify before scaffold creation and chooseoff/adaptive/lessons- Resource auto-completion: if the resolved mode is
lessonsoradaptive, init will auto-addreferences/andscripts/even when they are not explicitly listed in--resources.
Memory-layer judgment is a required step:
- Always decide whether memory is needed, even if the final mode is
off. - Recommended default:
--memory-mode auto --intent "". - If you manually choose
off, include a one-line reason (for example: low risk, low variability, deterministic flow).
These memory_* settings in config.yaml are scaffold defaults for generated skills only; they do not turn on memory for this creator repo itself.
If you want to force memory from day one, enable lessons mode:
python3 scripts/init_skill.py my-review-skill --path ./out --memory-mode lessons
If you want pre-creation auto-classification, provide intent text:
python3 scripts/init_skill.py my-analysis-skill --path ./out --memory-mode auto --intent "high-variance analysis with iterative refinement"
If you want runtime auto-enable, use adaptive mode:
python3 scripts/init_skill.py my-analysis-skill --path ./out --memory-mode adaptive
Both lessons and adaptive add scripts/memory_mode_guard.py, references/memory-state.json, and references/memory-events.jsonl.
lessons: starts with memory enabled; repeated failure signatures are promoted into lessons.adaptive: starts disabled; reaches thresholds, then auto-enables lessons.- In both modes, stable lessons are promoted into a
MEMORY_HARD_RULESblock inside generatedSKILL.md. - Safety rail: if the final setting ends up as
memory_mode=off(via CLI or config) while auto-classification suggests memory should be enabled, initialization now blocks by default. Use--force-memory-offonly when you truly want to override it. - New rail: if you use
memory_mode=autowithout--intentand auto currently falls tooff, initialization now pauses and asks you to either provide intent or choose a mode explicitly.
Validate a skill
python3 scripts/quick_validate.py ./out/my-skill
quick_validate.py now also enforces memory-skill invariants (when memory files are detected): MEMORY_HARD_RULES markers, Step 1/Step 4 guard commands, and required memory runtime files.
For pre-release checks, use strict mode:
python3 scripts/quick_validate.py ./out/my-skill --strict
Strict mode additionally blocks TODO / TBD / placeholder markers and requires non-empty frontmatter description.
package_skill.py now runs strict validation by default before packaging.
If it reports missing Step 4 retry/failure event commands, add these lines inside Step 4 of the target skill:
"/scripts/memory_mode_guard.py" --skill-dir "" --event retry
"/scripts/memory_mode_guard.py" --skill-dir "" --event failure
Manually check creator updates
python3 scripts/check_update.py --force
Refactor an existing skill
- The refactor still follows the same blueprint used for new skills; it just starts by extracting what is worth keeping from the old skill
- First classify the intervention level as
light optimization,structural refactor, orfull overhaul - If the problem is structural bloat, path drift, or losing the main line in long contexts, refactor
SKILL.mdand rebalancereferences/,assets/, andscripts/first - Only move on to the trigger workflow after the structure is stable
Evaluate whether a skill actually got better
The default path is now split into two layers. Do not start by writing eval prompts immediately:
- align the judging standard first
- then run the execution-side evaluation
Hard gate:
- if the user just said “evaluate this skill”, “test with vs without”, or “compare these skills”, the first response must stop at the alignment proposal
- do not jump straight to scoring, A/B results, benchmark, or winner selection before the user confirms the plan
Planning entry points:
references/eval-planning.mdassets/evaluation-alignment-script.mdassets/evaluation-proposal-template.mdassets/evaluation-plan-template.md
Execution entry points:
references/eval-loop.mdreferences/schemas.md
Recommended order:
- write the “evaluation proposal” with
assets/evaluation-proposal-template.md - if you need a ready-made talk track, start from
assets/evaluation-alignment-script.md - align primary direction, secondary direction, weights, dimensions, and out-of-scope items with the human
- write the “formal evaluation plan” with
assets/evaluation-plan-template.md - save it as
evals/eval-plan.json - tag each eval’s
eval_metadata.jsonwithdimension_ids/dimension_labels - run benchmark aggregation
- generate both
review.htmlandreport.html - only then ask the user to read results or make a call
Benchmark and the final HTML artifacts now check for that plan by default:
python3 scripts/aggregate_benchmark.py ./workspace/iteration-1 --skill-path ./out/my-skill --eval-plan ./out/my-skill/evals/eval-plan.json
python3 scripts/generate_eval_artifacts.py ./workspace/iteration-1 --benchmark ./workspace/iteration-1/benchmark.json --eval-plan ./out/my-skill/evals/eval-plan.json
Formal evaluation is only considered complete when both files exist:
review.html: the base evidence workbenchreport.html: the human-friendly full report with plan, prompts, answers, scoring, and conclusion
Even if someone directly runs generate_review.py or generate_report.py, the script now auto-generates the companion HTML by default; if that second file cannot be created, the first file is rolled back and the command fails.
Only use this for old archived results:
--allow-missing-eval-plan
Once a plan exists, benchmark aggregation also hard-checks:
- every eval is tagged with plan-aligned dimensions
- no eval points to dimensions that are not in the plan
- the plan’s key dimensions are actually covered by the eval set
If you compare skill_a / skill_b / skill_c, benchmark markdown and review now render all configs instead of collapsing to only two columns.
Evaluate triggering behavior
This is trigger eval only, not the main path for output-quality or delivery-effect evaluation:
python3 scripts/run_eval.py --eval-set ./path/to/eval-set.json --skill-path ./out/my-skill
Run the optimization loop
Use this only after the skill body is already structurally sound and you are optimizing trigger behavior:
python3 scripts/run_loop.py --eval-set ./path/to/eval-set.json --skill-path ./out/my-skill
Package a skill
python3 scripts/package_skill.py ./out/my-skill ./dist
Runtime Update Check
This repo now ships with a lightweight self-update path that hangs off Step 1 of the creator skill:
- Recommended source:
https://github.com/DazhuangJammy/DazhuangSkill-Creator.git - Recommended install mode:
git cloneinto the target skill directory - Every real invocation of the skill starts by running
scripts/check_update.py - By default it checks the network at most once every
24hours - In throttled mode, JSON exposes the cached remote value as
cached_remote_version;latest_versionis no longer downgraded to an older cached value than local - When a new version is found, it reminds once, then stays quiet until an even newer version appears
- The default config already enables
update_check.auto_update: true; as long as the current install is a clean git clone, the script will trygit pull --ff-only - If the skill was installed by manually copying the folder, or the working tree has local edits, the script falls back to reminder-only mode
- Even after a successful auto-update, the refreshed files fully apply on the next invocation of the skill; the current run continues with the already loaded version
Minimal config:
update_check:
enabled: true
interval_hours: 24
auto_update: true
If you prefer to disable auto-update explicitly:
update_check:
enabled: true
auto_update: false
interval_hours: 24
Benchmark Reports
You can inspect the archived benchmark outputs here:
测评报告/5 个能力原型对比/测评报告/5 个类型性能对比/测评报告/iShot_2026-04-04_12.17.26.png
License
Apache 2.0. See LICENSE and LICENSE.txt.
推荐工具
换一个关键词,或者移除筛选条件。
安装
npx skillfish add dazhuangjammy/dazhuangskill-creator