lvlup-sw/axiom · Archived

scan

Run deterministic pattern checks against backend code.

First seen Apr 7, 2026

Installation

$ npx skills add lvlup-sw/axiom --skill scan

Summary

  • Run deterministic pattern checks against backend code.
  • Use when you need mechanical detection of known anti-patterns, code smells, or structural issues.
  • Triggers: 'scan code', 'check patterns', 'run checks', or /axiom:scan.
  • Do NOT use for qualitative architecture review — use axiom:critique instead.

Stronger alternatives

This repository is archived — consider an actively maintained alternative.

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from lvlup-sw/axiom.

npx skills add lvlup-sw/axiom

Browse all from lvlup-sw/axiom

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 1
Status Archived

Skill metadata

Parsed from SKILL.md frontmatter.

Version0.1.0
More metadata
author
lvlup-sw
version
0.1.0
category
assessment
dimensions
["pluggable"]

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 5,538 B
  • docs SUMMARY.md 314 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 1 installs

SKILL.md

Scan Skill

Overview

Deterministic check engine that runs grep patterns and structural analysis against backend code. Accepts a scope argument (file path, directory path, or cwd) and a dimensions argument (comma-separated dimension list or "all") to control which checks execute.

This skill performs purely mechanical detection — it matches known patterns, counts structural violations, and reports findings with exact file locations. It does not make qualitative judgments about architecture or design. Other skills (like axiom:critique) handle subjective assessment and invoke scan when they need deterministic evidence.

See @skills/scan/references/check-catalog.md for scan-specific execution guidance including ordering, batching, and exclusions.

Triggers

Activate this skill when:

  • User says "scan code", "check patterns", "run checks", or "detect anti-patterns"
  • User runs /axiom:scan
  • Another axiom skill requests deterministic pattern detection
  • User wants mechanical verification of known code smells

Do not activate this skill when:

  • User wants qualitative architecture review — use axiom:critique instead
  • User wants a full quality audit — use axiom:audit instead
  • User needs subjective design feedback rather than pattern matching

Process

Step 1: Load Check Catalog

Load the canonical check definitions from @skills/backend-quality/references/deterministic-checks.md. This file defines every grep pattern, structural check, and their associated dimensions and severities.

Step 2: Load Project-Specific Checks (Optional)

If .axiom/checks.md exists in the project root, load additional project-specific check definitions. These follow the same format as the canonical catalog and are merged into the check set. If the file does not exist, silently skip this step.

Step 3: Filter by Requested Dimensions

Apply the dimensions argument to filter the merged check set:

  • If dimensions is "all" or omitted, run every check in the catalog
  • If dimensions is a comma-separated list (e.g., "topology,observability"), only run checks tagged with those dimensions
  • Invalid dimension names produce an actionable error message listing valid dimensions

Step 4: Execute Checks

For each check in the filtered set, run the grep or structural pattern against the resolved scope:

  • Execute grep patterns using the exact expressions from the catalog
  • Run structural analysis checks (file counts, nesting depth, import graphs)
  • Collect all matches with file path, line number, and matched content
  • Record checks that produced zero matches as passing

Step 5: Format Findings

Format each match as a finding per @skills/backend-quality/references/findings-format.md. Every finding produced by this skill is marked deterministic: true to distinguish mechanical detections from qualitative assessments.

Step 6: Group and Output

Output findings grouped by dimension, then by severity (HIGH, MEDIUM, LOW) within each dimension. Include:

  • Total checks run and total findings
  • Per-dimension summary with finding counts
  • Individual findings with file location, matched pattern, and remediation hint

Error Handling

  • Invalid patterns: If a grep pattern from the catalog fails to compile or execute, report the specific pattern and error message. Do not silently skip — the user needs to know which check is broken so they can fix the catalog entry.
  • Empty scope: If the resolved scope contains no files to scan (empty directory, nonexistent path), return a "nothing to scan" message with the resolved path. Do not treat this as a failure.
  • Missing .axiom/checks.md: Silently skip project-specific check loading. This file is optional and its absence is expected for projects that have not customized their check set.
  • Permission errors: If a file cannot be read due to permissions, log the file path and continue scanning remaining files.

Output Format

All findings use the standard format from @skills/backend-quality/references/findings-format.md with one addition: every finding includes deterministic: true to signal that it was produced by mechanical pattern matching, not qualitative judgment.

dimension: observability
severity: MEDIUM
deterministic: true
file: src/handlers/query.ts
line: 42
pattern: readEvents
match: "const items = await readEvents(stream)"
remediation: "Move raw event reads out of query handlers — use a read model projection instead"

Anti-Patterns

Don't Do Instead
Make qualitative judgments about matches Report the match and let critique/review skills interpret
Skip checks that produce many matches Report all matches — downstream skills handle prioritization
Suppress false positives silently Report them and let the user tune exclusions in .axiom/checks.md
Run checks outside the requested scope Respect the scope boundary strictly
Invent patterns not in the catalog Only run checks defined in the canonical or project-specific catalogs