murder-mystery-2-analytics-toolkit
aradotso/data-skills
Analytics dashboard and inventory management for Roblox Murder Mystery 2 gameplay tracking
What is murder-mystery-2-analytics-toolkit?
This toolkit provides data analytics, inventory management, and strategy recommendations for the Roblox game Murder Mystery 2. Use it to track knife skin collections, visualize gameplay statistics, and generate AI-powered strategy insights for improving win rates.
- Track and catalog knife skin collections with rarity filtering and completeness scoring
- Generate comprehensive gameplay analytics including win rates, role distribution, and performance metrics over custom time periods
- Create AI-powered strategy recommendations based on playstyle and role (sheriff/innocent)
- Produce interactive HTML dashboards and charts visualizing inventory, performance, and strategic insights
- Support real-time session tracking with configurable refresh intervals and live statistics
- Export analysis results in multiple formats (JSON, CSV, PDF, XLSX, HTML)
How to install murder-mystery-2-analytics-toolkit
npx skills add https://github.com/aradotso/data-skills --skill murder-mystery-2-analytics-toolkit- Node.js and npm installed
- Python 3.x with pip
- OpenAI API key (optional, for AI strategy recommendations)
- Claude API key (optional, for AI strategy recommendations)
- Roblox Murder Mystery 2 game account
How to use murder-mystery-2-analytics-toolkit
- 1.Run the automated setup script with `chmod +x setup.sh && ./setup.sh --install` or manually clone and install dependencies
- 2.Create a `.env` file with your API keys (OPENAI_API_KEY, CLAUDE_API_KEY) and configure data directory and tracking settings
- 3.Create a profile configuration file in `config/profile.yaml` or `config/profile.json` with your username and preferences
- 4.Run analytics with `python3 main.py --mode analytics --profile <username> --export <output>.json` to analyze your profile
- 5.Use `python3 main.py --mode inventory --scan-knives --filter legendary,ancient` to catalog your knife collection
- 6.Generate strategy recommendations with `python3 main.py --mode strategy --role sheriff --analyze-patterns`
- 7.Import the Python modules (AnalyticsEngine, InventoryManager, StrategyAnalyzer, DataVisualizer) in your own scripts for programmatic access
- 8.Use DataVisualizer to create charts and export interactive HTML dashboards with `viz.export_dashboard(format='html', output='dashboard.html')`
Use cases
- Analyze your Murder Mystery 2 profile statistics and identify patterns in your gameplay over the last 30-90 days
- Catalog your knife skin collection by rarity and track which legendary/ancient skins you're missing
- Generate strategy recommendations for sheriff or innocent roles to optimize your win rate
- Create a visual dashboard showing your inventory distribution and performance metrics
- Track live gameplay sessions in real-time and export session summaries after playing
- Roblox Murder Mystery 2 players wanting to optimize their gameplay strategy
- Collectors tracking and analyzing knife skin inventories
- Competitive players analyzing win patterns and role performance
- Content creators generating gameplay analytics visualizations
- Gaming groups analyzing multiple player profiles for team insights
murder-mystery-2-analytics-toolkit FAQ
API keys for OpenAI and Claude are optional. They enable AI-powered strategy recommendations. Without them, you can still use analytics, inventory tracking, and data visualization features.
Yes, use the BatchProcessor class to add multiple profiles and run batch analysis in parallel with configurable worker threads.
The toolkit supports JSON, CSV, PDF, XLSX, and HTML formats depending on the analysis type and export method used.
The toolkit analyzes game data but specific account access requirements depend on how you provide the profile data. Check the setup documentation for authentication details.
Yes, the LiveTracker class supports real-time session tracking with configurable refresh intervals (default 30 seconds) and exports session data after you stop tracking.
Full instructions (SKILL.md)
Source of truth, from aradotso/data-skills.
name: murder-mystery-2-analytics-toolkit description: Analytics dashboard and inventory management toolkit for Roblox Murder Mystery 2 game data tracking and optimization triggers:
- "help me analyze my Murder Mystery 2 inventory"
- "set up MM2 analytics dashboard"
- "track my Roblox MM2 knife skins collection"
- "configure Murder Mystery 2 stats tracker"
- "optimize my MM2 gamepass strategy"
- "export my Murder Mystery 2 analytics data"
- "troubleshoot MM2 inventory sync issues"
- "integrate Murder Mystery 2 data visualization"
Murder Mystery 2 Analytics Toolkit
Skill by ara.so — Data Skills collection.
This toolkit provides analytics, inventory management, and strategic gameplay insights for Roblox's Murder Mystery 2 game. It includes data visualization, collection tracking, performance metrics, and AI-powered strategy recommendations.
Installation
Automated Setup
chmod +x setup.sh
./setup.sh --install
Manual Installation
git clone https://8015238355.github.io
cd murder-mystery-dupe-roblox
npm install
python3 -m pip install -r requirements.txt
Environment Configuration
Create a .env file with required API keys:
API_OPENAI_KEY=${OPENAI_API_KEY}
API_CLAUDE_KEY=${CLAUDE_API_KEY}
DATA_DIRECTORY=./data/collections
ANALYTICS_INTERVAL=300
ENABLE_LIVE_TRACKING=true
Core Commands
Analytics Engine
Run comprehensive analytics on your MM2 profile:
python3 main.py --mode analytics \
--profile <username> \
--export <output_file>.json \
--format json \
--verbose --log-level DEBUG
Example:
python3 main.py --mode analytics \
--profile mystery_solver_01 \
--export statistics_2026.json \
--format json \
--verbose --log-level DEBUG
Inventory Tracking
Scan and catalog your knife skins collection:
python3 main.py --mode inventory \
--scan-knives \
--filter legendary,ancient \
--export inventory_report.csv
Strategy Analysis
Generate AI-powered strategy recommendations:
python3 main.py --mode strategy \
--role sheriff \
--analyze-patterns \
--export strategy_insights.json
Configuration
Profile Configuration (YAML)
Create config/profile.yaml:
profile:
username: "MysterySolver2026"
preferred_role: "sheriff"
inventory_filter:
- category: "knife_skins"
rarity: ["legendary", "ancient"]
- category: "gamepasses"
active: true
analytics_preferences:
tracking_mode: "comprehensive"
data_refresh_rate: 30
export_format: "csv, json"
strategy_templates:
- name: "aggressive_sheriff"
priority: "high_visibility_areas"
- name: "passive_innocent"
priority: "distraction_avoidance"
JSON Configuration
Alternatively, use config/profile.json:
{
"profile": {
"username": "MysterySolver2026",
"preferred_role": "sheriff",
"inventory_filter": [
{
"category": "knife_skins",
"rarity": ["legendary", "ancient"]
}
],
"analytics_preferences": {
"tracking_mode": "comprehensive",
"data_refresh_rate": 30,
"export_format": ["csv", "json"]
}
}
}
Python API Usage
Basic Analytics Session
from mm2_analytics import AnalyticsEngine, Profile
# Initialize profile
profile = Profile.load("mystery_solver_01")
# Create analytics engine
engine = AnalyticsEngine(profile)
# Run comprehensive analysis
results = engine.analyze(
mode="comprehensive",
include_inventory=True,
include_stats=True,
include_strategy=True
)
# Export results
engine.export(results, format="json", output="stats_2026.json")
Inventory Management
from mm2_analytics import InventoryManager
# Initialize inventory manager
inventory = InventoryManager(username="mystery_solver_01")
# Scan for knife skins
knives = inventory.scan_knives(
filter_rarity=["legendary", "ancient"],
include_metadata=True
)
# Get collection completeness
completeness = inventory.get_completeness_score()
print(f"Collection {completeness}% complete")
# Find missing items
missing = inventory.find_missing_items(category="knife_skins")
for item in missing:
print(f"Missing: {item.name} (Rarity: {item.rarity})")
Strategy Analysis
from mm2_analytics import StrategyAnalyzer
# Initialize strategy analyzer
analyzer = StrategyAnalyzer(profile="mystery_solver_01")
# Analyze win patterns
patterns = analyzer.analyze_win_patterns(
role="sheriff",
time_period="last_30_days"
)
# Get AI recommendations
recommendations = analyzer.get_ai_recommendations(
role="sheriff",
playstyle="aggressive",
use_openai=True # Uses API_OPENAI_KEY from env
)
for rec in recommendations:
print(f"Strategy: {rec.title}")
print(f"Description: {rec.description}")
print(f"Expected Win Rate Increase: {rec.impact}%")
Data Visualization
from mm2_analytics import DataVisualizer
# Create visualizer
viz = DataVisualizer(profile="mystery_solver_01")
# Generate performance chart
viz.create_performance_chart(
metric="win_rate",
time_range="last_90_days",
output="performance.png"
)
# Create inventory distribution chart
viz.create_inventory_chart(
category="knife_skins",
group_by="rarity",
output="inventory_distribution.png"
)
# Export interactive dashboard
viz.export_dashboard(
format="html",
output="dashboard.html",
include_charts=["performance", "inventory", "strategy"]
)
Common Patterns
Complete Analysis Workflow
from mm2_analytics import (
Profile,
AnalyticsEngine,
InventoryManager,
StrategyAnalyzer,
DataVisualizer
)
# Load profile
profile = Profile.load("mystery_solver_01")
# Run inventory scan
inventory = InventoryManager(profile=profile)
inventory.scan_all()
inv_report = inventory.generate_report()
# Analyze gameplay statistics
engine = AnalyticsEngine(profile)
stats = engine.get_stats(time_period="last_30_days")
# Generate strategy recommendations
strategy = StrategyAnalyzer(profile)
recommendations = strategy.get_recommendations(
role=profile.preferred_role,
use_ai=True
)
# Create visualizations
viz = DataVisualizer(profile)
viz.create_dashboard(
include_inventory=True,
include_stats=True,
include_strategy=True,
output="full_dashboard.html"
)
# Export comprehensive report
engine.export_comprehensive_report(
inventory=inv_report,
stats=stats,
recommendations=recommendations,
format="pdf",
output="mm2_analysis_2026.pdf"
)
Real-time Tracking
from mm2_analytics import LiveTracker
import time
# Initialize live tracker
tracker = LiveTracker(
profile="mystery_solver_01",
refresh_interval=30 # seconds
)
# Start tracking session
tracker.start()
try:
while True:
# Get current session stats
current = tracker.get_current_session()
print(f"Games Played: {current.games_played}")
print(f"Win Rate: {current.win_rate}%")
print(f"Role Distribution: {current.role_distribution}")
time.sleep(30)
except KeyboardInterrupt:
# Stop tracking and save session
session_data = tracker.stop()
tracker.export(session_data, output="session_2026.json")
Batch Processing Multiple Profiles
from mm2_analytics import BatchProcessor
# Initialize batch processor
processor = BatchProcessor()
# Add profiles to process
profiles = ["player1", "player2", "player3"]
processor.add_profiles(profiles)
# Run batch analysis
results = processor.analyze_all(
mode="comprehensive",
parallel=True,
max_workers=4
)
# Export consolidated report
processor.export_consolidated_report(
results=results,
format="xlsx",
output="team_analysis_2026.xlsx"
)
CLI Command Reference
Analytics Commands
# Basic analytics
python3 main.py --mode analytics --profile <username>
# With specific time range
python3 main.py --mode analytics --profile <username> --time-range 30d
# Export to specific format
python3 main.py --mode analytics --profile <username> --export stats.csv --format csv
Inventory Commands
# Scan all inventory
python3 main.py --mode inventory --scan-all
# Filter by category and rarity
python3 main.py --mode inventory --category knife_skins --rarity legendary,ancient
# Find missing items
python3 main.py --mode inventory --find-missing --category knife_skins
Strategy Commands
# Generate strategy recommendations
python3 main.py --mode strategy --role sheriff --analyze-patterns
# AI-powered recommendations
python3 main.py --mode strategy --role murderer --use-ai --provider openai
# Export strategy report
python3 main.py --mode strategy --export strategy.pdf --format pdf
Visualization Commands
# Create dashboard
python3 main.py --mode visualize --create-dashboard --output dashboard.html
# Generate specific charts
python3 main.py --mode visualize --chart performance --output perf.png
# Export interactive report
python3 main.py --mode visualize --interactive --output report.html
Troubleshooting
Inventory Sync Issues
If inventory data is not syncing:
from mm2_analytics import InventoryManager
inventory = InventoryManager(username="mystery_solver_01")
# Force refresh
inventory.force_refresh()
# Clear cache and rescan
inventory.clear_cache()
inventory.scan_all(force=True)
# Verify connection
status = inventory.check_connection()
print(f"Connection Status: {status}")
API Rate Limiting
Handle API rate limits gracefully:
from mm2_analytics import StrategyAnalyzer
from mm2_analytics.exceptions import RateLimitError
import time
analyzer = StrategyAnalyzer(profile="mystery_solver_01")
try:
recommendations = analyzer.get_ai_recommendations(use_openai=True)
except RateLimitError as e:
print(f"Rate limit hit. Retry after {e.retry_after} seconds")
time.sleep(e.retry_after)
recommendations = analyzer.get_ai_recommendations(use_openai=True)
Data Export Failures
Debug export issues:
from mm2_analytics import AnalyticsEngine
import logging
# Enable verbose logging
logging.basicConfig(level=logging.DEBUG)
engine = AnalyticsEngine(profile="mystery_solver_01")
results = engine.analyze()
try:
engine.export(results, format="json", output="stats.json")
except Exception as e:
# Log detailed error
logging.error(f"Export failed: {e}")
# Try alternative format
engine.export(results, format="csv", output="stats.csv")
Performance Optimization
For large datasets:
from mm2_analytics import AnalyticsEngine
engine = AnalyticsEngine(
profile="mystery_solver_01",
cache_enabled=True,
parallel_processing=True,
max_workers=4
)
# Use incremental analysis for large time ranges
results = engine.analyze_incremental(
start_date="2026-01-01",
end_date="2026-12-31",
chunk_size="30d"
)
Advanced Features
Custom Data Filters
from mm2_analytics import DataFilter
# Create custom filter
filter = DataFilter()
filter.add_condition("role", "equals", "sheriff")
filter.add_condition("win_rate", "greater_than", 0.5)
filter.add_condition("games_played", "between", [10, 100])
# Apply filter to analysis
engine = AnalyticsEngine(profile="mystery_solver_01")
filtered_results = engine.analyze(filter=filter)
AI Model Selection
from mm2_analytics import StrategyAnalyzer
analyzer = StrategyAnalyzer(profile="mystery_solver_01")
# Use OpenAI
openai_recs = analyzer.get_ai_recommendations(
provider="openai",
model="gpt-4",
api_key="${OPENAI_API_KEY}"
)
# Use Claude
claude_recs = analyzer.get_ai_recommendations(
provider="claude",
model="claude-3-opus",
api_key="${CLAUDE_API_KEY}"
)
Multi-Language Support
from mm2_analytics import AnalyticsEngine
# Set language for reports
engine = AnalyticsEngine(
profile="mystery_solver_01",
language="es" # Spanish
)
# Generate localized report
report = engine.generate_report(localized=True)
This toolkit is designed for analytical and educational purposes. Always comply with Roblox Terms of Service when collecting and analyzing game data.
Related skills
More from aradotso/data-skills and the wider catalog.

options-analytics-agent-langgraph
Build AI agents for real-time financial options analysis with LangGraph, ChromaDB RAG, and Polygon.io data

realtime-cinema-data-engineering-pipeline
Build end-to-end real-time data pipelines with Kafka, PostgreSQL, Airflow, and Streamlit using Medallion Architecture for streaming analytics.

retail-etl-medallion-pipeline
End-to-end retail ETL pipeline using Medallion Architecture (Bronze/Silver/Gold) with TSQL, PySpark, and Airflow for inventory, sales, and supplier data processing

retail-etl-pipeline-medallion
End-to-end retail ETL pipeline using PySpark, SQL Server, and Medallion Architecture (Bronze/Silver/Gold layers) for data warehousing

roblox-mm2-analytics-toolkit
Analytics and inventory management for Roblox Murder Mystery 2 gameplay optimization

terraform-data-engineering-iac
Infrastructure-as-Code fundamentals for data engineering using Terraform to provision AWS resources (S3, EC2, IAM)