devops-detector

DevOps Detector Skill

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "devops-detector" with this command: npx skills add transilienceai/communitytools/transilienceai-communitytools-devops-detector

DevOps Detector Skill

Purpose

Detect DevOps tools, CI/CD platforms, containerization, and orchestration from repository signals, job postings, and infrastructure indicators.

Input

Raw signals from Phase 2:

  • repository_signals

  • CI/CD configs, Dockerfiles, IaC

  • job_signals

  • DevOps job requirements

  • dns_signals

  • Service-specific subdomains

  • http_signals

  • Deployment patterns

Technology Categories

CI/CD Platforms

Platform Detection Signals Weight

GitHub Actions .github/workflows/*.yml 40

GitLab CI .gitlab-ci.yml 40

Jenkins Jenkinsfile, jenkins.* subdomain 35

CircleCI .circleci/config.yml 40

Travis CI .travis.yml 35

Azure Pipelines azure-pipelines.yml 40

Bitbucket Pipelines bitbucket-pipelines.yml 35

Drone CI .drone.yml 35

TeamCity .teamcity/ directory 35

Buildkite .buildkite/ directory 35

Build Tools

Tool Detection Signals Weight

Webpack webpack.config.js, webpack patterns 30

Vite vite.config.js 30

Rollup rollup.config.js 30

esbuild esbuild patterns 25

Turbo turbo.json 30

Nx nx.json 30

Lerna lerna.json 25

pnpm pnpm-workspace.yaml 25

Containerization

Technology Detection Signals Weight

Docker Dockerfile, docker-compose.yml 40

Podman Containerfile, podman-compose.yml 35

containerd containerd config 30

Container Orchestration

Platform Detection Signals Weight

Kubernetes k8s/, kubernetes/, kustomization.yaml 40

Docker Swarm docker-stack.yml 30

Amazon ECS ecs-*.json, task definitions 35

Nomad *.nomad files 30

Infrastructure as Code

Tool Detection Signals Weight

Terraform *.tf files, .terraform/ 40

Pulumi Pulumi.yaml 35

AWS CloudFormation *.cfn.yml, template.yaml 35

AWS CDK cdk.json 35

Ansible ansible.cfg, playbook.yml 35

Chef cookbooks/, recipes/ 30

Puppet manifests/, modules/ 30

Helm Chart.yaml, charts/ 35

Monitoring & Observability

Tool Detection Signals Weight

Prometheus prometheus.yml 35

Grafana grafana.* subdomain 30

Datadog datadog-agent configs 35

New Relic newrelic.yml 35

Sentry sentry.properties, dsn in config 35

PagerDuty pagerduty integration 30

OpsGenie opsgenie integration 30

Secret Management

Tool Detection Signals Weight

HashiCorp Vault vault references 30

AWS Secrets Manager secretsmanager patterns 30

Doppler doppler.yaml 30

1Password op:// references 25

Detection Logic

def detect_devops_technologies(signals): results = []

# CI/CD Detection from Repository
if signals.repository_signals:
    for file in signals.repository_signals.files:
        # GitHub Actions
        if '.github/workflows/' in file and file.endswith('.yml'):
            results.append({
                "name": "GitHub Actions",
                "category": "CI/CD",
                "signals": [{"type": "config_file", "value": file}],
                "total_weight": 40
            })

        # GitLab CI
        if file == '.gitlab-ci.yml':
            results.append({
                "name": "GitLab CI",
                "category": "CI/CD",
                "signals": [{"type": "config_file", "value": file}],
                "total_weight": 40
            })

        # Docker
        if file.lower() in ['dockerfile', 'docker-compose.yml', 'docker-compose.yaml']:
            results.append({
                "name": "Docker",
                "category": "Containerization",
                "signals": [{"type": "config_file", "value": file}],
                "total_weight": 40
            })

        # Kubernetes
        if any(k8s_indicator in file.lower() for k8s_indicator in ['kubernetes', 'k8s', 'kustomization', 'helm']):
            results.append({
                "name": "Kubernetes",
                "category": "Container Orchestration",
                "signals": [{"type": "config_file", "value": file}],
                "total_weight": 40
            })

        # Terraform
        if file.endswith('.tf'):
            results.append({
                "name": "Terraform",
                "category": "Infrastructure as Code",
                "signals": [{"type": "config_file", "value": file}],
                "total_weight": 40
            })

# Job Posting Analysis
if signals.job_signals:
    devops_keywords = {
        "kubernetes": ("Kubernetes", "Container Orchestration"),
        "docker": ("Docker", "Containerization"),
        "terraform": ("Terraform", "Infrastructure as Code"),
        "ansible": ("Ansible", "Configuration Management"),
        "jenkins": ("Jenkins", "CI/CD"),
        "github actions": ("GitHub Actions", "CI/CD"),
        "gitlab ci": ("GitLab CI", "CI/CD"),
        "prometheus": ("Prometheus", "Monitoring"),
        "grafana": ("Grafana", "Monitoring"),
        "datadog": ("Datadog", "Monitoring"),
        "aws": ("AWS", "Cloud Platform"),
        "gcp": ("Google Cloud", "Cloud Platform"),
        "azure": ("Azure", "Cloud Platform")
    }

    for keyword, (tech_name, category) in devops_keywords.items():
        if keyword in signals.job_signals.tech_mentions:
            add_if_not_exists(results, tech_name, category, {
                "type": "job_posting",
                "value": f"'{keyword}' mentioned in job postings",
                "frequency": signals.job_signals.tech_mentions[keyword].frequency
            }, 25)

# DNS-based Detection
devops_subdomains = {
    "jenkins": ("Jenkins", "CI/CD"),
    "ci": ("CI/CD System", "CI/CD"),
    "build": ("Build System", "CI/CD"),
    "deploy": ("Deployment System", "CI/CD"),
    "grafana": ("Grafana", "Monitoring"),
    "prometheus": ("Prometheus", "Monitoring"),
    "kibana": ("Elastic Stack", "Logging"),
    "argocd": ("Argo CD", "GitOps"),
    "vault": ("HashiCorp Vault", "Secret Management")
}

for subdomain in signals.discovered_subdomains:
    for pattern, (tech_name, category) in devops_subdomains.items():
        if pattern in subdomain.lower():
            results.append({
                "name": tech_name,
                "category": category,
                "signals": [{"type": "subdomain", "value": subdomain}],
                "total_weight": 30
            })

return results

Output

{ "skill": "devops_detector", "results": { "technologies": [ { "name": "GitHub Actions", "category": "CI/CD", "signals": [ { "type": "config_file", "value": ".github/workflows/ci.yml", "weight": 40 }, { "type": "config_file", "value": ".github/workflows/deploy.yml", "weight": 40 } ], "total_weight": 80, "workflows_detected": ["ci.yml", "deploy.yml"] }, { "name": "Docker", "category": "Containerization", "signals": [ { "type": "config_file", "value": "Dockerfile", "weight": 40 }, { "type": "config_file", "value": "docker-compose.yml", "weight": 35 } ], "total_weight": 75, "base_images": ["node:18-alpine", "nginx:alpine"] }, { "name": "Kubernetes", "category": "Container Orchestration", "signals": [ { "type": "config_file", "value": "kubernetes/deployment.yaml", "weight": 40 }, { "type": "job_posting", "value": "Kubernetes mentioned in 5 job postings", "weight": 25 } ], "total_weight": 65 }, { "name": "Terraform", "category": "Infrastructure as Code", "signals": [ { "type": "config_file", "value": "terraform/main.tf", "weight": 40 } ], "total_weight": 40, "providers_detected": ["aws", "cloudflare"] }, { "name": "Datadog", "category": "Monitoring", "signals": [ { "type": "job_posting", "value": "Datadog mentioned in DevOps job postings", "weight": 25 } ], "total_weight": 25 } ], "devops_summary": { "ci_cd": ["GitHub Actions"], "containerization": ["Docker"], "orchestration": ["Kubernetes"], "iac": ["Terraform"], "monitoring": ["Datadog"], "maturity_assessment": "Advanced - Full CI/CD pipeline with IaC and container orchestration" } } }

Maturity Assessment

DevOps Maturity Levels:

Basic:

  • Manual deployments
  • No CI/CD detected
  • Minimal automation

Intermediate:

  • CI/CD pipeline detected
  • Containerization (Docker)
  • Basic monitoring

Advanced:

  • Full CI/CD with multiple stages
  • Container orchestration (K8s)
  • Infrastructure as Code
  • Comprehensive monitoring

Cloud-Native:

  • GitOps practices (ArgoCD)
  • Service mesh
  • Observability stack
  • Multi-cloud or hybrid

Error Handling

  • Private repositories: Note as limitation

  • Incomplete config analysis: Provide partial results

  • Job posting only signals: Lower confidence

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

code-repository-intel

No summary provided by upstream source.

Repository SourceNeeds Review
General

cve-testing

No summary provided by upstream source.

Repository SourceNeeds Review
General

hackerone

No summary provided by upstream source.

Repository SourceNeeds Review
General

domain-assessment

No summary provided by upstream source.

Repository SourceNeeds Review