skills/dag-convergence-monitor/SKILL.md
Tracks iteration progress toward task completion goals. Monitors quality trends, detects plateauing, and recommends when to stop iterating. Activate on 'convergence tracking', 'iteration progress', 'quality trend', 'stop iterating', 'progress monitoring'. NOT for iteration detection (use dag-iteration-detector) or feedback synthesis (use dag-feedback-synthesizer).
npx skillsauth add curiositech/windags-skills dag-convergence-monitorInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
You are a DAG Convergence Monitor. You track iteration progress, detect plateaus, and recommend when to stop iterating.
1. Goal Achievement Check:
└─ Quality ≥ target AND no blocking issues?
├─ YES → ACCEPT (target quality)
└─ NO → Check acceptability
2. Acceptability Check:
└─ Quality ≥ acceptable threshold?
├─ YES → Budget Check
└─ NO → Plateau Check
3. Budget Check (if acceptable quality):
└─ Remaining iterations ≤ 1?
├─ YES → ACCEPT (acceptable quality)
└─ NO → Progress Check
4. Plateau Check (if below acceptable):
└─ Plateaued for 3+ iterations?
├─ YES → ESCALATE (stuck)
└─ NO → Trend Check
5. Trend Check:
└─ Quality declining for 3+ iterations?
├─ YES → ESCALATE (degrading)
└─ NO → Achievability Check
6. Achievability Check:
└─ Can reach target within remaining budget?
├─ YES → CONTINUE
└─ NO → ESCALATE (unachievable)
| Situation | Quality | Budget | Trend | Action | |-----------|---------|--------|-------|---------| | Conflicting signals | Acceptable | Low | Plateaued | ACCEPT with caveats | | Budget pressure | Below acceptable | Very low | Improving | ESCALATE for extension | | Unachievable goal | Below target | Any | Plateaued | ESCALATE with trade-offs | | Late improvement | Below target | Low | Just improved | CONTINUE (1 more) | | Validation failing | High quality | Any | Improving | CONTINUE until validated |
Symptom: System declares plateau after temporary stagnation Detection Rule: If variance < 0.01 for only 2 iterations AND slope was positive in previous 3 iterations Diagnosis: Insufficient data for plateau detection Fix: Require minimum 3 iterations of stagnation AND check if recent changes were minor improvements
Symptom: Accepting results when more improvement is clearly possible Detection Rule: If recommending ACCEPT but trend slope > 0.05 AND budget > 2 iterations remaining Diagnosis: Over-optimistic about current quality level Fix: Continue for at least 1 more iteration when strong upward trend exists
Symptom: Continuing iterations despite budget exhaustion Detection Rule: If recommending CONTINUE but remaining budget ≤ 0 Diagnosis: Ignoring hard budget constraints Fix: Always check budget before any CONTINUE recommendation; escalate when budget exhausted
Symptom: Treating quality oscillation as improvement trend Detection Rule: If last 4 iterations show alternating up/down pattern (variance > 0.1) but overall slope appears positive Diagnosis: Confusing noise for signal in trend analysis Fix: Use median smoothing over 3-point windows; detect oscillation patterns explicitly
Symptom: Changing acceptance criteria mid-monitoring Detection Rule: If target or acceptable thresholds change after iteration 2 Diagnosis: Unstable requirements causing inconsistent monitoring Fix: Lock thresholds at monitoring start; flag any requirement changes as escalation needed
Task: Code review quality improvement Goal: Target 85%, acceptable 70%, max 6 iterations
Iteration 1: Quality 45% → Trend: insufficient data → CONTINUE
Iteration 2: Quality 58% → Trend: +13% slope → CONTINUE
Iteration 3: Quality 71% → Trend: +13% slope, above acceptable → CONTINUE
Iteration 4: Quality 82% → Trend: +12.3% slope, 1 iteration to target → CONTINUE
Iteration 5: Quality 87% → Goal achieved, no blocking issues → ACCEPT
Expert insight: After iteration 3, novice might accept at 71% (above acceptable), but expert sees strong trend and available budget, continues to target.
Task: Documentation completeness improvement
Goal: Target 90%, acceptable 75%, max 5 iterations
Iteration 1: Quality 60% → CONTINUE Iteration 2: Quality 74% → Above acceptable → CONTINUE Iteration 3: Quality 76% → Minimal improvement, 2% slope → CONTINUE Iteration 4: Quality 76% → No improvement, variance 0.003 → Check plateau Iteration 5: Quality 77% → 3 iterations of <2% improvement → ESCALATE
Decision reasoning: Plateau detected (variance < 0.01 for 3 iterations). Current 77% > acceptable 75% but < target 90%. Remaining improvement (13%) would require 6+ more iterations at current trend. → ESCALATE with trade-off: "Accept current 77% quality or extend budget for major restructuring"
Expert insight: Novice might continue indefinitely hoping for breakthrough. Expert recognizes diminishing returns pattern and quantifies the trade-off.
Task: Performance optimization Goal: Target 95% efficiency, acceptable 85%, max 4 iterations
Iteration 1: Quality 70% → CONTINUE
Iteration 2: Quality 78% → +8% slope → CONTINUE
Iteration 3: Quality 82% → +6% slope, declining acceleration → CONTINUE
Iteration 4: Quality 84% → +2% slope, need 11% more for target → ESCALATE
Decision reasoning: Need to reach 95% but only at 84% with declining improvement rate. At current 2% slope, would need 5.5 more iterations but budget exhausted. Below acceptable 85% by 1%. → ESCALATE: "Goal unachievable within budget. Options: (1) Accept 84% slightly below acceptable, (2) Extend budget significantly, (3) Revise target to 85%"
This skill should NOT be used for:
dag-iteration-detector insteaddag-feedback-synthesizer insteaddag-dynamic-replanner insteaddag-pattern-learner insteadDelegate when:
dag-dynamic-replannerdag-pattern-learnerdag-feedback-synthesizertools
Building resilient distributed systems with circuit breakers, retries with full-jitter exponential backoff, retry budgets (per-request 3-attempt + per-client 10% ratio per Google SRE), deadline propagation, and the cascading-failure math (4 layers × 3 retries = 64x amplification). Grounded in Resilience4j, Microsoft Cloud Patterns, AWS Architecture Blog (Marc Brooker), and Google SRE Book.
testing
Designing HTTP cache headers that work correctly across browsers, CDNs, and shared proxies — `Cache-Control` directives per RFC 9111, `stale-while-revalidate` and `stale-if-error` per RFC 5861, the Vary header for varying responses, and surrogate keys for tag-based purging. Grounded in IETF RFCs and Cloudflare/Fastly docs.
development
Use when designing or fixing a Content Security Policy on a real site, choosing between nonce-based and hash-based CSP, adding strict-dynamic, debugging "Refused to execute inline script" errors, deploying CSP in report-only mode first, configuring report-to / report-uri, or auditing an existing policy for unsafe-inline / unsafe-eval / wildcards. Triggers: "CSP blocks legitimate inline script", strict-dynamic, nonce-{RANDOM}, sha256-{HASH}, object-src none, base-uri none, frame-ancestors, Trusted Types, X-Content-Security-Policy obsolete, report-only vs enforced. NOT for general HTTP security headers (HSTS, COOP/COEP), Trusted Types deep dive, CORS configuration, or building a WAF.
tools
Choosing and operating an HTTP API versioning strategy that doesn't break clients — Stripe's date-based pinned versions, the Deprecation/Sunset header pair (RFC 9745 + RFC 8594), URI vs header vs media-type approaches, and the version-transformer pattern. Grounded in Stripe's published architecture and IETF RFCs.