# Scoring skill This skill contains deterministic scoring scripts for Agent Jay. All numerical calculations run through these scripts. Jay's role is to gather inputs and interpret results. The scripts do the math. ## Scripts ### confidence_calculator.py Computes confidence scores for consultant-job matches using weighted factors. Accepts structured JSON input, returns score with full breakdown. Logs every calculation to scoring_log.jsonl. Call `calculate_confidence(inputs)` for a single match or `calculate_batch_confidence(list)` for a sorted batch. **Factors and weights:** - Skill match (30%): Percentage of MUST_HAVE skills consultant has - Experience alignment (20%): Years difference from requirement - Posting freshness (15%): Days since posting - Applicant volume (10%): Number of applicants (fewer = better signal) - Vendor tier (10%): Vendor reliability tier - Rate compatibility (10%): Percentage difference from target rate - Red flags (5% penalty): Each flag reduces score **Thresholds:** - 7.0+ = PASS to Rick - 5.0-6.9 = REVIEW (human judgment) - <5.0 = SKIP (low confidence) ## Configuration ### confidence_weights.json Human-editable weights file. Change weights here, not in code. Every weight change should include a reason and timestamp. ### scoring_log.jsonl Append-only audit trail. Every confidence calculation appends a line. Never delete entries. Used for retrospective analysis and validation rule discovery. ## Rules - Never modify scoring scripts without human approval. - Weight changes are logged automatically. - If a script errors, flag it and hold the decision for human review. - Never estimate a score. Always run the script. - Every calculation logged to scoring_log.jsonl with full breakdown.