Receber por email
← Voltar para o catálogo

begin

Start a new project. Deep questioning, research, requirements, and roadmap.

17estrelas
Atualizado há 7 meses

Ver no GitHub ↗ Licença: MIT

Como adicionar

/plugin marketplace add SienkLogic/plan-build-run

O comando exato pode variar conforme o repositório. Confira o README no GitHub.

Para o autor da skill

Cole no README do seu repo

Mostra que sua skill está catalogada na Skillteca, gera backlink e tráfego rastreável.

[![Skillteca](https://www.skillteca.com.br/api/badge/begin/svg)](https://www.skillteca.com.br/skills/begin)

Skills relacionadas

Ver todas de Pesquisa e Web →

Alerta por categoria

Receba novas skills de Pesquisa e Web toda segunda

1 email curto, só com as skills novas de Pesquisa e Web. 4 minutos de leitura, sem spam, cancela com 1 clique.

Você confirma o email no primeiro envio. Sem spam. Cancela com 1 clique.

Ler descrição completa

STOP — DO NOT READ THIS FILE. You are already reading it. This prompt was injected into your context by Claude Code's plugin system. Using the Read tool on this SKILL.md file wastes ~7,600 tokens. Begin executing Step 1 immediately.

/pbr:new-project — Project Initialization

References: @references/questioning.md, @references/ui-brand.md

You are the orchestrator for /pbr:new-project. This skill initializes a new Plan-Build-Run project through deep questioning, optional research, requirements scoping, and roadmap generation. Your job is to stay lean — delegate heavy work to Task() subagents and keep the user's main context window clean.

Context Budget

Reference: skills/shared/context-budget.md for the universal orchestrator rules. Reference: skills/shared/agent-type-resolution.md for agent type fallback when spawning Task() subagents.

Additionally for this skill:

  • Minimize reading subagent output — read only summaries, not full research docs
  • Delegate all analysis work to subagents — the orchestrator routes, it doesn't analyze

Step 0 — Immediate Output

Before ANY tool calls, display this banner:

╔══════════════════════════════════════════════════════════════╗
║  PLAN-BUILD-RUN ► STARTING PROJECT                           ║
╚══════════════════════════════════════════════════════════════╝

Then proceed to Step 1.

Multi-Session Sync

Before any phase-modifying operations, this skill acquires a claim on the project:

acquireClaim(planningDir, sessionId)

Where planningDir is the .planning/ directory and sessionId is the current session identifier. If the claim fails (another session owns it), display: "Another session owns this project. Use /pbr:progress to see active claims."

On completion or error, release the claim:

releaseClaim(planningDir, sessionId)

Prerequisites

  • Working directory should be the project root
  • No existing .planning/ directory (or user confirms overwrite)

Orchestration Flow

Execute these steps in order. Each step specifies whether it runs inline (in your context) or is delegated to a subagent.

Step 1: Detect Brownfield (inline)

CRITICAL — Run init command FIRST before any Glob calls or manual file checks:

node plugins/pbr/scripts/pbr-tools.js init begin

Store the JSON result as blob. This single call replaces multiple Glob/filesystem checks with a pre-computed payload:

  • blob.has_planning — whether .planning/ directory exists
  • blob.has_existing_code — whether brownfield indicators were found
  • blob.brownfield_indicators — array of detected indicators (package.json, src/, etc.)
  • blob.has_git — whether .git directory exists
  • blob.existing_phases — count of existing phase directories
  • blob.state — existing STATE.md frontmatter (or null if no project)
  • blob.config — existing config.json contents (or null)
Cross-platform note: The init command handles all filesystem checks cross-platform. No Glob or Bash file discovery needed.

If blob.has_existing_code is true: CRITICAL -- DO NOT SKIP: Present the following choice to the user via AskUserQuestion before proceeding: Use the yes-no pattern from skills/shared/gate-prompts.md: question: "This looks like an existing codebase. Run /pbr:map-codebase to analyze what's here first?" options:

  • label: "Yes, scan" description: "Run /pbr:map-codebase first to analyze existing code"
  • label: "No, begin" description: "Proceed with /pbr:new-project on top of existing code"
  • If user selects "Yes, scan": suggest /pbr:map-codebase and stop
  • If user selects "No, begin": proceed to Step 2

If blob.has_planning is true: CRITICAL -- DO NOT SKIP: Present the following choice to the user via AskUserQuestion before proceeding: Use the yes-no pattern from skills/shared/gate-prompts.md: question: "A .planning/ directory already exists. This will overwrite it. Continue?" options:

  • label: "Yes" description: "Overwrite existing planning directory"
  • label: "No" description: "Cancel — keep existing planning"
  • If user selects "No": STOP IMMEDIATELY. Do not ask again. Do not proceed to Step 2. End the skill with this message:

`` Keeping existing .planning/ directory. Use /pbr:progress to see current project state, or /pbr:plan-phase to continue planning. `` Do NOT re-prompt the same question or any other question. The skill is finished.

  • If user selects "Yes": proceed (existing directory will be overwritten during state initialization)

Step 2: Deep Questioning (inline)

Reference: Read references/questioning.md for technique details.

Have a natural conversation to understand the user's vision. Do NOT present a form or checklist. Instead, have a flowing conversation that covers these areas organically:

Required context to gather:

  1. What they want to build — The core product/feature/system
  2. Problem being solved — Why does this need to exist? Who is it for?
  3. Success criteria — How will they know it works? What does "done" look like?
  4. Existing constraints — Technology choices already made, hosting, budget, timeline, team size
  5. Key decisions already made — Framework, language, architecture preferences
  6. Edge cases and concerns — What worries them? What's the hardest part?

Conversation approach:

  • Start broad: "What are you building?"
  • Go deeper on each answer: "What does that mean exactly?" "Show me an example."
  • Surface assumptions: "Why do you assume that?" "Have you considered X?"
  • Find edges: "What happens when...?" "What about...?"
  • Reveal motivation: "Why does that matter?"
  • Avoid leading questions — let the user define their vision

Keep going until you have:

  • A clear, concrete understanding of what they want to build
  • At least 3 specific success criteria
  • Known constraints and decisions
  • A sense of complexity and scope

Anti-patterns:

  • DO NOT present a bulleted checklist and ask them to fill it in
  • DO NOT ask all questions at once — have a conversation
  • DO NOT assume technologies — let them tell you
  • DO NOT rush — this is the foundation for everything that follows

Step 2.5: Fast-Path Offer (inline)

Before asking any workflow preference questions, offer the user a quick-start option:

Use AskUserQuestion: question: "How do you want to configure this project?" header: "Setup mode" options:

  • label: "Quick start"

description: "Use all defaults — model balanced, depth standard, interactive mode, parallel on. Writes config in seconds."

  • label: "Custom setup"

description: "Walk through model selection, features, and preferences step by step."

If user selects "Quick start":

  • Tell the user: "Tip: Agents set to inherit use your Claude Code session model. For cost savings, run on Sonnet -- orchestration and inherit agents work well at that tier. See references/model-profiles.md for details."
  • Write .planning/config.json immediately using the default config below (no further questions):

```json { "version": 2, "context_strategy": "aggressive", "mode": "interactive", "depth": "standard", "context_window_tokens": 200000, "features": { "structured_planning": true, "goal_verification": true, "integration_verification": true, "context_isolation": true, "atomic_commits": true, "session_persistence": true, "research_phase": true, "plan_checking": true, "tdd_mode": false, "status_line": true, "auto_continue": false, "auto_advance": false, "team_discussions": false, "inline_verify": false }, "models": { "researcher": "sonnet", "planner": "inherit", "executor": "inherit", "verifier": "sonnet", "integration_checker": "sonnet", "debugger": "inherit", "mapper": "sonnet", "synthesizer": "haiku"

Compartilhar X LinkedIn