opencode-skills-collection 4.0.60 → 4.0.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +6 -3
- package/bundled-skills/.antigravity-install-manifest.json +7 -1
- package/bundled-skills/agy-auto/SKILL.md +137 -0
- package/bundled-skills/client-secret-exposure-audit/SKILL.md +228 -0
- package/bundled-skills/client-secret-exposure-audit/references/example-report.md +144 -0
- package/bundled-skills/glasser/SKILL.md +209 -0
- package/bundled-skills/marketplace-rbac-audit/SKILL.md +243 -0
- package/bundled-skills/md2video-audio/SKILL.md +135 -0
- package/bundled-skills/production-runtime-certification/SKILL.md +194 -0
- package/package.json +1 -1
- package/skills_index.json +194 -0
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: production-runtime-certification
|
|
3
|
+
description: "Certify a deployed service with fresh evidence across source, CI, migrations, runtime health, readiness, and critical routes; use before declaring a release production-ready."
|
|
4
|
+
category: devops
|
|
5
|
+
risk: safe
|
|
6
|
+
source: self
|
|
7
|
+
source_type: self
|
|
8
|
+
date_added: "2026-09-12"
|
|
9
|
+
author: mosinlshaikh
|
|
10
|
+
tags: [production, deployment, verification, reliability, devops]
|
|
11
|
+
tools: [claude, cursor, codex, gemini]
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
# Production Runtime Certification
|
|
15
|
+
|
|
16
|
+
## Overview
|
|
17
|
+
|
|
18
|
+
Produce an evidence-backed release verdict that distinguishes code quality, CI success, deployment success, and live runtime health. The skill prevents a green pipeline or successful deploy event from being treated as proof that a service is usable in its target environment.
|
|
19
|
+
|
|
20
|
+
## When to Use This Skill
|
|
21
|
+
|
|
22
|
+
- Before declaring a release, environment, or migration production-ready.
|
|
23
|
+
- After a deployment when CI is green but runtime health is unknown or failing.
|
|
24
|
+
- During release audits that require a concise PASS, FAIL, or BLOCKED decision with reproducible evidence.
|
|
25
|
+
- When handing a deployed service from engineering to operations or a client.
|
|
26
|
+
|
|
27
|
+
Do not use this skill as a substitute for feature acceptance, security review, load testing, disaster-recovery exercises, or regulatory approval.
|
|
28
|
+
|
|
29
|
+
## Certification Contract
|
|
30
|
+
|
|
31
|
+
Agree on these inputs before testing:
|
|
32
|
+
|
|
33
|
+
- exact source revision, repository, and target environment;
|
|
34
|
+
- deployment identifier and expected artifact or image digest when available;
|
|
35
|
+
- health and readiness endpoints plus expected success semantics;
|
|
36
|
+
- migration mechanism and expected schema version;
|
|
37
|
+
- critical user journeys or routes;
|
|
38
|
+
- authorized, non-destructive probes and credential boundaries.
|
|
39
|
+
|
|
40
|
+
If the target, authorization, or success criteria are ambiguous, stop and request clarification. Never probe an unrelated environment, expose credentials in output, or modify production data merely to obtain a passing result.
|
|
41
|
+
|
|
42
|
+
## Evidence Model
|
|
43
|
+
|
|
44
|
+
Record every gate as one of:
|
|
45
|
+
|
|
46
|
+
- **PASS** — fresh evidence satisfies the agreed criterion.
|
|
47
|
+
- **FAIL** — fresh evidence disproves the criterion.
|
|
48
|
+
- **BLOCKED** — the gate could not be tested because access, tooling, configuration, or an upstream dependency is unavailable.
|
|
49
|
+
- **NOT APPLICABLE** — the gate is deliberately excluded with a written reason.
|
|
50
|
+
|
|
51
|
+
`BLOCKED` is not `PASS`. An overall certification can be **GREEN** only when every required gate passes. Any required failure produces **RED**; any required blocked gate with no failure produces **BLOCKED**.
|
|
52
|
+
|
|
53
|
+
## Workflow
|
|
54
|
+
|
|
55
|
+
### 1. Pin the Subject
|
|
56
|
+
|
|
57
|
+
Capture the immutable source revision and intended runtime artifact. Confirm that the deployed artifact maps to that revision. A branch name, local working tree, or “latest deployment” label is not immutable evidence.
|
|
58
|
+
|
|
59
|
+
### 2. Verify Source and CI
|
|
60
|
+
|
|
61
|
+
Run the repository's current validation and test commands on the pinned revision. Inspect the required CI jobs for the same revision, including conclusion and timestamp. Do not infer full CI success from one job or from an older run.
|
|
62
|
+
|
|
63
|
+
### 3. Verify Deployment Identity
|
|
64
|
+
|
|
65
|
+
Confirm that the target environment reports the expected deployment, revision, or artifact digest. Record the environment and deployment identifiers without copying secrets or sensitive configuration values.
|
|
66
|
+
|
|
67
|
+
### 4. Verify Database State
|
|
68
|
+
|
|
69
|
+
Use the application's supported migration status or a read-only schema-version query. Confirm migrations completed on the target database and that the application is not running against an unexpected database or schema.
|
|
70
|
+
|
|
71
|
+
Do not apply, roll back, repair, or stamp migrations unless the user separately authorizes that mutation and a recovery plan exists.
|
|
72
|
+
|
|
73
|
+
### 5. Probe Liveness and Readiness
|
|
74
|
+
|
|
75
|
+
Test liveness and readiness separately when both exist:
|
|
76
|
+
|
|
77
|
+
- **Liveness** shows that the process can respond.
|
|
78
|
+
- **Readiness** shows that the service can handle intended traffic and required dependencies are available.
|
|
79
|
+
|
|
80
|
+
Record timestamp, target, status code, bounded response summary, and latency. Redact tokens, cookies, internal hostnames, database addresses, and response fields that contain secrets or personal data.
|
|
81
|
+
|
|
82
|
+
### 6. Exercise Critical Routes
|
|
83
|
+
|
|
84
|
+
Run the smallest authorized smoke suite that proves the agreed critical journeys. Prefer synthetic or test records and read-only probes. For authenticated routes, use designated test identities with least privilege and never place credentials in commands, logs, or the report.
|
|
85
|
+
|
|
86
|
+
### 7. Check Operational Signals
|
|
87
|
+
|
|
88
|
+
Inspect the bounded deployment window for crash loops, unhandled exceptions, dependency failures, elevated error rates, or resource exhaustion. Absence of log access is `BLOCKED`, not proof of health.
|
|
89
|
+
|
|
90
|
+
### 8. Issue the Verdict
|
|
91
|
+
|
|
92
|
+
Publish the evidence matrix, unresolved risks, and exact overall verdict. Keep observations separate from inference. Include enough identifiers and timestamps for another engineer to reproduce the decision without exposing sensitive data.
|
|
93
|
+
|
|
94
|
+
## Report Template
|
|
95
|
+
|
|
96
|
+
```text
|
|
97
|
+
PRODUCTION RUNTIME CERTIFICATION
|
|
98
|
+
Environment: <target>
|
|
99
|
+
Source revision: <immutable revision>
|
|
100
|
+
Deployment/artifact: <immutable identifier>
|
|
101
|
+
Observed at: <UTC timestamp>
|
|
102
|
+
|
|
103
|
+
SOURCE VALIDATION: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
104
|
+
CI: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
105
|
+
DEPLOYMENT IDENTITY: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
106
|
+
DATABASE MIGRATIONS: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
107
|
+
LIVENESS: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
108
|
+
READINESS: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
109
|
+
CRITICAL ROUTES: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
110
|
+
OPERATIONAL SIGNALS: PASS | FAIL | BLOCKED | NOT APPLICABLE
|
|
111
|
+
|
|
112
|
+
OVERALL: GREEN | RED | BLOCKED
|
|
113
|
+
Evidence: <commands/checks, run IDs, timestamps, bounded results>
|
|
114
|
+
Unresolved risks: <none or explicit list>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
## Examples
|
|
118
|
+
|
|
119
|
+
### CI Green, Runtime Unavailable
|
|
120
|
+
|
|
121
|
+
```text
|
|
122
|
+
SOURCE VALIDATION: PASS — revision 8f31c2a, tests 146/146
|
|
123
|
+
CI: PASS — required run 72814 completed at 2026-09-12T10:06:00Z
|
|
124
|
+
DEPLOYMENT IDENTITY: PASS — artifact maps to revision 8f31c2a
|
|
125
|
+
DATABASE MIGRATIONS: BLOCKED — target database access unavailable
|
|
126
|
+
LIVENESS: FAIL — HTTP 503 at 2026-09-12T10:14:22Z
|
|
127
|
+
READINESS: FAIL — HTTP 503 at 2026-09-12T10:14:24Z
|
|
128
|
+
CRITICAL ROUTES: BLOCKED — smoke checks stopped after readiness failure
|
|
129
|
+
OPERATIONAL SIGNALS: BLOCKED — log access unavailable
|
|
130
|
+
|
|
131
|
+
OVERALL: RED
|
|
132
|
+
Unresolved risks: runtime cause and database state remain unverified
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Fully Supported Verdict
|
|
136
|
+
|
|
137
|
+
```text
|
|
138
|
+
SOURCE VALIDATION: PASS
|
|
139
|
+
CI: PASS
|
|
140
|
+
DEPLOYMENT IDENTITY: PASS
|
|
141
|
+
DATABASE MIGRATIONS: PASS
|
|
142
|
+
LIVENESS: PASS
|
|
143
|
+
READINESS: PASS
|
|
144
|
+
CRITICAL ROUTES: PASS
|
|
145
|
+
OPERATIONAL SIGNALS: PASS
|
|
146
|
+
|
|
147
|
+
OVERALL: GREEN
|
|
148
|
+
Unresolved risks: none within the agreed certification scope
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## Best Practices
|
|
152
|
+
|
|
153
|
+
- Use fresh, timestamped evidence for the exact revision and environment.
|
|
154
|
+
- Prefer immutable run, deployment, and artifact identifiers over screenshots or labels.
|
|
155
|
+
- Set bounded timeouts and request counts for runtime probes.
|
|
156
|
+
- Report partial success precisely; preserve FAIL and BLOCKED gates in summaries.
|
|
157
|
+
- Keep the certification read-only unless a separate change request authorizes remediation.
|
|
158
|
+
- Re-run affected gates after any code, configuration, migration, or infrastructure change.
|
|
159
|
+
|
|
160
|
+
## Common Pitfalls
|
|
161
|
+
|
|
162
|
+
- **Problem:** CI is green, so the release is declared healthy.
|
|
163
|
+
**Solution:** Verify deployment identity, migrations, readiness, routes, and operational signals independently.
|
|
164
|
+
|
|
165
|
+
- **Problem:** A liveness response is treated as readiness.
|
|
166
|
+
**Solution:** Test dependency-aware readiness criteria or record readiness as BLOCKED when none exist.
|
|
167
|
+
|
|
168
|
+
- **Problem:** Smoke tests accidentally create or alter customer data.
|
|
169
|
+
**Solution:** Use non-destructive probes or designated synthetic records with an explicit cleanup policy.
|
|
170
|
+
|
|
171
|
+
- **Problem:** Missing access is reported as success because no error was observed.
|
|
172
|
+
**Solution:** Mark the affected gate BLOCKED and keep the overall verdict BLOCKED unless another required gate fails.
|
|
173
|
+
|
|
174
|
+
- **Problem:** Credentials or internal configuration are copied into evidence.
|
|
175
|
+
**Solution:** Record identifiers and bounded outcomes; redact secrets, personal data, and sensitive topology.
|
|
176
|
+
|
|
177
|
+
## Limitations
|
|
178
|
+
|
|
179
|
+
- Certification is a point-in-time result for one revision and environment.
|
|
180
|
+
- Passing smoke checks do not establish performance capacity, security, resilience, or business correctness beyond the agreed scope.
|
|
181
|
+
- Provider dashboards and health endpoints can be incomplete; state evidence gaps explicitly.
|
|
182
|
+
- A GREEN verdict expires when the deployed artifact, configuration, schema, dependencies, or target environment changes.
|
|
183
|
+
|
|
184
|
+
## Security & Safety Notes
|
|
185
|
+
|
|
186
|
+
- Obtain authorization for the exact target and probes before accessing a live environment.
|
|
187
|
+
- Use least-privilege, designated test identities and read-only checks wherever possible.
|
|
188
|
+
- Never print, store, or transmit secrets, session material, personal data, or full sensitive responses in certification evidence.
|
|
189
|
+
- Stop when a check would require destructive data changes, privilege escalation, or a scope expansion that was not authorized.
|
|
190
|
+
|
|
191
|
+
## Related Skills
|
|
192
|
+
|
|
193
|
+
- `@verification-before-completion` — verifies that any completion claim has fresh supporting evidence; use this skill for the production-specific gate model and verdict.
|
|
194
|
+
- `@deployment-procedures` — use for executing a deployment; return here afterward to certify the deployed runtime.
|
package/package.json
CHANGED
package/skills_index.json
CHANGED
|
@@ -1392,6 +1392,43 @@
|
|
|
1392
1392
|
"session-analysis"
|
|
1393
1393
|
]
|
|
1394
1394
|
},
|
|
1395
|
+
{
|
|
1396
|
+
"id": "agy-auto",
|
|
1397
|
+
"path": "skills/agy-auto",
|
|
1398
|
+
"category": "security",
|
|
1399
|
+
"name": "agy-auto",
|
|
1400
|
+
"description": "Configure agy-auto PreToolUse security gate to run Antigravity CLI (agy) unattended with layered policy controls instead of --dangerously-skip-permissions.",
|
|
1401
|
+
"risk": "critical",
|
|
1402
|
+
"source": "community",
|
|
1403
|
+
"date_added": "2026-09-11",
|
|
1404
|
+
"plugin": {
|
|
1405
|
+
"targets": {
|
|
1406
|
+
"codex": "blocked",
|
|
1407
|
+
"claude": "blocked"
|
|
1408
|
+
},
|
|
1409
|
+
"setup": {
|
|
1410
|
+
"type": "none",
|
|
1411
|
+
"summary": "",
|
|
1412
|
+
"docs": null
|
|
1413
|
+
},
|
|
1414
|
+
"reasons": [
|
|
1415
|
+
"target_specific_home_path"
|
|
1416
|
+
]
|
|
1417
|
+
},
|
|
1418
|
+
"source_type": "community",
|
|
1419
|
+
"source_repo": "onkarbadve/agy-auto",
|
|
1420
|
+
"license": "MIT",
|
|
1421
|
+
"license_source": "https://github.com/onkarbadve/agy-auto/blob/main/LICENSE",
|
|
1422
|
+
"tags": [
|
|
1423
|
+
"antigravity",
|
|
1424
|
+
"agy",
|
|
1425
|
+
"security",
|
|
1426
|
+
"permissions",
|
|
1427
|
+
"sandboxing",
|
|
1428
|
+
"guardrails",
|
|
1429
|
+
"cli"
|
|
1430
|
+
]
|
|
1431
|
+
},
|
|
1395
1432
|
{
|
|
1396
1433
|
"id": "agy-delegate",
|
|
1397
1434
|
"path": "skills/agy-delegate",
|
|
@@ -10969,6 +11006,37 @@
|
|
|
10969
11006
|
"reasons": []
|
|
10970
11007
|
}
|
|
10971
11008
|
},
|
|
11009
|
+
{
|
|
11010
|
+
"id": "client-secret-exposure-audit",
|
|
11011
|
+
"path": "skills/client-secret-exposure-audit",
|
|
11012
|
+
"category": "security",
|
|
11013
|
+
"name": "client-secret-exposure-audit",
|
|
11014
|
+
"description": "Audit a deployed web app for secrets exposed to the browser: hardcoded API keys/tokens in JS, secrets in HTML meta/attributes/comments, publicly reachable source/config/deploy files, and header/CORS misconfig.",
|
|
11015
|
+
"risk": "safe",
|
|
11016
|
+
"source": "self",
|
|
11017
|
+
"date_added": "2026-09-10",
|
|
11018
|
+
"plugin": {
|
|
11019
|
+
"targets": {
|
|
11020
|
+
"codex": "supported",
|
|
11021
|
+
"claude": "supported"
|
|
11022
|
+
},
|
|
11023
|
+
"setup": {
|
|
11024
|
+
"type": "none",
|
|
11025
|
+
"summary": "",
|
|
11026
|
+
"docs": null
|
|
11027
|
+
},
|
|
11028
|
+
"reasons": []
|
|
11029
|
+
},
|
|
11030
|
+
"source_type": "self",
|
|
11031
|
+
"tags": [
|
|
11032
|
+
"security",
|
|
11033
|
+
"secrets",
|
|
11034
|
+
"owasp",
|
|
11035
|
+
"reconnaissance",
|
|
11036
|
+
"web",
|
|
11037
|
+
"headers"
|
|
11038
|
+
]
|
|
11039
|
+
},
|
|
10972
11040
|
{
|
|
10973
11041
|
"id": "cline-delegate",
|
|
10974
11042
|
"path": "skills/cline-delegate",
|
|
@@ -22534,6 +22602,38 @@
|
|
|
22534
22602
|
"reasons": []
|
|
22535
22603
|
}
|
|
22536
22604
|
},
|
|
22605
|
+
{
|
|
22606
|
+
"id": "glasser",
|
|
22607
|
+
"path": "skills/glasser",
|
|
22608
|
+
"category": "data",
|
|
22609
|
+
"name": "glasser",
|
|
22610
|
+
"description": "Search, inspect, and run third-party data APIs through one CLI when the environment has no suitable integration.",
|
|
22611
|
+
"risk": "critical",
|
|
22612
|
+
"source": "self",
|
|
22613
|
+
"date_added": "2026-09-12",
|
|
22614
|
+
"plugin": {
|
|
22615
|
+
"targets": {
|
|
22616
|
+
"codex": "supported",
|
|
22617
|
+
"claude": "supported"
|
|
22618
|
+
},
|
|
22619
|
+
"setup": {
|
|
22620
|
+
"type": "none",
|
|
22621
|
+
"summary": "",
|
|
22622
|
+
"docs": null
|
|
22623
|
+
},
|
|
22624
|
+
"reasons": []
|
|
22625
|
+
},
|
|
22626
|
+
"source_type": "self",
|
|
22627
|
+
"tags": [
|
|
22628
|
+
"api",
|
|
22629
|
+
"data",
|
|
22630
|
+
"search",
|
|
22631
|
+
"enrichment",
|
|
22632
|
+
"marketing",
|
|
22633
|
+
"research",
|
|
22634
|
+
"cli"
|
|
22635
|
+
]
|
|
22636
|
+
},
|
|
22537
22637
|
{
|
|
22538
22638
|
"id": "glassmorphism",
|
|
22539
22639
|
"path": "skills/design-it/glassmorphism",
|
|
@@ -29775,6 +29875,36 @@
|
|
|
29775
29875
|
"reasons": []
|
|
29776
29876
|
}
|
|
29777
29877
|
},
|
|
29878
|
+
{
|
|
29879
|
+
"id": "marketplace-rbac-audit",
|
|
29880
|
+
"path": "skills/marketplace-rbac-audit",
|
|
29881
|
+
"category": "security",
|
|
29882
|
+
"name": "marketplace-rbac-audit",
|
|
29883
|
+
"description": "Audit multi-role marketplace authorization across roles, resource ownership, tenant boundaries, and order-state transitions; use when access rules need evidence, not UI assumptions.",
|
|
29884
|
+
"risk": "safe",
|
|
29885
|
+
"source": "self",
|
|
29886
|
+
"date_added": "2026-09-12",
|
|
29887
|
+
"plugin": {
|
|
29888
|
+
"targets": {
|
|
29889
|
+
"codex": "supported",
|
|
29890
|
+
"claude": "supported"
|
|
29891
|
+
},
|
|
29892
|
+
"setup": {
|
|
29893
|
+
"type": "none",
|
|
29894
|
+
"summary": "",
|
|
29895
|
+
"docs": null
|
|
29896
|
+
},
|
|
29897
|
+
"reasons": []
|
|
29898
|
+
},
|
|
29899
|
+
"source_type": "self",
|
|
29900
|
+
"tags": [
|
|
29901
|
+
"marketplace",
|
|
29902
|
+
"rbac",
|
|
29903
|
+
"authorization",
|
|
29904
|
+
"access-control",
|
|
29905
|
+
"security"
|
|
29906
|
+
]
|
|
29907
|
+
},
|
|
29778
29908
|
{
|
|
29779
29909
|
"id": "markstream-angular",
|
|
29780
29910
|
"path": "skills/markstream-angular",
|
|
@@ -30427,6 +30557,40 @@
|
|
|
30427
30557
|
"model-context-protocol"
|
|
30428
30558
|
]
|
|
30429
30559
|
},
|
|
30560
|
+
{
|
|
30561
|
+
"id": "md2video-audio",
|
|
30562
|
+
"path": "skills/md2video-audio",
|
|
30563
|
+
"category": "media",
|
|
30564
|
+
"name": "md2video-audio",
|
|
30565
|
+
"description": "Convert Markdown documents into narrated MP4 videos with synchronized visuals and voice narration.",
|
|
30566
|
+
"risk": "safe",
|
|
30567
|
+
"source": "community",
|
|
30568
|
+
"date_added": "2026-09-12",
|
|
30569
|
+
"plugin": {
|
|
30570
|
+
"targets": {
|
|
30571
|
+
"codex": "supported",
|
|
30572
|
+
"claude": "supported"
|
|
30573
|
+
},
|
|
30574
|
+
"setup": {
|
|
30575
|
+
"type": "none",
|
|
30576
|
+
"summary": "",
|
|
30577
|
+
"docs": null
|
|
30578
|
+
},
|
|
30579
|
+
"reasons": []
|
|
30580
|
+
},
|
|
30581
|
+
"source_type": "community",
|
|
30582
|
+
"source_repo": "70v-Yoyo/md2video-audio-skill",
|
|
30583
|
+
"license": "Apache-2.0",
|
|
30584
|
+
"license_source": "https://github.com/70v-Yoyo/md2video-audio-skill/blob/main/LICENSE",
|
|
30585
|
+
"tags": [
|
|
30586
|
+
"markdown",
|
|
30587
|
+
"video",
|
|
30588
|
+
"audio",
|
|
30589
|
+
"text-to-speech",
|
|
30590
|
+
"marp",
|
|
30591
|
+
"presentation"
|
|
30592
|
+
]
|
|
30593
|
+
},
|
|
30430
30594
|
{
|
|
30431
30595
|
"id": "mdpr-skill",
|
|
30432
30596
|
"path": "skills/mdpr-skill",
|
|
@@ -36820,6 +36984,36 @@
|
|
|
36820
36984
|
"reasons": []
|
|
36821
36985
|
}
|
|
36822
36986
|
},
|
|
36987
|
+
{
|
|
36988
|
+
"id": "production-runtime-certification",
|
|
36989
|
+
"path": "skills/production-runtime-certification",
|
|
36990
|
+
"category": "devops",
|
|
36991
|
+
"name": "production-runtime-certification",
|
|
36992
|
+
"description": "Certify a deployed service with fresh evidence across source, CI, migrations, runtime health, readiness, and critical routes; use before declaring a release production-ready.",
|
|
36993
|
+
"risk": "safe",
|
|
36994
|
+
"source": "self",
|
|
36995
|
+
"date_added": "2026-09-12",
|
|
36996
|
+
"plugin": {
|
|
36997
|
+
"targets": {
|
|
36998
|
+
"codex": "supported",
|
|
36999
|
+
"claude": "supported"
|
|
37000
|
+
},
|
|
37001
|
+
"setup": {
|
|
37002
|
+
"type": "none",
|
|
37003
|
+
"summary": "",
|
|
37004
|
+
"docs": null
|
|
37005
|
+
},
|
|
37006
|
+
"reasons": []
|
|
37007
|
+
},
|
|
37008
|
+
"source_type": "self",
|
|
37009
|
+
"tags": [
|
|
37010
|
+
"production",
|
|
37011
|
+
"deployment",
|
|
37012
|
+
"verification",
|
|
37013
|
+
"reliability",
|
|
37014
|
+
"devops"
|
|
37015
|
+
]
|
|
37016
|
+
},
|
|
36823
37017
|
{
|
|
36824
37018
|
"id": "production-scheduling",
|
|
36825
37019
|
"path": "skills/production-scheduling",
|