AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Esports Theorycrafting Meta Analysis

skill-dungnotnull-esports-theorycrafting-meta-analysis-agent-skill-esports-theorycrafting-meta-analysis-agent-skill · by dungnotnull

Esports Meta-Game Analysis & Theorycrafting Optimization - evidence-backed analysis harness with quality-gated, risk-disclosed output. Use this skill whenever the user asks about esports meta analysis, theorycrafting, hero tier lists, build optimization, counter-strategies, patch analysis, competitive gaming strategies, or wants authoritative esports analytics with academic backing.

No reviews yet
0 installs
22 views
0.0% view→install

Install

$ agentstack add skill-dungnotnull-esports-theorycrafting-meta-analysis-agent-skill-esports-theorycrafting-meta-analysis-agent-skill

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-dungnotnull-esports-theorycrafting-meta-analysis-agent-skill-esports-theorycrafting-meta-analysis-agent-skill)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
2mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Esports Theorycrafting Meta Analysis? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

SKILL Registry - esports-theorycrafting-meta-analysis

Overview

This document defines the complete skill registry, resolution protocol, execution flow, and validation standards for the esports-theorycrafting-meta-analysis harness skill. It serves as the canonical reference for how the skill system operates, how skills are registered, resolved, executed, and validated.

Skill Identity

name: esports-theorycrafting-meta-analysis
version: 1.1.0
domain: Esports Competitive Analysis & Theorycrafting
status: PRODUCTION_READY
architecture: Harness (orchestrator + sub-skills)

Skill Registration Protocol

Registration Schema

Skills are registered via YAML frontmatter in each .md file:

---
name: {skill-identifier}
description: {one-line trigger description}
---

Required fields:

  • name: Unique skill identifier (kebab-case)
  • description: When to trigger, what it does (primary triggering mechanism)

Optional metadata (added to skill card via comments):

  • version: Skill version
  • domain: Domain category
  • compatibility: Required tools/dependencies
  • author: Author attribution

Skill Registry Structure

skills/
├── main.md                      # Main orchestrator (entry point)
├── sub-gather-requirements.md   # Sub-skill 1: Requirements parsing
├── sub-evidence-collector.md    # Sub-skill 2: Evidence collection
├── sub-core-analysis.md         # Sub-skill 3: Core analysis
├── sub-knowledge-updater.md     # Sub-skill 4: Knowledge base query
└── sub-advisor.md               # Sub-skill 5: Advisory synthesis

Skill Resolution Protocol

  1. Trigger Detection: Claude analyzes user input against skill description fields
  2. Skill Selection: Matching skill(s) are loaded into context
  3. Sub-skill Resolution: Main skill invokes sub-skills via Skill() tool calls
  4. Execution Order: Sequential execution following harness protocol

Resolution Logic:

user_query → skill.description_match → skill.load()
main_skill → sub_skill_invocation → sequential_execution

Input/Output JSON Schemas

Main Harness Input Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Free-form analysis query from user",
      "example": "Analyze LoL patch 14.10 jungle meta"
    },
    "audience": {
      "type": "string",
      "enum": ["analyst", "coach", "player", "broadcaster", "researcher", "learner"],
      "default": "analyst",
      "description": "Target audience for the report"
    },
    "language": {
      "type": "string",
      "enum": ["en", "vi"],
      "description": "Output language (auto-detected if not specified)"
    },
    "inputs": {
      "type": "object",
      "properties": {
        "heroes_json": {"type": "string", "description": "Path to heroes data JSON"},
        "matchups_json": {"type": "string", "description": "Path to matchups data JSON"},
        "builds_json": {"type": "string", "description": "Path to builds data JSON"},
        "before_stats_json": {"type": "string", "description": "Path to previous patch stats JSON"}
      }
    }
  },
  "required": ["query"]
}

Requirements Output Schema (Step 1)

{
  "type": "object",
  "properties": {
    "object_of_analysis": {"type": "string"},
    "scope": {"type": "string", "enum": ["meta", "hero", "build", "counter", "patch", "combined"]},
    "timeframe": {"type": "string"},
    "target_audience": {"type": "string"},
    "language": {"type": "string", "enum": ["en", "vi"]},
    "analysis_type": {"type": "string"},
    "keywords": {"type": "array", "items": {"type": "string"}},
    "inputs": {"type": "object"},
    "assumptions": {"type": "array", "items": {"type": "string"}},
    "open_questions": {"type": "array", "items": {"type": "string"}}
  },
  "required": ["object_of_analysis", "language"]
}

Evidence Bundle Output Schema (Step 2)

