ahp-weighting
The AHP Weighting skill applies the Analytic Hierarchy Process method to determine relative importance weights across 2 to 9 evaluation dimensions, constructing pairwise comparison matrices using Saaty's 1-9 scale and computing a priority weight vector. Use this when systematically weighting multiple criteria for scoring, ranking, or decision-making tasks where subjective judgments need formalization and consistency validation through calculated consistency ratios.
git clone --depth 1 https://github.com/yogsoth-ai/de-anthropocentric-research-engine /tmp/ahp-weighting && cp -r /tmp/ahp-weighting/skills/ahp-weighting ~/.claude/skills/ahp-weightingSKILL.md
# AHP Weighting
Use the AHP (Analytic Hierarchy Process) to determine scoring-dimension weights, outputting a weight vector.
## HARD-GATE
<HARD-GATE>
- The number of input dimensions must be in the range [2, 9] (AHP applicability range)
- The elements of the output weight vector must sum to 1.0 (±0.001 tolerance allowed)
- The consistency ratio CR must be computed and reported; if CR > 0.1 a warning must be flagged
</HARD-GATE>
## Pipeline
1. **Precondition check**: verify the dimension list is non-empty and its count is in the range [2, 9]
2. **Dimension list confirmation**: output the dimension list for the caller to confirm; if a comparison matrix is already provided, skip to step 4
3. **Pairwise comparison matrix construction**: for each pair of dimensions (i, j) assign a Saaty scale value (1-9); the matrix must satisfy a[j][i] = 1/a[i][j]
4. **Eigenvector computation**: normalize each column then take row means to obtain the priority vector (weights)
5. **Consistency ratio check**: compute the largest eigenvalue λ_max → consistency index CI = (λ_max - n)/(n-1) → CR = CI/RI (look up the Saaty RI table); CR < 0.1 is acceptable
6. **Output**: return the AHPWeights object; if CR > 0.1 attach revision suggestions
## Output Format
```json
{
"dimensions": ["importance", "feasibility", "novelty", "impact"],
"comparison_matrix": [[1, 3, 2, 2], [0.33, 1, 0.5, 0.5], [0.5, 2, 1, 1], [0.5, 2, 1, 1]],
"weights": { "importance": 0.40, "feasibility": 0.15, "novelty": 0.23, "impact": 0.22 },
"lambda_max": 4.02,
"ci": 0.007,
"ri": 0.90,
"cr": 0.008,
"cr_acceptable": true,
"warnings": [],
"revision_suggestions": []
}
```
</output>Experiment-specific - summarize the DARE executor's research design into a clean research_result report, forced to write back into the spec file produced by formated-specs.
Experiment-specific - replaces writing-specs, emits DARE's 4-layer call plan as a clean research_graph schema. Last step forces load formated-result.
loss-1 judge - read a sample's full dialogue and decide whether the user simulator semantically enacted its Policy Card. check-blind.
loss-2 judge - pairwise quality comparison across the n rungs within one topic; decide monotonicity and endpoint separation. check-blind, D1-D5 only.
Strategy: Inference to the best explanation in the face of anomalies
Remove components one by one, observe system changes to reveal hidden
Map system architecture to ablatable units for ablation studies
Design ablation studies to isolate component contributions in ML systems