[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6NZR4KS5ZKBXZRHVWDWR9CS":3,"skill-same:01M6NZR4KS5ZKBXZRHVWDWR9CS":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":38,"linkOnly":39,"markdownContent":40,"markdownBody":41,"frontMatter":42,"refName":28,"commitSha":51,"skillDirectory":52,"forksCount":13,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":55,"install":56,"resources":69},"01M6NZR4KS5ZKBXZRHVWDWR9CS","container-scanning",null,"Scan container images for vulnerabilities using Trivy, Grype, and cloud-native tools.","duc-duy-1612\u002FOnline-Delivery-Systems-Web","duc-duy-1612","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F192231384?v=4","01M6NSDKQQDKVTHZ8DZMZ1VYY6","01M6NSDKW8DDVTQHBT1HBDDJPT",0,"MIT","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fcontainer-scanning\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37],"container scanning","scanning","container","images","scan container images for vulnerabilities","relevant","native","scripts","scope","active","main","community","safe","cloud-native","only","devops-security","Tools","grype","assessment","security","2026-11-10 10:12:30",false,"---\nname: container-scanning\ndescription: Scan container images for vulnerabilities using Trivy, Grype, and cloud-native\n  tools.\ncategory: security\nrisk: safe\nsource: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\nsource_repo: BagelHole\u002FDevOps-Security-Agent-Skills\nsource_type: community\ndate_added: '2026-09-20'\nlicense: MIT\nlicense_source: https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE\ncompatibility: Requires the relevant security tooling (scanners, vault CLIs) and an\n  authorized scope for any active assessment. Docs-only; helper scripts and templates\n  not bundled.\nmetadata:\n  author: devops-skills\n  version: '1.0'\n---\n\n# Container Scanning\n\nScan container images for vulnerabilities and security misconfigurations.\n\n## When to Use This Skill\n\nUse this skill when:\n- Building container images\n- Implementing container security gates\n- Scanning registry images\n- Meeting compliance requirements\n- Hardening container deployments\n\n## Prerequisites\n\n- Container runtime (Docker, Podman)\n- Container images to scan\n- Scanning tool installation\n\n## Tool Comparison\n\n| Tool | License | Speed | Features |\n|------|---------|-------|----------|\n| Trivy | OSS | Fast | Comprehensive, IaC |\n| Grype | OSS | Fast | Accurate, SBOM |\n| Clair | OSS | Medium | Registry integration |\n| Snyk Container | Commercial | Fast | Fix suggestions |\n| Docker Scout | Commercial | Fast | GitHub integration |\n\n## Trivy\n\n### Installation\n\n```bash\n# Linux\ncurl -sfL https:\u002F\u002Fraw.githubusercontent.com\u002Faquasecurity\u002Ftrivy\u002Fmain\u002Fcontrib\u002Finstall.sh -o \u002Ftmp\u002Finstall-trivy.sh && sh \u002Ftmp\u002Finstall-trivy.sh && rm \u002Ftmp\u002Finstall-trivy.sh -s -- -b \u002Fusr\u002Flocal\u002Fbin\n\n# macOS\nbrew install trivy\n\n# Docker\ndocker pull aquasec\u002Ftrivy\n```\n\n### Image Scanning\n\n```bash\n# Scan local image\ntrivy image myapp:latest\n\n# Scan remote image\ntrivy image nginx:1.25\n\n# JSON output\ntrivy image --format json -o results.json myapp:latest\n\n# Filter by severity\ntrivy image --severity HIGH,CRITICAL myapp:latest\n\n# Ignore unfixed vulnerabilities\ntrivy image --ignore-unfixed myapp:latest\n\n# Exit code on vulnerability\ntrivy image --exit-code 1 --severity CRITICAL myapp:latest\n```\n\n### Filesystem Scanning\n\n```bash\n# Scan project directory\ntrivy fs \u002Fpath\u002Fto\u002Fproject\n\n# Scan Dockerfile\ntrivy config Dockerfile\n\n# Scan Kubernetes manifests\ntrivy config k8s\u002F\n```\n\n### Configuration\n\n```yaml\n# trivy.yaml\ntimeout: 10m\nseverity:\n  - HIGH\n  - CRITICAL\nignore-unfixed: true\nexit-code: 1\n\nvulnerability:\n  type:\n    - os\n    - library\n\nscan:\n  file-patterns:\n    - \"Dockerfile\"\n    - \"*.yaml\"\n```\n\n### CI Integration\n\n```yaml\n# GitHub Actions\nname: Container Security\n\non:\n  push:\n    branches: [main]\n  pull_request:\n\njobs:\n  scan:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n\n      - name: Build image\n        run: docker build -t myapp:${{ github.sha }} .\n\n      - name: Run Trivy\n        uses: aquasecurity\u002Ftrivy-action@master\n        with:\n          image-ref: 'myapp:${{ github.sha }}'\n          format: 'sarif'\n          output: 'trivy-results.sarif'\n          severity: 'CRITICAL,HIGH'\n          exit-code: '1'\n\n      - name: Upload results\n        uses: github\u002Fcodeql-action\u002Fupload-sarif@v3\n        with:\n          sarif_file: 'trivy-results.sarif'\n```\n\n## Grype\n\n### Installation\n\n```bash\n# Linux\u002FmacOS\ncurl -sSfL https:\u002F\u002Fraw.githubusercontent.com\u002Fanchore\u002Fgrype\u002Fmain\u002Finstall.sh -o \u002Ftmp\u002Finstall-grype.sh && sh \u002Ftmp\u002Finstall-grype.sh && rm \u002Ftmp\u002Finstall-grype.sh -s -- -b \u002Fusr\u002Flocal\u002Fbin\n\n# Homebrew\nbrew install grype\n```\n\n### Usage\n\n```bash\n# Scan image\ngrype myapp:latest\n\n# Scan from SBOM\ngrype sbom:.\u002Fsbom.json\n\n# JSON output\ngrype myapp:latest -o json > results.json\n\n# Filter severity\ngrype myapp:latest --fail-on high\n\n# Scan directory\ngrype dir:\u002Fpath\u002Fto\u002Fproject\n```\n\n### Configuration\n\n```yaml\n# .grype.yaml\ncheck-for-app-update: false\nfail-on-severity: high\noutput: \"json\"\nscope: \"Squashed\"\n\nignore:\n  - vulnerability: CVE-2023-12345\n    reason: \"False positive\"\n    expires: \"2024-12-31\"\n```\n\n## Docker Scout\n\n### Usage\n\n```bash\n# Enable Docker Scout\ndocker scout quickview myapp:latest\n\n# Full CVE report\ndocker scout cves myapp:latest\n\n# Compare images\ndocker scout compare myapp:v1 myapp:v2\n\n# Recommendations\ndocker scout recommendations myapp:latest\n```\n\n### CI Integration\n\n```yaml\n- name: Docker Scout\n  uses: docker\u002Fscout-action@v1\n  with:\n    command: cves\n    image: ${{ env.IMAGE_NAME }}\n    sarif-file: scout-results.sarif\n    summary: true\n```\n\n## Registry Integration\n\n### Amazon ECR\n\n```bash\n# Enable scan on push\naws ecr put-image-scanning-configuration \\\n  --repository-name myapp \\\n  --image-scanning-configuration scanOnPush=true\n\n# Get scan findings\naws ecr describe-image-scan-findings \\\n  --repository-name myapp \\\n  --image-id imageTag=latest\n\n# Start manual scan\naws ecr start-image-scan \\\n  --repository-name myapp \\\n  --image-id imageTag=latest\n```\n\n### Azure ACR\n\n```bash\n# Enable Defender for Containers\naz security pricing create \\\n  --name Containers \\\n  --tier Standard\n\n# View scan results in Azure Portal or:\naz acr repository show \\\n  --name myregistry \\\n  --image myapp:latest\n```\n\n### Google Artifact Registry\n\n```bash\n# Enable vulnerability scanning\ngcloud artifacts repositories update myrepo \\\n  --location=us-central1 \\\n  --enable-vulnerability-scanning\n\n# View vulnerabilities\ngcloud artifacts docker images describe \\\n  us-central1-docker.pkg.dev\u002Fproject\u002Fmyrepo\u002Fmyapp:latest \\\n  --show-package-vulnerability\n```\n\n## Admission Controllers\n\n### OPA Gatekeeper\n\n```yaml\napiVersion: templates.gatekeeper.sh\u002Fv1beta1\nkind: ConstraintTemplate\nmetadata:\n  name: k8sallowedrepos\nspec:\n  crd:\n    spec:\n      names:\n        kind: K8sAllowedRepos\n      validation:\n        openAPIV3Schema:\n          properties:\n            repos:\n              type: array\n              items:\n                type: string\n  targets:\n    - target: admission.k8s.gatekeeper.sh\n      rego: |\n        package k8sallowedrepos\n        \n        violation[{\"msg\": msg}] {\n          container := input.review.object.spec.containers[_]\n          satisfied := [good | repo = input.parameters.repos[_]; good = startswith(container.image, repo)]\n          not any(satisfied)\n          msg := sprintf(\"container \u003C%v> has an invalid image repo \u003C%v>\", [container.name, container.image])\n        }\n```\n\n### Kyverno\n\n```yaml\napiVersion: kyverno.io\u002Fv1\nkind: ClusterPolicy\nmetadata:\n  name: require-image-scan\nspec:\n  validationFailureAction: enforce\n  rules:\n    - name: check-vulnerabilities\n      match:\n        resources:\n          kinds:\n            - Pod\n      verifyImages:\n        - image: \"*\"\n          attestations:\n            - predicateType: cosign.sigstore.dev\u002Fattestation\u002Fvuln\u002Fv1\n              conditions:\n                - all:\n                    - key: \"{{ scanner.result.summary.criticalCount }}\"\n                      operator: Equals\n                      value: \"0\"\n```\n\n## Scanning Policies\n\n### Policy Definition\n\n```yaml\n# scan-policy.yaml\npolicies:\n  - name: critical-vulnerabilities\n    description: Block images with critical CVEs\n    severity: CRITICAL\n    action: block\n    \n  - name: high-vulnerabilities\n    description: Warn on high severity CVEs\n    severity: HIGH\n    action: warn\n    max_count: 5\n    \n  - name: age-policy\n    description: Block images older than 30 days\n    max_age_days: 30\n    action: block\n    \n  - name: base-image\n    description: Only allow approved base images\n    allowed_bases:\n      - alpine:3.18\n      - ubuntu:22.04\n      - python:3.11-slim\n```\n\n## Common Issues\n\n### Issue: False Positives\n**Problem**: Scanner reports non-exploitable vulnerabilities\n**Solution**: Use ignore files, validate with context\n\n### Issue: Slow Scans\n**Problem**: Scanning takes too long\n**Solution**: Use caching, scan incrementally, optimize image layers\n\n### Issue: Unfixed Vulnerabilities\n**Problem**: No patch available for CVE\n**Solution**: Update base image, implement compensating controls\n\n## Best Practices\n\n- Scan in CI\u002FCD pipeline\n- Use minimal base images (Alpine, distroless)\n- Update base images regularly\n- Implement admission control\n- Track vulnerabilities over time\n- Set severity thresholds\n- Document accepted risks\n- Use multi-stage builds\n\n## Related Skills\n\n- docker-management (`docker-management`) - Container basics\n- container-hardening (`container-hardening`) - Security hardening\n- kubernetes-hardening (`kubernetes-hardening`) - K8s security\n\n## Limitations\n\n- Apply guidance only within authorized scope; test destructive steps in non-production first.\n- Docs-only import: upstream scripts and templates not bundled.\n\n### Example\n\n```bash\n# Read-only first: inventory before any active step.\nwhich \u003Ctool> && \u003Ctool> --help | head -n 20\n```\n\n> Adapted from [BagelHole\u002FDevOps-Security-Agent-Skills](https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use\u002FLimitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.\n","# Container Scanning\n\nScan container images for vulnerabilities and security misconfigurations.\n\n## When to Use This Skill\n\nUse this skill when:\n- Building container images\n- Implementing container security gates\n- Scanning registry images\n- Meeting compliance requirements\n- Hardening container deployments\n\n## Prerequisites\n\n- Container runtime (Docker, Podman)\n- Container images to scan\n- Scanning tool installation\n\n## Tool Comparison\n\n| Tool | License | Speed | Features |\n|------|---------|-------|----------|\n| Trivy | OSS | Fast | Comprehensive, IaC |\n| Grype | OSS | Fast | Accurate, SBOM |\n| Clair | OSS | Medium | Registry integration |\n| Snyk Container | Commercial | Fast | Fix suggestions |\n| Docker Scout | Commercial | Fast | GitHub integration |\n\n## Trivy\n\n### Installation\n\n```bash\n# Linux\ncurl -sfL https:\u002F\u002Fraw.githubusercontent.com\u002Faquasecurity\u002Ftrivy\u002Fmain\u002Fcontrib\u002Finstall.sh -o \u002Ftmp\u002Finstall-trivy.sh && sh \u002Ftmp\u002Finstall-trivy.sh && rm \u002Ftmp\u002Finstall-trivy.sh -s -- -b \u002Fusr\u002Flocal\u002Fbin\n\n# macOS\nbrew install trivy\n\n# Docker\ndocker pull aquasec\u002Ftrivy\n```\n\n### Image Scanning\n\n```bash\n# Scan local image\ntrivy image myapp:latest\n\n# Scan remote image\ntrivy image nginx:1.25\n\n# JSON output\ntrivy image --format json -o results.json myapp:latest\n\n# Filter by severity\ntrivy image --severity HIGH,CRITICAL myapp:latest\n\n# Ignore unfixed vulnerabilities\ntrivy image --ignore-unfixed myapp:latest\n\n# Exit code on vulnerability\ntrivy image --exit-code 1 --severity CRITICAL myapp:latest\n```\n\n### Filesystem Scanning\n\n```bash\n# Scan project directory\ntrivy fs \u002Fpath\u002Fto\u002Fproject\n\n# Scan Dockerfile\ntrivy config Dockerfile\n\n# Scan Kubernetes manifests\ntrivy config k8s\u002F\n```\n\n### Configuration\n\n```yaml\n# trivy.yaml\ntimeout: 10m\nseverity:\n  - HIGH\n  - CRITICAL\nignore-unfixed: true\nexit-code: 1\n\nvulnerability:\n  type:\n    - os\n    - library\n\nscan:\n  file-patterns:\n    - \"Dockerfile\"\n    - \"*.yaml\"\n```\n\n### CI Integration\n\n```yaml\n# GitHub Actions\nname: Container Security\n\non:\n  push:\n    branches: [main]\n  pull_request:\n\njobs:\n  scan:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions\u002Fcheckout@v4\n\n      - name: Build image\n        run: docker build -t myapp:${{ github.sha }} .\n\n      - name: Run Trivy\n        uses: aquasecurity\u002Ftrivy-action@master\n        with:\n          image-ref: 'myapp:${{ github.sha }}'\n          format: 'sarif'\n          output: 'trivy-results.sarif'\n          severity: 'CRITICAL,HIGH'\n          exit-code: '1'\n\n      - name: Upload results\n        uses: github\u002Fcodeql-action\u002Fupload-sarif@v3\n        with:\n          sarif_file: 'trivy-results.sarif'\n```\n\n## Grype\n\n### Installation\n\n```bash\n# Linux\u002FmacOS\ncurl -sSfL https:\u002F\u002Fraw.githubusercontent.com\u002Fanchore\u002Fgrype\u002Fmain\u002Finstall.sh -o \u002Ftmp\u002Finstall-grype.sh && sh \u002Ftmp\u002Finstall-grype.sh && rm \u002Ftmp\u002Finstall-grype.sh -s -- -b \u002Fusr\u002Flocal\u002Fbin\n\n# Homebrew\nbrew install grype\n```\n\n### Usage\n\n```bash\n# Scan image\ngrype myapp:latest\n\n# Scan from SBOM\ngrype sbom:.\u002Fsbom.json\n\n# JSON output\ngrype myapp:latest -o json > results.json\n\n# Filter severity\ngrype myapp:latest --fail-on high\n\n# Scan directory\ngrype dir:\u002Fpath\u002Fto\u002Fproject\n```\n\n### Configuration\n\n```yaml\n# .grype.yaml\ncheck-for-app-update: false\nfail-on-severity: high\noutput: \"json\"\nscope: \"Squashed\"\n\nignore:\n  - vulnerability: CVE-2023-12345\n    reason: \"False positive\"\n    expires: \"2024-12-31\"\n```\n\n## Docker Scout\n\n### Usage\n\n```bash\n# Enable Docker Scout\ndocker scout quickview myapp:latest\n\n# Full CVE report\ndocker scout cves myapp:latest\n\n# Compare images\ndocker scout compare myapp:v1 myapp:v2\n\n# Recommendations\ndocker scout recommendations myapp:latest\n```\n\n### CI Integration\n\n```yaml\n- name: Docker Scout\n  uses: docker\u002Fscout-action@v1\n  with:\n    command: cves\n    image: ${{ env.IMAGE_NAME }}\n    sarif-file: scout-results.sarif\n    summary: true\n```\n\n## Registry Integration\n\n### Amazon ECR\n\n```bash\n# Enable scan on push\naws ecr put-image-scanning-configuration \\\n  --repository-name myapp \\\n  --image-scanning-configuration scanOnPush=true\n\n# Get scan findings\naws ecr describe-image-scan-findings \\\n  --repository-name myapp \\\n  --image-id imageTag=latest\n\n# Start manual scan\naws ecr start-image-scan \\\n  --repository-name myapp \\\n  --image-id imageTag=latest\n```\n\n### Azure ACR\n\n```bash\n# Enable Defender for Containers\naz security pricing create \\\n  --name Containers \\\n  --tier Standard\n\n# View scan results in Azure Portal or:\naz acr repository show \\\n  --name myregistry \\\n  --image myapp:latest\n```\n\n### Google Artifact Registry\n\n```bash\n# Enable vulnerability scanning\ngcloud artifacts repositories update myrepo \\\n  --location=us-central1 \\\n  --enable-vulnerability-scanning\n\n# View vulnerabilities\ngcloud artifacts docker images describe \\\n  us-central1-docker.pkg.dev\u002Fproject\u002Fmyrepo\u002Fmyapp:latest \\\n  --show-package-vulnerability\n```\n\n## Admission Controllers\n\n### OPA Gatekeeper\n\n```yaml\napiVersion: templates.gatekeeper.sh\u002Fv1beta1\nkind: ConstraintTemplate\nmetadata:\n  name: k8sallowedrepos\nspec:\n  crd:\n    spec:\n      names:\n        kind: K8sAllowedRepos\n      validation:\n        openAPIV3Schema:\n          properties:\n            repos:\n              type: array\n              items:\n                type: string\n  targets:\n    - target: admission.k8s.gatekeeper.sh\n      rego: |\n        package k8sallowedrepos\n        \n        violation[{\"msg\": msg}] {\n          container := input.review.object.spec.containers[_]\n          satisfied := [good | repo = input.parameters.repos[_]; good = startswith(container.image, repo)]\n          not any(satisfied)\n          msg := sprintf(\"container \u003C%v> has an invalid image repo \u003C%v>\", [container.name, container.image])\n        }\n```\n\n### Kyverno\n\n```yaml\napiVersion: kyverno.io\u002Fv1\nkind: ClusterPolicy\nmetadata:\n  name: require-image-scan\nspec:\n  validationFailureAction: enforce\n  rules:\n    - name: check-vulnerabilities\n      match:\n        resources:\n          kinds:\n            - Pod\n      verifyImages:\n        - image: \"*\"\n          attestations:\n            - predicateType: cosign.sigstore.dev\u002Fattestation\u002Fvuln\u002Fv1\n              conditions:\n                - all:\n                    - key: \"{{ scanner.result.summary.criticalCount }}\"\n                      operator: Equals\n                      value: \"0\"\n```\n\n## Scanning Policies\n\n### Policy Definition\n\n```yaml\n# scan-policy.yaml\npolicies:\n  - name: critical-vulnerabilities\n    description: Block images with critical CVEs\n    severity: CRITICAL\n    action: block\n    \n  - name: high-vulnerabilities\n    description: Warn on high severity CVEs\n    severity: HIGH\n    action: warn\n    max_count: 5\n    \n  - name: age-policy\n    description: Block images older than 30 days\n    max_age_days: 30\n    action: block\n    \n  - name: base-image\n    description: Only allow approved base images\n    allowed_bases:\n      - alpine:3.18\n      - ubuntu:22.04\n      - python:3.11-slim\n```\n\n## Common Issues\n\n### Issue: False Positives\n**Problem**: Scanner reports non-exploitable vulnerabilities\n**Solution**: Use ignore files, validate with context\n\n### Issue: Slow Scans\n**Problem**: Scanning takes too long\n**Solution**: Use caching, scan incrementally, optimize image layers\n\n### Issue: Unfixed Vulnerabilities\n**Problem**: No patch available for CVE\n**Solution**: Update base image, implement compensating controls\n\n## Best Practices\n\n- Scan in CI\u002FCD pipeline\n- Use minimal base images (Alpine, distroless)\n- Update base images regularly\n- Implement admission control\n- Track vulnerabilities over time\n- Set severity thresholds\n- Document accepted risks\n- Use multi-stage builds\n\n## Related Skills\n\n- docker-management (`docker-management`) - Container basics\n- container-hardening (`container-hardening`) - Security hardening\n- kubernetes-hardening (`kubernetes-hardening`) - K8s security\n\n## Limitations\n\n- Apply guidance only within authorized scope; test destructive steps in non-production first.\n- Docs-only import: upstream scripts and templates not bundled.\n\n### Example\n\n```bash\n# Read-only first: inventory before any active step.\nwhich \u003Ctool> && \u003Ctool> --help | head -n 20\n```\n\n> Adapted from [BagelHole\u002FDevOps-Security-Agent-Skills](https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use\u002FLimitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.\n",{"name":5,"risk":30,"source":43,"license":14,"category":37,"metadata":44,"date_added":47,"description":7,"source_repo":48,"source_type":29,"compatibility":49,"license_source":50},"https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills",{"author":45,"version":46},"devops-skills","1.0","2026-09-20","BagelHole\u002FDevOps-Security-Agent-Skills","Requires the relevant security tooling (scanners, vault CLIs) and an authorized scope for any active assessment. Docs-only; helper scripts and templates not bundled.","https:\u002F\u002Fgithub.com\u002FBagelHole\u002FDevOps-Security-Agent-Skills\u002Fblob\u002Fmain\u002FLICENSE","f3312ba749561b6159f477dbfc9313c875d40a56",".agents\u002Fskills_archive\u002Fcontainer-scanning","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612","2026-10-25 23:50:58",{"source":8,"skillName":5,"commands":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill container-scanning",{"tool":62,"command":63},"bunx","bunx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill container-scanning",{"tool":65,"command":66},"pnpm","pnpm dlx skills add duc-duy-1612\u002FOnline-Delivery-Systems-Web --skill container-scanning","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fcontainer-scanning\u002FSKILL.md",true,[],[71,93,117,141,169,193],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":82,"publishedAt":38},"01M6Q0FA5FZ410Z33Z3TFQ4DBA","zero-trust","Implement zero-trust network architecture. Configure identity-based access, micro-segmentation, and continuous verification. Use when implementing modern security architectures.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzero-trust\u002FSKILL.md",[77],{"categoryNo":78,"categoryName":79,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000011","运维与部署","SCENARIO","使用场景",[83,84,85,86,36,87,73,88,33,89,90,32,29,28,27,91,26,25,23,92],"ZeRO","trust","zero trust","architecture","verification","segmentation","access","configure","critical","implementing",{"skillNo":94,"name":95,"nameZh":6,"description":96,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":97,"categories":98,"keywords":99,"publishedAt":38},"01M6Q0F1YZJW3KX5FBKEVZ8CV4","zcode-delegate","Delegate coding tasks to the Z.AI ZCode CLI only when the user explicitly requests it, while the orchestrator retains review and landing responsibility.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fzcode-delegate\u002FSKILL.md",[],[100,101,102,103,104,105,106,107,108,109,110,111,112,32,113,29,114,115,91,116],"delegate","zcode","zcode delegate","review","cli","orchestration","tasks","run","Bash","model","node","read","orchestrator","files","desktop app","app","agent-orchestration",{"skillNo":118,"name":119,"nameZh":6,"description":120,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":121,"categories":122,"keywords":123,"publishedAt":38},"01M6Q0ETK41VGNMYEXW0T00AJN","youtube-transcript","Fetch YouTube transcripts through DeepAPI or local fallback tooling and save clean text output.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript\u002FSKILL.md",[],[124,125,126,30,127,128,129,130,131,132,133,134,135,29,28,136,137,138,139,140],"transcript","youtube transcript","youtube","github","codex","research","license","https","text","fetch","tooling","clean","local","output","deepapi","youtube transcripts","blob",{"skillNo":142,"name":143,"nameZh":6,"description":144,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":158,"publishedAt":38},"01M6Q0EPPH2PVMDW40017F8WX0","youtube-transcript-skills","Fetch YouTube video transcripts, search videos\u002Fchannels, browse channels, and extract playlists via the getyoutubetranscript.com API - free tier, no card required.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-transcript-skills\u002FSKILL.md",[147,150,153],{"categoryNo":148,"categoryName":149,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000010","后端与接口",{"categoryNo":151,"categoryName":152,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000016","图像与多媒体",{"categoryNo":154,"categoryName":155,"taxonomyType":156,"taxonomyTypeDesc":157},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[124,125,126,159,30,160,127,128,130,161,162,163,164,133,165,29,28,166,167,168],"youtube transcript skills","gemini","search","api","Video","browse","api-integration","free","card","channels",{"skillNo":170,"name":171,"nameZh":6,"description":172,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":173,"categories":174,"keywords":179,"publishedAt":38},"01M6Q0EAB96PX83W5PTE8A0R8D","youtube-notetaker","Turn YouTube talks into local study notes with slides, transcripts, editable annotations, and a markdown-backed viewer.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-notetaker\u002FSKILL.md",[175,178],{"categoryNo":176,"categoryName":177,"taxonomyType":80,"taxonomyTypeDesc":81},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":151,"categoryName":152,"taxonomyType":80,"taxonomyTypeDesc":81},[126,180,181,104,30,182,183,184,185,130,163,186,187,188,189,28,190,136,191,192],"youtube notetaker","notetaker","workflow","official","notes","code","markdown","slides","annotations","README","study","dair-academy","viewer",{"skillNo":194,"name":195,"nameZh":6,"description":196,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":197,"categories":198,"keywords":200,"publishedAt":38},"01M6Q0E55F0GW5MX48V8HXS8B5","youtube-full","Fetch YouTube transcripts, search videos, browse channels, and extract playlists via TranscriptAPI — no yt-dlp, no Google API key, works from any cloud server.","https:\u002F\u002Fgithub.com\u002Fduc-duy-1612\u002FOnline-Delivery-Systems-Web\u002Fblob\u002Fmain\u002F.agents\u002Fskills_archive\u002Fyoutube-full\u002FSKILL.md",[199],{"categoryNo":148,"categoryName":149,"taxonomyType":80,"taxonomyTypeDesc":81},[201,126,202,203,30,160,161,204,205,162,163,164,133,206,165,29,28,166,207,139],"youtube full","full","google","server","dlp","credits","automatic"]