open-source-quality — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited open-source-quality (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
The codevira repo is open-source. Every commit ends up in git log that future contributors read to learn the codebase. Bad commits = unreadable history = onboarding pain for everyone who comes after.
When this skill triggers, walk through the checklist below BEFORE calling the Bash tool with git commit. Skip a step → commit is not ready.
Every commit message follows: type: short imperative summary
Types:
feat: — new feature (user-visible)fix: — bug fix (user-visible)docs: — documentation onlyrefactor: — code restructure, no behavior changetest: — adding or fixing testschore: — build, tooling, depsrelease: — version bump for publishingperf: — performance improvementstyle: — formatting / whitespaceSubject line:
One logical change per commit. Examples:
If your diff spans 3 unrelated concerns, split into 3 commits before pushing. Use git add -p (interactive staging) or commit-by-file.
Subject is WHAT. Body is WHY.
fix(indexer): single matcher between configure and index
Previously configure used discover_source_files() but index used a
separate hand-rolled matcher in cmd_incremental. They diverged: docs-
only repos passed configure but failed indexing silently.
The split was a latent bug since v1.6 when discover_source_files
landed. Unifying eliminates the entire class of "discovery vs
indexing" mismatches surfaced as Bug A in the 2026-05-15 audit.
Co-Authored-By: <name>Before commit, ALL of these must pass:
make lint # ruff check mcp_server indexer
make format # ruff format (no diff after)
make type-check # mypy mcp_server indexerIf any fails, fix before commit. The .pre-commit-config.yaml hook auto-runs these — bypassing via --no-verify is a discipline breach. Don't.
Every new/changed PUBLIC function or class (no _ prefix) must have:
def my_function(arg1: str, arg2: int = 5) -> dict[str, Any]:
"""One-line summary of what this does.
Longer explanation if needed. Why this exists, when to use it.
Args:
arg1: What this parameter is for.
arg2: What this parameter is for. Defaults to 5.
Returns:
A dict with keys: 'foo' (str), 'bar' (int).
Raises:
ValueError: if arg1 is empty.
Example:
>>> my_function("hello", 3)
{'foo': 'hello', 'bar': 3}
"""Required for every public function. Any is acceptable only with a comment explaining why a more specific type isn't possible.
If you add a tool to mcp_server/tools/*.py:
tools/list. Makeit useful: explain what it returns, when to use it vs alternatives, and what full=true adds (if applicable).
full=true for complete data, fix_command on errors.
mcp_server/server.py AND inmcp_server/tool_visibility.py if it should appear in the AI-facing list (the 23-tool default surface).
Every new error message must answer 3 questions:
WHAT failed: "Cannot read config at /path/to/file"
WHY: "File does not exist"
FIX: "Run `codevira init` to create it, or check the path."Combined: "Cannot read config at /path/to/file: file does not exist. Run codevira init to create it."
The fix_command pattern in codevira's MCP tools is exactly this.
Every user-visible change adds an entry to CHANGELOG.md under ## [Unreleased]:
## [Unreleased]
### Fixed
- (#123) Configure and index now share a single file matcher.
Previously docs-only projects produced 0 chunks silently.
### Added
- ...
### Changed
- ...
### Removed
- ...
### Deprecated
- ...When a release is cut, [Unreleased] is promoted to [X.Y.Z] — YYYY-MM-DD.
Any change to MCP tool signature, CLI flag, or config schema is a potential breaking change. Discipline:
### Deprecated.Example: removing --project-dir flag in favor of --project.
--project is the new spelling; --project-dir still worksbut prints a deprecation warning.
--project-dir is removed.New dependency in pyproject.toml?
Could existing code do it?
permissive license). Run: pip-licenses --packages <new-dep>.
>=1.0,<2.0).### Changed so users see the newtransitive deps coming with their next upgrade.
Before declaring a PR ready for review (or opening one), confirm:
make ci passes locally (lint + test-unit + test-e2e)[Unreleased] has an entry--no-verify bypasses in commitsCodevira is open-source. The biggest contributors don't exist yet — they'll arrive in 6 months and read git log to figure out how to fix bugs. If every commit looks like "updates" with no body, they'll bounce. If every commit follows the discipline above, they'll land a PR in 2 hours instead of 2 days.
This skill enforces the discipline so the open-source story doesn't depend on the founder remembering to do it manually every time.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.