Propose
Transform a free-form user request into a structured task definition. The skill runs an interactive dialogue that drives the conversation through concrete hypotheses — one question per message, each with selectable options.
Synopsis
/goga:propose <description>
Examples in this document use Claude Code style (/goga:<command>). For other agents, invoke the skill directly: goga-propose.
Output artifact
docs/tasks/<topic>.md — a structured task with the following sections:
- Current State
- Description
- Scope (in / out)
- Acceptance Criteria
- Stack
- External Dependencies
- Risks and Constraints
- Scope Estimate
- Existing Architecture
- Notes
Algorithm
Phase 1. Input collection
Accept the user's description verbatim. It may be brief (one sentence) or detailed (full specification). Do not request clarifications at this stage — gaps are resolved in Phase 3. Retain the original description throughout the session.
Phase 2. Context loading
| Step | Action |
|---|---|
| 1 | Load DSL specification via goga-cell — understand cell and CODEMANIFEST terminology. |
| 2 | Load DSL application principles via goga-cookbook — understand the two-level usages model and authoring rules. |
| 3 | Run goga schema to obtain the cell hierarchy. If no architecture exists yet, record that as a fact. |
| 4 | Load base annotations and usages via goga-codemanifest-base. |
| 5 | Read relevant external-library usages from .goga/usages/cooks/. |
Phase 3. Task formulation (interactive)
Iteratively align with the user on scope. Each iteration:
- Describe the current state — what is missing (new feature) or what is unsatisfactory (modification).
- Propose a hypothesis — concrete formulation with boundaries: what to implement, what is out of scope, which existing cells are impacted.
- Ask a single question with 2–4 concrete options.
- Adjust and repeat until the user approves.
After approval, optionally offer to include code examples (target API, language-specific usage patterns).
Completion criteria: task essence unambiguous, boundaries defined, user approval obtained.
Phase 4. Technology stack and external dependencies
- Define the implementation stack (frameworks, libraries, databases, brokers, infrastructure).
- Identify external dependencies not yet present in the project. For each, check whether a usage file exists in
.goga/usages/cooks/— if missing or stale, schedule creation/update in Phase 5. - Wait for user approval.
Phase 5. Usage file management
For each external dependency without a usage file: propose content, get user approval, create .goga/usages/cooks/<name>.md. For dependencies whose usage file lacks new patterns: propose additions, get approval, update.
Phase 6. Scope estimation
Assess scale (number of entities, subsystems, interaction complexity). Present a single-task or subtask breakdown to the user for approval.
Phase 7. Task persistence
Write the task to docs/tasks/<topic>.md using the task template. Present a summary: task name, stack, dependency count, scope, risks.
Dialogue rules
- Drive via hypotheses, not open-ended questions.
- One question per message, with 2–4 concrete options.
- Structure every response.
Inputs and outputs
| Input | Free-form description in natural language |
| Output | docs/tasks/<topic>.md |
What happens next
- Run
reviewwith thetasktype to validate the formulation. - On approval, proceed to
brainstorm(full cycle) orchange(shortcut).