Cobalt Core
Domain skill for the cobaltcore-dev project family — SAP Converged Cloud infrastructure components for KVM hypervisor management, metrics collection, and compute-node tooling.
Reference Loading Table
| Signal |
Reference |
Size |
| kvm-exporter, metrics, prometheus, libvirt, hypervisor, collector, scrape, steal time, NUMA, cgroups, cloud hypervisor |
references/kvm-exporter.md |
~800 lines |
| goroutine, concurrency, semaphore, TryLock, sync.Map, race condition, socket exhaustion, scrape overlap, ClearScrapeCache |
references/concurrency-patterns.md |
~200 lines |
| test, mock, moq, unit test, E2E, Kind cluster, race detector, interface_mock_gen, test-metrics.sh |
references/testing-patterns.md |
~200 lines |
Load greedily. If the user's question touches any signal keyword, load the matching reference before responding. Multiple signals matching = load all matching references.
Phase 1: IDENTIFY
Determine which cobaltcore component the user is asking about.
| Component |
Repository |
Reference |
| KVM Exporter |
cobaltcore-dev/kvm-exporter |
references/kvm-exporter.md |
If the component is not listed, tell the user no reference exists yet and offer to analyze the repo.
Gate: Component identified. Reference loaded. Proceed to Phase 2.
Phase 2: RESPOND
Use loaded reference knowledge to answer the user's question. The references contain:
- Architecture and data flow diagrams
- Complete metric catalogs with types, labels, and descriptions
- Configuration options and environment variables
- Deployment models (Helm, DaemonSet, container specs)
- Code patterns (concurrency, caching, error handling)
- Testing strategies (unit mocks, E2E with Kind clusters)
- Alerting rules and operational concerns
For implementation questions involving Go code, pair with the go-patterns skill for language-specific patterns. For Prometheus/Grafana questions, pair with prometheus-grafana-engineer. For Kubernetes deployment questions, pair with kubernetes-helm-engineer.
Gate: Question answered with reference-backed specifics, not generic advice.
Phase 3: EXTEND
When the user wants to add a new cobaltcore repo:
- Analyze the repo systematically (README, go.mod, key source files, Dockerfile, Helm chart)
- Create a new reference file at
references/{repo-name}.md
- Update the Reference Loading Table in this SKILL.md
- Update the component table in Phase 1
Follow the structure established in references/kvm-exporter.md for consistency.
1---2name: cobalt-core3description: Cobalt Core infrastructure knowledge: KVM exporters, hypervisor tooling, OpenStack compute.4---5
6# Cobalt Core
7
8Domain skill for the [cobaltcore-dev](https://github.com/cobaltcore-dev) project family — SAP Converged Cloud infrastructure components for KVM hypervisor management, metrics collection, and compute-node tooling.
9
10## Reference Loading Table
11
12| Signal | Reference | Size |
13|--------|-----------|------|
14| kvm-exporter, metrics, prometheus, libvirt, hypervisor, collector, scrape, steal time, NUMA, cgroups, cloud hypervisor | `references/kvm-exporter.md` | ~800 lines |
15| goroutine, concurrency, semaphore, TryLock, sync.Map, race condition, socket exhaustion, scrape overlap, ClearScrapeCache | `references/concurrency-patterns.md` | ~200 lines |
16| test, mock, moq, unit test, E2E, Kind cluster, race detector, interface_mock_gen, test-metrics.sh | `references/testing-patterns.md` | ~200 lines |
17
18**Load greedily.** If the user's question touches any signal keyword, load the matching reference before responding. Multiple signals matching = load all matching references.
19
20---
21
22## Phase 1: IDENTIFY
23
24Determine which cobaltcore component the user is asking about.
25
26| Component | Repository | Reference |
27|-----------|-----------|-----------|
28| KVM Exporter | `cobaltcore-dev/kvm-exporter` | `references/kvm-exporter.md` |
29
30If the component is not listed, tell the user no reference exists yet and offer to analyze the repo.
31
32**Gate**: Component identified. Reference loaded. Proceed to Phase 2.
33
34---
35
36## Phase 2: RESPOND
37
38Use loaded reference knowledge to answer the user's question. The references contain:
39- Architecture and data flow diagrams
40- Complete metric catalogs with types, labels, and descriptions
41- Configuration options and environment variables
42- Deployment models (Helm, DaemonSet, container specs)
43- Code patterns (concurrency, caching, error handling)
44- Testing strategies (unit mocks, E2E with Kind clusters)
45- Alerting rules and operational concerns
46
47For implementation questions involving Go code, pair with the `go-patterns` skill for language-specific patterns. For Prometheus/Grafana questions, pair with `prometheus-grafana-engineer`. For Kubernetes deployment questions, pair with `kubernetes-helm-engineer`.
48
49**Gate**: Question answered with reference-backed specifics, not generic advice.
50
51---
52
53## Phase 3: EXTEND
54
55When the user wants to add a new cobaltcore repo:
561. Analyze the repo systematically (README, go.mod, key source files, Dockerfile, Helm chart)
572. Create a new reference file at `references/{repo-name}.md`
583. Update the Reference Loading Table in this SKILL.md
594. Update the component table in Phase 1
60
61Follow the structure established in `references/kvm-exporter.md` for consistency.