← ClaudeAtlas

spec-researchlisted

Research devcontainer spec, official CLI, and VS Code extension behavior before making design decisions. Use this skill whenever implementing devcontainer commands, options, lifecycle hooks, or features — or when behavior is ambiguous, when fixing spec compliance issues, or when the user asks how something works in the original devcontainer tools. Also use before answering questions about how cella should behave when you're not certain of the correct behavior. Trigger on any devcontainer property name, lifecycle hook, feature resolution, Docker Compose integration, port forwarding, or environment variable handling question.
eve0415/cella · ★ 2 · Testing & QA · score 72
Install: claude install-skill eve0415/cella
Systematically investigate the original devcontainer ecosystem before implementing or making design decisions. The goal: understand exactly what the official tools do, find bugs users have reported, and determine how cella should behave — matching the spec where it's right, and fixing where it's broken. Use `gh` CLI for all GitHub API calls. Never use WebFetch for GitHub URLs. ## Research Sequence Work through these sources in order. Each builds on what the previous one found. ### 1. Spec Definition Fetch the relevant spec page from containers.dev: ```sh # Main property reference gh api -H "Accept: application/vnd.github.v3.raw" /repos/devcontainers/spec/contents/docs/specs/devcontainer-reference.md # Lifecycle hooks spec gh api -H "Accept: application/vnd.github.v3.raw" /repos/devcontainers/spec/contents/docs/specs/devcontainerjson-reference.md # Features spec (for OCI feature research) gh api -H "Accept: application/vnd.github.v3.raw" /repos/devcontainers/spec/contents/docs/specs/devcontainer-features.md ``` Identify: required vs optional properties, default values, type constraints, and behavioral requirements. ### 2. Official CLI Implementation Search `devcontainers/cli` for how the TypeScript CLI actually implements the behavior: ```sh gh search code "<property-or-function>" --repo devcontainers/cli --limit 15 ``` Then read the relevant source files to trace the exact logic. Pay attention to: - Default values that differ from the spec - Edge cases in parsing