Project Setup
Role
You are a senior developer advocate responsible for project initialization, tooling configuration, and ensuring the agent-assisted development environment is correctly set up.
Autonomous Execution Policy
CRITICAL: NEVER pause, stop, or wait for user input during execution. Proceed through ALL steps autonomously without asking the user to "continue", "proceed", or confirm intermediate results. The ONLY acceptable reason to stop and ask the user is when there is a genuine doubt or ambiguity that cannot be resolved by reading the project files.
Execution Constraints
CRITICAL: This skill MUST NOT execute the application, run tests, start servers, compile code, or perform any runtime validation. Its sole purpose is to analyze the project structure and produce the configuration document. All analysis must be done by reading files and inspecting the directory structure — never by running the application.
Procedures
Step 0: Detect AI Tool Environment Before doing anything else, determine which AI tool is executing this skill:
- Check for
.claude/directory in the project root → Claude Code → config file:CLAUDE.md - Check if
.github/copilot-instructions.mdalready exists → GitHub Copilot → config file:.github/copilot-instructions.md - Check if
.github/directory exists butcopilot-instructions.mddoes not → likely GitHub Copilot → config file:.github/copilot-instructions.md - If none of the above, infer from the current tool context. When in doubt, default to
CLAUDE.md.
Store the resolved config file path internally and use it consistently throughout all remaining steps.
Step 1: Initialize Project Configuration
- If your AI tool provides a built-in project initialization command (e.g.,
/initin Claude Code), execute it to generate the initial project configuration file determined in Step 0. - Wait for the initialization to complete before proceeding.
- If no built-in init command exists, locate or create the config file at the path determined in Step 0.
Step 2: Deep Project Analysis
- Read the project configuration file at the path determined in Step 0, and
README.mdif it exists. - Read root config files if they exist:
package.json,go.mod,pom.xml,build.gradle,build.gradle.kts,docker-compose.yml,tsconfig.json,settings.gradle,.nvmrc,Makefile,Dockerfile. - Scan directory structure recursively, ignoring:
- Dependencies: node_modules/, .venv/, venv/, vendor/, .gradle/, .m2/ - Build: target/, build/, dist/, out/, .next/, __pycache__/ - Hidden: any path starting with . (except .claude/ and .github/) - Binaries/media: *.jar, *.class, *.png, *.jpg, *.pdf
- Read representative files from each layer (e.g., a controller, a use case, a repository) to understand adopted patterns.
- Build an internal summary with:
- Main stack and versions - Adopted architecture (Clean Arch, MVC, DDD, etc.) - Naming and organization patterns - System purpose - External integrations (queues, databases, APIs)
- Check test infrastructure:
- Look for a test script in package.json (or equivalent for the stack). - Scan for test files (*.test.*, *.spec.*, __tests__/, test/, tests/). - If neither is found, include in the project configuration file output: "⚠️ AVISO: Nenhuma infraestrutura de testes detectada. O DO Framework exige que testes passem antes de marcar tasks como concluídas. Configure um test runner antes de usar do-execute-task."
Step 3: Identify Relevant Skills
- List all available skills in the AI tool's skills directory (e.g.,
.claude/skills/for Claude Code). - **EXCLUDE all
do-*skills entirely** — they are internal workflow skills and must NOT appear anywhere in the output artifact. Only evaluate technology/library skills (e.g.,claude-api,find-skills). - For each remaining (non-
do-*) skill, read theSKILL.mdheader and description. - Based on the Step 2 summary, evaluate if the skill is relevant to the project.
- A skill is relevant if it covers at least one of:
- The project's primary language or framework - The adopted architecture - An identified pattern or integration (queues, database, API, etc.)
Step 4: Update the project configuration file Merge the following sections into the project configuration file at the path determined in Step 0. Preserve all existing content and append or update only the sections below:
## Project Summary
- **Purpose:** [system description]
- **Stack:** [main technologies and versions]
- **Architecture:** [adopted pattern]
- **Integrations:** [external services]
## Available Skills
**NOTE: Only list non-`do-*` skills here. Never include workflow skills (do-setup, do-create-pbi, do-create-techspec, do-create-tasks, do-execute-task, do-execute-review, do-execute-qa, etc.) in this table.**
| Skill | Path | When to use |
|-------|------|-------------|
| [name] | [skills-dir]/[skill]/SKILL.md | [usage context] |
## Uncovered Skills
| Technology | Note |
|------------|------|
| [e.g., Java/Quarkus] | No skill available locally — add manually to the skills directory |
## Project Conventions
- **Naming:** [file and folder naming patterns]
- **Directory structure:** [relevant paths per layer]
- **Output patterns:** [where to generate files, templates used]Step 5: Report Results & Sync Progress (Mandatory)
- SYNC INTERNAL PROGRESS: Once the project configuration file is updated, use the
TaskUpdatetool to mark all corresponding items in your internal task tracking ascompleted. - ARTIFACT PATH VERIFICATION: Before reporting, confirm the config file was written to the exact path resolved in Step 0. Read the file back to verify it exists and contains the expected content.
- Provide a summary of the setup performed.
- COMPLIANCE CHECK: Before responding to the user, verify:
- Is the project configuration file saved at the correct path (resolved in Step 0)? - Did you accurately identify the project stack and skills?
Output Language
Todos os artefatos gerados (seções do arquivo de configuração do projeto, resumos) devem ser escritos em Português do Brasil (PT-BR). Apenas exemplos de código, nomes de variáveis e caminhos de arquivos permanecem em inglês.
Error Handling
- If no config files are found (no
package.json,go.mod, etc.), warn the user that the project may not be initialized and ask for clarification about the stack. - If the project configuration file does not exist, create it from scratch.
- If the project configuration file already exists, merge new sections without overwriting user-written content — append or update only the sections defined in Step 4.
- If the skills directory is empty or missing, report that no skills are available and suggest the user install skills.
- If the directory scan reveals an unrecognizable project structure, document what was found and ask the user for guidance.
References
- Output: Project configuration file (e.g.,
CLAUDE.mdfor Claude Code,.github/copilot-instructions.mdfor GitHub Copilot) - Skills directory: AI tool's skills directory (e.g.,
.claude/skills/for Claude Code)