{
  "type": "object",
  "properties": {
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "source": {"type": "string"},
          "url": {"type": "string", "format": "uri"},
          "tier": {"type": "integer", "enum": [1, 2, 3, 4]},
          "snippet": {"type": "string"},
          "access_date": {"type": "string", "format": "date-time"},
          "relevance_score": {"type": "number", "minimum": 0, "maximum": 10}
        }
      }
    },
    "tier_counts": {"type": "object", "patternProperties": {"^[1-4]$": {"type": "integer"}}},
    "coverage_rating": {"type": "string", "enum": ["Strong", "Moderate", "Weak"]},
    "degradation_level": {"type": "integer", "minimum": 0, "maximum": 4},
    "limitations": {"type": "array", "items": {"type": "string"}},
    "collected_at": {"type": "string", "format": "date-time"}
  },
  "required": ["items", "degradation_level", "coverage_rating"]
}

Core Analysis Output Schema (Step 3)

{
  "type": "object",
  "properties": {
    "hero_stats": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {"type": "string"},
          "win_rate": {"type": "number", "minimum": 0, "maximum": 1},
          "pick_rate": {"type": "number", "minimum": 0, "maximum": 1},
          "ban_rate": {"type": "number", "minimum": 0, "maximum": 1},
          "games": {"type": "integer", "minimum": 0},
          "tier": {"type": "string", "pattern": "^[SABC?]$"},
          "ci": {
            "type": "object",
            "properties": {
              "lower": {"type": "number"},
              "upper": {"type": "number"},
              "center": {"type": "number"},
              "confidence": {"type": "number"}
            }
          }
        }
      }
    },
    "build_rankings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "rank": {"type": "integer"},
          "name": {"type": "string"},
          "effective_dps": {"type": "number"},
          "effective_ehp": {"type": "number"},
          "ttk_vs_reference": {"type": "number"},
          "composite_score": {"type": "number"},
          "synergy": {"type": "number"}
        }
      }
    },
    "counters": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "target": {"type": "string"},
          "counter": {"type": "string"},
          "advantage": {"type": "number"},
          "evidence_games": {"type": "integer", "minimum": 0}
        }
      }
    },
    "patch_deltas": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "name": {"type": "string"},
          "win_rate_before": {"type": "number"},
          "win_rate_after": {"type": "number"},
          "win_rate_delta": {"type": "number"},
          "pick_rate_delta": {"type": "number"},
          "direction": {"type": "string", "enum": ["buff", "nerf", "neutral"]}
        }
      }
    },
    "scenarios": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "label": {"type": "string"},
          "confidence": {"type": "number", "minimum": 0, "maximum": 1},
          "description": {"type": "string"},
          "expected_top_builds": {"type": "array", "items": {"type": "string"}},
          "expected_tier_movements": {"type": "array", "items": {"type": "string"}}
        }
      }
    }
  }
}

Knowledge Query Output Schema (Step 4)

{
  "type": "object",
  "properties": {
    "citations": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "title": {"type": "string"},
          "authors": {"type": "string"},
          "year": {"type": "integer"},
          "venue": {"type": "string"},
          "doi_or_url": {"type": "string"},
          "tier": {"type": "integer", "enum": [1, 2, 3, 4]},
          "relevance": {"type": "string", "enum": ["H", "M", "L"]},
          "key_finding": {"type": "string"}
        }
      }
    },
    "gaps": {"type": "array", "items": {"type": "string"}},
    "coverage": {"type": "string", "enum": ["Strong", "Moderate", "Weak"]}
  }
}

Final Report Output Schema (Step 5-6)

{
  "type": "object",
  "properties": {
    "requirements": {"type": "object"},
    "evidence": {"$ref": "#/definitions/EvidenceBundle"},
    "hero_stats": {"type": "array"},
    "build_rankings": {"type": "array"},
    "counters": {"type": "array"},
    "patch_deltas": {"type": "array"},
    "scenarios": {"type": "array"},
    "knowledge_citations": {"type": "array"},
    "knowledge_gaps": {"type": "array"},
    "coverage_rating": {"type": "string"},
    "degradation_level": {"type": "integer"},
    "limitations": {"type": "array"},
    "risks": {"type": "array"},
    "remediation": {"type": "array"},
    "verdict": {"type": "string", "enum": ["Strong Meta Plan", "Conditional (meta shifting)", "Insufficient Data", "Inconclusive"]},
    "gates": {"type": "array"},
    "language": {"type": "string"},
    "generated_at": {"type": "string", "format": "date-time"}
  },
  "required": ["verdict", "gates", "language", "generated_at"]
}

Skill Execution Protocol

Harness Execution Flow

