dual-axis-skill-reviewer — Claude Code skill: what it does, install
Reviews skills with deterministic checks and an LLM axis, then combines both into one score. Use it to inspect quality before a merge or find concrete fixes.
npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a claude-codeWhat dual-axis-skill-reviewer does
dual-axis-skill-reviewer checks skill structure, scripts, tests, execution safety, artifact presence, workflow coverage, and test health. It can emit a prompt for an LLM, merge a strict JSON review, and calculate a weighted final score from both axes.
You can select one skill, review all skills with --all, fix selection with --skill or --seed, skip tests, and target another project through --project-root. JSON, Markdown, and optional LLM prompt files go to reports/. A final score below 90 adds improvement items to the Markdown report.
Python 3.9+ is required, and uv is recommended because it resolves the pyyaml dependency through inline metadata. Tests in the target project need uv sync --extra dev or an equivalent command. Check that setup first: the main review flow depends on Python and uv.
What it helps with
- inspect a skill’s structure and scripts
- combine deterministic checks with LLM findings
- calculate a weighted review score
- save JSON, Markdown, and prompt reports
- surface fixes for skills scoring below 90
Example prompts for the agent
- Run
dual-axis-skill-revieweronskills/example/SKILL.md, execute the auto axis, and write the prompt toreports/. - Review every skill in the current project with
--alland skip tests with--skip-tests. - Merge the auto score with the JSON review in
llm-review.jsonfor skillexample, using weights0.5and0.5.
How to install dual-axis-skill-reviewer
1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a claude-code2Manually: put the files in place
~/.claude/skills/dual-axis-skill-reviewer/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/dual-axis-skill-reviewer/
1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a codex2Manually: put the files in place
.agents/skills/dual-axis-skill-reviewer/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a cursor2Manually: put the files in place
.cursor/skills/dual-axis-skill-reviewer/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install tradermonty/claude-trading-skills dual-axis-skill-reviewer2Manually: put the files in place
.github/skills/dual-axis-skill-reviewer/SKILL.md1Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a gemini-cli2Platform CLI
gemini skills install https://github.com/tradermonty/claude-trading-skills --path skills/dual-axis-skill-reviewerManually: put the files in place
.devin/skills/dual-axis-skill-reviewer/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about dual-axis-skill-reviewer
How do I install dual-axis-skill-reviewer in Claude Code?
Run npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a claude-code, then run npx skills add tradermonty/claude-trading-skills --skill dual-axis-skill-reviewer -a claude-code again. The skill file is located at ~/.claude/skills/dual-axis-skill-reviewer/SKILL.md.
What does dual-axis-skill-reviewer do?
It checks structure, scripts, tests, and execution safety, then combines the automated score with LLM review findings. Reports include improvement items when the final score is below 90.
What does dual-axis-skill-reviewer need to run?
It requires Python 3.9+ and recommends uv, which resolves the pyyaml dependency. Tests in the target project use uv sync --extra dev or an equivalent command.
Source text
SKILL.md · MIT
--- name: dual-axis-skill-reviewer description: "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." --- # Dual Axis Skill Reviewer Run the dual-axis reviewer script and save reports to `reports/`. The script supports: - Random or fixed skill selection - Auto-axis scoring with optional test execution - LLM prompt generation - LLM JSON review merge with weighted final score - Cross-project review via `--project-root` - Non-scoring display of `skills-index.yaml` production verification declarations ## When to Use - Need reproducible scoring for one skill in `skills/*/SKILL.md`. - Need improvement items when final score is below 90. - Need both deterministic checks and qualitative LLM code/content review. - Need to review skills in a **different project** from the command line. ## Prerequisites - Python 3.9+ - `uv` (recommended — auto-resolves `pyyaml` dependency via inline metadata) - For tests: `uv sync --extra dev` or equivalent in the target project - For LLM-axis merge: JSON file that follows the LLM review schema (see Resources) ## Workflow Determine the correct script path based on your context: - **Same project**: `skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.py` - **Global install**: `~/.claude/skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.py` The examples below use `REVIEWER` as a placeholder. Set it once: ```bash # 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.py ``` ### Step 1: Run Auto Axis + Generate LLM Prompt ```bash uv run "$REVIEWER" \ --project-root . \ --emit-llm-prompt \ --output-dir reports/ ``` When reviewing a different project, point `--project-root` to it: ```bash uv run "$REVIEWER" \ --project-root /path/to/other/project \ --emit-llm-prompt \ --output-dir reports/ ``` ### Step 2: Run LLM Review - Use the generated prompt file in `reports/skill_review_prompt_<skill>_<timestamp>.md`. - Ask the LLM to return strict JSON output. - When running inside Claude Code, let Claude act as orchestrator: read the generated prompt, produce the LLM review JSON, and save it for the merge step. ### Step 3: Merge Auto + LLM Axes ```bash 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/ ``` ### Step 4: Optional Controls - Fix selection for reproducibility: `--skill <name>` or `--seed <int>` - Review all skills at once: `--all` - Skip tests for quick triage: `--skip-tests` - Change report location: `--output-dir <dir>` - Increase `--auto-weight` for stricter deterministic gating. - Increase `--llm-weight` when qualitative/code-review depth is prioritized. ## Output - `reports/skill_review_<skill>_<timestamp>.json` - `reports/skill_review_<skill>_<timestamp>.md` - `reports/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. ## Installation (Global) To use this skill from any project, symlink it into `~/.claude/skills/`: ```bash ln -sfn /path/to/claude-trading-skills/skills/dual-axis-skill-reviewer \ ~/.claude/skills/dual-axis-skill-reviewer ``` After 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`. ## Resources - Auto axis scores metadata, workflow coverage, execution safety, artifact presence, and test health. - Auto axis detects `knowledge_only` skills and adjusts script/test expectations to avoid unfair penalties. - LLM axis scores deep content quality (correctness, risk, missing logic, maintainability). - Final score is weighted average. - If final score is below 90, improvement items are required and listed in the markdown report. - Script: `skills/dual-axis-skill-reviewer/scripts/run_dual_axis_review.py` - LLM schema: `references/llm_review_schema.md` - Rubric detail: `references/scoring_rubric.md`
© tradermonty · MIT · tradermonty/claude-trading-skills