Review skills in any project using a dual-axis method: (1) deterministic code-based checks (structure, scripts, tests, execution safety) and (2) LLM deep review findings. Use when you need reproducible quality scoring for `skills/*/SKILL.md`, want to gate merges with a score threshold (for example 90+), or need concrete improvement items for low-scoring skills. Works across projects via --project-root.
70
85%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
Run the dual-axis reviewer script and save reports to reports/.
The script supports:
--project-rootskills-index.yaml production verification declarationsskills/*/SKILL.md.uv (recommended — auto-resolves pyyaml dependency via inline metadata)uv sync --extra dev or equivalent in the target projectDetermine the correct script path based on your context:
skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.py~/.claude/skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.pyThe examples below use REVIEWER as a placeholder. Set it once:
# If reviewing from the same project:
REVIEWER=skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.py
# If reviewing another project (global install):
REVIEWER=~/.claude/skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.pyuv run "$REVIEWER" \
--project-root . \
--emit-llm-prompt \
--output-dir reports/When reviewing a different project, point --project-root to it:
uv run "$REVIEWER" \
--project-root /path/to/other/project \
--emit-llm-prompt \
--output-dir reports/reports/skill_review_prompt_<skill>_<timestamp>.md.uv run "$REVIEWER" \
--project-root . \
--skill <skill-name> \
--llm-review-json <path-to-llm-review.json> \
--auto-weight 0.5 \
--llm-weight 0.5 \
--output-dir reports/--skill <name> or --seed <int>--all--skip-tests--output-dir <dir>--auto-weight for stricter deterministic gating.--llm-weight when qualitative/code-review depth is prioritized.reports/skill_review_<skill>_<timestamp>.jsonreports/skill_review_<skill>_<timestamp>.mdreports/skill_review_prompt_<skill>_<timestamp>.md (when --emit-llm-prompt is enabled)When the target project has a skills-index.yaml entry with a complete verification block, JSON
and Markdown reports also show its declared axes, not_verified gaps, non-applicable axes, and
all_applicable_axes_passed. This section is informational only. It is excluded from auto/LLM/final
scores and does not replace a live high-severity issue check.
To use this skill from any project, symlink it into ~/.claude/skills/:
ln -sfn /path/to/claude-trading-skills/skills/dual-axis-skill-reviewer \
~/.claude/skills/dual-axis-skill-reviewerAfter this, Claude Code will discover the skill in all projects, and the script is accessible at ~/.claude/skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.py.
knowledge_only skills and adjusts script/test expectations to avoid unfair penalties.skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.pyreferences/llm_review_schema.mdreferences/scoring_rubric.mdc894e74
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.