arckit-score
$
npx mdskill add tractorjuice/arc-kit/arckit-scoreScore vendor proposals against criteria with auditable records.
- Evaluates vendor capabilities using weighted project standards.
- Reads evaluation artifacts, proposals, and global policies.
- Applies a 0-3 rubric to assign capability scores.
- Stores results in structured JSON for audit trails.
SKILL.md
.github/skills/arckit-scoreView on GitHub ↗
---
name: arckit-score
description: "Score vendor proposals against evaluation criteria with persistent structured storage"
---
# Vendor Scoring
You are helping an enterprise architect score vendor proposals against evaluation criteria, compare vendors, and maintain an auditable scoring record.
## User Input
```text
$ARGUMENTS
```
> **Note**: Before generating, scan `projects/` for existing project directories. For each project, list all `ARC-*.md` artifacts, check `external/` for reference documents, and check `000-global/` for cross-project policies. If no external docs exist but they would improve output, ask the user.
## Sub-Actions
Parse the first word of `$ARGUMENTS` to determine which action to perform:
### Action 1: `vendor <name> --project=NNN`
Score a specific vendor against the project's evaluation criteria.
1. **Read the project's EVAL artifact** (evaluation criteria):
- If no EVAL exists, tell the user to run `$arckit-evaluate` first
- Extract all evaluation criteria with their weights and categories
2. **Read vendor proposal** from `projects/{id}/vendors/{vendor-name}/`:
- If the directory doesn't exist, create it
- Read any `.md` or `.pdf` files as vendor proposal content
3. **Read existing scores** from `projects/{id}/vendors/scores.json` (if exists)
4. **Score each criterion** using the 0-3 rubric:
| Score | Meaning | Description |
|-------|---------|-------------|
| 0 | Not Met | No evidence of capability; does not address the criterion |
| 1 | Partially Met | Some evidence but significant gaps remain |
| 2 | Met | Fully addresses the criterion with adequate evidence |
| 3 | Exceeds | Goes beyond requirements with strong differentiation |
5. **For each score, provide:**
- The numeric score (0-3)
- Evidence from the vendor proposal supporting the score
- Any risks or caveats noted
6. **Calculate weighted totals**:
- Use weights from the EVAL criteria (default to equal weighting if none specified)
- `totalWeighted = sum(score * weight) / sum(weight)`
- `totalRaw = sum(scores)`
- `maxPossible = 3 * number_of_criteria`
7. **Write scores** to `projects/{id}/vendors/scores.json`:
```json
{
"projectId": "001",
"lastUpdated": "2026-03-08T10:00:00Z",
"criteria": [
{ "id": "C-001", "name": "Technical Capability", "weight": 0.25, "category": "Technical" }
],
"vendors": {
"acme-cloud": {
"displayName": "Acme Cloud Services",
"scoredDate": "2026-03-08T10:00:00Z",
"scoredBy": "Architecture Team",
"scores": [
{ "criterionId": "C-001", "score": 3, "evidence": "Demonstrated...", "risks": "" }
],
"totalWeighted": 2.45,
"totalRaw": 5,
"maxPossible": 6
}
}
}
```
8. **Output a markdown summary** to console showing all scores with evidence.
### Action 2: `compare --project=NNN`
Generate a side-by-side vendor comparison.
1. **Read** `projects/{id}/vendors/scores.json` — if it doesn't exist or has fewer than 2 vendors, explain what's needed
2. **Output comparison table**:
```markdown
## Vendor Comparison: Project 001
| Criterion | Weight | Acme Cloud | Beta Systems | Gamma Tech |
|-----------|--------|------------|--------------|------------|
| Technical Capability | 25% | 3 | 2 | 2 |
| Security Compliance | 20% | 2 | 3 | 1 |
| **Weighted Total** | | **2.45** | **2.30** | **1.95** |
### Recommendation
**Acme Cloud** scores highest overall (2.45/3.00).
### Risk Summary
- Acme Cloud: [aggregated risks from scoring]
- Beta Systems: [aggregated risks from scoring]
### Sensitivity Analysis
Show how the ranking changes if the top-weighted criterion weight is adjusted by +/- 10%.
```
3. **Include sensitivity analysis**: Vary the weight of each criterion by ±10% to identify which criteria are decisive.
### Action 3: `audit --project=NNN`
Show the scoring audit trail.
1. **Read** `projects/{id}/vendors/scores.json`
2. **Output chronological audit**:
```markdown
## Scoring Audit Trail: Project 001
| Date | Vendor | Scored By | Weighted Score | Criteria Count |
|------|--------|-----------|----------------|----------------|
| 2026-03-08 | Acme Cloud | Architecture Team | 2.45/3.00 | 8 |
| 2026-03-07 | Beta Systems | Architecture Team | 2.30/3.00 | 8 |
```
3. Show total vendors scored, date range, and whether any vendors are missing scores.
### Default (no action specified)
If no recognised action, show usage:
```text
Usage: $arckit-score <action> [options]
Actions:
vendor <name> --project=NNN Score a vendor against evaluation criteria
compare --project=NNN Side-by-side vendor comparison
audit --project=NNN Scoring audit trail
Examples:
$arckit-score vendor "Acme Cloud" --project=001
$arckit-score compare --project=001
$arckit-score audit --project=001
```
## Important Notes
- **Always preserve existing vendor scores** when adding a new vendor — append, don't overwrite
- **Criterion IDs must be consistent** across all vendors in the same project
- **The scores.json validator hook** will warn if weights don't sum to 1.0 or scores are out of range
- **Evidence field is mandatory** — never assign a score without citing supporting evidence from the proposal
## Suggested Next Steps
After completing this command, consider running:
- `$arckit-evaluate` -- Create or update evaluation framework before scoring *(when No EVAL artifact exists for the project)*
- `$arckit-sow` -- Generate Statement of Work for selected vendor *(when Vendor selection complete, ready for procurement)*
More from tractorjuice/arc-kit
- architecture-workflowThis skill should be used when the user asks how to start an architecture project, which ArcKit commands to run and in what order, what workflow to follow, getting started, new project setup, guide me through, or what comes next.
- arckit-adrDocument architectural decisions with options analysis and traceability
- arckit-ai-playbookAssess UK Government AI Playbook compliance for responsible AI deployment
- arckit-analyzePerform comprehensive governance quality analysis across architecture artifacts (requirements, principles, designs, assessments)
- arckit-at-bvergg[COMMUNITY] Generate Austrian public procurement documentation aligned with Bundesvergabegesetz 2018 — Oberschwellen/Unterschwellen determination, ANKÖ publication, BVergGVS secondary rules, and BVwG review pathway
- arckit-at-dsgvo[COMMUNITY] Assess Austrian DSG / DSGVO obligations — Datenschutzbehörde patterns, §§12–13 DSG special provisions, image processing (§12 DSG), and Austrian enforcement practice
- arckit-at-nisg[COMMUNITY] Assess Austrian NISG obligations (BGBl. I Nr. 94/2025) — AT transposition of NIS2, BKA (GovCERT) / BMI (SPOC) reporting, KSÖ coordination, and Austrian sectoral rules for Essential/Important entities
- arckit-atrsGenerate Algorithmic Transparency Recording Standard (ATRS) record for AI/algorithmic tools
- arckit-aws-researchResearch AWS services and architecture patterns using AWS Knowledge MCP for authoritative guidance
- arckit-azure-researchResearch Azure services and architecture patterns using Microsoft Learn MCP for authoritative guidance