QUANTITATIVE skill for validating wave deliverables against goal milestones using 0-100% alignment scoring. Prevents scope drift, detects misalignment, enforces goal-wave consistency. Requires goal-management for milestone data. Essential for multi-wave projects to maintain North Star alignment throughout execution.
Scanned 2/12/2026
Install via CLI
openskills install majiayu000/claude-skill-registry---
name: goal-alignment
description: |
QUANTITATIVE skill for validating wave deliverables against goal milestones using
0-100% alignment scoring. Prevents scope drift, detects misalignment, enforces
goal-wave consistency. Requires goal-management for milestone data. Essential for
multi-wave projects to maintain North Star alignment throughout execution.
skill-type: QUANTITATIVE
shannon-version: ">=4.0.0"
# MCP INTEGRATION
mcp-requirements:
required: []
recommended: []
conditional: []
# COMPOSITION
required-sub-skills:
- goal-management
optional-sub-skills:
- wave-orchestration
# PERMISSIONS
allowed-tools: [Serena, Read]
model: sonnet
---
# Goal-Alignment Skill
## Purpose
This skill implements Shannon Framework's quantitative goal-wave alignment validation system. It calculates 0-100% alignment scores between wave deliverables and goal milestones, detects scope drift, and enforces goal consistency throughout wave execution.
**Core Value**: Prevents wasted effort by ensuring every wave delivers against actual goal milestones, not assumed requirements.
## When to Use
Use this skill in these situations:
**MANDATORY (Must Use)**:
- Before wave execution (pre-wave validation)
- After wave completion (post-wave verification)
- When user adds features mid-project (scope drift detection)
- When wave plan created (validate wave-goal alignment)
**RECOMMENDED (Should Use)**:
- Complex projects (complexity >= 0.50)
- Multi-wave projects (>= 3 waves)
- Projects with vague initial goals
**CONDITIONAL (May Use)**:
- Single-wave projects (for goal clarity validation)
- Retrospective analysis (alignment trending over time)
DO NOT rationalize skipping goal-alignment because:
- ❌ "This wave is obviously aligned" → Assumptions cause drift
- ❌ "Goal is simple, no validation needed" → Simple goals still drift
- ❌ "Alignment check is overhead" → 30 seconds vs hours of rework
- ❌ "We're close enough" → "Close" = partial credit = incomplete milestone
- ❌ "User didn't ask for validation" → Alignment is framework responsibility
## Core Competencies
1. **Alignment Scoring**: Calculates 0-100% score between wave deliverables and goal milestones
2. **Drift Detection**: Identifies when waves diverge from goal structure
3. **Scope Monitoring**: Alerts on implicit goal expansion (features not in milestones)
4. **Qualitative Quantification**: Forces vague goals into measurable criteria
5. **Pre/Post Wave Validation**: Quality gates before and after wave execution
6. **Recommendation Engine**: Suggests continue/adjust/halt based on alignment score
## Inputs
**Required:**
- `mode` (string): Operation mode
- `"validate"`: Validate wave-goal alignment (pre-wave)
- `"verify"`: Verify wave deliverables (post-wave)
- `"detect-drift"`: Check for scope drift
- `"quantify"`: Force quantification of qualitative goals
**Mode-Specific Inputs:**
**For "validate" mode (pre-wave)**:
- `wave_number` (integer): Wave being validated
- `wave_deliverables` (array): List of deliverable descriptions
- `goal_id` (string): Active goal from goal-management
**For "verify" mode (post-wave)**:
- `wave_number` (integer): Completed wave
- `actual_deliverables` (array): What was actually delivered
- `goal_id` (string): Active goal
**For "detect-drift" mode**:
- `goal_id` (string): Active goal
- `conversation_context` (optional): Recent messages to scan
**For "quantify" mode**:
- `goal_text` (string): Vague goal to quantify
- `domain` (optional): Project domain for context
## Workflow
### Mode: VALIDATE - Pre-Wave Alignment Check
**Purpose**: Prevent misaligned wave execution by validating BEFORE work begins
**Step 1: Retrieve Active Goal**
- Tool: Serena MCP via goal-management skill
- Action: Load goal with milestones structure
- Validation: Goal exists and has milestones
**Step 2: Extract Wave Deliverables**
- Input: wave_deliverables array (from wave plan)
- Example: ["OAuth 2.0 integration", "User registration UI", "Session management"]
- Normalize: Convert to comparable format
**Step 3: Map Deliverables to Milestones**
- Process: For each deliverable, find best-matching milestone
- Algorithm:
1. Tokenize deliverable and milestone descriptions
2. Calculate semantic similarity (keyword overlap)
3. Score: exact match (1.0), partial match (0.3-0.9), no match (0.0)
4. Map deliverable → milestone with highest score
**Step 4: Calculate Alignment Score**
- Formula:
```
alignment_score = (sum(deliverable_milestone_matches) / count(deliverables)) * 100
Where:
- deliverable_milestone_matches = similarity score per deliverable (0.0-1.0)
- Perfect alignment = 100% (all deliverables map to milestones)
- No alignment = 0% (no deliverables match milestones)
```
**Step 5: Check for Excess Deliverables**
- Detection: Deliverables with NO milestone match (score = 0.0)
- Alert: "⚠️ Wave includes work not in goal: [deliverable_list]"
- Recommendation: "Add milestone OR remove deliverable"
**Step 6: Check for Scope Mismatch**
- Detection: Wave targets wrong milestone
- Example: Wave 2 should deliver "Payments" but targets "Admin Panel"
- Alert: "⚠️ Wave 2 targets Milestone 4, expected Milestone 2"
- Recommendation: "Reorder waves OR update goal milestone sequence"
**Step 7: Generate Recommendation**
- Thresholds:
- alignment >= 90%: **CONTINUE** (green light)
- 70% <= alignment < 90%: **ADJUST** (review deliverables)
- alignment < 70%: **HALT** (major misalignment)
**Step 8: Output Report**
- Display:
- Wave number
- Alignment score (0-100%)
- Deliverable-milestone mapping
- Recommendation (continue/adjust/halt)
- Action items (if adjust/halt)
---
### Mode: VERIFY - Post-Wave Deliverable Check
**Purpose**: Confirm completed wave actually delivered against goal milestone
**Step 1: Retrieve Goal Progress**
- Tool: Serena MCP via goal-management skill
- Load: Current goal state with milestone completion status
**Step 2: Load Wave Deliverables**
- Input: actual_deliverables (what was delivered)
- Example: ["OAuth implemented", "Login UI complete", "Tests passing"]
**Step 3: Validate Milestone Completion**
- Process: Check if deliverables satisfy milestone criteria
- For each deliverable:
1. Map to milestone (same algorithm as validate mode)
2. Check completion criteria met
3. Example: "Tests passing" satisfies "Functional tests pass"
**Step 4: Calculate Deliverable Coverage**
- Formula:
```
coverage_score = (milestones_completed / milestones_targeted) * 100
Where:
- milestones_completed = count of milestones with satisfied criteria
- milestones_targeted = count of milestones wave intended to complete
```
**Step 5: Detect Incomplete Milestones**
- Check: Were all targeted milestones completed?
- Alert: "⚠️ Milestone [name] incomplete: [missing_criteria]"
- Recommendation: "Add follow-up wave OR adjust milestone scope"
**Step 6: Update Goal Progress**
- Action: Mark milestones complete if criteria satisfied
- Tool: goal-management skill update mode
- Trigger: Automatic goal progress recalculation
**Step 7: Output Verification Report**
- Display:
- Wave number
- Coverage score (0-100%)
- Milestones completed
- Milestones incomplete (if any)
- Goal progress update (+X%)
---
### Mode: DETECT-DRIFT - Scope Drift Detection
**Purpose**: Catch implicit scope expansion before it becomes permanent
**Step 1: Load Active Goal**
- Tool: Serena MCP via goal-management
- Load: Goal with original milestone list
**Step 2: Scan Conversation Context**
- Input: Recent messages (last 20-30 messages)
- Search: Feature mentions, new requirements, scope additions
- Example: User says "Add social login" during auth wave
**Step 3: Extract Implicit Features**
- Process: Identify features NOT in original milestones
- Detection patterns:
- "Add [feature]" → New feature mention
- "Also need [feature]" → Scope addition
- "What about [feature]?" → Potential expansion
- Filter: Exclude features already in milestones
**Step 4: Calculate Scope Expansion**
- Formula:
```
expansion_ratio = (new_features / original_milestones) * 100
Thresholds:
- expansion <= 20%: Normal (minor clarifications)
- 20% < expansion <= 50%: Moderate (review recommended)
- expansion > 50%: High (alert required)
```
**Step 5: Generate Drift Alert**
- If expansion > 20%:
- Alert: "⚠️ Scope expanded by X% ([count] new features detected)"
- List: New features not in goal
- Recommendation: "Update goal with /shannon:north_star update"
**Step 6: Recommend Action**
- Options:
1. Update goal: Add new features as milestones (recalculate weights)
2. Defer: Move features to backlog/future goal
3. Reject: Clarify features out of scope
---
### Mode: QUANTIFY - Force Qualitative Quantification
**Purpose**: Convert vague/qualitative goals into measurable criteria
**Step 1: Parse Goal Text**
- Input: Vague goal (e.g., "Make platform more scalable")
- Detection: Identify qualitative terms
- "scalable", "performant", "better", "quality", "good"
- "fast", "reliable", "user-friendly", "robust"
**Step 2: Extract Implicit Metrics**
- Process: Map qualitative term to measurable criteria
- Mapping:
- "scalable" → users/second, requests/second, max concurrent users
- "performant" → response time (ms), throughput (req/s), p95 latency
- "better" → compare current vs target (20% improvement)
- "quality" → test coverage (%), bug density, code review pass rate
- "user-friendly" → task completion time, error rate, user satisfaction score
**Step 3: Prompt for Quantification**
- Action: Ask user to specify metrics
- Example:
```
You said: "Make platform more scalable"
Quantify "scalable":
- Current: 100 concurrent users
- Target: ____ concurrent users?
OR:
- Response time: ____ ms (p95)?
- Throughput: ____ requests/second?
```
**Step 4: Validate Quantified Criteria**
- Check: Numbers provided and testable
- Example: "Support 10,000 concurrent users" → testable via load testing
- Reject: Still vague (e.g., "A lot of users" → not quantified)
**Step 5: Store Quantified Goal**
- Action: Update goal with measurable criteria
- Tool: goal-management skill (update mode)
- Result: Goal milestone with testable completion criteria
**Step 6: Output Quantified Goal**
- Display:
- Original: "Make platform more scalable"
- Quantified: "Support 10,000 concurrent users with p95 < 200ms"
- Success Criteria: "Load test passes with 10K users, p95 latency < 200ms"
---
## Alignment Scoring Algorithm
**Core Formula**:
```
alignment_score = (Σ(deliverable_similarity_i) / count(deliverables)) * 100
Where:
deliverable_similarity_i = keyword_overlap(deliverable_i, best_matching_milestone)
keyword_overlap(A, B) = |tokens(A) ∩ tokens(B)| / |tokens(A) ∪ tokens(B)|
Scores:
- 1.0 = Perfect match (all keywords overlap)
- 0.7-0.9 = Strong match (most keywords overlap)
- 0.3-0.6 = Partial match (some keywords overlap)
- 0.0-0.2 = No match (minimal/no overlap)
```
**Example Calculation**:
Goal milestone: "User Authentication with email/password"
Wave deliverable: "OAuth 2.0 social login"
Tokenization:
- Milestone tokens: {user, authentication, email, password}
- Deliverable tokens: {oauth, social, login}
Overlap:
- Intersection: {login} (authentication ≈ login)
- Union: {user, authentication, email, password, oauth, social, login}
- Similarity: 1 / 7 = 0.14 (14%)
Result: **Poor alignment** (wrong auth type)
**Thresholds**:
- alignment >= 90%: **GREEN** (proceed)
- 70% <= alignment < 90%: **YELLOW** (review)
- alignment < 70%: **RED** (halt)
**Adjustment Factors**:
- Exact feature match: +20% bonus
- Technology stack match: +10% bonus
- Scope overage (extra features): -15% penalty per excess deliverable
---
## Anti-Rationalization Section
**🚨 PROTOCOL ENFORCEMENT 🚨**
This section addresses every rationalization pattern from RED phase baseline:
### Rationalization 1: "This wave is obviously aligned"
**Detection**: Wave plan created without explicit validation
**Violation**: Skip alignment check for "clear" cases
**Counter-Argument**:
- "OAuth = auth" may be wrong (goal needs email/password)
- "Obvious" assumptions cause 40% of wave rework
- Validation cost: 30 seconds. Rework cost: hours
- RED Phase Scenario 1: OAuth delivered when goal needed basic auth
**Protocol**: Validate ALL waves, regardless of perceived clarity. Run alignment scoring.
---
### Rationalization 2: "Goal is simple, no validation needed"
**Detection**: Single-milestone goal, validation skipped
**Violation**: Assume simple goals don't drift
**Counter-Argument**:
- Even 1-milestone goals accumulate scope
- "Simple" goals often vague (no measurable criteria)
- Drift detection catches implicit expansions
- RED Phase Scenario 3: "Add admin panel" never added to goal
**Protocol**: Validate all goals, complexity-independent. Simple goals still need alignment.
---
### Rationalization 3: "Alignment check is overhead"
**Detection**: Time pressure, skip validation to "move faster"
**Violation**: Trade validation for perceived speed
**Counter-Argument**:
- Alignment check: 30 seconds per wave
- Misaligned wave rework: hours to days
- 1 misalignment = 10+ alignment checks time cost
- Prevention cheaper than cure
- RED Phase Scenario 6: Over-engineered enterprise auth wasted time
**Protocol**: Alignment checks are mandatory infrastructure, not optional overhead.
---
### Rationalization 4: "We're close enough"
**Detection**: Alignment score 60-80%, proceed anyway
**Violation**: Accept partial alignment as "good enough"
**Counter-Argument**:
- 70% alignment = 30% wasted effort
- Partial credit ≠ milestone completion
- Goal progress calculation breaks (inflated percentages)
- "Close" compounds over multiple waves (drift accumulates)
- RED Phase Scenario 2: Assumed Stripe = payments (ignored other providers)
**Protocol**: Minimum 90% alignment required. Below threshold triggers review.
---
### Rationalization 5: "User didn't ask for validation"
**Detection**: Wave execution without user-requested validation
**Violation**: Treat alignment as optional feature
**Counter-Argument**:
- Alignment is framework responsibility, not user's job
- Users assume waves match goals (like file saves)
- Shannon Framework mandate: goal-driven execution
- Silent drift = broken contract with user
- RED Phase Scenario 4: Wave 2 executed admin dashboard instead of payments
**Protocol**: Alignment validation is automatic framework behavior, not opt-in feature.
---
### Rationalization 6: "Scope drift is natural evolution"
**Detection**: Features added without goal updates, accepted as normal
**Violation**: Treat scope expansion as inevitable
**Counter-Argument**:
- Scope drift ≠ evolution (evolution is intentional, drift is accidental)
- Untracked scope breaks progress metrics
- Goal completion becomes ambiguous
- Drift hides in "clarifications" and "minor additions"
- RED Phase Scenario 3: Admin panel added, goal never updated (progress stuck)
**Protocol**: All scope changes update goal explicitly. Drift detection alerts on 20%+ expansion.
---
### Enforcement Mechanism
This skill is **QUANTITATIVE** type with mandatory invocation:
- Before wave execution → `validate` mode
- After wave completion → `verify` mode
- Mid-project feature adds → `detect-drift` mode
- Vague goals → `quantify` mode (before goal-management storage)
**Violation Detection**:
If you find yourself thinking:
- "This wave is obviously aligned"
- "Goal is simple, no validation needed"
- "Alignment check is overhead"
- "We're close enough" (< 90% score)
- "User didn't ask for validation"
- "Scope drift is natural"
**STOP**. You are rationalizing. Return to workflow. Run alignment scoring.
---
### Enhanced Anti-Rationalization Rules (From Pressure Testing)
**These rules close loopholes identified during REFACTOR phase adversarial testing:**
1. **No Threshold Rounding**:
- 88% alignment ≠ 90% (no rounding)
- Scores are exact (two decimal places)
- No "close enough" exception
2. **No Similarity Inflation**:
- Similarity = exact keyword overlap only
- Formula: |tokens(A) ∩ tokens(B)| / |tokens(A) ∪ tokens(B)|
- No semantic interpretation ("dashboard = payments" rejected)
3. **No Partial Completion**:
- Milestones are 100% complete OR incomplete
- No "mostly complete" credit
- All criteria must be satisfied
4. **Cumulative Drift Tracking**:
- Track drift across all waves: sum(drift_per_wave)
- Alert if cumulative > 20% (even if individual waves < 20%)
- Store: drift_history in goal metadata
5. **Vague Term Blacklist**:
- Reject: "more", "better", "higher", "a lot", "many", "few"
- Require: Specific numbers (e.g., "10,000 users", "< 100ms")
- Validation: Regex check for numeric values
6. **High Drift Blocks**:
- Drift > 50% prevents next wave execution
- Hard blocker until goal updated
- No "defer update" option
7. **Excess Deliverable Threshold**:
- Similarity < 0.30 = excess deliverable
- Flag for removal OR goal expansion
- No "related work" rationalization
8. **Wave Reordering Detection**:
- Track expected wave sequence
- Alert if executed out of order
- Require validation on reordering
9. **Exact Technology Match**:
- "Stripe" ≠ "PayPal" (no substitution)
- Tech match bonus only for exact match
- Goal-specified tech is mandatory
10. **Drift Persistence**:
- Store drift_per_wave in Serena
- Query cumulative drift before each wave
- Alert on cumulative threshold breach
**Pressure Test Validation**: These rules passed 10/10 adversarial scenarios (REFACTOR phase)
## Outputs
**For "validate" mode:**
```json
{
"success": true,
"mode": "validate",
"wave_number": 2,
"alignment_score": 92,
"threshold": "GREEN",
"recommendation": "CONTINUE",
"deliverable_mapping": [
{
"deliverable": "Stripe integration",
"milestone": "Payment Processing",
"similarity": 0.95,
"status": "aligned"
},
{
"deliverable": "Checkout UI",
"milestone": "Payment Processing",
"similarity": 0.88,
"status": "aligned"
}
],
"excess_deliverables": [],
"action_items": [],
"validation": "Wave 2 aligns with Payment Processing milestone. Proceed."
}
```
**For "verify" mode:**
```json
{
"success": true,
"mode": "verify",
"wave_number": 2,
"coverage_score": 100,
"milestones_completed": ["Payment Processing"],
"milestones_incomplete": [],
"goal_progress_update": {
"before": 40,
"after": 70,
"change": "+30%"
},
"verification": "Wave 2 completed Payment Processing milestone. Goal 70% complete."
}
```
**For "detect-drift" mode:**
```json
{
"success": true,
"mode": "detect-drift",
"drift_detected": true,
"expansion_ratio": 33,
"threshold": "MODERATE",
"new_features": [
"Social login integration",
"Password reset flow",
"Email verification"
],
"original_milestones": 3,
"new_features_count": 1,
"recommendation": "UPDATE_GOAL",
"alert": "⚠️ Scope expanded by 33% (1 new feature detected)",
"action": "Run /shannon:north_star update to add new milestone"
}
```
**For "quantify" mode:**
```json
{
"success": true,
"mode": "quantify",
"original_goal": "Make platform more scalable",
"qualitative_terms": ["scalable"],
"quantified_goal": "Support 10,000 concurrent users with p95 latency < 200ms",
"metrics": [
{
"term": "scalable",
"metric": "concurrent_users",
"target": 10000,
"test_method": "Load testing with JMeter"
},
{
"term": "scalable",
"metric": "p95_latency",
"target": 200,
"unit": "ms",
"test_method": "Performance profiling"
}
],
"success_criteria": "Load test passes with 10K users, p95 < 200ms"
}
```
## Success Criteria
This skill succeeds if:
1. ✅ **Alignment Scored**: All waves validated with 0-100% score before execution
2. ✅ **Drift Detected**: Scope expansion > 20% triggers alert
3. ✅ **Rationalizations Blocked**: "Obviously aligned" assumptions prevented
4. ✅ **Qualitative Goals Quantified**: Vague goals forced into measurable criteria
5. ✅ **Wave-Goal Mapping**: Every deliverable maps to milestone with similarity score
6. ✅ **Recommendations Generated**: continue/adjust/halt based on alignment threshold
Validation:
```python
def validate_goal_alignment(wave, goal):
# Check 1: Alignment score calculated
result = skill.validate(wave_number=wave.number, goal_id=goal.id)
assert "alignment_score" in result
assert 0 <= result["alignment_score"] <= 100
# Check 2: Threshold recommendation
assert result["recommendation"] in ["CONTINUE", "ADJUST", "HALT"]
if result["alignment_score"] >= 90:
assert result["recommendation"] == "CONTINUE"
elif result["alignment_score"] < 70:
assert result["recommendation"] == "HALT"
# Check 3: Deliverable mapping
assert "deliverable_mapping" in result
for mapping in result["deliverable_mapping"]:
assert 0.0 <= mapping["similarity"] <= 1.0
assert mapping["milestone"] in goal.milestones
# Check 4: Drift detection
drift = skill.detect_drift(goal_id=goal.id)
if drift["new_features_count"] > 0:
assert drift["expansion_ratio"] > 0
assert drift["recommendation"] in ["UPDATE_GOAL", "DEFER", "REJECT"]
```
## Common Pitfalls
### Pitfall 1: Accepting Partial Alignment
**Wrong:**
```
Alignment score: 72%
Claude: "Close enough, proceeding with wave."
```
**Right:**
```
Alignment score: 72% (threshold: 70%)
Claude: "⚠️ YELLOW threshold. Review deliverables:
- Deliverable 'Admin UI' has 0.2 similarity to goal milestones
- Recommend: Remove admin UI OR add Admin milestone to goal"
```
**Why**: Partial alignment accumulates drift over multiple waves.
---
### Pitfall 2: Skipping Drift Detection
**Wrong:**
```
User: "Add social login"
Claude: [Adds feature without goal update]
```
**Right:**
```
User: "Add social login"
Claude: [Runs detect-drift]
"⚠️ New feature detected not in goal. Options:
1. Update goal: Add 'Social Login' milestone (+15% weight)
2. Defer: Add to backlog for future goal
3. Reject: Clarify out of scope"
```
**Why**: Untracked scope breaks progress metrics and goal completion clarity.
---
### Pitfall 3: Vague Alignment Reasoning
**Wrong:**
```
Alignment: "Wave 2 seems to match the goal"
[No score, no mapping, subjective assessment]
```
**Right:**
```
Alignment Score: 94%
Mapping:
- "Stripe integration" → "Payment Processing" (0.95 similarity)
- "Checkout UI" → "Payment Processing" (0.88 similarity)
Recommendation: CONTINUE (GREEN threshold)
```
**Why**: Quantitative scoring eliminates subjective "seems like" reasoning.
## Examples
### Example 1: Pre-Wave Validation (GREEN)
**Input:**
```json
{
"mode": "validate",
"wave_number": 1,
"wave_deliverables": [
"Email/password authentication",
"User registration form",
"Login session management"
],
"goal_id": "GOAL-20251103T143000"
}
```
**Goal Context:**
- Milestone 1: "User Authentication" (40% weight)
- Criteria: "Users can register and login via email/password"
**Process:**
1. Load goal milestone
2. Map deliverables:
- "Email/password authentication" → "User Authentication" (similarity: 0.98)
- "User registration form" → "User Authentication" (similarity: 0.92)
- "Login session management" → "User Authentication" (similarity: 0.88)
3. Calculate: (0.98 + 0.92 + 0.88) / 3 = 0.93 = 93%
4. Threshold: 93% >= 90% → GREEN
**Output:**
```json
{
"alignment_score": 93,
"threshold": "GREEN",
"recommendation": "CONTINUE",
"validation": "Wave 1 highly aligned with User Authentication milestone"
}
```
---
### Example 2: Pre-Wave Validation (RED)
**Input:**
```json
{
"mode": "validate",
"wave_number": 2,
"wave_deliverables": [
"Admin dashboard",
"User management UI",
"Analytics dashboard"
],
"goal_id": "GOAL-20251103T143000"
}
```
**Goal Context:**
- Milestone 2: "Payment Processing" (30% weight)
- Criteria: "Users can checkout with credit cards"
**Process:**
1. Map deliverables:
- "Admin dashboard" → "Payment Processing" (similarity: 0.10)
- "User management UI" → "Payment Processing" (similarity: 0.05)
- "Analytics dashboard" → "Payment Processing" (similarity: 0.08)
2. Calculate: (0.10 + 0.05 + 0.08) / 3 = 0.08 = 8%
3. Threshold: 8% < 70% → RED
**Output:**
```json
{
"alignment_score": 8,
"threshold": "RED",
"recommendation": "HALT",
"alert": "⚠️ Wave 2 misaligned with goal",
"action_items": [
"Wave 2 targets admin features, goal expects Payment Processing",
"Reorder: Move admin to later wave",
"OR: Update goal to prioritize admin before payments"
]
}
```
---
### Example 3: Drift Detection
**Input:**
```json
{
"mode": "detect-drift",
"goal_id": "GOAL-20251103T143000",
"conversation_context": [
"User: Add OAuth social login",
"User: Also need password reset",
"User: What about 2FA?"
]
}
```
**Goal Context:**
- Original milestones: 3 (Auth, Payments, Catalog)
- New features detected: 3 (OAuth, password reset, 2FA)
**Process:**
1. Extract: ["OAuth social login", "password reset", "2FA"]
2. Check against milestones: None in original goal
3. Calculate: 3 new / 3 original = 100% expansion
4. Threshold: 100% > 50% → HIGH drift
**Output:**
```json
{
"drift_detected": true,
"expansion_ratio": 100,
"threshold": "HIGH",
"new_features": ["OAuth social login", "password reset", "2FA"],
"alert": "⚠️ Scope expanded by 100% (3 new features)",
"recommendation": "UPDATE_GOAL",
"action": "Add Advanced Auth milestone (20% weight)"
}
```
---
### Example 4: Qualitative Quantification
**Input:**
```json
{
"mode": "quantify",
"goal_text": "Make the platform more performant",
"domain": "web-application"
}
```
**Process:**
1. Detect: "performant" (qualitative)
2. Map to metrics: response time, throughput
3. Prompt user:
```
Quantify "performant":
- Current response time: 500ms (p95)
- Target response time: ____ ms?
OR:
- Throughput: ____ requests/second?
```
4. User provides: "100ms p95, 10K req/s"
5. Store quantified goal
**Output:**
```json
{
"original_goal": "Make the platform more performant",
"quantified_goal": "Achieve p95 response time < 100ms with 10K req/s throughput",
"metrics": [
{
"term": "performant",
"metric": "p95_latency",
"target": 100,
"unit": "ms",
"test_method": "Load testing"
},
{
"term": "performant",
"metric": "throughput",
"target": 10000,
"unit": "req/s",
"test_method": "Performance profiling"
}
],
"success_criteria": "Load tests pass with p95 < 100ms at 10K req/s"
}
```
## Validation
How to verify this skill worked correctly:
1. **Alignment Score Calculated**: Verify 0-100% score present in output
2. **Deliverable Mapping**: Verify each deliverable has similarity score to milestone
3. **Threshold Applied**: Verify recommendation (continue/adjust/halt) matches score
4. **Drift Detected**: Verify scope expansion alerts trigger at 20%+ threshold
5. **Quantification Enforced**: Verify qualitative goals converted to measurable criteria
## Progressive Disclosure
**In SKILL.md** (this file):
- Core alignment workflows (~1000 lines)
- Scoring algorithm
- Anti-rationalization patterns
- Essential examples (validate, verify, detect-drift, quantify)
**In references/** (for deep details):
- `references/ALIGNMENT_ALGORITHM.md`: Complete similarity calculation details
- `references/DRIFT_PATTERNS.md`: Advanced drift detection patterns
- `references/QUANTIFICATION_MAPPINGS.md`: Qualitative→quantitative term mappings
## References
- Core Documentation: `shannon-plugin/core/PHASE_PLANNING.md`
- Related Skills: `@goal-management` (REQUIRED), `@wave-orchestration`
- MCP Setup: N/A (uses Serena MCP via goal-management)
- Commands: `/shannon:wave` (validates pre-wave), `/shannon:north_star` (validates goal changes)
---
**Skill Type**: QUANTITATIVE - Follow alignment scoring algorithm exactly, no subjective adjustments
**Version**: 4.0.0
**Last Updated**: 2025-11-04
**Status**: Core
No comments yet. Be the first to comment!