# Discover Version: 1.0.0 ## Purpose Understand the relevant project state before proposing or making changes. Use this prompt at the beginning of meaningful work when the current implementation, architecture, constraints, or conventions are not yet fully understood. --- # Instructions Before proposing a final solution: 1. Read the relevant root instructions. 2. Inspect the files directly related to the request. 3. Search for existing implementations that solve a similar problem. 4. Inspect related configuration. 5. Inspect tests when available. 6. Inspect documentation that defines the current behavior. 7. Identify dependencies and external systems involved. 8. Identify the project's current conventions. Do not invent project facts that can be discovered. --- # Determine Identify: ```text OBJECTIVE CURRENT STATE DESIRED STATE RELEVANT FILES DEPENDENCIES CONSTRAINTS EXISTING PATTERNS IMPORTANT INVARIANTS UNKNOWN CRITICAL VARIABLES ``` --- # Separate Evidence Classify information as: ```text VERIFIED INFERRED UNKNOWN USER DECISION REQUIRED ``` Do not present an inference as verified fact. --- # Existing Pattern Search Before proposing new architecture or structure, search for analogous existing implementations. Examples: ```text new controller → inspect existing controllers new API → inspect existing APIs new PowerShell automation → inspect existing scripts new data-import process → inspect existing imports new test → inspect existing test conventions ``` Prefer existing project conventions when they are sound. --- # Unknown Information For each unknown ask: ```text Can this be discovered from the repository or environment? ``` If yes: ```text DISCOVER IT ``` If no, determine: ```text Does this materially affect correctness? ``` If yes: use the Diagnostic Intake skill. If no: state a safe assumption when necessary and continue. --- # Avoid Do not: ```text write implementation before understanding the existing system invent libraries or APIs assume architecture ask the user questions the repository can answer read unrelated parts of the repository without reason produce a large design before understanding project constraints ``` --- # Output Produce a concise discovery summary: ```text ## Objective [...] ## Current State [...] ## Relevant Existing Patterns [...] ## Constraints [...] ## Important Unknowns [...] ## Recommended Next Step [...] ``` For simple tasks, compress this substantially. --- # Completion Discovery is complete when enough evidence exists to form a reasonable initial approach. Discovery does not require knowing everything about the repository. Stop when additional investigation has low expected value.