From flanksource-claude-code-plugin
Generate Mission Control ScrapeConfig YAML from natural language. Use when users ask to build a scraper, create a config scraper, or want YAML to scrape Kubernetes/AWS/GCP/Azure/SQL/HTTP/File/Exec/Logs/Slack/GitHub Actions/Trivy/Terraform sources.
How this skill is triggered — by the user, by Claude, or both
Slash command
/flanksource-claude-code-plugin:create-config-scraperThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Turn a user request into a valid ScrapeConfig YAML that can be applied in Mission Control.
references/access-logs.mdreferences/schemas/config_aws.schema.jsonreferences/schemas/config_azure.schema.jsonreferences/schemas/config_azuredevops.schema.jsonreferences/schemas/config_exec.schema.jsonreferences/schemas/config_file.schema.jsonreferences/schemas/config_gcp.schema.jsonreferences/schemas/config_githubactions.schema.jsonreferences/schemas/config_http.schema.jsonreferences/schemas/config_kubernetes.schema.jsonreferences/schemas/config_kubernetesfile.schema.jsonreferences/schemas/config_logs.schema.jsonreferences/schemas/config_slack.schema.jsonreferences/schemas/config_sql.schema.jsonreferences/schemas/config_terraform.schema.jsonreferences/schemas/config_trivy.schema.jsonTurn a user request into a valid ScrapeConfig YAML that can be applied in Mission Control.
apiVersion: configs.flanksource.com/v1 and kind: ScrapeConfig.metadata.name to a short, unique slug.RBAC extraction is automatic when these resources are watched — no transform needed:
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: k8s-rbac
spec:
kubernetes:
- clusterName: my-cluster
watch:
- apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
- apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
- apiVersion: rbac.authorization.k8s.io/v1
kind: Role
- apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
- apiVersion: v1
kind: ServiceAccount
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: k8s-audit-logs
spec:
logs:
- name: k8s-audit
type: KubernetesAudit
loki:
url: http://loki.monitoring:3100
query: '{job="kube-audit"}'
fieldMapping:
id: ["responseStatus.metadata.uid"]
message: ["responseStatus.message"]
timestamp: ["stageTimestamp", "requestReceivedTimestamp"]
severity: ["responseStatus.code"]
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: aws-cloudtrail
spec:
aws:
- connection: connection://aws/credentials
region:
- us-east-1
cloudtrail:
maxAge: 7d
exclude:
- AssumeRole
- DecodeAuthorizationMessage
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: gcp-audit
spec:
gcp:
- project: my-project
connection: connection://gcp/credentials
auditLogs:
dataset: my-project.audit_dataset.cloudaudit_googleapis_com_activity
since: 30d
serviceNames:
- compute.googleapis.com
- iam.googleapis.com
principalEmails:
- "@my-org.com"
See @skills/create-config-scraper/references/access-logs.md for the complete MSSQL example showing external_users, external_roles, and config_access extraction via CEL transforms.
apiVersion: configs.flanksource.com/v1
kind: ScrapeConfig
metadata:
name: mssql-scraper
spec:
full: true
sql:
- type: MSSQL::Logon
connection: connection://mssql/credentials
id: $.id
name: $.name
transform:
expr: |
# CEL transform emitting config, external_users, external_roles, config_access
# See access-logs.md reference for the full transform expression
Use the bundled per-scraper schemas below. Only open the schema for the requested scraper type(s).
@skills/create-config-scraper/references/schemas/config_kubernetes.schema.json@skills/create-config-scraper/references/schemas/config_kubernetesfile.schema.json@skills/create-config-scraper/references/schemas/config_exec.schema.json@skills/create-config-scraper/references/schemas/config_http.schema.json@skills/create-config-scraper/references/schemas/config_file.schema.json@skills/create-config-scraper/references/schemas/config_sql.schema.json@skills/create-config-scraper/references/schemas/config_logs.schema.json@skills/create-config-scraper/references/schemas/config_aws.schema.json@skills/create-config-scraper/references/schemas/config_gcp.schema.json@skills/create-config-scraper/references/schemas/config_azure.schema.json@skills/create-config-scraper/references/schemas/config_azuredevops.schema.json@skills/create-config-scraper/references/schemas/config_githubactions.schema.json@skills/create-config-scraper/references/schemas/config_slack.schema.json@skills/create-config-scraper/references/schemas/config_trivy.schema.json@skills/create-config-scraper/references/schemas/config_terraform.schema.json@skills/create-config-scraper/references/access-logs.mdnpx claudepluginhub flanksource/claude-code-plugin --plugin mission-control-skillsCreates, edits, and verifies skills using a test-driven development approach with pressure scenarios and subagents.