Scoring ChecksSAFE
Continuously sync your AI setups with one command. Codebase tailor suited agent skills, MCPs and config files for Claude Code, Cursor, and Codex.
Overview
Continuously sync your AI setups with one command. Codebase tailor suited agent skills, MCPs and config files for Claude Code, Cursor, and Codex.
b38062d63a05OBSERVED · 2026-10-10Host compatibility
What the documentation claims. We have not run a compatibility test.
| Host | Status | Notes |
|---|---|---|
| claude-code | mentioned | |
| codex | mentioned | |
| copilot | mentioned | |
| cursor | mentioned |
What it tells the agent
The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.
---
name: scoring-checks
description: Add a new deterministic scoring check in src/scoring/checks/ that evaluates config quality. Follows the Check[] return pattern, uses point constants from src/scoring/constants.ts, and integrates via filterChecksForTarget() in src/scoring/index.ts. Use when user says 'add scoring check', 'new check', 'modify scoring criteria', or works in src/scoring/checks/. Do NOT use for display changes or refactoring scoring logic.
---
# Adding a Scoring Check
Add a new deterministic check that evaluates a single aspect of AI agent config quality. All checks must be filesystem-based with no network calls or LLM inference.
## Critical
- **Check must be deterministic**: Same filesystem state → same result every time. No randomness, no external APIs.
- **Point values come from constants.ts**: Every `earnedPoints` and `maxPoints` must reference `POINTS_*` from `src/scoring/constants.ts`. Do NOT hardcode numbers.
- **Always return `Check[]` array**: Export a function `check<Category>(dir: string): Check[]` where category is one of: `existence`, `quality`, `grounding`, `accuracy`, `freshness`, `bonus`.
- **Every check must have**: `id` (kebab-case, unique), `name`, `category`, `maxPoints`, `earnedPoints`, `passed`, `detail`, and optional `suggestion`/`fix`.
- **Fix object fields**: `action` (string describing what to do), `data` (context for the fix), `instruction` (user-facing guidance).
- **Register in src/scoring/index.ts**: Add the import and spread the result into the `allChecks` array in `computeLocalScore()`.
- **Target filtering**: If the check is platform-specific (Claude-only, Cursor-only, etc.), add its ID to the appropriate `*_ONLY_CHECKS` set in `constants.ts`.
## Instructions
### Step 1: Define point constants in src/scoring/constants.ts
Verify before proceeding: Is your check measurable with a numeric point value?
Add constants below the appropriate category section (existence, quality, grounding, accuracy, freshness, bonus):
```typescript
// In the appropriate CATEGORY section, e.g., Quality checks (25 pts):
export const POINTS_YOUR_CHECK_NAME = 4; // 1-12 pts typical
// If threshold-based, add a companion array:
export const YOUR_THRESHOLD_ARRAY = [
{ minValue: 10, points: 4 },
{ minValue: 5, points: 2 },
] as const;
```
Check existing patterns: Token budgets use `TOKEN_BUDGET_THRESHOLDS`, code blocks use `CODE_BLOCK_THRESHOLDS`, concreteness uses `CONCRETENESS_THRESHOLDS`.
Verify: Review `CATEGORY_MAX` object to ensure your check fits within its category's point budget.
### Step 2: Create or edit check function in src/scoring/checks/
Choose the file based on category. Each file exports a `check<Name>(dir: string): Check[]` function:
- `existence.ts` — files/directories exist (CLAUDE.md, .cursorrules, skills, MCP servers)
- `quality.ts` — config structure, size, clarity (code blocks, token budget, concreteness, duplicates)
- `grounding.ts` — references to actual project files/directory structure
- `accuracy.ts` — validity of references, git-based config drift
- `freshness.ts` — git commit-based staleness, secrets, permissions
- `bonus.ts` — hooks, learned content, OpenSkills format
- `sources.ts` — source configuration and usage
Create the function following this structure:
```typescript
import type { Check } from '../index.js';
import {
POINTS_YOUR_CHECK,
YOUR_THRESHOLD_ARRAY,
} from '../constants.js';
import { readFileOrNull } from '../utils.js'; // or other helpers
export function checkYourCategory(dir: string): Check[] {
const checks: Check[] = [];
// 1. Measure something concrete
const yourMetric = /* e.g., countFiles(), validatePaths(), etc. */;
const threshold = YOUR_THRESHOLD_ARRAY.find(t => yourMetric >= t.minValue);
const earnedPts = threshold?.points ?? 0;
checks.push({
id: 'your_unique_check_id',
name: 'Human-readable check name',
category: 'quality', // matches function context
maxPoints: POINTS_YOUR_CHECK,
earnedPoints: earnedPts,
passed: earnedPts >= Math.ceil(POINTS_YOUR_CHECK * 0.6), // or custom logic
detail: `${earnedPts}/${POINTS_YOUR_CHECK} points — ${yourMetric} items found`,
suggestion: earnedPts >= POINTS_YOUR_CHECK ? undefined : 'Action to improve',
fix: earnedPts >= POINTS_YOUR_CHECK ? undefined : {
action: 'verb_noun', // e.g., 'add_code_blocks', 'fix_references'
data: { currentValue: yourMetric, targetValue: 10 },
instruction: 'Specific, actionable guidance for the user.',
},
});
return checks;
}
```
Verify ID uniqueness: Run `grep -r "'your_unique_check_id'" src/scoring/checks/` — should return only your new check.
### Step 3: Handle platform-specific filtering (if applicable)
If your check only applies to certain agents (Claude, Cursor, Codex, GitHub Copilot), register it in `src/scoring/constants.ts`:
```typescript
// Add to the appropriate set:
export const CLAUDE_ONLY_CHECKS = new Set([
'claude_md_exists',
'your_new_check_id', // ← add here
'claude_rules_exist',
]);
```
Available sets (update exactly one if applicable):
- `CLAUDE_ONLY_CHECKS` — Claude Code targets
- `CURSOR_ONLY_CHECKS` — Cursor targets
- `CODEX_ONLY_CHECKS` — Codex/OpenCode targets
- `COPILOT_ONLY_CHECKS` — GitHub Copilot targets
- `BOTH_ONLY_CHECKS` — Both Claude AND Cursor (cross-platform parity)
- `NON_CODEX_CHECKS` — Everything except Codex/OpenCode
- `CLAUDE_OR_CODEX_CHECKS` — Claude OR Codex
Verify filtering: Examine `filterChecksForTarget()` in `src/scoring/index.ts` to ensure your category will work correctly for your target agents.
### Step 4: Register in src/scoring/index.ts
Import your function at the top:
```typescript
import { checkYourCategory } from './checks/your-file.js';
```
Add to `computeLocalScore()` inside the `allChecks` array initialization:
```typescript
export function computeLocalScore(dir: string, targetAgent?: TargetAgent): ScoreResult {
const target = targetAgent ?? detectTargetAgent(dir);
const allCheTrust audit
SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | NA |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | PASS |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (0)
No findings outside the package's declared scope.
Gates applied: no_behavioural_pass.
b38062d63a05full audit observations/trust-audit/skill/caliber-ai-org__scoring-checks.json · Report an issue / request a re-scanAudit history
Every audit this skill has had.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-10 | b38062d63a05 | SAFE | B | 89 | first audit |
Questions
What does the Scoring Checks skill do?
Continuously sync your AI setups with one command. Codebase tailor suited agent skills, MCPs and config files for Claude Code, Cursor, and Codex.
Is Scoring Checks safe to install?
The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.
What can Scoring Checks access on my machine?
The audit observed no filesystem, network or shell use at all in its source.
Which assistants does Scoring Checks work with?
Its documentation mentions claude-code, codex, copilot and cursor. That is what the text claims, not a compatibility test we ran.
How current is this page?
The grade is for one exact copy of the source (b38062d63a05), read on 2026-10-10. The repository is watched, and a new audit runs when it changes — this is the first audit.