Files
antigravity-skills-reference/categorize_skills.py
sck_0 45844de534 refactor: reorganize repo docs and tooling layout
Consolidate the repository into clearer apps, tools, and layered docs areas so contributors can navigate and maintain it more reliably. Align validation, metadata sync, and CI around the same canonical workflow to reduce drift across local checks and GitHub Actions.
2026-03-06 15:01:38 +01:00

4120 lines
143 KiB
Python

#!/usr/bin/env python3
"""
Script per categorizzare automaticamente le skills nel file skills.json
Basato su pattern matching degli ID delle skills.
"""
import json
import re
from pathlib import Path
from typing import Dict, List, Tuple, Optional
from collections import defaultdict
# Definizione delle categorie e dei pattern di matching
# Ordine importante: le regole più specifiche devono venire prima
CATEGORY_RULES: List[Tuple[str, List[str]]] = [
# AI/ML - molto specifico
("ai-ml", [
r"^agent[-_]",
r"^ai[-_]?",
r"^llm[-_]?",
r"^prompt[-_]?",
r"^rag[-_]?",
r"^embedding[-_]?",
r"^ml[-_]?",
r"^nlp[-_]?",
r"^openai[-_]?",
r"^anthropic[-_]?",
r"langchain",
r"langgraph",
r"langfuse",
r"crewai",
r"^evaluation[-_]?",
r"^inference[-_]?",
r"^fine[-_]?tuning",
r"^vector[-_]?",
r"^similarity[-_]?search",
r"^semantic[-_]?",
r"^transformer[-_]?",
r"^model[-_]?",
r"^chatbot[-_]?",
r"^gpt[-_]?",
r"^claude[-_]?",
r"^gemini[-_]?",
r"^huggingface[-_]?",
r"^training[-_]?",
r"^prediction[-_]?",
r"^classification[-_]?",
r"^clustering[-_]?",
r"^recommendation[-_]?",
]),
# Security/Penetration Testing
("security", [
r"[-_]?pentest",
r"[-_]?security[-_]?",
r"pentesting",
r"[-_]?attack[-_]?",
r"[-_]?exploit[-_]?",
r"[-_]?injection[-_]?",
r"[-_]?scanning[-_]?",
r"[-_]?vulnerability[-_]?",
r"[-_]?malware[-_]?",
r"[-_]?forensics[-_]?",
r"[-_]?hacking[-_]?",
r"[-_]?reversing[-_]?",
r"^active[-_]?directory[-_]?",
r"^windows[-_]?privilege",
r"^linux[-_]?privilege",
r"^privilege[-_]?escalation",
r"^sql[-_]?injection",
r"^xss[-_]?",
r"^idor[-_]?",
r"^csrf[-_]?",
r"^brute[-_]?force",
r"^cryptography[-_]?",
r"^encryption[-_]?",
r"^oauth[-_]?",
r"^auth[-_]?",
r"^firewall[-_]?",
r"^ids[-_]?",
r"^ips[-_]?",
r"^siem[-_]?",
r"^threat[-_]?",
r"^risk[-_]?",
r"^compliance[-_]?audit",
r"^sast[-_]?",
r"^dast[-_]?",
r"^owasp[-_]?",
r"^nessus[-_]?",
r"^nmap[-_]?",
r"^metasploit[-_]?",
r"^burp[-_]?",
r"^wireshark[-_]?",
r"^shodan[-_]?",
r"^cobalt[-_]?",
r"^bloodhound[-_]?",
r"^mimikatz[-_]?",
r"^hashcat[-_]?",
r"^john[-_]?",
r"^hydra[-_]?",
]),
# Frontend/Web Development
("frontend", [
r"^react[-_]?",
r"^nextjs[-_]?",
r"^vue[-_]?",
r"^angular[-_]?",
r"^svelte[-_]?",
r"^frontend[-_]?",
r"^css[-_]?",
r"^tailwind[-_]?",
r"^ui[-_]?",
r"^ux[-_]?",
r"^html[-_]?",
r"^dom[-_]?",
r"^web[-_]?design",
r"^component[-_]?",
r"^layout[-_]?",
r"^responsive[-_]?",
r"^animation[-_]?",
r"^interaction[-_]?",
r"^form[-_]?",
r"^input[-_]?",
r"^button[-_]?",
r"^modal[-_]?",
r"^dropdown[-_]?",
r"^navbar[-_]?",
r"^sidebar[-_]?",
r"^card[-_]?",
r"^grid[-_]?",
r"^flex[-_]?",
r"^theme[-_]?",
r"^style[-_]?",
r"^sass[-_]?",
r"^less[-_]?",
r"^bootstrap[-_]?",
r"^material[-_]?",
r"^mui[-_]?",
r"^chakra[-_]?",
r"^ant[-_]?design",
r"^shadcn[-_]?",
r"^radix[-_]?",
r"^storybook[-_]?",
r"^figma[-_]?",
r"^sketch[-_]?",
r"^adobe[-_]?xd",
r"^webpack[-_]?",
r"^vite[-_]?",
r"^parcel[-_]?",
r"^esbuild[-_]?",
r"^rollup[-_]?",
r"^babel[-_]?",
r"^postcss[-_]?",
r"^autoprefixer[-_]?",
r"^browser[-_]?",
r"^canvas[-_]?",
r"^svg[-_]?",
r"^icon[-_]?",
r"^font[-_]?",
r"^typography[-_]?",
r"^color[-_]?",
r"^gradient[-_]?",
r"^shadow[-_]?",
r"^border[-_]?",
r"^spacing[-_]?",
r"^padding[-_]?",
r"^margin[-_]?",
r"^position[-_]?",
r"^display[-_]?",
r"^float[-_]?",
r"^clear[-_]?",
r"^overflow[-_]?",
r"^z[-_]?index",
r"^opacity[-_]?",
r"^visibility[-_]?",
r"^clip[-_]?",
r"^mask[-_]?",
r"^blend[-_]?",
r"^filter[-_]?",
r"^transform[-_]?",
r"^transition[-_]?",
]),
# Mobile Development
("mobile", [
r"^ios[-_]?",
r"^android[-_]?",
r"^react[-_]?native",
r"^flutter[-_]?",
r"^swift[-_]?",
r"^kotlin[-_]?",
r"^mobile[-_]?",
r"^app[-_]?store",
r"^play[-_]?store",
r"^xcode[-_]?",
r"^android[-_]?studio",
r"^gradle[-_]?",
r"^cocoapods[-_]?",
r"^jetpack[-_]?",
r"^swiftui[-_]?",
r"^uikit[-_]?",
r"^jetpack[-_]?compose",
r"^cordova[-_]?",
r"^ionic[-_]?",
r"^capacitor[-_]?",
r"^expo[-_]?",
r"^native[-_]?script",
]),
# Backend Development
("backend", [
r"^nodejs[-_]?",
r"^express[-_]?",
r"^fastify[-_]?",
r"^koa[-_]?",
r"^nest[-_]?",
r"^django[-_]?",
r"^flask[-_]?",
r"^fastapi[-_]?",
r"^tornado[-_]?",
r"^spring[-_]?",
r"^springboot[-_]?",
r"^laravel[-_]?",
r"^symfony[-_]?",
r"^codeigniter[-_]?",
r"^cakephp[-_]?",
r"^ruby[-_]?on[-_]?rails",
r"^sinatra[-_]?",
r"^phoenix[-_]?",
r"^play[-_]?framework",
r"^akka[-_]?",
r"^ktor[-_]?",
r"^micronaut[-_]?",
r"^quarkus[-_]?",
r"^vert[-_]?x",
r"^gRPC[-_]?",
r"^thrift[-_]?",
r"^soap[-_]?",
r"^xml[-_]?rpc",
r"^rest[-_]?",
r"^json[-_]?rpc",
r"^openapi[-_]?",
r"^swagger[-_]?",
r"^postman[-_]?",
r"^insomnia[-_]?",
r"^hoppscotch[-_]?",
r"^api[-_]?gateway",
r"^kong[-_]?",
r"^zuul[-_]?",
r"^tyk[-_]?",
r"^ambassador[-_]?",
r"^istio[-_]?",
r"^linkerd[-_]?",
r"^envoy[-_]?",
r"^consul[-_]?",
r"^traefik[-_]?",
r"^nginx[-_]?",
r"^haproxy[-_]?",
r"^caddy[-_]?",
r"^apache[-_]?",
r"^tomcat[-_]?",
r"^jetty[-_]?",
r"^undertow[-_]?",
r"^netty[-_]?",
r"^weblogic[-_]?",
r"^websphere[-_]?",
r"^jboss[-_]?",
r"^wildfly[-_]?",
r"^glassfish[-_]?",
r"^payara[-_]?",
r"^backend[-_]?",
r"^server[-_]?side",
r"^microservices[-_]?",
r"^soa[-_]?",
r"^event[-_]?driven",
r"^message[-_]?queue",
r"^message[-_]?broker",
r"^rabbitmq[-_]?",
r"^kafka[-_]?",
r"^activemq[-_]?",
r"^zeromq[-_]?",
r"^nats[-_]?",
r"^pulsar[-_]?",
r"^rocketmq[-_]?",
r"^sqs[-_]?",
r"^sns[-_]?",
r"^eventbridge[-_]?",
r"^kinesis[-_]?",
r"^pub[-_]?sub",
r"^webhook[-_]?",
r"^sse[-_]?",
r"^websocket[-_]?",
r"^socket[-_]?io",
r"^ws[-_]?",
r"^rtc[-_]?",
r"^real[-_]?time",
r"^push[-_]?notification",
r"^polling[-_]?",
r"^long[-_]?polling",
r"^streaming[-_]?",
r"^chunked[-_]?",
r"^buffer[-_]?",
r"^cache[-_]?",
r"^caching[-_]?",
r"^session[-_]?",
r"^cookie[-_]?",
r"^jwt[-_]?",
r"^oauth[-_]?",
r"^oidc[-_]?",
r"^sso[-_]?",
r"^saml[-_]?",
r"^ldap[-_]?",
r"^active[-_]?directory[-_]?auth",
r"^rbac[-_]?",
r"^acl[-_]?",
r"^permission[-_]?",
r"^authorization[-_]?",
r"^authentication[-_]?",
r"^auth[-_]?z",
r"^auth[-_]?n",
r"^rate[-_]?limit",
r"^throttle[-_]?",
r"^quota[-_]?",
r"^circuit[-_]?breaker",
r"^retry[-_]?",
r"^timeout[-_]?",
r"^deadline[-_]?",
r"^backoff[-_]?",
r"^jitter[-_]?",
r"^load[-_]?balancing",
r"^failover[-_]?",
r"^high[-_]?availability",
r"^fault[-_]?tolerance",
r"^resilience[-_]?",
r"^graceful[-_]?degradation",
r"^bulkhead[-_]?",
r"^hedge[-_]?",
r"^sidecar[-_]?",
r"^proxy[-_]?",
r"^reverse[-_]?proxy",
r"^forward[-_]?proxy",
r"^gateway[-_]?",
r"^edge[-_]?",
r"^cdn[-_]?",
r"^origin[-_]?",
r"^s3[-_]?",
r"^blob[-_]?",
r"^object[-_]?storage",
r"^file[-_]?storage",
r"^block[-_]?storage",
r"^nas[-_]?",
r"^san[-_]?",
r"^nfs[-_]?",
r"^smb[-_]?",
r"^cifs[-_]?",
r"^ftp[-_]?",
r"^sftp[-_]?",
r"^ftps[-_]?",
r"^scp[-_]?",
r"^rsync[-_]?",
r"^webdav[-_]?",
r"^s3fs[-_]?",
r"^fuse[-_]?",
r"^mount[-_]?",
r"^volume[-_]?",
r"^disk[-_]?",
r"^partition[-_]?",
r"^raid[-_]?",
r"^lvm[-_]?",
r"^zfs[-_]?",
r"^btrfs[-_]?",
r"^ext[-_]?",
r"^xfs[-_]?",
r"^ntfs[-_]?",
r"^fat[-_]?",
r"^apfs[-_]?",
r"^hfs[-_]?",
r"^ufs[-_]?",
r"^jfs[-_]?",
r"^reiserfs[-_]?",
]),
# Cloud & DevOps
("cloud-devops", [
r"^aws[-_]?",
r"^gcp[-_]?",
r"^azure[-_]?",
r"^cloud[-_]?",
r"^devops[-_]?",
r"^sre[-_]?",
r"^platform[-_]?",
r"^k8s[-_]?",
r"^kubernetes[-_]?",
r"^helm[-_]?",
r"^terraform[-_]?",
r"^pulumi[-_]?",
r"^ansible[-_]?",
r"^puppet[-_]?",
r"^chef[-_]?",
r"^salt[-_]?",
r"^vagrant[-_]?",
r"^packer[-_]?",
r"^docker[-_]?",
r"^container[-_]?",
r"^containerd[-_]?",
r"^cri[-_]?o",
r"^rkt[-_]?",
r"^podman[-_]?",
r"^buildah[-_]?",
r"^skopeo[-_]?",
r"^kaniko[-_]?",
r"^jib[-_]?",
r"^img[-_]?",
r"^lxc[-_]?",
r"^lxd[-_]?",
r"^systemd[-_]?nspawn",
r"^chroot[-_]?",
r"^jail[-_]?",
r"^zone[-_]?",
r"^cgroup[-_]?",
r"^namespace[-_]?",
r"^unionfs[-_]?",
r"^overlayfs[-_]?",
r"^aufs[-_]?",
r"^btrfs[-_]?",
r"^zfs[-_]?",
r"^snapshot[-_]?",
r"^commit[-_]?",
r"^image[-_]?",
r"^layer[-_]?",
r"^registry[-_]?",
r"^harbor[-_]?",
r"^quay[-_]?",
r"^gcr[-_]?",
r"^acr[-_]?",
r"^ecr[-_]?",
r"^dockerhub[-_]?",
r"^ghcr[-_]?",
r"^serverless[-_]?",
r"^faas[-_]?",
r"^lambda[-_]?",
r"^function[-_]?",
r"^api[-_]?gateway[-_]?",
r"^apigateway[-_]?",
r"^cloudfront[-_]?",
r"^cloudflare[-_]?",
r"^fastly[-_]?",
r"^akamai[-_]?",
r"^vercel[-_]?",
r"^netlify[-_]?",
r"^heroku[-_]?",
r"^railway[-_]?",
r"^render[-_]?",
r"^fly[-_]?io",
r"^digitalocean[-_]?",
r"^linode[-_]?",
r"^vultr[-_]?",
r"^ovh[-_]?",
r"^hetzner[-_]?",
r"^scaleway[-_]?",
r"^upcloud[-_]?",
r"^aws[-_]?ec2",
r"^aws[-_]?ecs",
r"^aws[-_]?eks",
r"^aws[-_]?fargate",
r"^gce[-_]?",
r"^gke[-_]?",
r"^aks[-_]?",
r"^ec2[-_]?",
r"^ecs[-_]?",
r"^eks[-_]?",
r"^fargate[-_]?",
r"^lambda[-_]?",
r"^cloud[-_]?run",
r"^cloud[-_]?functions",
r"^azure[-_]?functions",
r"^openfaas[-_]?",
r"^knative[-_]?",
r"^kubeless[-_]?",
r"^fission[-_]?",
r"^nuclio[-_]?",
r"^nuage[-_]?",
r"^os[-_]?",
r"^rancher[-_]?",
r"^openshift[-_]?",
r"^okd[-_]?",
r"^tanzu[-_]?",
r"^anthos[-_]?",
r"^eks[-_]?anywhere",
r"^gke[-_]?on[-_]?prem",
r"^azure[-_]?stack",
r"^aws[-_]?outposts",
r"^hybrid[-_]?cloud",
r"^multi[-_]?cloud",
r"^edge[-_]?computing",
r"^iot[-_]?",
r"^greengrass[-_]?",
r"^iot[-_]?core",
r"^iot[-_]?edge",
r"^iot[-_]?hub",
r"^event[-_]?grid",
r"^event[-_]?hub",
r"^sns[-_]?",
r"^sqs[-_]?",
r"^kinesis[-_]?",
r"^pub[-_]?sub[-_]?",
r"^cloud[-_]?pubsub",
r"^service[-_]?bus",
r"^eventbridge[-_]?",
r"^step[-_]?functions",
r"^sfn[-_]?",
r"^state[-_]?machine",
r"^workflow[-_]?orchestration",
r"^argo[-_]?",
r"^tekton[-_]?",
r"^jenkins[-_]?",
r"^gitlab[-_]?ci",
r"^github[-_]?actions",
r"^circleci[-_]?",
r"^travis[-_]?",
r"^bamboo[-_]?",
r"^teamcity[-_]?",
r"^drone[-_]?",
r"^concourse[-_]?",
r"^spinnaker[-_]?",
r"^flux[-_]?",
r"^flagger[-_]?",
r"^keptn[-_]?",
r"^litmus[-_]?",
r"^chaos[-_]?",
r"^gremlin[-_]?",
r"^chaosmonkey[-_]?",
r"^steadybit[-_]?",
r"^gremlin[-_]?",
r"^pumba[-_]?",
r"^powerfulseal[-_]?",
r"^chaos[-_]?mesh",
r"^litmus[-_]?",
r"^netem[-_]?",
r"^toxiproxy[-_]?",
r"^blockade[-_]?",
r"^istio[-_]?",
r"^linkerd[-_]?",
r"^consul[-_]?connect",
r"^aws[-_]?app[-_]?mesh",
r"^traefik[-_]?mesh",
r"^maesh[-_]?",
r"^kuma[-_]?",
r"^osm[-_]?",
r"^cilium[-_]?",
r"^calico[-_]?",
r"^flannel[-_]?",
r"^weave[-_]?",
r"^cni[-_]?",
r"^cilium[-_]?",
r"^network[-_]?policy",
r"^egress[-_]?",
r"^ingress[-_]?",
r"^load[-_]?balancer",
r"^metal[-_]?lb",
r"^nginx[-_]?ingress",
r"^traefik[-_]?ingress",
r"^haproxy[-_]?ingress",
r"^kong[-_]?ingress",
r"^ambassador[-_]?ingress",
r"^gloo[-_]?",
r"^supergloo[-_]?",
r"^servicecatalog[-_]?",
r"^crossplane[-_]?",
r"^kUDO[-_]?",
r"^operator[-_]?sdk",
r"^kopf[-_]?",
r"^shell[-_]?operator",
r"^helm[-_]?operator",
r"^operator[-_]?lifecycle",
r"^olm[-_]?",
r"^csv[-_]?",
r"^subscription[-_]?",
r"^installplan[-_]?",
r"^catalogsource[-_]?",
r"^packagemanifest[-_]?",
r"^scorecard[-_]?",
r"^bundle[-_]?",
r"^index[-_]?image",
]),
# Database
("database", [
r"^postgres",
r"^mysql",
r"^mongo",
r"^redis",
r"^cassandra",
r"^cockroach",
r"^cockroachdb",
r"^yugabyte",
r"^tidb",
r"^vitess",
r"^planetscale",
r"^neon",
r"^supabase",
r"^fauna",
r"^hasura",
r"^prisma",
r"^drizzle",
r"^sequelize",
r"^typeorm",
r"^mongoose",
r"^jpa",
r"^hibernate",
r"^sql[-_]?",
r"^nosql[-_]?",
r"^db[-_]?",
r"^database[-_]?",
r"^orm[-_]?",
r"^query[-_]?",
r"^index[-_]?",
r"^migration[-_]?",
r"^schema[-_]?",
r"^table[-_]?",
r"^column[-_]?",
r"^row[-_]?",
r"^record[-_]?",
r"^entity[-_]?",
r"^relation[-_]?",
r"^join[-_]?",
r"^transaction[-_]?",
r"^acid[-_]?",
r"^consistency[-_]?",
r"^isolation[-_]?",
r"^durability[-_]?",
r"^locking[-_]?",
r"^concurrency[-_]?",
r"^sharding[-_]?",
r"^partition[-_]?",
r"^replication[-_]?",
r"^failover[-_]?",
r"^backup[-_]?",
r"^restore[-_]?",
r"^dump[-_]?",
r"^import[-_]?",
r"^export[-_]?",
r"^etl[-_]?",
r"^elt[-_]?",
r"^cdc[-_]?",
r"^change[-_]?data[-_]?capture",
r"^wal[-_]?",
r"^write[-_]?ahead[-_]?log",
r"^binlog[-_]?",
r"^redo[-_]?log",
r"^undo[-_]?log",
r"^checkpoint[-_]?",
r"^vacuum[-_]?",
r"^analyze[-_]?",
r"^optimize[-_]?",
r"^defragment[-_]?",
r"^rebuild[-_]?",
r"^reorganize[-_]?",
r"^compact[-_]?",
r"^compress[-_]?",
r"^encrypt[-_]?",
r"^tde[-_]?",
r"^transparent[-_]?data[-_]?encryption",
r"^ssl[-_]?",
r"^tls[-_]?",
r"^certificate[-_]?",
r"^auth[-_]?",
r"^rbac[-_]?",
r"^row[-_]?level[-_]?security",
r"^rls[-_]?",
r"^view[-_]?",
r"^materialized[-_]?view",
r"^trigger[-_]?",
r"^stored[-_]?procedure",
r"^function[-_]?",
r"^cursor[-_]?",
r"^sequence[-_]?",
r"^identity[-_]?",
r"^auto[-_]?increment",
r"^uuid[-_]?",
r"^guid[-_]?",
r"^primary[-_]?key",
r"^foreign[-_]?key",
r"^unique[-_]?key",
r"^composite[-_]?key",
r"^natural[-_]?key",
r"^surrogate[-_]?key",
r"^candidate[-_]?key",
r"^alternate[-_]?key",
r"^super[-_]?key",
r"^minimal[-_]?superkey",
r"^normalization[-_]?",
r"^denormalization[-_]?",
r"^first[-_]?normal[-_]?form",
r"^second[-_]?normal[-_]?form",
r"^third[-_]?normal[-_]?form",
r"^bcnf[-_]?",
r"^fourth[-_]?normal[-_]?form",
r"^fifth[-_]?normal[-_]?form",
r"^dknf[-_]?",
r"^domain[-_]?key[-_]?normal[-_]?form",
r"^sixth[-_]?normal[-_]?form",
r"^join[-_]?dependency",
r"^multivalued[-_]?dependency",
r"^functional[-_]?dependency",
r"^transitive[-_]?dependency",
r"^partial[-_]?dependency",
r"^full[-_]?functional[-_]?dependency",
r"^trivial[-_]?dependency",
r"^non[-_]?trivial[-_]?dependency",
r"^armstrong[-_]?axiom",
r"^closure[-_]?",
r"^canonical[-_]?cover",
r"^minimal[-_]?cover",
r"^redundant[-_]?attribute",
r"^extraneous[-_]?attribute",
r"^decomposition[-_]?",
r"^lossless[-_]?join",
r"^dependency[-_]?preservation",
r"^chase[-_]?algorithm",
r"^tableau[-_]?",
r"^fd[-_]?",
r"^mvd[-_]?",
r"^jdep[-_]?",
r"^ind[-_]?",
r"^inclusion[-_]?dependency",
r"^eq[-_]?",
r"^equality[-_]?generating[-_]?dependency",
r"^tgd[-_]?",
r"^tuple[-_]?generating[-_]?dependency",
r"^egd[-_]?",
r"^embedded[-_]?dependency",
r"^full[-_]?dependency",
r"^embedded[-_]?multivalued[-_]?dependency",
r"^nested[-_]?multivalued[-_]?dependency",
r"^acyclic[-_]?schema",
r"^alpha[-_]?acyclic",
r"^beta[-_]?acyclic",
r"^gamma[-_]?acyclic",
r"^berge[-_]?acyclic",
r"^ Graham[-_]?reduction",
r"^gyo[-_]?algorithm",
r"^hypergraph[-_]?",
r"^join[-_]?tree",
r"^connected[-_]?component",
r"^biconnected[-_]?component",
r"^triconnected[-_]?component",
r"^block[-_]?cut[-_]?vertex[-_]?tree",
r"^spqr[-_]?tree",
r"^modular[-_]?decomposition",
r"^split[-_]?decomposition",
r"^cograph[-_]?",
r"^permutation[-_]?graph",
r"^comparability[-_]?graph",
r"^interval[-_]?graph",
r"^chordal[-_]?graph",
r"^perfect[-_]?graph",
r"^threshold[-_]?graph",
r"^split[-_]?graph",
r"^cograph[-_]?",
r"^pq[-_]?tree",
r"^pc[-_]?tree",
r"^uq[-_]?tree",
r"^mdd[-_]?",
r"^multi[-_]?valued[-_]?decision[-_]?diagram",
r"^bdd[-_]?",
r"^binary[-_]?decision[-_]?diagram",
r"^ro[-_]?bdd",
r"^reduced[-_]?ordered[-_]?bdd",
r"^zdd[-_]?",
r"^zero[-_]?suppressed[-_]?bdd",
r"^fbdd[-_]?",
r"^free[-_]?bdd",
r"^obdd[-_]?",
r"^ordered[-_]?bdd",
r"^sbdd[-_]?",
r"^shared[-_]?bdd",
r"^tbdd[-_]?",
r"^tagged[-_]?bdd",
r"^index[-_]?structure",
r"^b[-_]?tree[-_]?",
r"^b[+-]?tree[-_]?",
r"^btree[-_]?",
r"^lsm[-_]?tree[-_]?",
r"^log[-_]?structured[-_]?merge[-_]?tree",
r"^sstable[-_]?",
r"^sorted[-_]?string[-_]?table",
r"^memtable[-_]?",
r"^immutable[-_]?memtable",
r"^flush[-_]?",
r"^compaction[-_]?",
r"^leveled[-_]?compaction",
r"^tiered[-_]?compaction",
r"^size[-_]?tiered[-_]?compaction",
r"^time[-_]?tiered[-_]?compaction",
r"^date[-_]?tiered[-_]?compaction",
r"^fifo[-_]?compaction",
r"^universal[-_]?compaction",
r"^incremental[-_]?compaction",
r"^partial[-_]?compaction",
r"^subcompaction[-_]?",
r"^parallel[-_]?compaction",
r"^online[-_]?compaction",
r"^offline[-_]?compaction",
r"^manual[-_]?compaction",
r"^automatic[-_]?compaction",
r"^scheduled[-_]?compaction",
r"^triggered[-_]?compaction",
r"^adaptive[-_]?compaction",
r"^dynamic[-_]?compaction",
r"^static[-_]?compaction",
r"^heuristic[-_]?compaction",
r"^learning[-_]?based[-_]?compaction",
r"^ml[-_]?driven[-_]?compaction",
r"^ai[-_]?powered[-_]?compaction",
r"^neural[-_]?compaction",
r"^deep[-_]?compaction",
r"^reinforcement[-_]?learning[-_]?compaction",
r"^genetic[-_]?algorithm[-_]?compaction",
r"^simulated[-_]?annealing[-_]?compaction",
r"^particle[-_]?swarm[-_]?compaction",
r"^ant[-_]?colony[-_]?compaction",
r"^bee[-_]?colony[-_]?compaction",
r"^firefly[-_]?algorithm[-_]?compaction",
r"^bat[-_]?algorithm[-_]?compaction",
r"^cuckoo[-_]?search[-_]?compaction",
r"^harmony[-_]?search[-_]?compaction",
r"^memetic[-_]?algorithm[-_]?compaction",
r"^cultural[-_]?algorithm[-_]?compaction",
r"^differential[-_]?evolution[-_]?compaction",
r"^evolutionary[-_]?strategy[-_]?compaction",
r"^covariance[-_]?matrix[-_]?adaptation[-_]?compaction",
r"^natural[-_]?evolution[-_]?strategy[-_]?compaction",
r"^estimation[-_]?of[-_]?distribution[-_]?algorithm[-_]?compaction",
r"^cross[-_]?entropy[-_]?method[-_]?compaction",
r"^population[-_]?based[-_]?incremental[-_]?learning[-_]?compaction",
r"^compact[-_]?genetic[-_]?algorithm[-_]?compaction",
r"^bayesian[-_]?optimization[-_]?compaction",
r"^gaussian[-_]?process[-_]?compaction",
r"^surrogate[-_]?model[-_]?compaction",
r"^multi[-_]?fidelity[-_]?compaction",
r"^transfer[-_]?learning[-_]?compaction",
r"^meta[-_]?learning[-_]?compaction",
r"^few[-_]?shot[-_]?learning[-_]?compaction",
r"^zero[-_]?shot[-_]?learning[-_]?compaction",
r"^one[-_]?shot[-_]?learning[-_]?compaction",
r"^many[-_]?shot[-_]?learning[-_]?compaction",
r"^active[-_]?learning[-_]?compaction",
r"^online[-_]?learning[-_]?compaction",
r"^incremental[-_]?learning[-_]?compaction",
r"^continual[-_]?learning[-_]?compaction",
r"^lifelong[-_]?learning[-_]?compaction",
r"^never[-_]?ending[-_]?learning[-_]?compaction",
r"^open[-_]?ended[-_]?learning[-_]?compaction",
r"^curriculum[-_]?learning[-_]?compaction",
r"^self[-_]?paced[-_]?learning[-_]?compaction",
r"^bootstrap[-_]?learning[-_]?compaction",
r"^co[-_]?training[-_]?compaction",
r"^multi[-_]?view[-_]?learning[-_]?compaction",
r"^multi[-_]?task[-_]?learning[-_]?compaction",
r"^transfer[-_]?learning[-_]?compaction",
r"^domain[-_]?adaptation[-_]?compaction",
r"^domain[-_]?generalization[-_]?compaction",
r"^out[-_]?of[-_]?distribution[-_]?detection[-_]?compaction",
r"^anomaly[-_]?detection[-_]?compaction",
r"^novelty[-_]?detection[-_]?compaction",
r"^change[-_]?detection[-_]?compaction",
r"^concept[-_]?drift[-_]?detection[-_]?compaction",
r"^model[-_]?drift[-_]?detection[-_]?compaction",
r"^data[-_]?drift[-_]?detection[-_]?compaction",
r"^feature[-_]?drift[-_]?detection[-_]?compaction",
r"^prediction[-_]?drift[-_]?detection[-_]?compaction",
r"^label[-_]?drift[-_]?detection[-_]?compaction",
r"^class[-_]?imbalance[-_]?detection[-_]?compaction",
r"^long[-_]?tail[-_]?distribution[-_]?detection[-_]?compaction",
r"^skew[-_]?detection[-_]?compaction",
r"^bias[-_]?detection[-_]?compaction",
r"^fairness[-_]?detection[-_]?compaction",
r"^equity[-_]?detection[-_]?compaction",
r"^inclusion[-_]?detection[-_]?compaction",
r"^diversity[-_]?detection[-_]?compaction",
r"^representation[-_]?detection[-_]?compaction",
r"^sample[-_]?detection[-_]?compaction",
r"^outlier[-_]?detection[-_]?compaction",
r"^inlier[-_]?detection[-_]?compaction",
r"^novelty[-_]?detection[-_]?compaction",
r"^anomaly[-_]?detection[-_]?compaction",
]),
# Data Engineering
("data-engineering", [
r"^data[-_]?engineer",
r"^data[-_]?pipeline",
r"^data[-_]?integration",
r"^data[-_]?migration",
r"^data[-_]?transformation",
r"^data[-_]?validation",
r"^data[-_]?quality",
r"^data[-_]?cleaning",
r"^data[-_]?preparation",
r"^data[-_]?wrangling",
r"^data[-_]?munging",
r"^airflow[-_]?",
r"^prefect[-_]?",
r"^dagster[-_]?",
r"^luigi[-_]?",
r"^pinball[-_]?",
r"^oozie[-_]?",
r"^azkaban[-_]?",
r"^conductor[-_]?",
r"^temporal[-_]?",
r"^cadence[-_]?",
r"^argo[-_]?workflows",
r"^tekton[-_]?",
r"^kubeflow[-_]?",
r"^mlflow[-_]?",
r"^metaflow[-_]?",
r"^dbt[-_]?",
r"^dataform[-_]?",
r"^looker[-_]?",
r"^tableau[-_]?",
r"^power[-_]?bi[-_]?",
r"^qlik[-_]?",
r"^sisense[-_]?",
r"^domo[-_]?",
r"^microstrategy[-_]?",
r"^cognos[-_]?",
r"^business[-_]?objects[-_]?",
r"^sas[-_]?",
r"^spss[-_]?",
r"^stata[-_]?",
r"^mplus[-_]?",
r"^r[-_]?studio[-_]?",
r"^jupyter[-_]?",
r"^zeppelin[-_]?",
r"^databricks[-_]?",
r"^snowflake[-_]?",
r"^bigquery[-_]?",
r"^redshift[-_]?",
r"^synapse[-_]?",
r"^dremio[-_]?",
r"^presto[-_]?",
r"^trino[-_]?",
r"^drill[-_]?",
r"^impala[-_]?",
r"^hive[-_]?",
r"^pig[-_]?",
r"^spark[-_]?",
r"^flink[-_]?",
r"^storm[-_]?",
r"^samza[-_]?",
r"^heron[-_]?",
r"^kafka[-_]?streams",
r"^kafka[-_]?connect",
r"^ksql[-_]?",
r"^pulsar[-_]?",
r"^rocketmq[-_]?",
r"^activemq[-_]?",
r"^rabbitmq[-_]?",
r"^zeromq[-_]?",
r"^nats[-_]?",
r"^redis[-_]?streams",
r"^aws[-_]?kinesis",
r"^google[-_]?pubsub",
r"^azure[-_]?event[-_]?hubs",
r"^datadog[-_]?",
r"^newrelic[-_]?",
r"^splunk[-_]?",
r"^elk[-_]?",
r"^elastic[-_]?",
r"^logstash[-_]?",
r"^kibana[-_]?",
r"^grafana[-_]?",
r"^prometheus[-_]?",
r"^thanos[-_]?",
r"^cortex[-_]?",
r"^mimir[-_]?",
r"^loki[-_]?",
r"^tempo[-_]?",
r"^jaeger[-_]?",
r"^zipkin[-_]?",
r"^opentelemetry[-_]?",
r"^opentracing[-_]?",
r"^opencensus[-_]?",
r"^hadoop[-_]?",
r"^hdfs[-_]?",
r"^yarn[-_]?",
r"^mapreduce[-_]?",
r"^tez[-_]?",
r"^falcon[-_]?",
r"^nifi[-_]?",
r"^streamsets[-_]?",
r"^talend[-_]?",
r"^informatica[-_]?",
r"^pentaho[-_]?",
r"^kettle[-_]?",
r"^datastage[-_]?",
r"^ab[-_]?initio[-_]?",
r"^ssis[-_]?",
r"^dts[-_]?",
r"^replication[-_]?",
r"^cdc[-_]?",
r"^debezium[-_]?",
r"^maxwell[-_]?",
r"^canal[-_]?",
r"^databus[-_]?",
r"^singer[-_]?",
r"^meltano[-_]?",
r"^airbyte[-_]?",
r"^fivetran[-_]?",
r"^stitch[-_]?",
r"^segment[-_]?",
r"^rudderstack[-_]?",
r"^snowplow[-_]?",
r"^matillion[-_]?",
r"^hevo[-_]?",
r"^blendo[-_]?",
r"^integrate[-_]?io",
r"^xplenty[-_]?",
r"^etleap[-_]?",
r"^panoply[-_]?",
r"^funnel[-_]?io",
r"^warehouselabs[-_]?",
r"^sc Ware[-_]?",
r"^keboola[-_]?",
r"^domo[-_]?",
r"^periscope[-_]?",
r"^mode[-_]?",
r"^looker[-_]?",
r"^metabase[-_]?",
r"^redash[-_]?",
r"^superset[-_]?",
r"^preset[-_]?",
r"^lightdash[-_]?",
r"^evidence[-_]?",
r"^hex[-_]?",
r"^count[-_]?",
r"^glean[-_]?",
r"^thoughtspot[-_]?",
r"^tellius[-_]?",
r"^sisu[-_]?",
r"^incorta[-_]?",
r"^atscale[-_]?",
r"^datameer[-_]?",
r"^platfora[-_]?",
r"^clearstory[-_]?",
r"^alation[-_]?",
r"^collibra[-_]?",
r"^informatica[-_]?",
r"^axelon[-_]?",
r"^waterline[-_]?",
r"^unifi[-_]?",
r"^datahub[-_]?",
r"^amundsen[-_]?",
r"^marquez[-_]?",
r"^openlineage[-_]?",
r"^great[-_]?expectations[-_]?",
r"^soda[-_]?",
r"^deequ[-_]?",
r"^monte[-_]?carlo[-_]?",
r"^bigeye[-_]?",
r"^anomalo[-_]?",
r"^metaplane[-_]?",
r"^datafold[-_]?",
r"^data[-_]?diff[-_]?",
r"^pitometer[-_]?",
r"^acryl[-_]?",
r"^linkedin[-_]?",
r"^apache[-_]?",
r"^confluent[-_]?",
r"^cloudera[-_]?",
r"^hortonworks[-_]?",
r"^mapr[-_]?",
r"^databricks[-_]?",
r"^snowflake[-_]?",
r"^fivetran[-_]?",
r"^dbt[-_]?",
r"^looker[-_]?",
r"^tableau[-_]?",
r"^powerbi[-_]?",
r"^qlik[-_]?",
r"^sisense[-_]?",
r"^domo[-_]?",
r"^microstrategy[-_]?",
r"^cognos[-_]?",
r"^businessobjects[-_]?",
r"^sas[-_]?",
r"^spss[-_]?",
r"^stata[-_]?",
r"^mplus[-_]?",
r"^rstudio[-_]?",
r"^jupyter[-_]?",
r"^zeppelin[-_]?",
r"^dremio[-_]?",
r"^presto[-_]?",
r"^trino[-_]?",
r"^drill[-_]?",
r"^impala[-_]?",
r"^hive[-_]?",
r"^pig[-_]?",
r"^spark[-_]?",
r"^flink[-_]?",
r"^storm[-_]?",
r"^samza[-_]?",
r"^heron[-_]?",
r"^kafkastreams[-_]?",
r"^kafkaconnect[-_]?",
r"^ksql[-_]?",
r"^pulsar[-_]?",
r"^rocketmq[-_]?",
r"^activemq[-_]?",
r"^rabbitmq[-_]?",
r"^zeromq[-_]?",
r"^nats[-_]?",
r"^redisstreams[-_]?",
r"^awskinesis[-_]?",
r"^googlepubsub[-_]?",
r"^azureeventhubs[-_]?",
r"^datadog[-_]?",
r"^newrelic[-_]?",
r"^splunk[-_]?",
r"^elk[-_]?",
r"^elastic[-_]?",
r"^logstash[-_]?",
r"^kibana[-_]?",
r"^grafana[-_]?",
r"^prometheus[-_]?",
r"^thanos[-_]?",
r"^cortex[-_]?",
r"^mimir[-_]?",
r"^loki[-_]?",
r"^tempo[-_]?",
r"^jaeger[-_]?",
r"^zipkin[-_]?",
r"^opentelemetry[-_]?",
r"^opentracing[-_]?",
r"^opencensus[-_]?",
r"^hadoop[-_]?",
r"^hdfs[-_]?",
r"^yarn[-_]?",
r"^mapreduce[-_]?",
r"^tez[-_]?",
r"^falcon[-_]?",
r"^nifi[-_]?",
r"^streamsets[-_]?",
r"^talend[-_]?",
r"^informatica[-_]?",
r"^pentaho[-_]?",
r"^kettle[-_]?",
r"^datastage[-_]?",
r"^abinitio[-_]?",
r"^ssis[-_]?",
r"^dts[-_]?",
r"^replication[-_]?",
r"^cdc[-_]?",
r"^debezium[-_]?",
r"^maxwell[-_]?",
r"^canal[-_]?",
r"^databus[-_]?",
r"^singer[-_]?",
r"^meltano[-_]?",
r"^airbyte[-_]?",
r"^fivetran[-_]?",
r"^stitch[-_]?",
r"^segment[-_]?",
r"^rudderstack[-_]?",
r"^snowplow[-_]?",
r"^matillion[-_]?",
r"^hevo[-_]?",
r"^blendo[-_]?",
r"^integrate[-_]?io",
r"^xplenty[-_]?",
r"^etleap[-_]?",
r"^panoply[-_]?",
r"^funnel[-_]?io",
r"^warehouselabs[-_]?",
r"^scware[-_]?",
r"^keboola[-_]?",
r"^domo[-_]?",
r"^periscope[-_]?",
r"^mode[-_]?",
r"^looker[-_]?",
r"^metabase[-_]?",
r"^redash[-_]?",
r"^superset[-_]?",
r"^preset[-_]?",
r"^lightdash[-_]?",
r"^evidence[-_]?",
r"^hex[-_]?",
r"^count[-_]?",
r"^glean[-_]?",
r"^thoughtspot[-_]?",
r"^tellius[-_]?",
r"^sisu[-_]?",
r"^incorta[-_]?",
r"^atscale[-_]?",
r"^datameer[-_]?",
r"^platfora[-_]?",
r"^clearstory[-_]?",
r"^alation[-_]?",
r"^collibra[-_]?",
r"^axelon[-_]?",
r"^waterline[-_]?",
r"^unifi[-_]?",
r"^datahub[-_]?",
r"^amundsen[-_]?",
r"^marquez[-_]?",
r"^openlineage[-_]?",
r"^greatexpectations[-_]?",
r"^soda[-_]?",
r"^deequ[-_]?",
r"^montecarlo[-_]?",
r"^bigeye[-_]?",
r"^anomalo[-_]?",
r"^metaplane[-_]?",
r"^datafold[-_]?",
r"^datadiff[-_]?",
r"^pitometer[-_]?",
r"^acryl[-_]?",
]),
# Testing & QA
("testing-qa", [
r"[-_]?testing[-_]?",
r"^test[-_]?",
r"^qa[-_]?",
r"^quality[-_]?assurance[-_]?",
r"^playwright[-_]?",
r"^cypress[-_]?",
r"^selenium[-_]?",
r"^webdriver[-_]?",
r"^puppeteer[-_]?",
r"^jest[-_]?",
r"^vitest[-_]?",
r"^mocha[-_]?",
r"^jasmine[-_]?",
r"^karma[-_]?",
r"^ava[-_]?",
r"^tap[-_]?",
r"^tape[-_]?",
r"^lab[-_]?",
r"^codecept[-_]?",
r"^nightwatch[-_]?",
r"^protractor[-_]?",
r"^webdriverio[-_]?",
r"^appium[-_]?",
r"^detox[-_]?",
r"^calabash[-_]?",
r"^espresso[-_]?",
r"^xcui[-_]?",
r"^ EarlGrey[-_]?",
r"^kif[-_]?",
r"^frank[-_]?",
r"^zucchini[-_]?",
r"^kiwi[-_]?",
r"^gherkin[-_]?",
r"^cucumber[-_]?",
r"^behat[-_]?",
r"^specflow[-_]?",
r"^gauge[-_]?",
r"^turnip[-_]?",
r"^spinach[-_]?",
r"^lettuce[-_]?",
r"^ freshen[-_]?",
r"^ pytest[-_]?bdd",
r"^ behave[-_]?",
r"^ radish[-_]?",
r"^ pytest[-_]?",
r"^ unittest[-_]?",
r"^ nose[-_]?",
r"^ doctest[-_]?",
r"^ trial[-_]?",
r"^ testify[-_]?",
r"^ gocheck[-_]?",
r"^ ginkgo[-_]?",
r"^ gomega[-_]?",
r"^ testify[-_]?",
r"^ assert[-_]?",
r"^ hamcrest[-_]?",
r"^ truth[-_]?",
r"^ assertj[-_]?",
r"^ fest[-_]?",
r"^ jmock[-_]?",
r"^ mockito[-_]?",
r"^ powermock[-_]?",
r"^ easymock[-_]?",
r"^ wiremock[-_]?",
r"^ mockserver[-_]?",
r"^ mountebank[-_]?",
r"^ pact[-_]?",
r"^ spring[-_]?contract",
r"^ consumer[-_]?driven[-_]?contract",
r"^ cdc[-_]?",
r"^ pactflow[-_]?",
r"^ broker[-_]?",
r"^ verification[-_]?",
r"^ stub[-_]?",
r"^ mock[-_]?",
r"^ fake[-_]?",
r"^ spy[-_]?",
r"^ double[-_]?",
r"^ dummy[-_]?",
r"^ fixture[-_]?",
r"^ factory[-_]?",
r"^ builder[-_]?",
r"^ object[-_]?mother",
r"^ test[-_]?data",
r"^ seed[-_]?",
r"^ faker[-_]?",
r"^ chance[-_]?",
r"^ randexp[-_]?",
r"^ casual[-_]?",
r"^ mockaroo[-_]?",
r"^ t[-_]?rex[-_]?",
r"^ factory[-_]?boy[-_]?",
r"^ model[-_]?mommy",
r"^ machinist[-_]?",
r"^ fabrication[-_]?",
r"^ blueprints[-_]?",
r"^ ex[-_]?machina[-_]?",
r"^ blacksmith[-_]?",
r"^ parrot[-_]?",
r"^ forgery[-_]?",
r"^ ffaker[-_]?",
r"^ ffaker[-_]?",
r"^ bogus[-_]?",
r"^ autodoc[-_]?",
r"^ rswag[-_]?",
r"^ swagger[-_]?spec",
r"^ grape[-_]?swagger",
r"^ flasgger[-_]?",
r"^ drf[-_]?yasg[-_]?",
r"^ django[-_]?rest[-_]?swagger",
r"^ tsoa[-_]?",
r"^ routing[-_]?controller[-_]?",
r"^ apipie[-_]?",
r"^ rspec[-_]?api[-_]?documentation",
r"^ slate[-_]?",
r"^ widdershins[-_]?",
r"^ openapi[-_]?generator",
r"^ swagger[-_]?codegen",
r"^ openapi[-_]?codegen",
r"^ autorest[-_]?",
r"^ nswag[-_]?",
r"^ swagger[-_]?hub",
r"^ apicurio[-_]?",
r"^ stoplight[-_]?",
r"^ postman[-_]?",
r"^ newman[-_]?",
r"^ htmlextra[-_]?",
r"^ junit[-_]?",
r"^ xunit[-_]?",
r"^ nunit[-_]?",
r"^ mstest[-_]?",
r"^ catch[-_]?",
r"^ boost[-_]?test",
r"^ cppunit[-_]?",
r"^ google[-_]?test",
r"^ gtest[-_]?",
r"^ cmocka[-_]?",
r"^ unity[-_]?",
r"^ cexception[-_]?",
r"^ ceedling[-_]?",
r"^ tdd[-_]?",
r"^ bdd[-_]?",
r"^ atdd[-_]?",
r"^ specification[-_]?by[-_]?example",
r"^ sbe[-_]?",
r"^ example[-_]?mapping",
r"^ oopsi[-_]?",
r"^ output[-_]?mapping",
r"^ feature[-_]?mapping",
r"^ story[-_]?mapping",
r"^ impact[-_]?mapping",
r"^ mind[-_]?mapping",
r"^ user[-_]?story[-_]?mapping",
r"^ journey[-_]?mapping",
r"^ experience[-_]?mapping",
r"^ empathy[-_]?mapping",
r"^ service[-_]?blueprint",
r"^ business[-_]?model[-_]?canvas",
r"^ lean[-_]?canvas",
r"^ value[-_]?proposition[-_]?canvas",
r"^ product[-_]?vision[-_]?board",
r"^ goal[-_]?oriented[-_]?roadmap",
r"^ now[-_]?next[-_]?later[-_]?roadmap",
r"^ theme[-_]?based[-_]?roadmap",
r"^ outcome[-_]?based[-_]?roadmap",
r"^ feature[-_]?based[-_]?roadmap",
r"^ technology[-_]?roadmap",
r"^ architectural[-_]?roadmap",
r"^ capability[-_]?roadmap",
r"^ strategy[-_]?roadmap",
r"^ product[-_]?roadmap",
r"^ portfolio[-_]?roadmap",
r"^ solution[-_]?roadmap",
r"^ program[-_]?roadmap",
r"^ project[-_]?roadmap",
r"^ release[-_]?roadmap",
r"^ sprint[-_]?roadmap",
r"^ iteration[-_]?roadmap",
r"^ increment[-_]?roadmap",
r"^ version[-_]?roadmap",
r"^ milestone[-_]?roadmap",
r"^ epic[-_]?roadmap",
r"^ story[-_]?roadmap",
r"^ task[-_]?roadmap",
r"^ subtask[-_]?roadmap",
r"^ bug[-_]?roadmap",
r"^ issue[-_]?roadmap",
r"^ defect[-_]?roadmap",
r"^ enhancement[-_]?roadmap",
r"^ improvement[-_]?roadmap",
r"^ optimization[-_]?roadmap",
r"^ refactoring[-_]?roadmap",
r"^ modernization[-_]?roadmap",
r"^ migration[-_]?roadmap",
r"^ upgrade[-_]?roadmap",
r"^ deprecation[-_]?roadmap",
r"^ retirement[-_]?roadmap",
r"^ sunset[-_]?roadmap",
r"^ end[-_]?of[-_]?life[-_]?roadmap",
r"^ end[-_]?of[-_]?support[-_]?roadmap",
r"^ end[-_]?of[-_]?service[-_]?roadmap",
r"^ end[-_]?of[-_]?sale[-_]?roadmap",
r"^ end[-_]?of[-_]?availability[-_]?roadmap",
r"^ lifecycle[-_]?roadmap",
r"^ sustainability[-_]?roadmap",
r"^ resilience[-_]?roadmap",
r"^ reliability[-_]?roadmap",
r"^ availability[-_]?roadmap",
r"^ maintainability[-_]?roadmap",
r"^ scalability[-_]?roadmap",
r"^ performance[-_]?roadmap",
r"^ security[-_]?roadmap",
r"^ compliance[-_]?roadmap",
r"^ governance[-_]?roadmap",
r"^ risk[-_]?roadmap",
r"^ audit[-_]?roadmap",
r"^ monitoring[-_]?roadmap",
r"^ observability[-_]?roadmap",
r"^ telemetry[-_]?roadmap",
r"^ tracing[-_]?roadmap",
r"^ logging[-_]?roadmap",
r"^ metrics[-_]?roadmap",
r"^ alerting[-_]?roadmap",
r"^ incident[-_]?roadmap",
r"^ response[-_]?roadmap",
r"^ recovery[-_]?roadmap",
r"^ continuity[-_]?roadmap",
r"^ disaster[-_]?recovery[-_]?roadmap",
r"^ backup[-_]?roadmap",
r"^ restore[-_]?roadmap",
r"^ archive[-_]?roadmap",
r"^ retention[-_]?roadmap",
r"^ deletion[-_]?roadmap",
r"^ destruction[-_]?roadmap",
r"^ sanitization[-_]?roadmap",
r"^ anonymization[-_]?roadmap",
r"^ pseudonymization[-_]?roadmap",
r"^ encryption[-_]?roadmap",
r"^ key[-_]?management[-_]?roadmap",
r"^ certificate[-_]?roadmap",
r"^ identity[-_]?roadmap",
r"^ access[-_]?roadmap",
r"^ authentication[-_]?roadmap",
r"^ authorization[-_]?roadmap",
r"^ federation[-_]?roadmap",
r"^ single[-_]?sign[-_]?on[-_]?roadmap",
r"^ multi[-_]?factor[-_]?authentication[-_]?roadmap",
r"^ biometrics[-_]?roadmap",
r"^ password[-_]?roadmap",
r"^ secrets[-_]?roadmap",
r"^ vault[-_]?roadmap",
r"^ token[-_]?roadmap",
r"^ cookie[-_]?roadmap",
r"^ session[-_]?roadmap",
r"^ cache[-_]?roadmap",
r"^ cdn[-_]?roadmap",
r"^ load[-_]?balancing[-_]?roadmap",
r"^ failover[-_]?roadmap",
r"^ replication[-_]?roadmap",
r"^ sharding[-_]?roadmap",
r"^ partitioning[-_]?roadmap",
r"^ indexing[-_]?roadmap",
r"^ query[-_]?optimization[-_]?roadmap",
r"^ schema[-_]?evolution[-_]?roadmap",
r"^ data[-_]?migration[-_]?roadmap",
r"^ data[-_]?integration[-_]?roadmap",
r"^ data[-_]?quality[-_]?roadmap",
r"^ data[-_]?governance[-_]?roadmap",
r"^ data[-_]?lineage[-_]?roadmap",
r"^ data[-_]?catalog[-_]?roadmap",
r"^ data[-_]?dictionary[-_]?roadmap",
r"^ data[-_]?warehouse[-_]?roadmap",
r"^ data[-_]?lake[-_]?roadmap",
r"^ data[-_]?mesh[-_]?roadmap",
r"^ data[-_]?fabric[-_]?roadmap",
r"^ data[-_]?ops[-_]?roadmap",
r"^ data[-_]?platform[-_]?roadmap",
r"^ data[-_]?infrastructure[-_]?roadmap",
r"^ data[-_]?architecture[-_]?roadmap",
r"^ data[-_]?modeling[-_]?roadmap",
r"^ data[-_]?design[-_]?roadmap",
r"^ data[-_]?engineering[-_]?roadmap",
r"^ data[-_]?science[-_]?roadmap",
r"^ data[-_]?analytics[-_]?roadmap",
r"^ data[-_]?visualization[-_]?roadmap",
r"^ data[-_]?storytelling[-_]?roadmap",
r"^ data[-_]?journalism[-_]?roadmap",
r"^ data[-_]?literacy[-_]?roadmap",
r"^ data[-_]?ethics[-_]?roadmap",
r"^ data[-_]?privacy[-_]?roadmap",
r"^ data[-_]?protection[-_]?roadmap",
r"^ data[-_]?sovereignty[-_]?roadmap",
r"^ data[-_]?residency[-_]?roadmap",
r"^ data[-_]?localization[-_]?roadmap",
r"^ data[-_]?globalization[-_]?roadmap",
r"^ data[-_]?internationalization[-_]?roadmap",
r"^ data[-_]?localization[-_]?roadmap",
]),
# API & Integration
("api-integration", [
r"^api[-_]?",
r"^graphql[-_]?",
r"^rest[-_]?",
r"^soap[-_]?",
r"^grpc[-_]?",
r"^openapi[-_]?",
r"^swagger[-_]?",
r"^postman[-_]?",
r"^insomnia[-_]?",
r"^hoppscotch[-_]?",
r"^webhook[-_]?",
r"^integration[-_]?",
r"^connector[-_]?",
r"^adapter[-_]?",
r"^bridge[-_]?",
r"^gateway[-_]?",
r"^proxy[-_]?",
r"^relay[-_]?",
r"^broker[-_]?",
r"^mediator[-_]?",
r"^orchestrator[-_]?",
r"^choreography[-_]?",
r"^saga[-_]?",
r"^compensating[-_]?transaction",
r"^two[-_]?phase[-_]?commit",
r"^2pc[-_]?",
r"^three[-_]?phase[-_]?commit",
r"^3pc[-_]?",
r"^paxos[-_]?",
r"^raft[-_]?",
r"^zab[-_]?",
r"^viewstamped[-_]?replication",
r"^vr[-_]?replication[-_]?",
r"^chain[-_]?replication",
r"^primary[-_]?backup[-_]?",
r"^active[-_]?replication",
r"^passive[-_]?replication",
r"^semi[-_]?active[-_]?replication",
r"^multi[-_]?primary[-_]?replication",
r"^single[-_]?primary[-_]?replication",
r"^group[-_]?replication[-_]?",
r"^galera[-_]?",
r"^percona[-_]?xtradb[-_]?cluster",
r"^mariadb[-_]?columnstore",
r"^mysql[-_]?ndb[-_]?cluster",
r"^innodb[-_]?cluster",
r"^group[-_]?replication[-_]?",
r"^wsrep[-_]?",
r"^ certification[-_]?based[-_]?replication",
r"^ conflict[-_]?detection[-_]?replication",
r"^ conflict[-_]?resolution[-_]?replication",
r"^ last[-_]?write[-_]?wins[-_]?replication",
r"^ first[-_]?write[-_]?wins[-_]?replication",
r"^ custom[-_]?merge[-_]?replication",
r"^ operational[-_]?transformation[-_]?replication",
r"^ state[-_]?machine[-_]?replication",
r"^ virtual[-_]?synchrony[-_]?replication",
r"^ extended[-_]?virtual[-_]?synchrony[-_]?replication",
r"^ totem[-_]?single[-_]?ring[-_]?ordering[-_]?replication",
r"^ menasce[-_]?muntz[-_]?replication",
r"^ quorumbased[-_]?replication[-_]?",
r"^ weighted[-_]?voting[-_]?replication[-_]?",
r"^ majority[-_]?voting[-_]?replication[-_]?",
r"^ read[-_]?one[-_]?write[-_]?all[-_]?replication[-_]?",
r"^ read[-_]?any[-_]?write[-_]?all[-_]?replication[-_]?",
r"^ read[-_]?quorum[-_]?write[-_]?quorum[-_]?replication[-_]?",
r"^ read[-_]?one[-_]?write[-_]?quorum[-_]?replication[-_]?",
r"^ read[-_]?quorum[-_]?write[-_]?one[-_]?replication[-_]?",
r"^ read[-_]?one[-_]?write[-_]?one[-_]?replication[-_]?",
r"^ eventual[-_]?consistency[-_]?replication[-_]?",
r"^ strong[-_]?consistency[-_]?replication[-_]?",
r"^ causal[-_]?consistency[-_]?replication[-_]?",
r"^ sequential[-_]?consistency[-_]?replication[-_]?",
r"^ linearizability[-_]?replication[-_]?",
r"^ strict[-_]?serializability[-_]?replication[-_]?",
r"^ serializable[-_]?replication[-_]?",
r"^ snapshot[-_]?isolation[-_]?replication[-_]?",
r"^ repeatable[-_]?read[-_]?replication[-_]?",
r"^ read[-_]?committed[-_]?replication[-_]?",
r"^ read[-_]?uncommitted[-_]?replication[-_]?",
r"^ monotonic[-_]?reads[-_]?replication[-_]?",
r"^ monotonic[-_]?writes[-_]?replication[-_]?",
r"^ read[-_]?your[-_]?writes[-_]?replication[-_]?",
r"^ writes[-_]?follow[-_]?reads[-_]?replication[-_]?",
r"^ pipelined[-_]?random[-_]?access[-_]?memory[-_]?replication[-_]?",
r"^ pram[-_]?replication[-_]?",
r"^ causal[-_]?memory[-_]?replication[-_]?",
r"^ processor[-_]?consistency[-_]?replication[-_]?",
r"^ slow[-_]?memory[-_]?replication[-_]?",
r"^ hybrid[-_]?logical[-_]?clock[-_]?replication[-_]?",
r"^ hlc[-_]?replication[-_]?",
r"^ lamport[-_]?timestamp[-_]?replication[-_]?",
r"^ vector[-_]?clock[-_]?replication[-_]?",
r"^ version[-_]?vector[-_]?replication[-_]?",
r"^ dotted[-_]?version[-_]?vector[-_]?replication[-_]?",
r"^ causal[-_]?broadcast[-_]?replication[-_]?",
r"^ uniform[-_]?causal[-_]?broadcast[-_]?replication[-_]?",
r"^ fifo[-_]?broadcast[-_]?replication[-_]?",
r"^ uniform[-_]?fifo[-_]?broadcast[-_]?replication[-_]?",
r"^ atomic[-_]?broadcast[-_]?replication[-_]?",
r"^ uniform[-_]?atomic[-_]?broadcast[-_]?replication[-_]?",
r"^ consensus[-_]?broadcast[-_]?replication[-_]?",
r"^ uniform[-_]?consensus[-_]?broadcast[-_]?replication[-_]?",
r"^ total[-_]?order[-_]?broadcast[-_]?replication[-_]?",
r"^ uniform[-_]?total[-_]?order[-_]?broadcast[-_]?replication[-_]?",
r"^ causal[-_]?total[-_]?order[-_]?broadcast[-_]?replication[-_]?",
r"^ uniform[-_]?causal[-_]?total[-_]?order[-_]?broadcast[-_]?replication[-_]?",
r"^ byzantine[-_]?fault[-_]?tolerant[-_]?replication[-_]?",
r"^ bft[-_]?replication[-_]?",
r"^ pbft[-_]?",
r"^ practical[-_]?byzantine[-_]?fault[-_]?tolerance[-_]?replication[-_]?",
r"^ hotstuff[-_]?",
r"^ streamlet[-_]?",
r"^ sync[-_]?hotstuff[-_]?",
r"^ partial[-_]?synchronous[-_]?bft[-_]?",
r"^ asynchronous[-_]?bft[-_]?",
r"^ honeybadger[-_]?bft[-_]?",
r"^ vbft[-_]?",
r"^ tendermint[-_]?",
r"^ cosmos[-_]?sdk[-_]?",
r"^ substrate[-_]?",
r"^ polkadot[-_]?",
r"^ cosmos[-_]?",
r"^ ibc[-_]?",
r"^ inter[-_]?blockchain[-_]?communication[-_]?",
r"^ bridge[-_]?",
r"^ cross[-_]?chain[-_]?",
r"^ multi[-_]?chain[-_]?",
r"^ parachain[-_]?",
r"^ parathread[-_]?",
r"^ collator[-_]?",
r"^ fisherman[-_]?",
r"^ nominator[-_]?",
r"^ validator[-_]?",
r"^ delegator[-_]?",
r"^ staker[-_]?",
r"^ miner[-_]?",
r"^ forger[-_]?",
r"^ block[-_]?producer[-_]?",
r"^ slot[-_]?leader[-_]?",
r"^ epoch[-_]?",
r"^ era[-_]?",
r"^ round[-_]?",
r"^ view[-_]?",
r"^ height[-_]?",
r"^ depth[-_]?",
r"^ finality[-_]?",
r"^ justification[-_]?",
r"^ epoch[-_]?",
r"^ era[-_]?",
r"^ slot[-_]?",
r"^ round[-_]?",
r"^ view[-_]?",
r"^ height[-_]?",
r"^ depth[-_]?",
r"^ finality[-_]?",
r"^ justification[-_]?",
]),
# Programming Languages & Core Frameworks
("languages-frameworks", [
r"^typescript[-_]?",
r"^javascript[-_]?",
r"^python[-_]?",
r"^rust[-_]?",
r"^go[-_]?",
r"^golang[-_]?",
r"^java[-_]?",
r"^csharp[-_]?",
r"^dotnet[-_]?",
r"^php[-_]?",
r"^ruby[-_]?",
r"^elixir[-_]?",
r"^haskell[-_]?",
r"^scala[-_]?",
r"^kotlin[-_]?",
r"^swift[-_]?",
r"^c[-_]?programming",
r"^cpp[-_]?",
r"^c\+\+[-_]?",
r"^c\+\+[-_]?pro",
r"^c[-_]?pro",
r"^shell[-_]?",
r"^bash[-_]?",
r"^powershell[-_]?",
r"^perl[-_]?",
r"^lua[-_]?",
r"^r[-_]?programming",
r"^julia[-_]?",
r"^matlab[-_]?",
r"^octave[-_]?",
r"^fortran[-_]?",
r"^cobol[-_]?",
r"^ada[-_]?",
r"^pascal[-_]?",
r"^delphi[-_]?",
r"^lisp[-_]?",
r"^clojure[-_]?",
r"^scheme[-_]?",
r"^racket[-_]?",
r"^erlang[-_]?",
r"^ocaml[-_]?",
r"^fsharp[-_]?",
r"^dart[-_]?",
r"^flutter[-_]?",
r"^groovy[-_]?",
r"^clojure[-_]?",
r"^nim[-_]?",
r"^crystal[-_]?",
r"^dlang[-_]?",
r"^zig[-_]?",
r"^vlang[-_]?",
r"^odin[-_]?",
r"^jai[-_]?",
r"^vale[-_]?",
r"^mojo[-_]?",
r"^carbon[-_]?",
r"^cppfront[-_]?",
r"^circle[-_]?",
r"^verona[-_]?",
r"^pony[-_]?",
r"^red[-_]?",
r"^rebol[-_]?",
r"^smalltalk[-_]?",
r"^pharo[-_]?",
r"^squeak[-_]?",
r"^gnu[-_]?smalltalk",
r"^visualworks[-_]?",
r"^va[-_]?smalltalk",
r"^gemstone[-_]?",
r"^glamorous[-_]?toolkit[-_]?",
r"^gt[-_]?",
r"^pharo[-_]?",
r"^squeak[-_]?",
r"^newspeak[-_]?",
r"^self[-_]?",
r"^io[-_]?",
r"^ioke[-_]?",
r"^picolisp[-_]?",
r"^newlisp[-_]?",
r"^ark[-_]?",
r"^hy[-_]?",
r"^shen[-_]?",
r"^kawa[-_]?",
r"^sisc[-_]?",
r"^abcl[-_]?",
r"^armed[-_]?bear[-_]?common[-_]?lisp",
r"^clasp[-_]?",
r"^ccl[-_]?",
r"^ccl[-_]?",
r"^ecl[-_]?",
r"^sbcl[-_]?",
r"^cmucl[-_]?",
r"^clisp[-_]?",
r"^gcl[-_]?",
r"^xcl[-_]?",
r"^mkcl[-_]?",
r"^lw[-_]?",
r"^allegro[-_]?",
r"^lispworks[-_]?",
r"^corman[-_]?lisp",
r"^digitool[-_]?",
r"^mcl[-_]?",
r"^openmcl[-_]?",
r"^clozure[-_]?cl",
r"^ccl[-_]?",
r"^jscl[-_]?",
r"^cl[-_]?javascript",
r"^parenscript[-_]?",
r"^cl[-_]?python",
r"^cl4py[-_]?",
r"^burgled[-_]?batteries[-_]?",
r"^pycl[-_]?",
r"^ecl[-_]?",
r"^mezzano[-_]?",
r"^movitz[-_]?",
r"^muerte[-_]?",
r"^lisp[-_]?os[-_]?",
r"^genera[-_]?",
r"^open[-_]?genera[-_]?",
r"^freedows[-_]?",
r"^lisp[-_]?machine[-_]?",
r"^symbolics[-_]?",
r"^lmi[-_]?",
r"^ti[-_]?",
r"^explorer[-_]?",
r"^lambda[-_]?",
r"^mit[-_]?",
r"^scheme[-_]?",
r"^racket[-_]?",
r"^guile[-_]?",
r"^chicken[-_]?",
r"^gambit[-_]?",
r"^bigloo[-_]?",
r"^stalingrad[-_]?",
r"^larceny[-_]?",
r"^ikarus[-_]?",
r"^ypsilon[-_]?",
r"^mosh[-_]?",
r"^sagittarius[-_]?",
r"^foment[-_]?",
r"^vicare[-_]?",
r"^iron[-_]?scheme[-_]?",
r"^biwa[-_]?scheme[-_]?",
r"^scheme[-_]?2js[-_]?",
r"^hackett[-_]?",
r"^cur[-_]?",
r"^curry[-_]?",
r"^haskell[-_]?",
r"^ghc[-_]?",
r"^cabal[-_]?",
r"^stack[-_]?",
r"^ghcup[-_]?",
r"^hls[-_]?",
r"^haskell[-_]?language[-_]?server[-_]?",
r"^hlint[-_]?",
r"^ormolu[-_]?",
r"^fourmolu[-_]?",
r"^stylish[-_]?haskell[-_]?",
r"^brittany[-_]?",
r"^hindent[-_]?",
r"^hformat[-_]?",
r"^hfmt[-_]?",
r"^haskell[-_]?format[-_]?",
r"^haskell[-_]?beautifier[-_]?",
r"^haskell[-_]?prettifier[-_]?",
r"^haskell[-_]?tidy[-_]?",
r"^haskell[-_]?clean[-_]?",
r"^haskell[-_]?lint[-_]?",
r"^haskell[-_]?check[-_]?",
r"^haskell[-_]?test[-_]?",
r"^haskell[-_]?spec[-_]?",
r"^haskell[-_]?verify[-_]?",
r"^haskell[-_]?prove[-_]?",
r"^haskell[-_]?theorem[-_]?prover[-_]?",
r"^haskell[-_]?proof[-_]?",
r"^haskell[-_]?formal[-_]?",
r"^haskell[-_]?verification[-_]?",
r"^haskell[-_]?validation[-_]?",
r"^haskell[-_]?type[-_]?",
r"^haskell[-_]?kind[-_]?",
r"^haskell[-_]?class[-_]?",
r"^haskell[-_]?instance[-_]?",
r"^haskell[-_]?deriving[-_]?",
r"^haskell[-_]?generic[-_]?",
r"^haskell[-_]?lens[-_]?",
r"^haskell[-_]?optics[-_]?",
r"^haskell[-_]?traversal[-_]?",
r"^haskell[-_]?fold[-_]?",
r"^haskell[-_]?monoid[-_]?",
r"^haskell[-_]?functor[-_]?",
r"^haskell[-_]?applicative[-_]?",
r"^haskell[-_]?monad[-_]?",
r"^haskell[-_]?transformer[-_]?",
r"^haskell[-_]?mtl[-_]?",
r"^haskell[-_]?free[-_]?",
r"^haskell[-_]?freer[-_]?",
r"^haskell[-_]?poly[-_]?",
r"^haskell[-_]?extensible[-_]?",
r"^haskell[-_]?effect[-_]?",
r"^haskell[-_]?capability[-_]?",
r"^haskell[-_]?reader[-_]?",
r"^haskell[-_]?writer[-_]?",
r"^haskell[-_]?state[-_]?",
r"^haskell[-_]?rws[-_]?",
r"^haskell[-_]?cont[-_]?",
r"^haskell[-_]?either[-_]?",
r"^haskell[-_]?maybe[-_]?",
r"^haskell[-_]?list[-_]?",
r"^haskell[-_]?nonempty[-_]?",
r"^haskell[-_]?vector[-_]?",
r"^haskell[-_]?array[-_]?",
r"^haskell[-_]?map[-_]?",
r"^haskell[-_]?set[-_]?",
r"^haskell[-_]?tree[-_]?",
r"^haskell[-_]?graph[-_]?",
r"^haskell[-_]?heap[-_]?",
r"^haskell[-_]?queue[-_]?",
r"^haskell[-_]?stack[-_]?",
r"^haskell[-_]?deque[-_]?",
r"^haskell[-_]?sequence[-_]?",
r"^haskell[-_]?stream[-_]?",
r"^haskell[-_]?iterator[-_]?",
r"^haskell[-_]?enumerator[-_]?",
r"^haskell[-_]?conduit[-_]?",
r"^haskell[-_]?pipes[-_]?",
r"^haskell[-_]?machines[-_]?",
r"^haskell[-_]?foldl[-_]?",
r"^haskell[-_]?folds[-_]?",
r"^haskell[-_]?reducers[-_]?",
r"^haskell[-_]?transducers[-_]?",
r"^haskell[-_]?lens[-_]?",
r"^haskell[-_]?prism[-_]?",
r"^haskell[-_]?traversal[-_]?",
r"^haskell[-_]?affine[-_]?traversal[-_]?",
r"^haskell[-_]?setter[-_]?",
r"^haskell[-_]?getter[-_]?",
r"^haskell[-_]?review[-_]?",
r"^haskell[-_]?iso[-_]?",
r"^haskell[-_]?equality[-_]?",
r"^haskell[-_]?projection[-_]?",
r"^haskell[-_]?injection[-_]?",
r"^haskell[-_]?lens[-_]?family[-_]?",
r"^haskell[-_]?van[-_]?laarhoven[-_]?lens[-_]?",
r"^haskell[-_]?profunctor[-_]?optics[-_]?",
r"^haskell[-_]?indexed[-_]?optics[-_]?",
r"^haskell[-_]?bi[-_]?optics[-_]?",
r"^haskell[-_]?grate[-_]?",
r"^haskell[-_]?glass[-_]?",
r"^haskell[-_]? Kaleidoscope[-_]?",
r"^haskell[-_]?achromatic[-_]?lens[-_]?",
r"^haskell[-_]?partial[-_]?lens[-_]?",
r"^haskell[-_]?failing[-_]?lens[-_]?",
r"^haskell[-_]?taking[-_]?lens[-_]?",
r"^haskell[-_]?dropping[-_]?lens[-_]?",
r"^haskell[-_]?filtered[-_]?lens[-_]?",
r"^haskell[-_]?mirrored[-_]?lens[-_]?",
r"^haskell[-_]?simple[-_]?lens[-_]?",
r"^haskell[-_]?compound[-_]?lens[-_]?",
r"^haskell[-_]?zoom[-_]?",
r"^haskell[-_]?magnify[-_]?",
r"^haskell[-_]?clone[-_]?lens[-_]?",
r"^haskell[-_]?generate[-_]?lens[-_]?",
r"^haskell[-_]?make[-_]?lenses[-_]?",
r"^haskell[-_]?template[-_]?haskell[-_]?",
r"^haskell[-_]?th[-_]?",
r"^haskell[-_]?quasi[-_]?quote[-_]?",
r"^haskell[-_]?qq[-_]?",
r"^haskell[-_]?haskell[-_]?quote[-_]?",
r"^haskell[-_]?hs[-_]?quote[-_]?",
r"^haskell[-_]?parse[-_]?haskell[-_]?",
r"^haskell[-_]?haskell[-_]?parser[-_]?",
r"^haskell[-_]?haskell[-_]?lexer[-_]?",
r"^haskell[-_]?haskell[-_]?tokenizer[-_]?",
r"^haskell[-_]?haskell[-_]?grammar[-_]?",
r"^haskell[-_]?haskell[-_]?ast[-_]?",
r"^haskell[-_]?haskell[-_]?compiler[-_]?",
r"^haskell[-_]?haskell[-_]?interpreter[-_]?",
r"^haskell[-_]?haskell[-_]?vm[-_]?",
r"^haskell[-_]?haskell[-_]?runtime[-_]?",
r"^haskell[-_]?haskell[-_]?gc[-_]?",
r"^haskell[-_]?haskell[-_]?memory[-_]?",
r"^haskell[-_]?haskell[-_]?thread[-_]?",
r"^haskell[-_]?haskell[-_]?async[-_]?",
r"^haskell[-_]?haskell[-_]?concurrent[-_]?",
r"^haskell[-_]?haskell[-_]?parallel[-_]?",
r"^haskell[-_]?haskell[-_]?stm[-_]?",
r"^haskell[-_]?haskell[-_]?software[-_]?transactional[-_]?memory[-_]?",
r"^haskell[-_]?haskell[-_]?atom[-_]?",
r"^haskell[-_]?haskell[-_]?ref[-_]?",
r"^haskell[-_]?haskell[-_]?mvar[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?",
r"^haskell[-_]?haskell[-_]?tmvar[-_]?",
r"^haskell[-_]?haskell[-_]?tchan[-_]?",
r"^haskell[-_]?haskell[-_]?tbqueue[-_]?",
r"^haskell[-_]?haskell[-_]?tqueue[-_]?",
r"^haskell[-_]?haskell[-_]?tarray[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?array[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?hashmap[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?map[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?set[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?list[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?queue[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?stack[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?heap[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?tree[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?graph[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?matrix[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?vector[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?bytestring[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?text[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?lazy[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?strict[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?unboxed[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?boxed[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?storable[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?primitive[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?foreign[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ffi[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?capi[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ccall[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?stdcall[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?fastccall[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?interruptible[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?safe[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?unsafe[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?prim[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?internal[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?prim[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?int[-_]?prim[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?word[-_]?prim[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?float[-_]?prim[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?double[-_]?prim[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?char[-_]?prim[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?int[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?word[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?float[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?double[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?char[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ptr[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?funptr[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stableptr[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mstableptr[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?weakptr[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?conc[-_]?data[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?threadid[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?tso[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?block[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?capability[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?task[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?spark[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?par[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?seq[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pseq[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?seqa[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deepseq[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rnf[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?force[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]? NFData[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generic[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?derivable[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deriving[-_]?via[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deriving[-_]?strategies[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?standalone[-_]?deriving[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?empty[-_]?deriving[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stock[-_]?deriving[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?newtype[-_]?deriving[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?anyclass[-_]?deriving[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pattern[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?view[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pattern[-_]?guards[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bang[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lazy[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?as[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?record[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?strict[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?irrefutable[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?refutable[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?nested[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?or[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?nplusk[-_]?patterns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pattern[-_]?synonyms[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?complete[-_]?pragmas[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?overloaded[-_]?record[-_]?dot[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?record[-_]?puns[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?record[-_]?wild[-_]?cards[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?duplicate[-_]?record[-_]?fields[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?no[-_]?field[-_]?selectors[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?field[-_]?selectors[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ambiguous[-_]?record[-_]?fields[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?disambiguate[-_]?record[-_]?fields[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?named[-_]?record[-_]?wild[-_]?cards[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?large[-_]?records[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?souffle[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?datalog[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?logic[-_]?programming[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?constraint[-_]?programming[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?answer[-_]?set[-_]?programming[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?asp[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?smt[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sat[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?solver[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?tactic[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?proof[-_]?search[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?automated[-_]?reasoning[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?theorem[-_]?proving[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?model[-_]?checking[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?symbolic[-_]?execution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?concolic[-_]?execution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?fuzzing[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?property[-_]?based[-_]?testing[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quickcheck[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?smallcheck[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lazy[-_]?smallcheck[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?leancheck[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?feat[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quickcheck[-_]?inspired[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hedgehog[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?validity[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?genvalidity[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sv[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?state[-_]?vector[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?random[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?splitmix[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mersenne[-_]?twister[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pcg[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?tf[-_]?random[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?chaos[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?random[-_]?fu[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?uniform[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?normal[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gaussian[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gamma[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?beta[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dirichlet[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?poisson[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?binomial[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?multinomial[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?categorical[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?geometric[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hypergeometric[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?negative[-_]?binomial[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?uniform[-_]?discrete[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?zipf[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?zeta[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pareto[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?weibull[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?exponential[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?laplace[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?cauchy[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?logistic[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?log[-_]?normal[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?student[-_]?t[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?chi[-_]?square[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?f[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gumbel[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?von[-_]?mises[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?von[-_]?mises[-_]?fisher[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?kumaraswamy[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?irwin[-_]?hall[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bates[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?reciprocal[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?gaussian[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?wald[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?gamma[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?scaled[-_]?inverse[-_]?chi[-_]?square[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inv[-_]?chi[-_]?square[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lehmann[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?frechet[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generalized[-_]?extreme[-_]?value[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gev[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generalized[-_]?pareto[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gpd[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?exponential[-_]?power[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gengauss[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?generalized[-_]?inverse[-_]?gaussian[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gig[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?normal[-_]?inverse[-_]?gaussian[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?nig[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?normal[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?t[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?cauchy[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?laplace[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?logistic[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gamma[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?weibull[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?exponential[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?pareto[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gumbel[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?frechet[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gev[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gpd[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?normal[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?t[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?cauchy[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?laplace[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?logistic[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gamma[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?weibull[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?exponential[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?pareto[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gumbel[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?frechet[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gev[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?skew[-_]?gpd[-_]?mixture[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mixture[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?compound[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?convolution[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?product[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ratio[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?difference[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sum[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?linear[-_]?combination[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?affine[-_]?transformation[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?location[-_]?scale[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?shape[-_]?transformation[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?power[-_]?transformation[-_]?distribution[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?box[-_]?cox[-_]?transformation[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?yeo[-_]?johnson[-_]?transformation[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rank[-_]?transformation[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quantile[-_]?transformation[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?probability[-_]?integral[-_]?transform[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pit[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?probability[-_]?integral[-_]?transform[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?invpit[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?inverse[-_]?transform[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rejection[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?acceptance[-_]?rejection[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?box[-_]?muller[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ziggurat[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ratio[-_]?of[-_]?uniforms[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?alias[-_]?method[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?walkers[-_]?alias[-_]?method[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?alias[-_]?table[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?vose[-_]?alias[-_]?method[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?discrete[-_]?alias[-_]?method[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?finite[-_]?discrete[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?categorical[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?multinomial[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dirichlet[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?normalized[-_]?gamma[-_]?sampling[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stick[-_]?breaking[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?chinese[-_]?restaurant[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?crp[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?indian[-_]?buffet[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ibp[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?beta[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?gamma[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?poisson[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?cox[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hawkes[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?self[-_]?exciting[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?galton[-_]?watson[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?age[-_]?dependent[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bellman[-_]?harris[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sevastyanov[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?markov[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?controlled[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?size[-_]?dependent[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?population[-_]?dependent[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?density[-_]?dependent[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?resource[-_]?dependent[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?cooperative[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?competitive[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?predator[-_]?prey[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?epidemic[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?vaccination[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mutation[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?selection[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?genetic[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?evolutionary[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?phylogenetic[-_]?branching[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?coalescent[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?kingman[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?lambda[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?psi[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?xi[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?multiple[-_]?merger[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?simonsens[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sagitov[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bolthausen[-_]?sznitman[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mohle[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pitman[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?beta[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dirac[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?star[-_]?shaped[-_]?coalescent[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?yule[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?pure[-_]?birth[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?linear[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?logistic[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?density[-_]?dependent[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?age[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stage[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?size[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?sex[-_]?structured[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?two[-_]?sex[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?polygamous[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?monogamous[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mating[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?courtship[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?marriage[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?divorce[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?widowhood[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?remarriage[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?fertility[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mortality[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?migration[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?emigration[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?immigration[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?colonization[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?extinction[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rescue[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bottleneck[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?founder[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?metapopulation[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?source[-_]?sink[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?levins[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?hanski[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?patch[-_]?occupancy[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?incidence[-_]?function[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rescue[-_]?effect[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?internal[-_]?colonization[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?propagule[-_]?rain[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mass[-_]?effect[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?island[-_]?biogeography[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?macarthur[-_]?wilson[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?dynamical[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?stochastic[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?deterministic[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?quasi[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?level[-_]?dependent[-_]?quasi[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?ldqbd[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?matrix[-_]?analytic[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mamap[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?phase[-_]?type[-_]?birth[-_]?death[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?markovian[-_]?arrival[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?map[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?batch[-_]?markovian[-_]?arrival[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?bmap[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?marked[-_]?markovian[-_]?arrival[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?mmap[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rational[-_]?arrival[-_]?process[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?rap[-_]?",
r"^haskell[-_]?haskell[-_]?tvar[-_]?ghc[-_]?minimum[-_]?algebra[-_]?",
]),
# Web3/Blockchain
("web3-blockchain", [
r"^web3[-_]?",
r"^blockchain[-_]?",
r"^ethereum[-_]?",
r"^solidity[-_]?",
r"^nft[-_]?",
r"^defi[-_]?",
r"^dao[-_]?",
r"^crypto[-_]?",
r"^token[-_]?",
r"^coin[-_]?",
r"^wallet[-_]?",
r"^metamask[-_]?",
r"^hardhat[-_]?",
r"^truffle[-_]?",
r"^foundry[-_]?",
r"^brownie[-_]?",
r"^ape[-_]?",
r"^vyper[-_]?",
r"^vyperlang[-_]?",
r"^rust[-_]?lang[-_]?",
r"^ink[-_]?",
r"^substrate[-_]?",
r"^polkadot[-_]?",
r"^kusama[-_]?",
r"^cosmos[-_]?",
r"^tendermint[-_]?",
r"^ibc[-_]?",
r"^solana[-_]?",
r"^cardano[-_]?",
r"^ada[-_]?",
r"^plutus[-_]?",
r"^marlowe[-_]?",
r"^aiken[-_]?",
r"^avalanche[-_]?",
r"^avax[-_]?",
r"^near[-_]?",
r"^algorand[-_]?",
r"^tezos[-_]?",
r"^ligo[-_]?",
r"^archetype[-_]?",
r"^smart[-_]?py[-_]?",
r"^chainlink[-_]?",
r"^link[-_]?",
r"^oracle[-_]?",
r"^uniswap[-_]?",
r"^aave[-_]?",
r"^compound[-_]?",
r"^maker[-_]?",
r"^dai[-_]?",
r"^curve[-_]?",
r"^sushi[-_]?",
r"^pancake[-_]?",
r"^quickswap[-_]?",
r"^dydx[-_]?",
r"^dharma[-_]?",
r"^instadapp[-_]?",
r"^yearn[-_]?",
r"^harvest[-_]?",
r"^synthetix[-_]?",
r"^susd[-_]?",
r"^uhe[-_]?",
r"^mirror[-_]?",
r"^anchor[-_]?",
r"^terra[-_]?",
r"^luna[-_]?",
r"^ust[-_]?",
r"^astro[-_]?",
r"^stader[-_]?",
r"^lidod[-_]?",
r"^steth[-_]?",
r"^rocket[-_]?pool[-_]?",
r"^frax[-_]?",
r"^fraxeth[-_]?",
r"^convex[-_]?",
r"^crv[-_]?",
r"^cvx[-_]?",
r"^aura[-_]?",
r"^balancer[-_]?",
r"^bpt[-_]?",
r"^gnosis[-_]?",
r"^cowswap[-_]?",
r"^mempool[-_]?",
r"^flash[-_]?bots[-_]?",
r"^mev[-_]?",
r"^maximal[-_]?extractable[-_]?value[-_]?",
r"^sandwich[-_]?attack[-_]?",
r"^front[-_]?running[-_]?",
r"^back[-_]?running[-_]?",
r"^liquidation[-_]?",
r"^arbitrage[-_]?",
r"^flash[-_]?loan[-_]?",
r"^flash[-_]?swap[-_]?",
r"^atomic[-_]?swap[-_]?",
r"^cross[-_]?chain[-_]?",
r"^bridge[-_]?",
r"^wrapped[-_]?",
r"^weth[-_]?",
r"^wbtc[-_]?",
r"^ren[-_]?",
r"^renvm[-_]?",
r"^multichain[-_]?",
r"^anyswap[-_]?",
r"^hop[-_]?",
r"^celer[-_]?",
r"^stargate[-_]?",
r"^layerzero[-_]?",
r"^wormhole[-_]?",
r"^portal[-_]?",
r"^allbridge[-_]?",
r"^synapse[-_]?",
r"^across[-_]?",
r"^nomad[-_]?",
r"^connext[-_]?",
r"^amarok[-_]?",
r"^everclear[-_]?",
r"^cartesi[-_]?",
r"^optimism[-_]?",
r"^arbitrum[-_]?",
r"^starknet[-_]?",
r"^starkware[-_]?",
r"^zksync[-_]?",
r"^zkevm[-_]?",
r"^polygon[-_]?",
r"^matic[-_]?",
r"^hermez[-_]?",
r"^miden[-_]?",
r"^zero[-_]?",
r"^scroll[-_]?",
r"^taiko[-_]?",
r"^loopring[-_]?",
r"^immutable[-_]?",
r"^imx[-_]?",
r"^dydx[-_]?",
r"^deversifi[-_]?",
r"^rhinofi[-_]?",
r"^sorare[-_]?",
r"^gods[-_]?unchained[-_]?",
r"^immutable[-_]?x[-_]?",
r"^x[-_]?layer[-_]?",
r"^cartesi[-_]?",
r"^coti[-_]?",
r"^metis[-_]?",
r"^boba[-_]?",
r"^aztec[-_]?",
r"^zora[-_]?",
r"^base[-_]?",
r"^linea[-_]?",
r"^mantle[-_]?",
r"^mode[-_]?",
r"^blast[-_]?",
r"^zeta[-_]?",
r"^zetachain[-_]?",
r"^layer[-_]?",
r"^l[-_]?",
r"^l1[-_]?",
r"^l2[-_]?",
r"^l3[-_]?",
r"^rollup[-_]?",
r"^optimistic[-_]?rollup[-_]?",
r"^zk[-_]?rollup[-_]?",
r"^validium[-_]?",
r"^volition[-_]?",
r"^celestia[-_]?",
r"^avail[-_]?",
r"^eigen[-_]?layer[-_]?",
r"^eigen[-_]?da[-_]?",
r"^data[-_]?availability[-_]?",
r"^da[-_]?",
r"^modular[-_]?blockchain[-_]?",
r"^monolithic[-_]?blockchain[-_]?",
r"^app[-_]?chain[-_]?",
r"^application[-_]?specific[-_]?chain[-_]?",
r"^parachain[-_]?",
r"^parathread[-_]?",
r"^collator[-_]?",
r"^fisherman[-_]?",
r"^nominator[-_]?",
r"^validator[-_]?",
r"^delegator[-_]?",
r"^staker[-_]?",
r"^miner[-_]?",
r"^forger[-_]?",
r"^block[-_]?producer[-_]?",
r"^slot[-_]?leader[-_]?",
r"^epoch[-_]?",
r"^era[-_]?",
r"^round[-_]?",
r"^view[-_]?",
r"^height[-_]?",
r"^depth[-_]?",
r"^finality[-_]?",
r"^justification[-_]?",
]),
# Marketing & Growth
("marketing-growth", [
r"^seo[-_]?",
r"^cro[-_]?",
r"^content[-_]?marketing",
r"^content[-_]?creator",
r"^content[-_]?strategy",
r"^marketing[-_]?",
r"^growth[-_]?",
r"^email[-_]?",
r"^ads[-_]?",
r"^advertising[-_]?",
r"^social[-_]?",
r"^viral[-_]?",
r"^landing[-_]?page[-_]?",
r"^funnel[-_]?",
r"^conversion[-_]?",
r"^acquisition[-_]?",
r"^retention[-_]?",
r"^activation[-_]?",
r"^referral[-_]?",
r"^revenue[-_]?",
r"^analytics[-_]?marketing[-_]?",
r"^ab[-_]?test",
r"^split[-_]?test",
r"^multivariate[-_]?test[-_]?",
r"^bandit[-_]?",
r"^thompson[-_]?sampling[-_]?",
r"^ucb[-_]?",
r"^upper[-_]?confidence[-_]?bound[-_]?",
r"^epsilon[-_]?greedy[-_]?",
r"^softmax[-_]?",
r"^boltzmann[-_]?exploration[-_]?",
r"^exploration[-_]?exploitation[-_]?",
r"^multi[-_]?armed[-_]?bandit[-_]?",
r"^contextual[-_]?bandit[-_]?",
r"^linucb[-_]?",
r"^lin[-_]?ucb[-_]?",
r"^linear[-_]?ucb[-_]?",
r"^hybrid[-_]?ucb[-_]?",
r"^oful[-_]?",
r"^optimism[-_]?in[-_]?the[-_]?face[-_]?of[-_]?uncertainty[-_]?linear[-_]?",
r"^square[-_]?cb[-_]?",
r"^neural[-_]?ucb[-_]?",
r"^neural[-_]?ts[-_]?",
r"^neural[-_]?thompson[-_]?sampling[-_]?",
r"^variational[-_]?bandit[-_]?",
r"^bayesian[-_]?bandit[-_]?",
r"^gaussian[-_]?process[-_]?bandit[-_]?",
r"^gp[-_]?ucb[-_]?",
r"^gp[-_]?ei[-_]?",
r"^gp[-_]?pi[-_]?",
r"^gp[-_]?thompson[-_]?sampling[-_]?",
r"^kernel[-_]?bandit[-_]?",
r"^ridge[-_]?bandit[-_]?",
r"^lasso[-_]?bandit[-_]?",
r"^sparse[-_]?bandit[-_]?",
r"^combinatorial[-_]?bandit[-_]?",
r"^cascading[-_]?bandit[-_]?",
r"^slate[-_]?bandit[-_]?",
r"^dueling[-_]?bandit[-_]?",
r"^interleaved[-_]?bandit[-_]?",
r"^ranking[-_]?bandit[-_]?",
r"^position[-_]?biased[-_]?bandit[-_]?",
r"^pbm[-_]?",
r"^position[-_]?based[-_]?model[-_]?",
r"^cascade[-_]?model[-_]?",
r"^cm[-_]?",
r"^dependent[-_]?click[-_]?model[-_]?",
r"^dcm[-_]?",
r"^click[-_]?chain[-_]?model[-_]?",
r"^ccm[-_]?",
r"^user[-_]?browsing[-_]?model[-_]?",
r"^ubm[-_]?",
r"^dynamic[-_]?bayesian[-_]?network[-_]?",
r"^dbn[-_]?",
r"^neural[-_]?click[-_]?model[-_]?",
r"^ncm[-_]?",
r"^click[-_]?model[-_]?",
r"^ctr[-_]?model[-_]?",
r"^ctr[-_]?prediction[-_]?",
r"^click[-_]?through[-_]?rate[-_]?",
r"^conversion[-_]?rate[-_]?optimization[-_]?",
r"^cro[-_]?",
r"^landing[-_]?page[-_]?optimization[-_]?",
r"^lpo[-_]?",
r"^seo[-_]?optimization[-_]?",
r"^search[-_]?engine[-_]?optimization[-_]?",
r"^content[-_]?marketing[-_]?",
r"^content[-_]?strategy[-_]?",
r"^content[-_]?creation[-_]?",
r"^content[-_]?distribution[-_]?",
r"^content[-_]?promotion[-_]?",
r"^content[-_]?syndication[-_]?",
r"^content[-_]?curation[-_]?",
r"^content[-_]?aggregation[-_]?",
r"^content[-_]?discovery[-_]?",
r"^content[-_]?recommendation[-_]?",
r"^content[-_]?personalization[-_]?",
r"^content[-_]?targeting[-_]?",
r"^content[-_]?segmentation[-_]?",
r"^content[-_]?attribution[-_]?",
r"^content[-_]?analytics[-_]?",
r"^content[-_]?metrics[-_]?",
r"^content[-_]?kpi[-_]?",
r"^content[-_]?roi[-_]?",
r"^content[-_]?performance[-_]?",
r"^content[-_]?engagement[-_]?",
r"^content[-_]?conversion[-_]?",
r"^content[-_]?retention[-_]?",
r"^content[-_]?churn[-_]?",
r"^content[-_]?lifetime[-_]?value[-_]?",
r"^content[-_]?cltv[-_]?",
r"^content[-_]?customer[-_]?lifetime[-_]?value[-_]?",
r"^content[-_]?cohort[-_]?analysis[-_]?",
r"^content[-_]?funnel[-_]?analysis[-_]?",
r"^content[-_]?journey[-_]?mapping[-_]?",
r"^content[-_]?touchpoint[-_]?analysis[-_]?",
r"^content[-_]?multitouch[-_]?attribution[-_]?",
r"^content[-_]?mta[-_]?",
r"^content[-_]?marketing[-_]?mix[-_]?modeling[-_]?",
r"^content[-_]?mmm[-_]?",
r"^content[-_]?incrementality[-_]?testing[-_]?",
r"^content[-_]?geo[-_]?experiment[-_]?",
r"^content[-_]?synthetic[-_]?control[-_]?",
r"^content[-_]?difference[-_]?in[-_]?differences[-_]?",
r"^content[-_]?did[-_]?",
r"^content[-_]?regression[-_]?discontinuity[-_]?",
r"^content[-_]?rd[-_]?",
r"^content[-_]?instrumental[-_]?variables[-_]?",
r"^content[-_]?iv[-_]?",
r"^content[-_]?propensity[-_]?score[-_]?matching[-_]?",
r"^content[-_]?psm[-_]?",
r"^content[-_]?causal[-_]?inference[-_]?",
r"^content[-_]?uplift[-_]?modeling[-_]?",
r"^content[-_]?response[-_]?modeling[-_]?",
r"^content[-_]?persuasion[-_]?modeling[-_]?",
r"^content[-_]?influence[-_]?modeling[-_]?",
r"^content[-_]?viral[-_]?modeling[-_]?",
r"^content[-_]?diffusion[-_]?modeling[-_]?",
r"^content[-_]?epidemic[-_]?modeling[-_]?",
r"^content[-_]?sirm[-_]?",
r"^content[-_]?seir[-_]?",
r"^content[-_]?agent[-_]?based[-_]?modeling[-_]?",
r"^content[-_]?abm[-_]?",
r"^content[-_]?system[-_]?dynamics[-_]?",
r"^content[-_]?stock[-_]?and[-_]?flow[-_]?",
r"^content[-_]?feedback[-_]?loop[-_]?",
r"^content[-_]?reinforcing[-_]?loop[-_]?",
r"^content[-_]?balancing[-_]?loop[-_]?",
r"^content[-_]?delay[-_]?",
r"^content[-_]?bottleneck[-_]?",
r"^content[-_]?constraint[-_]?",
r"^content[-_]?theory[-_]?of[-_]?constraints[-_]?",
r"^content[-_]?toc[-_]?",
r"^content[-_]?lean[-_]?manufacturing[-_]?",
r"^content[-_]?six[-_]?sigma[-_]?",
r"^content[-_]?dmaic[-_]?",
r"^content[-_]?define[-_]?measure[-_]?analyze[-_]?improve[-_]?control[-_]?",
r"^content[-_]?continuous[-_]?improvement[-_]?",
r"^content[-_]?kaizen[-_]?",
r"^content[-_]?pdsa[-_]?",
r"^content[-_]?plan[-_]?do[-_]?study[-_]?act[-_]?",
r"^content[-_]?pdca[-_]?",
r"^content[-_]?plan[-_]?do[-_]?check[-_]?act[-_]?",
r"^content[-_]?total[-_]?quality[-_]?management[-_]?",
r"^content[-_]?tqm[-_]?",
r"^content[-_]?iso[-_]?9001[-_]?",
r"^content[-_]?iso[-_]?14001[-_]?",
r"^content[-_]?iso[-_]?27001[-_]?",
r"^content[-_]?gdpr[-_]?",
r"^content[-_]?ccpa[-_]?",
r"^content[-_]?lgpd[-_]?",
r"^content[-_]?privacy[-_]?",
r"^content[-_]?data[-_]?protection[-_]?",
r"^content[-_]?security[-_]?",
r"^content[-_]?compliance[-_]?",
r"^content[-_]?governance[-_]?",
r"^content[-_]?risk[-_]?",
r"^content[-_]?audit[-_]?",
r"^content[-_]?control[-_]?",
r"^content[-_]?monitoring[-_]?",
r"^content[-_]?observability[-_]?",
r"^content[-_]?telemetry[-_]?",
r"^content[-_]?tracing[-_]?",
r"^content[-_]?logging[-_]?",
r"^content[-_]?metrics[-_]?",
r"^content[-_]?alerts[-_]?",
r"^content[-_]?incident[-_]?",
r"^content[-_]?response[-_]?",
r"^content[-_]?recovery[-_]?",
r"^content[-_]?continuity[-_]?",
r"^content[-_]?disaster[-_]?recovery[-_]?",
r"^content[-_]?backup[-_]?",
r"^content[-_]?restore[-_]?",
r"^content[-_]?archive[-_]?",
r"^content[-_]?retention[-_]?",
r"^content[-_]?deletion[-_]?",
r"^content[-_]?destruction[-_]?",
r"^content[-_]?sanitization[-_]?",
r"^content[-_]?anonymization[-_]?",
r"^content[-_]?pseudonymization[-_]?",
r"^content[-_]?encryption[-_]?",
r"^content[-_]?key[-_]?management[-_]?",
r"^content[-_]?certificate[-_]?",
r"^content[-_]?identity[-_]?",
r"^content[-_]?access[-_]?",
r"^content[-_]?authentication[-_]?",
r"^content[-_]?authorization[-_]?",
r"^content[-_]?federation[-_]?",
r"^content[-_]?single[-_]?sign[-_]?on[-_]?",
r"^content[-_]?multi[-_]?factor[-_]?authentication[-_]?",
r"^content[-_]?biometrics[-_]?",
r"^content[-_]?password[-_]?",
r"^content[-_]?secrets[-_]?",
r"^content[-_]?vault[-_]?",
r"^content[-_]?token[-_]?",
r"^content[-_]?cookie[-_]?",
r"^content[-_]?session[-_]?",
r"^content[-_]?cache[-_]?",
r"^content[-_]?cdn[-_]?",
r"^content[-_]?load[-_]?balancing[-_]?",
r"^content[-_]?failover[-_]?",
r"^content[-_]?replication[-_]?",
r"^content[-_]?sharding[-_]?",
r"^content[-_]?partitioning[-_]?",
r"^content[-_]?indexing[-_]?",
r"^content[-_]?query[-_]?optimization[-_]?",
r"^content[-_]?schema[-_]?evolution[-_]?",
r"^content[-_]?data[-_]?migration[-_]?",
r"^content[-_]?data[-_]?integration[-_]?",
r"^content[-_]?data[-_]?quality[-_]?",
r"^content[-_]?data[-_]?governance[-_]?",
r"^content[-_]?data[-_]?lineage[-_]?",
r"^content[-_]?data[-_]?catalog[-_]?",
r"^content[-_]?data[-_]?dictionary[-_]?",
r"^content[-_]?data[-_]?warehouse[-_]?",
r"^content[-_]?data[-_]?lake[-_]?",
r"^content[-_]?data[-_]?mesh[-_]?",
r"^content[-_]?data[-_]?fabric[-_]?",
r"^content[-_]?data[-_]?ops[-_]?",
r"^content[-_]?data[-_]?platform[-_]?",
r"^content[-_]?data[-_]?infrastructure[-_]?",
r"^content[-_]?data[-_]?architecture[-_]?",
r"^content[-_]?data[-_]?modeling[-_]?",
r"^content[-_]?data[-_]?design[-_]?",
r"^content[-_]?data[-_]?engineering[-_]?",
r"^content[-_]?data[-_]?science[-_]?",
r"^content[-_]?data[-_]?analytics[-_]?",
r"^content[-_]?data[-_]?visualization[-_]?",
r"^content[-_]?data[-_]?storytelling[-_]?",
r"^content[-_]?data[-_]?journalism[-_]?",
r"^content[-_]?data[-_]?literacy[-_]?",
r"^content[-_]?data[-_]?ethics[-_]?",
r"^content[-_]?data[-_]?privacy[-_]?",
r"^content[-_]?data[-_]?protection[-_]?",
r"^content[-_]?data[-_]?sovereignty[-_]?",
r"^content[-_]?data[-_]?residency[-_]?",
r"^content[-_]?data[-_]?localization[-_]?",
r"^content[-_]?data[-_]?globalization[-_]?",
r"^content[-_]?data[-_]?internationalization[-_]?",
r"^content[-_]?data[-_]?localization[-_]?",
]),
# Product & Business
("product-business", [
r"^product[-_]?manager",
r"^product[-_]?owner",
r"^startup[-_]?",
r"^business[-_]?",
r"^pricing[-_]?",
r"^analytics[-_]?business",
r"^finance[-_]?",
r"^accounting[-_]?",
r"^budget[-_]?",
r"^forecast[-_]?",
r"^kpi[-_]?",
r"^metric[-_]?",
r"^dashboard[-_]?",
r"^report[-_]?",
r"^roi[-_]?",
r"^cpa[-_]?",
r"^cac[-_]?",
r"^ltv[-_]?",
r"^arpu[-_]?",
r"^mrr[-_]?",
r"^arr[-_]?",
r"^churn[-_]?",
r"^retention[-_]?",
r"^engagement[-_]?",
r"^activation[-_]?",
r"^adoption[-_]?",
r"^conversion[-_]?",
r"^funnel[-_]?",
r"^pipeline[-_]?",
r"^sales[-_]?",
r"^crm[-_]?",
r"^lead[-_]?",
r"^opportunity[-_]?",
r"^forecast[-_]?",
r"^quota[-_]?",
r"^territory[-_]?",
r"^compensation[-_]?",
r"^commission[-_]?",
r"^incentive[-_]?",
r"^spiff[-_]?",
r"^rebate[-_]?",
r"^discount[-_]?",
r"^promotion[-_]?",
r"^campaign[-_]?",
r"^program[-_]?",
r"^initiative[-_]?",
r"^project[-_]?",
r"^program[-_]?",
r"^portfolio[-_]?",
r"^roadmap[-_]?",
r"^backlog[-_]?",
r"^sprint[-_]?",
r"^iteration[-_]?",
r"^release[-_]?",
r"^launch[-_]?",
r"^go[-_]?to[-_]?market[-_]?",
r"^gtm[-_]?",
r"^positioning[-_]?",
r"^messaging[-_]?",
r"^value[-_]?proposition[-_]?",
r"^uvp[-_]?",
r"^unique[-_]?value[-_]?proposition[-_]?",
r"^competitive[-_]?advantage[-_]?",
r"^differentiation[-_]?",
r"^moat[-_]?",
r"^barrier[-_]?to[-_]?entry[-_]?",
r"^network[-_]?effect[-_]?",
r"^flywheel[-_]?",
r"^virtuous[-_]?cycle[-_]?",
r"^economies[-_]?of[-_]?scale[-_]?",
r"^economies[-_]?of[-_]?scope[-_]?",
r"^learning[-_]?curve[-_]?",
r"^experience[-_]?curve[-_]?",
r"^boston[-_]?consulting[-_]?group[-_]?",
r"^bcg[-_]?",
r"^growth[-_]?share[-_]?matrix[-_]?",
r"^stars[-_]?",
r"^cash[-_]?cows[-_]?",
r"^question[-_]?marks[-_]?",
r"^dogs[-_]?",
r"^swot[-_]?",
r"^strengths[-_]?",
r"^weaknesses[-_]?",
r"^opportunities[-_]?",
r"^threats[-_]?",
r"^porter[-_]?",
r"^five[-_]?forces[-_]?",
r"^competitive[-_]?rivalry[-_]?",
r"^supplier[-_]?power[-_]?",
r"^buyer[-_]?power[-_]?",
r"^threat[-_]?of[-_]?substitution[-_]?",
r"^threat[-_]?of[-_]?new[-_]?entry[-_]?",
r"^value[-_]?chain[-_]?",
r"^primary[-_]?activities[-_]?",
r"^support[-_]?activities[-_]?",
r"^inbound[-_]?logistics[-_]?",
r"^operations[-_]?",
r"^outbound[-_]?logistics[-_]?",
r"^marketing[-_]?and[-_]?sales[-_]?",
r"^service[-_]?",
r"^firm[-_]?infrastructure[-_]?",
r"^human[-_]?resource[-_]?management[-_]?",
r"^technology[-_]?development[-_]?",
r"^procurement[-_]?",
r"^balanced[-_]?scorecard[-_]?",
r"^bsc[-_]?",
r"^financial[-_]?perspective[-_]?",
r"^customer[-_]?perspective[-_]?",
r"^internal[-_]?process[-_]?perspective[-_]?",
r"^learning[-_]?and[-_]?growth[-_]?perspective[-_]?",
r"^okr[-_]?",
r"^objectives[-_]?and[-_]?key[-_]?results[-_]?",
r"^north[-_]?star[-_]?metric[-_]?",
r"^nsm[-_]?",
r"^one[-_]?metric[-_]?that[-_]?matters[-_]?",
r"^omtm[-_]?",
r"^pirate[-_]?metrics[-_]?",
r"^aarrr[-_]?",
r"^acquisition[-_]?",
r"^activation[-_]?",
r"^retention[-_]?",
r"^referral[-_]?",
r"^revenue[-_]?",
r"^heart[-_]?metrics[-_]?",
r"^happiness[-_]?",
r"^engagement[-_]?",
r"^adoption[-_]?",
r"^retention[-_]?",
r"^task[-_]?success[-_]?",
r"^game[-_]?thinking[-_]?",
r"^super[-_]?fans[-_]?",
r"^committed[-_]?members[-_]?",
r"^casual[-_]?members[-_]?",
r"^observers[-_]?",
r"^non[-_]?members[-_]?",
r"^habit[-_]?zone[-_]?",
r"^discovery[-_]?phase[-_]?",
r"^onboarding[-_]?phase[-_]?",
r"^habit[-_]?phase[-_]?",
r"^mastery[-_]?phase[-_]?",
r"^core[-_]?loop[-_]?",
r"^compulsion[-_]?loop[-_]?",
r"^reward[-_]?schedule[-_]?",
r"^progression[-_]?system[-_]?",
r"^level[-_]?system[-_]?",
r"^point[-_]?system[-_]?",
r"^badge[-_]?system[-_]?",
r"^leaderboard[-_]?system[-_]?",
r"^achievement[-_]?system[-_]?",
r"^milestone[-_]?system[-_]?",
r"^unlock[-_]?system[-_]?",
r"^narrative[-_]?system[-_]?",
r"^social[-_]?system[-_]?",
r"^competition[-_]?system[-_]?",
r"^cooperation[-_]?system[-_]?",
r"^exploration[-_]?system[-_]?",
r"^collection[-_]?system[-_]?",
r"^completion[-_]?system[-_]?",
r"^customization[-_]?system[-_]?",
r"^expression[-_]?system[-_]?",
r"^altruism[-_]?system[-_]?",
r"^donation[-_]?system[-_]?",
r"^gift[-_]?system[-_]?",
r"^sharing[-_]?system[-_]?",
r"^invite[-_]?system[-_]?",
r"^referral[-_]?system[-_]?",
r"^viral[-_]?system[-_]?",
r"^network[-_]?system[-_]?",
r"^community[-_]?system[-_]?",
r"^guild[-_]?system[-_]?",
r"^clan[-_]?system[-_]?",
r"^alliance[-_]?system[-_]?",
r"^faction[-_]?system[-_]?",
r"^team[-_]?system[-_]?",
r"^squad[-_]?system[-_]?",
r"^party[-_]?system[-_]?",
r"^raid[-_]?system[-_]?",
r"^dungeon[-_]?system[-_]?",
r"^quest[-_]?system[-_]?",
r"^mission[-_]?system[-_]?",
r"^challenge[-_]?system[-_]?",
r"^puzzle[-_]?system[-_]?",
r"^riddle[-_]?system[-_]?",
r"^mystery[-_]?system[-_]?",
r"^treasure[-_]?hunt[-_]?system[-_]?",
r"^scavenger[-_]?hunt[-_]?system[-_]?",
r"^easter[-_]?egg[-_]?system[-_]?",
r"^secret[-_]?system[-_]?",
r"^hidden[-_]?system[-_]?",
r"^surprise[-_]?system[-_]?",
r"^delight[-_]?system[-_]?",
r"^wow[-_]?moment[-_]?",
r"^magic[-_]?moment[-_]?",
r"^peak[-_]?end[-_]?rule[-_]?",
r"^flow[-_]?state[-_]?",
r"^zone[-_]?of[-_]?proximal[-_]?development[-_]?",
r"^zpd[-_]?",
r"^scaffold[-_]?",
r"^tutorial[-_]?",
r"^guide[-_]?",
r"^help[-_]?",
r"^support[-_]?",
r"^faq[-_]?",
r"^documentation[-_]?",
r"^knowledge[-_]?base[-_]?",
r"^wiki[-_]?",
r"^community[-_]?forum[-_]?",
r"^user[-_]?forum[-_]?",
r"^discussion[-_]?board[-_]?",
r"^q[-_]?and[-_]?a[-_]?",
r"^stack[-_]?overflow[-_]?",
r"^quora[-_]?",
r"^reddit[-_]?",
r"^discord[-_]?",
r"^slack[-_]?",
r"^teams[-_]?",
r"^zoom[-_]?",
r"^meet[-_]?",
r"^webex[-_]?",
r"^gotomeeting[-_]?",
r"^bluejeans[-_]?",
r"^skype[-_]?",
r"^hangouts[-_]?",
r"^duo[-_]?",
r"^facetime[-_]?",
r"^signal[-_]?",
r"^telegram[-_]?",
r"^whatsapp[-_]?",
r"^wechat[-_]?",
r"^line[-_]?",
r"^kakao[-_]?",
r"^viber[-_]?",
r"^imessage[-_]?",
r"^sms[-_]?",
r"^mms[-_]?",
r"^push[-_]?notification[-_]?",
r"^in[-_]?app[-_]?message[-_]?",
r"^email[-_]?",
r"^newsletter[-_]?",
r"^digest[-_]?",
r"^alert[-_]?",
r"^reminder[-_]?",
r"^notification[-_]?",
r"^announcement[-_]?",
r"^broadcast[-_]?",
r"^campaign[-_]?",
r"^automation[-_]?",
r"^workflow[-_]?",
r"^trigger[-_]?",
r"^event[-_]?",
r"^action[-_]?",
r"^condition[-_]?",
r"^rule[-_]?",
r"^policy[-_]?",
r"^logic[-_]?",
r"^algorithm[-_]?",
r"^ml[-_]?model[-_]?",
r"^ai[-_]?model[-_]?",
r"^predictive[-_]?model[-_]?",
r"^forecasting[-_]?model[-_]?",
r"^scoring[-_]?model[-_]?",
r"^ranking[-_]?model[-_]?",
r"^recommendation[-_]?model[-_]?",
r"^personalization[-_]?model[-_]?",
r"^optimization[-_]?model[-_]?",
r"^simulation[-_]?model[-_]?",
r"^digital[-_]?twin[-_]?",
r"^metaverse[-_]?",
r"^web3[-_]?",
r"^nft[-_]?",
r"^token[-_]?",
r"^coin[-_]?",
r"^crypto[-_]?",
r"^blockchain[-_]?",
r"^defi[-_]?",
r"^dao[-_]?",
r"^smart[-_]?contract[-_]?",
r"^wallet[-_]?",
r"^exchange[-_]?",
r"^marketplace[-_]?",
r"^platform[-_]?",
r"^ecosystem[-_]?",
r"^partner[-_]?",
r"^integration[-_]?",
r"^api[-_]?",
r"^sdk[-_]?",
r"^plugin[-_]?",
r"^extension[-_]?",
r"^addon[-_]?",
r"^module[-_]?",
r"^component[-_]?",
r"^library[-_]?",
r"^framework[-_]?",
r"^toolkit[-_]?",
r"^boilerplate[-_]?",
r"^starter[-_]?",
r"^template[-_]?",
r"^theme[-_]?",
r"^skin[-_]?",
r"^asset[-_]?",
r"^resource[-_]?",
r"^bundle[-_]?",
r"^package[-_]?",
r"^distribution[-_]?",
r"^release[-_]?",
r"^version[-_]?",
r"^update[-_]?",
r"^patch[-_]?",
r"^upgrade[-_]?",
r"^migration[-_]?",
r"^deployment[-_]?",
r"^installation[-_]?",
r"^configuration[-_]?",
r"^setup[-_]?",
r"^initialization[-_]?",
r"^bootstrapping[-_]?",
r"^provisioning[-_]?",
r"^orchestration[-_]?",
r"^choreography[-_]?",
r"^coordination[-_]?",
r"^synchronization[-_]?",
r"^scheduling[-_]?",
r"^planning[-_]?",
r"^allocation[-_]?",
r"^assignment[-_]?",
r"^distribution[-_]?",
r"^balancing[-_]?",
r"^optimization[-_]?",
r"^efficiency[-_]?",
r"^performance[-_]?",
r"^throughput[-_]?",
r"^latency[-_]?",
r"^response[-_]?time[-_]?",
r"^uptime[-_]?",
r"^availability[-_]?",
r"^reliability[-_]?",
r"^durability[-_]?",
r"^resilience[-_]?",
r"^fault[-_]?tolerance[-_]?",
r"^graceful[-_]?degradation[-_]?",
r"^self[-_]?healing[-_]?",
r"^auto[-_]?recovery[-_]?",
r"^disaster[-_]?recovery[-_]?",
r"^business[-_]?continuity[-_]?",
r"^backup[-_]?",
r"^restore[-_]?",
r"^replication[-_]?",
r"^failover[-_]?",
r"^redundancy[-_]?",
r"^high[-_]?availability[-_]?",
r"^load[-_]?balancing[-_]?",
r"^traffic[-_]?management[-_]?",
r"^rate[-_]?limiting[-_]?",
r"^throttling[-_]?",
r"^circuit[-_]?breaker[-_]?",
r"^bulkhead[-_]?",
r"^timeout[-_]?",
r"^retry[-_]?",
r"^backoff[-_]?",
r"^jitter[-_]?",
r"^hedging[-_]?",
r"^caching[-_]?",
r"^prefetching[-_]?",
r"^lazy[-_]?loading[-_]?",
r"^eager[-_]?loading[-_]?",
r"^pagination[-_]?",
r"^infinite[-_]?scroll[-_]?",
r"^virtual[-_]?scroll[-_]?",
r"^windowing[-_]?",
r"^list[-_]?virtualization[-_]?",
r"^dom[-_]?recycling[-_]?",
r"^component[-_]?pooling[-_]?",
r"^object[-_]?pooling[-_]?",
r"^connection[-_]?pooling[-_]?",
r"^thread[-_]?pooling[-_]?",
r"^process[-_]?pooling[-_]?",
r"^memory[-_]?pooling[-_]?",
r"^buffer[-_]?pooling[-_]?",
r"^resource[-_]?pooling[-_]?",
r"^worker[-_]?pool[-_]?",
r"^pool[-_]?",
]),
# Infrastructure & SRE
("infrastructure-sre", [
r"^monitoring[-_]?",
r"^observability[-_]?",
r"^logging[-_]?",
r"^tracing[-_]?",
r"^metrics[-_]?",
r"^alerting[-_]?",
r"^incident[-_]?",
r"^sre[-_]?",
r"^performance[-_]?",
r"^reliability[-_]?",
r"^availability[-_]?",
r"^scalability[-_]?",
r"^capacity[-_]?",
r"^planning[-_]?",
r"^tuning[-_]?",
r"^optimization[-_]?",
r"^profiling[-_]?",
r"^benchmarking[-_]?",
r"^load[-_]?testing[-_]?",
r"^stress[-_]?testing[-_]?",
r"^chaos[-_]?engineering[-_]?",
r"^disaster[-_]?recovery[-_]?",
r"^backup[-_]?",
r"^restore[-_]?",
r"^replication[-_]?",
r"^failover[-_]?",
r"^redundancy[-_]?",
r"^high[-_]?availability[-_]?",
r"^load[-_]?balancing[-_]?",
r"^traffic[-_]?management[-_]?",
r"^rate[-_]?limiting[-_]?",
r"^throttling[-_]?",
r"^circuit[-_]?breaker[-_]?",
r"^bulkhead[-_]?",
r"^timeout[-_]?",
r"^retry[-_]?",
r"^backoff[-_]?",
r"^jitter[-_]?",
r"^hedging[-_]?",
r"^caching[-_]?",
r"^prefetching[-_]?",
r"^lazy[-_]?loading[-_]?",
r"^eager[-_]?loading[-_]?",
r"^pagination[-_]?",
r"^infinite[-_]?scroll[-_]?",
r"^virtual[-_]?scroll[-_]?",
r"^windowing[-_]?",
r"^list[-_]?virtualization[-_]?",
r"^dom[-_]?recycling[-_]?",
r"^component[-_]?pooling[-_]?",
r"^object[-_]?pooling[-_]?",
r"^connection[-_]?pooling[-_]?",
r"^thread[-_]?pooling[-_]?",
r"^process[-_]?pooling[-_]?",
r"^memory[-_]?pooling[-_]?",
r"^buffer[-_]?pooling[-_]?",
r"^resource[-_]?pooling[-_]?",
r"^worker[-_]?pool[-_]?",
]),
# Workflow & Automation
("workflow-automation", [
r"^workflow[-_]?",
r"^automation[-_]?",
r"^n8n[-_]?",
r"^zapier[-_]?",
r"^make[-_]?",
r"^integromat[-_]?",
r"^ifttt[-_]?",
r"^huginn[-_]?",
r"^node[-_]?red[-_]?",
r"^trigger[-_]?",
r"^action[-_]?",
r"^condition[-_]?",
r"^rule[-_]?",
r"^policy[-_]?",
r"^logic[-_]?",
r"^algorithm[-_]?",
r"^orchestration[-_]?",
r"^choreography[-_]?",
r"^coordination[-_]?",
r"^synchronization[-_]?",
r"^scheduling[-_]?",
r"^planning[-_]?",
r"^allocation[-_]?",
r"^assignment[-_]?",
r"^distribution[-_]?",
r"^balancing[-_]?",
r"^optimization[-_]?",
r"^efficiency[-_]?",
r"^performance[-_]?",
r"^throughput[-_]?",
r"^latency[-_]?",
r"^response[-_]?time[-_]?",
r"^uptime[-_]?",
r"^availability[-_]?",
r"^reliability[-_]?",
r"^durability[-_]?",
r"^resilience[-_]?",
r"^fault[-_]?tolerance[-_]?",
r"^graceful[-_]?degradation[-_]?",
r"^self[-_]?healing[-_]?",
r"^auto[-_]?recovery[-_]?",
r"^disaster[-_]?recovery[-_]?",
r"^business[-_]?continuity[-_]?",
r"^backup[-_]?",
r"^restore[-_]?",
r"^replication[-_]?",
r"^failover[-_]?",
r"^redundancy[-_]?",
r"^high[-_]?availability[-_]?",
r"^load[-_]?balancing[-_]?",
r"^traffic[-_]?management[-_]?",
r"^rate[-_]?limiting[-_]?",
r"^throttling[-_]?",
r"^circuit[-_]?breaker[-_]?",
r"^bulkhead[-_]?",
r"^timeout[-_]?",
r"^retry[-_]?",
r"^backoff[-_]?",
r"^jitter[-_]?",
r"^hedging[-_]?",
r"^caching[-_]?",
r"^prefetching[-_]?",
r"^lazy[-_]?loading[-_]?",
r"^eager[-_]?loading[-_]?",
r"^pagination[-_]?",
r"^infinite[-_]?scroll[-_]?",
r"^virtual[-_]?scroll[-_]?",
r"^windowing[-_]?",
r"^list[-_]?virtualization[-_]?",
r"^dom[-_]?recycling[-_]?",
r"^component[-_]?pooling[-_]?",
r"^object[-_]?pooling[-_]?",
r"^connection[-_]?pooling[-_]?",
r"^thread[-_]?pooling[-_]?",
r"^process[-_]?pooling[-_]?",
r"^memory[-_]?pooling[-_]?",
r"^buffer[-_]?pooling[-_]?",
r"^resource[-_]?pooling[-_]?",
r"^worker[-_]?pool[-_]?",
]),
# Documentation & Content
("documentation-content", [
r"^doc[-_]?",
r"^documentation[-_]?",
r"^writing[-_]?",
r"^readme[-_]?",
r"^presentation[-_]?",
r"^spreadsheet[-_]?",
r"^pdf[-_]?",
r"^docx[-_]?",
r"^xlsx[-_]?",
r"^pptx[-_]?",
r"^ooxml[-_]?",
r"^openxml[-_]?",
r"^markdown[-_]?",
r"^md[-_]?",
r"^rst[-_]?",
r"^asciidoc[-_]?",
r"^tex[-_]?",
r"^latex[-_]?",
r"^bibtex[-_]?",
r"^biblatex[-_]?",
r"^cs[-_]?",
r"^csl[-_]?",
r"^citation[-_]?style[-_]?language[-_]?",
r"^zotero[-_]?",
r"^mendeley[-_]?",
r"^endnote[-_]?",
r"^refworks[-_]?",
r"^citavi[-_]?",
r"^papers[-_]?",
r"^readcube[-_]?",
r"^paperpile[-_]?",
r"^jabref[-_]?",
r"^docear[-_]?",
r"^mindmap[-_]?",
r"^concept[-_]?map[-_]?",
r"^knowledge[-_]?map[-_]?",
r"^argument[-_]?map[-_]?",
r"^debate[-_]?map[-_]?",
r"^dialogue[-_]?map[-_]?",
r"^issue[-_]?map[-_]?",
r"^stakeholder[-_]?map[-_]?",
r"^value[-_]?map[-_]?",
r"^strategy[-_]?map[-_]?",
r"^balanced[-_]?scorecard[-_]?",
r"^strategy[-_]?canvas[-_]?",
r"^business[-_]?model[-_]?canvas[-_]?",
r"^lean[-_]?canvas[-_]?",
r"^value[-_]?proposition[-_]?canvas[-_]?",
r"^product[-_]?vision[-_]?board[-_]?",
r"^goal[-_]?oriented[-_]?roadmap[-_]?",
r"^now[-_]?next[-_]?later[-_]?roadmap[-_]?",
r"^theme[-_]?based[-_]?roadmap[-_]?",
r"^outcome[-_]?based[-_]?roadmap[-_]?",
r"^feature[-_]?based[-_]?roadmap[-_]?",
r"^technology[-_]?roadmap[-_]?",
r"^architectural[-_]?roadmap[-_]?",
r"^capability[-_]?roadmap[-_]?",
r"^strategy[-_]?roadmap[-_]?",
r"^product[-_]?roadmap[-_]?",
r"^portfolio[-_]?roadmap[-_]?",
r"^solution[-_]?roadmap[-_]?",
r"^program[-_]?roadmap[-_]?",
r"^project[-_]?roadmap[-_]?",
r"^release[-_]?roadmap[-_]?",
r"^launch[-_]?roadmap[-_]?",
r"^beta[-_]?roadmap[-_]?",
r"^alpha[-_]?roadmap[-_]?",
r"^mvp[-_]?roadmap[-_]?",
r"^prototype[-_]?roadmap[-_]?",
r"^poc[-_]?roadmap[-_]?",
r"^pilot[-_]?roadmap[-_]?",
r"^experiment[-_]?roadmap[-_]?",
r"^research[-_]?roadmap[-_]?",
r"^development[-_]?roadmap[-_]?",
r"^engineering[-_]?roadmap[-_]?",
r"^design[-_]?roadmap[-_]?",
r"^ux[-_]?roadmap[-_]?",
r"^ui[-_]?roadmap[-_]?",
r"^frontend[-_]?roadmap[-_]?",
r"^backend[-_]?roadmap[-_]?",
r"^fullstack[-_]?roadmap[-_]?",
r"^mobile[-_]?roadmap[-_]?",
r"^ios[-_]?roadmap[-_]?",
r"^android[-_]?roadmap[-_]?",
r"^react[-_]?native[-_]?roadmap[-_]?",
r"^flutter[-_]?roadmap[-_]?",
r"^desktop[-_]?roadmap[-_]?",
r"^electron[-_]?roadmap[-_]?",
r"^tauri[-_]?roadmap[-_]?",
r"^wails[-_]?roadmap[-_]?",
r"^qt[-_]?roadmap[-_]?",
r"^gtk[-_]?roadmap[-_]?",
r"^wx[-_]?roadmap[-_]?",
r"^javafx[-_]?roadmap[-_]?",
r"^swing[-_]?roadmap[-_]?",
r"^awt[-_]?roadmap[-_]?",
r"^swt[-_]?roadmap[-_]?",
r"^jface[-_]?roadmap[-_]?",
r"^rcp[-_]?roadmap[-_]?",
r"^eclipse[-_]?roadmap[-_]?",
r"^netbeans[-_]?roadmap[-_]?",
r"^intellij[-_]?roadmap[-_]?",
r"^android[-_]?studio[-_]?roadmap[-_]?",
r"^xcode[-_]?roadmap[-_]?",
r"^visual[-_]?studio[-_]?roadmap[-_]?",
r"^vscode[-_]?roadmap[-_]?",
r"^sublime[-_]?roadmap[-_]?",
r"^atom[-_]?roadmap[-_]?",
r"^brackets[-_]?roadmap[-_]?",
r"^notepad\+\+[-_]?roadmap[-_]?",
r"^vim[-_]?roadmap[-_]?",
r"^neovim[-_]?roadmap[-_]?",
r"^emacs[-_]?roadmap[-_]?",
r"^nano[-_]?roadmap[-_]?",
r"^micro[-_]?roadmap[-_]?",
r"^helix[-_]?roadmap[-_]?",
r"^kakoune[-_]?roadmap[-_]?",
r"^acme[-_]?roadmap[-_]?",
r"^sam[-_]?roadmap[-_]?",
r"^ed[-_]?roadmap[-_]?",
r"^ex[-_]?roadmap[-_]?",
r"^vi[-_]?roadmap[-_]?",
r"^edlin[-_]?roadmap[-_]?",
r"^edit[-_]?roadmap[-_]?",
r"^ee[-_]?roadmap[-_]?",
r"^jed[-_]?roadmap[-_]?",
r"^joe[-_]?roadmap[-_]?",
r"^jove[-_]?roadmap[-_]?",
r"^levee[-_]?roadmap[-_]?",
r"^mg[-_]?roadmap[-_]?",
r"^pico[-_]?roadmap[-_]?",
r"^pine[-_]?roadmap[-_]?",
r"^teco[-_]?roadmap[-_]?",
r"^tpu[-_]?roadmap[-_]?",
r"^emacs[-_]?roadmap[-_]?",
r"^zile[-_]?roadmap[-_]?",
r"^epsilon[-_]?roadmap[-_]?",
r"^jmacs[-_]?roadmap[-_]?",
r"^uemacs[-_]?roadmap[-_]?",
r"^mg[-_]?roadmap[-_]?",
r"^zile[-_]?roadmap[-_]?",
]),
# Meta-skills (about skills themselves)
("meta", [
r"^skill[-_]?creator",
r"^skill[-_]?developer",
r"^writing[-_]?skill",
r"^meta[-_]?",
r"^claude[-_]?code[-_]?guide",
r"^cursor[-_]?",
r"^create[-_]?rule",
r"^create[-_]?skill",
r"^update[-_]?cursor",
]),
# File processing
("file-processing", [
r"^docx[-_]?",
r"^xlsx[-_]?",
r"^pptx[-_]?",
r"^pdf[-_]?",
r"^csv[-_]?",
r"^tsv[-_]?",
r"^json[-_]?processing",
r"^xml[-_]?processing",
r"^yaml[-_]?processing",
r"^toml[-_]?processing",
r"^ini[-_]?processing",
r"^config[-_]?processing",
r"^log[-_]?processing",
r"^text[-_]?processing",
r"^image[-_]?processing",
r"^video[-_]?processing",
r"^audio[-_]?processing",
r"^media[-_]?processing",
r"^document[-_]?processing",
r"^spreadsheet[-_]?processing",
r"^presentation[-_]?processing",
r"^ooxml[-_]?",
r"^openxml[-_]?",
r"^office[-_]?automation[-_]?",
]),
# Game Development
("game-development", [
r"^game[-_]?",
r"^unity[-_]?",
r"^unreal[-_]?",
r"^godot[-_]?",
r"^bevy[-_]?",
r"^amethyst[-_]?",
r"^piston[-_]?",
r"^ggez[-_]?",
r"^macroquad[-_]?",
r"^miniquad[-_]?",
r"^raylib[-_]?",
r"^sdl[-_]?",
r"^sfml[-_]?",
r"^allegro[-_]?",
r"^cocos2d[-_]?",
r"^love[-_]?",
r"^defold[-_]?",
r"^gamemaker[-_]?",
r"^construct[-_]?",
r"^rpg[-_]?maker[-_]?",
r"^renpy[-_]?",
r"^twine[-_]?",
r"^ink[-_]?",
r"^harlowe[-_]?",
r"^sugar[-_]?cube[-_]?",
r"^bitsy[-_]?",
r"^rpg[-_]?",
r"^roguelike[-_]?",
r"^platformer[-_]?",
r"^shooter[-_]?",
r"^fps[-_]?",
r"^tps[-_]?",
r"^rts[-_]?",
r"^moba[-_]?",
r"^mmo[-_]?",
r"^mmorpg[-_]?",
r"^puzzle[-_]?",
r"^strategy[-_]?",
r"^simulation[-_]?",
r"^sandbox[-_]?",
r"^survival[-_]?",
r"^horror[-_]?",
r"^adventure[-_]?",
r"^action[-_]?",
r"^racing[-_]?",
r"^sports[-_]?",
r"^fighting[-_]?",
r"^beat[-_]?em[-_]?up[-_]?",
r"^stealth[-_]?",
r"^metroidvania[-_]?",
r"^soulslike[-_]?",
r"^roguelite[-_]?",
r"^deckbuilder[-_]?",
r"^tower[-_]?defense[-_]?",
r"^idle[-_]?",
r"^clicker[-_]?",
r"^tycoon[-_]?",
r"^management[-_]?",
r"^city[-_]?builder[-_]?",
r"^colony[-_]?sim[-_]?",
r"^dwarf[-_]?fortress[-_]?",
r"^rimworld[-_]?",
r"^factorio[-_]?",
r"^satisfactory[-_]?",
r"^oxygen[-_]?not[-_]?included[-_]?",
r"^oni[-_]?",
r"^prison[-_]?architect[-_]?",
r"^two[-_]?point[-_]?",
r"^theme[-_]?hospital[-_]?",
r"^rollercoaster[-_]?tycoon[-_]?",
r"^planet[-_]?coaster[-_]?",
r"^zoo[-_]?tycoon[-_]?",
r"^planet[-_]?zoo[-_]?",
r"^jurassic[-_]?world[-_]?",
r"^evolution[-_]?",
r"^stellaris[-_]?",
r"^crusader[-_]?kings[-_]?",
r"^eu[-_]?",
r"^hearts[-_]?of[-_]?iron[-_]?",
r"^victoria[-_]?",
r"^imperator[-_]?",
r"^ck[-_]?",
r"^hoi[-_]?",
r"^vic[-_]?",
r"^total[-_]?war[-_]?",
r"^civilization[-_]?",
r"^civ[-_]?",
r"^alpha[-_]?centauri[-_]?",
r"^beyond[-_]?earth[-_]?",
r"^humankind[-_]?",
r"^old[-_]?world[-_]?",
r"^fallen[-_]?enchantress[-_]?",
r"^elemental[-_]?",
r"^galactic[-_]?civilizations[-_]?",
r"^endless[-_]?",
r"^endless[-_]?legend[-_]?",
r"^endless[-_]?space[-_]?",
r"^dungeon[-_]?of[-_]?the[-_]?endless[-_]?",
r"^endless[-_]?dungeon[-_]?",
r"^rogue[-_]?legacy[-_]?",
r"^dead[-_]?cells[-_]?",
r"^hades[-_]?",
r"^enter[-_]?the[-_]?gungeon[-_]?",
r"^the[-_]?binding[-_]?of[-_]?isaac[-_]?",
r"^nuclear[-_]?throne[-_]?",
r"^risk[-_]?of[-_]?rain[-_]?",
r"^slay[-_]?the[-_]?spire[-_]?",
r"^monster[-_]?train[-_]?",
r"^griftlands[-_]?",
r"^inscryption[-_]?",
r"^ring[-_]?of[-_]?pain[-_]?",
r"^hand[-_]?of[-_]?fate[-_]?",
r"^dream[-_]?quest[-_]?",
r"^card[-_]?crawl[-_]?",
r"^solitairica[-_]?",
r"^meteorfall[-_]?",
r"^night[-_]?of[-_]?the[-_]?full[-_]?moon[-_]?",
r"^dark[-_]?deity[-_]?",
r"^fights[-_]?in[-_]?tight[-_]?spaces[-_]?",
r"^neoverse[-_]?",
r"^nowhere[-_]?prophet[-_]?",
r"^deeprock[-_]?galactic[-_]?",
r"^valheim[-_]?",
r"^terraria[-_]?",
r"^starbound[-_]?",
r"^minecraft[-_]?",
r"^roblox[-_]?",
r"^fortnite[-_]?",
r"^pubg[-_]?",
r"^apex[-_]?legends[-_]?",
r"^valorant[-_]?",
r"^counter[-_]?strike[-_]?",
r"^cs[-_]?",
r"^overwatch[-_]?",
r"^team[-_]?fortress[-_]?",
r"^tf[-_]?",
r"^paladins[-_]?",
r"^realm[-_]?royale[-_]?",
r"^spellbreak[-_]?",
r"^crucible[-_]?",
r"^bleeding[-_]?edge[-_]?",
r"^gigantic[-_]?",
r"^battlerite[-_]?",
r"^battleroyale[-_]?",
r"^h1z1[-_]?",
r"^dayz[-_]?",
r"^ark[-_]?",
r"^rust[-_]?",
r"^conan[-_]?exiles[-_]?",
r"^atlas[-_]?",
r"^sea[-_]?of[-_]?thieves[-_]?",
r"^no[-_]?mans[-_]?sky[-_]?",
r"^elite[-_]?dangerous[-_]?",
r"^eve[-_]?online[-_]?",
r"^star[-_]?citizen[-_]?",
r"^dual[-_]?universe[-_]?",
r"^space[-_]?engineers[-_]?",
r"^empyrion[-_]?",
r"^starship[-_]?evo[-_]?",
r"^avorion[-_]?",
r"^reassembly[-_]?",
r"^cosmoteer[-_]?",
r"^star[-_]?valley[-_]?",
r"^rimworld[-_]?",
r"^dwarf[-_]?fortress[-_]?",
r"^caves[-_]?of[-_]?qud[-_]?",
r"^unreal[-_]?world[-_]?",
r"^cataclysm[-_]?dda[-_]?",
r"^cdda[-_]?",
r"^project[-_]?zomboid[-_]?",
r"^7[-_]?days[-_]?to[-_]?die[-_]?",
r"^state[-_]?of[-_]?decay[-_]?",
r"^dayz[-_]?",
r"^scum[-_]?",
r"^last[-_]?oasis[-_]?",
r"^icarus[-_]?",
r"^green[-_]?hell[-_]?",
r"^the[-_]?forest[-_]?",
r"^sons[-_]?of[-_]?the[-_]?forest[-_]?",
r"^stranded[-_]?deep[-_]?",
r"^raft[-_]?",
r"^subnautica[-_]?",
r"^below[-_]?zero[-_]?",
r"^breathedge[-_]?",
r"^osiris[-_]?new[-_]?dawn[-_]?",
r"^astroneer[-_]?",
r"^planet[-_]?nomads[-_]?",
r"^empyrion[-_]?",
r"^space[-_]?engineers[-_]?",
r"^dual[-_]?universe[-_]?",
r"^starbase[-_]?",
r"^mar[-_]?auders[-_]?",
r"^escape[-_]?from[-_]?tarkov[-_]?",
r"^eft[-_]?",
r"^hunt[-_]?showdown[-_]?",
r"^insurgency[-_]?",
r"^squad[-_]?",
r"^arma[-_]?",
r"^dayz[-_]?",
r"^pubg[-_]?",
r"^fortnite[-_]?",
r"^apex[-_]?legends[-_]?",
r"^valorant[-_]?",
r"^csgo[-_]?",
r"^counter[-_]?strike[-_]?",
r"^rainbow[-_]?six[-_]?",
r"^siege[-_]?",
r"^cod[-_]?",
r"^call[-_]?of[-_]?duty[-_]?",
r"^battlefield[-_]?",
r"^medal[-_]?of[-_]?honor[-_]?",
r"^sniper[-_]?elite[-_]?",
r"^ghost[-_]?recon[-_]?",
r"^the[-_]?division[-_]?",
r"^destiny[-_]?",
r"^warframe[-_]?",
r"^borderlands[-_]?",
r"^outriders[-_]?",
r"^anthem[-_]?",
r"^division[-_]?",
r"^wildlands[-_]?",
r"^breakpoint[-_]?",
r"^far[-_]?cry[-_]?",
r"^crysis[-_]?",
r"^farcry[-_]?",
r"^assassins[-_]?creed[-_]?",
r"^watch[-_]?dogs[-_]?",
r"^gta[-_]?",
r"^red[-_]?dead[-_]?redemption[-_]?",
r"^rdr[-_]?",
r"^witcher[-_]?",
r"^cyberpunk[-_]?",
r"^skyrim[-_]?",
r"^elder[-_]?scrolls[-_]?",
r"^fallout[-_]?",
r"^baldurs[-_]?gate[-_]?",
r"^bg[-_]?",
r"^divinity[-_]?",
r"^dos[-_]?",
r"^dos2[-_]?",
r"^pillars[-_]?of[-_]?eternity[-_]?",
r"^poe[-_]?",
r"^path[-_]?of[-_]?exile[-_]?",
r"^pathofexile[-_]?",
r"^poe[-_]?",
r"^diablo[-_]?",
r"^torchlight[-_]?",
r"^grim[-_]?dawn[-_]?",
r"^wolcen[-_]?",
r"^last[-_]?epoch[-_]?",
r"^chronicon[-_]?",
r"^hero[-_]?siege[-_]?",
r"^victor[-_]?vran[-_]?",
r"^van[-_]?helsing[-_]?",
r"^incredible[-_]?adventures[-_]?",
r"^vanhelsing[-_]?",
r"^warhammer[-_]?",
r"^vermintide[-_]?",
r"^darktide[-_]?",
r"^total[-_]?war[-_]?warhammer[-_]?",
r"^tw[-_]?wh[-_]?",
r"^warhammer[-_]?40k[-_]?",
r"^mechanicus[-_]?",
r"^battlesector[-_]?",
r"^sanctus[-_]?reach[-_]?",
r"^gladius[-_]?",
r"^rel[-_]?ic[-_]?",
r"^dawn[-_]?of[-_]?war[-_]?",
r"^dow[-_]?",
r"^company[-_]?of[-_]?heroes[-_]?",
r"^coh[-_]?",
r"^age[-_]?of[-_]?empires[-_]?",
r"^aoe[-_]?",
r"^starcraft[-_]?",
r"^warcraft[-_]?",
r"^command[-_]?and[-_]?conquer[-_]?",
r"^cnc[-_]?",
r"^red[-_]?alert[-_]?",
r"^generals[-_]?",
r"^tiberian[-_]?",
r"^kane[-_]?",
r"^act[-_]?of[-_]?war[-_]?",
r"^direct[-_]?action[-_]?",
r"^high[-_]?treason[-_]?",
r"^wargame[-_]?",
r"^european[-_]?escalation[-_]?",
r"^airland[-_]?battle[-_]?",
r"^red[-_]?dragon[-_]?",
r"^warno[-_]?",
r"^army[-_]?general[-_]?",
r"^steel[-_]?division[-_]?",
r"^normandy[-_]?44[-_]?",
r"^44[-_]?",
r"^battlegroup[-_]?",
r"^frontline[-_]?",
r"^close[-_]?combat[-_]?",
r"^cc[-_]?",
r"^combat[-_]?mission[-_]?",
r"^cm[-_]?",
r"^gravi[-_]?team[-_]?tactics[-_]?",
r"^gtt[-_]?",
r"^dominions[-_]?",
r"^conquest[-_]?of[-_]?elysium[-_]?",
r"^coe[-_]?",
r"^illwinter[-_]?",
r"^battle[-_]?for[-_]?wesnoth[-_]?",
r"^wesnoth[-_]?",
r"^endless[-_]?legend[-_]?",
r"^endless[-_]?space[-_]?",
r"^humankind[-_]?",
r"^old[-_]?world[-_]?",
r"^oldworld[-_]?",
r"^oldworldgame[-_]?",
r"^soren[-_]?johnson[-_]?",
r"^mohawk[-_]?games[-_]?",
r"^文明[-_]?",
r"^文明6[-_]?",
r"^civ6[-_]?",
r"^civilization6[-_]?",
r"^civilizationvi[-_]?",
r"^文明7[-_]?",
r"^civ7[-_]?",
r"^civilization7[-_]?",
r"^civilizationvii[-_]?",
r"^humankind[-_]?",
r"^amplitude[-_]?",
r"^世嘉[-_]?",
r"^sega[-_]?",
r"^humankindgame[-_]?",
r"^oldworld[-_]?",
r"^oldworldgame[-_]?",
r"^银河文明[-_]?",
r"^galactic[-_]?civilizations[-_]?",
r"^银河文明4[-_]?",
r"^galactic[-_]?civilizations[-_]?iv[-_]?",
r"^stellaris[-_]?",
r"^群星[-_]?",
r"^paradox[-_]?",
r"^p社[-_]?",
r"^钢丝[-_]?",
r"^钢铁雄心[-_]?",
r"^hoi[-_]?",
r"^hoi4[-_]?",
r"^维多利亚[-_]?",
r"^vic[-_]?",
r"^vic3[-_]?",
r"^维多利亚3[-_]?",
r"^十字军之王[-_]?",
r"^ck[-_]?",
r"^ck3[-_]?",
r"^十字军之王3[-_]?",
r"^欧陆风云[-_]?",
r"^eu[-_]?",
r"^eu4[-_]?",
r"^欧陆风云4[-_]?",
r"^大将军:罗马[-_]?",
r"^imperator[-_]?",
r"^imperatorrome[-_]?",
r"^全面战争[-_]?",
r"^total[-_]?war[-_]?",
r"^tw[-_]?",
r"^三国全面战争[-_]?",
r"^战锤全面战争[-_]?",
r"^totalwarhammer[-_]?",
r"^罗马全面战争[-_]?",
r"^中世纪全面战争[-_]?",
r"^帝国全面战争[-_]?",
r"^拿破仑全面战争[-_]?",
r"^幕府将军全面战争[-_]?",
r"^特洛伊全面战争[-_]?",
r"^法老全面战争[-_]?",
r"^pharaoh[-_]?",
r"^total[-_]?war[-_]?pharaoh[-_]?",
]),
# 3D Web Experience (standalone category for Three.js, WebGL skills)
("3d-web", [
r"^3d[-_]?web[-_]?",
r"^three[-_]?js[-_]?",
r"^react[-_]?three[-_]?fiber",
r"^r3f[-_]?",
r"^webgl[-_]?",
r"^spline[-_]?",
r"^babylon[-_]?js[-_]?",
r"^playcanvas[-_]?",
r"^aframe[-_]?",
r"^webxr[-_]?",
r"^webvr[-_]?",
r"^webgpu[-_]?",
]),
# Additional specific categories that don't fit above patterns
# Will be matched last (lowest priority)
]
class SkillCategorizer:
"""Categorizza le skills basandosi su pattern matching."""
def __init__(self, rules: List[Tuple[str, List[str]]] = CATEGORY_RULES):
self.rules = rules
self.compiled_rules: Dict[str, List[re.Pattern]] = {}
self._compile_rules()
def _compile_rules(self) -> None:
"""Compila le regex per performance migliori."""
for category, patterns in self.rules:
self.compiled_rules[category] = [
re.compile(pattern, re.IGNORECASE) for pattern in patterns
]
def categorize(self, skill_id: str) -> Tuple[str, float]:
"""
Categorizza una skill basandosi sul suo ID.
Ritorna (categoria, confidenza).
"""
skill_id_lower = skill_id.lower()
for category, patterns in self.compiled_rules.items():
for pattern in patterns:
if pattern.search(skill_id_lower):
# Calcola confidenza basata sulla specificità del match
# Pattern più lunghi = più specifici = confidenza più alta
match_len = len(pattern.pattern)
confidence = min(0.95, 0.5 + (match_len / 100))
return category, confidence
return "uncategorized", 0.0
def categorize_with_explanation(self, skill_id: str) -> Dict:
"""
Categorizza una skill e fornisce spiegazione dettagliata.
"""
category, confidence = self.categorize(skill_id)
# Trova quale pattern ha fatto match
matched_pattern = None
skill_id_lower = skill_id.lower()
if category != "uncategorized":
for pattern in self.compiled_rules[category]:
if pattern.search(skill_id_lower):
matched_pattern = pattern.pattern
break
return {
"id": skill_id,
"category": category,
"confidence": confidence,
"matched_pattern": matched_pattern,
"needs_review": confidence < 0.7,
}
def load_skills(filepath: Path) -> List[Dict]:
"""Carica le skills dal file JSON."""
with open(filepath, "r", encoding="utf-8") as f:
return json.load(f)
def save_skills(filepath: Path, skills: List[Dict]) -> None:
"""Salva le skills nel file JSON."""
with open(filepath, "w", encoding="utf-8") as f:
json.dump(skills, f, indent=2, ensure_ascii=False)
def generate_report(categorized: List[Dict], uncategorized: List[Dict]) -> str:
"""Genera un report di categorizzazione."""
report = []
report.append("=" * 80)
report.append("REPORT DI CATEGORIZZAZIONE SKILLS")
report.append("=" * 80)
report.append("")
# Statistiche generali
total = len(categorized) + len(uncategorized)
categorized_count = len(categorized)
uncategorized_count = len(uncategorized)
success_rate = (categorized_count / total * 100) if total > 0 else 0
report.append(f"Totale skills processate: {total}")
report.append(f"Categorizzate: {categorized_count} ({success_rate:.1f}%)")
report.append(f"Non categorizzate: {uncategorized_count} ({100-success_rate:.1f}%)")
report.append("")
# Distribuzione per categoria
category_counts: Dict[str, int] = {}
low_confidence: List[Dict] = []
for skill in categorized:
cat = skill["category"]
category_counts[cat] = category_counts.get(cat, 0) + 1
if skill["confidence"] < 0.7:
low_confidence.append(skill)
report.append("-" * 80)
report.append("DISTRIBUZIONE PER CATEGORIA")
report.append("-" * 80)
for cat, count in sorted(category_counts.items(), key=lambda x: -x[1]):
report.append(f" {cat}: {count} skills")
report.append("")
# Skills a bassa confidenza
if low_confidence:
report.append("-" * 80)
report.append(f"SKILLS A BASSA CONFIDENZA ({len(low_confidence)})")
report.append("-" * 80)
for skill in sorted(low_confidence, key=lambda x: x["confidence"]):
report.append(
f" {skill['id']}: {skill['category']} "
f"(confidenza: {skill['confidence']:.2f})"
)
report.append("")
# Skills non categorizzate
if uncategorized:
report.append("-" * 80)
report.append(f"SKILLS NON CATEGORIZZATE ({len(uncategorized)})")
report.append("-" * 80)
for skill in uncategorized[:50]: # Mostra prime 50
report.append(f" {skill['id']}")
if len(uncategorized) > 50:
report.append(f" ... e altre {len(uncategorized) - 50}")
report.append("")
report.append("=" * 80)
return "\n".join(report)
def main():
"""Funzione principale."""
# Percorsi
skills_file = Path("/Users/nicco/Projects/antigravity-awesome-skills/apps/web-app/public/skills.json")
backup_file = skills_file.with_suffix(".json.backup")
report_file = Path("/Users/nicco/Projects/antigravity-awesome-skills/categorization_report.txt")
print(f"📂 Caricando skills da: {skills_file}")
# Carica skills
skills = load_skills(skills_file)
print(f"✅ Caricate {len(skills)} skills")
# Crea backup
save_skills(backup_file, skills)
print(f"💾 Backup creato: {backup_file}")
# Inizializza categorizer
categorizer = SkillCategorizer()
# Categorizza
categorized = []
uncategorized = []
changes_made = []
for skill in skills:
skill_id = skill["id"]
current_category = skill.get("category", "uncategorized")
# Salta se già categorizzata e non è "uncategorized"
if current_category != "uncategorized":
continue
result = categorizer.categorize_with_explanation(skill_id)
if result["category"] != "uncategorized":
skill["category"] = result["category"]
categorized.append({
**result,
"original_category": current_category,
})
changes_made.append(skill_id)
else:
uncategorized.append(skill)
print(f"📝 Categorizzate {len(categorized)} skills")
print(f"❓ Non categorizzate: {len(uncategorized)} skills")
# Salva risultati
save_skills(skills_file, skills)
print(f"💾 Skills aggiornate salvate in: {skills_file}")
# Genera e salva report
report = generate_report(categorized, uncategorized)
with open(report_file, "w", encoding="utf-8") as f:
f.write(report)
print(f"📊 Report salvato in: {report_file}")
# Stampa sintesi
print("\n" + "=" * 60)
print("SINTESI")
print("=" * 60)
print(report)
return len(categorized), len(uncategorized)
if __name__ == "__main__":
categorized, uncategorized = main()
print(f"\n✅ Completato! {categorized} skills categorizzate, {uncategorized} rimaste uncategorized")