┌─────────────────────────────────────────────────────────────────┐
│ USER INPUT                                                       │
│ /esports-theorycrafting-meta-analysis "Analyze LoL jungle meta"  │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             v
┌─────────────────────────────────────────────────────────────────┐
│ PRE-FLIGHT: Language Detection                                   │
│ Detect en/vi from diacritics + keywords → LANG                  │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             v
┌─────────────────────────────────────────────────────────────────┐
│ STEP 1: sub-gather-requirements                                  │
│ Input: user query                                                │
│ Internal Gate: At least one object of analysis confirmed         │
│ Output: Requirements object                                      │
│ Auto-fix: Ask up to 2 clarifying questions                      │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             v
┌─────────────────────────────────────────────────────────────────┐
│ STEP 2: sub-evidence-collector                                  │
│ Input: Requirements object                                      │
│ Tool: evidence_collector.py (EvidenceCollector)                 │
│ Internal Gate: Current data + 1 authoritative doc OR flag       │
│ Output: EvidenceBundle (tier-labeled)                           │
│ Auto-fix: Fallback to SECOND-KNOWLEDGE-BRAIN.md, escalate degr.  │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             v
┌─────────────────────────────────────────────────────────────────┐
│ STEP 3: sub-core-analysis                                       │
│ Input: Requirements, EvidenceBundle, optional JSON inputs       │
│ Tool: theorycraft_engine.py                                     │
│ Internal Gates: G1 (formulas+match data), G2 (counters->top5),  │
│                G3 (sources dated + deltas), G4 (Tier =1 academic/authoritative source                │
│ Output: KnowledgeQuery (citations + gaps + coverage)             │
│ Auto-fix: WebSearch gap-fill (max 2 queries)                    │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             v
┌─────────────────────────────────────────────────────────────────┐
│ STEP 5: sub-advisor                                             │
│ Input: All prior outputs                                        │
│ Tool: harness_runner.py: derive_verdict/risks/remediation       │
│ Internal Gate: Verdict ∈ {4 declared categories}, disclosure pre │
│ Output: verdict, scenarios, risks, remediation, evidence chain  │
│ Auto-fix: Force to "Inconclusive" if invalid verdict           │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             v
┌─────────────────────────────────────────────────────────────────┐
│ STEP 6: Quality Gate Review (Main Harness)                      │
│ Input: All outputs, Requirements, EvidenceBundle                │
│ Tool: harness_runner.py:evaluate_gates()                        │
│ Gates: U1-U6 (universal) + G1-G4 (domain) = 10 total           │
│ Output: GateResult[] with pass/fail + limitation notes          │
│ Auto-fix: 2 retry attempts per gate; emit limitation if fail   │
└────────────────────────────┬────────────────────────────────────┘
                             │
                             v
┌─────────────────────────────────────────────────────────────────┐
│ FINAL REPORT                                                     │
│ JSON: logs/harness_report.json                                  │
│ Markdown: logs/harness_report.md                                │
│ Includes: Post-Execution Gate Checklist (U1-U6 + G1-G4)        │
└─────────────────────────────────────────────────────────────────┘

Skill Invocation Patterns

Pattern 1: Main Skill (Entry Point)

User: /esports-theorycrafting-meta-analysis "Analyze LoL patch 14.10"
↓
Claude: Loads skills/main.md
↓
main.md orchestrates Steps 1-6 sequentially

Pattern 2: Sub-Skill Invocation (from main.md)

main.md Step 1:
↓
Skill("sub-gather-requirements")
↓
sub-gather-requirements.md executes
↓
Returns Requirements object

Pattern 3: CLI Execution (bypassing Claude)

python tools/harness_runner.py \
  --query "Analyze LoL patch 14.10 jungle meta" \
  --heroes-json inputs/heroes.json \
  --output-md logs/report.md

Skill Validation Protocol

Validation Levels

  1. Structural Validation (tools/validate_project.py)
  • 8-File Contract compliance
  • Directory structure
  • YAML frontmatter validity
  • UTF-8 encoding (no BOM)
  • Cross-reference consistency
  1. Functional Validation (tests/test_*.py)
  • Unit tests for each module
  • Integration tests for harness
  • End-to-end scenario tests
  1. Quality Gate Validation (runtime)
  • U1-U6 universal gates
  • G1-G4 domain gates
  • Auto-fix attempts
  • Limitation emission

Validation Checklist

Pre-Flight Validation (before skill execution):

  • [ ] All skill files exist (main.md + 5 sub-*.md)
  • [ ] YAML frontmatter valid in all files
  • [ ] SECOND-KNOWLEDGE-BRAIN.md accessible
  • [ ] Python modules compile without syntax errors

Runtime Validation (during skill execution):

  • [ ] Each step completes before next begins
  • [ ] Internal gates pass or auto-fix attempted
  • [ ] Degradation level tracked accurately
  • [ ] Language detection consistent

Post-Execution Validation (after skill execution):

  • [ ] All 10 gates evaluated
  • [ ] Verdict is one of 4 declared categories
  • [ ] Disclosure present before verdict
  • [ ] JSON and Markdown outputs generated
  • [ ] Post-Execution Gate Checklist complete

Validation Error Handling

| Error Type | Detection | Recovery | |------------|-----------|----------| | Missing skill file | File not found | Log error, skip sub-skill, escalate degradation | | Invalid frontmatter | YAML parse error | Use default metadata, log warning | | Internal gate failure | Gate check returns False | Auto-fix (2 retries), then emit limitation | | Verdict invalid | Verdict ∉ {4 categories} | Force to "Inconclusive", flag | | Output write failure | IO error | Log error, return exit code 2 |

Skill Extension Protocol

Adding New Sub-Skills

  1. Create skills/sub-{name}.md with proper frontmatter
  2. Implement correspon

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.