@mrciphersmith/keryx 0.2.72 → 0.2.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.js +33409 -32626
- package/package.json +2 -2
- package/src/gdskills/bundled/rules/core/gproject-contracts.mdc +1 -1
- package/src/gdskills/bundled/rules/core/jobs-documentation.mdc +1 -1
- package/src/gdskills/bundled/rules/core/subagent-context-construction.md +1 -1
- package/src/gdskills/bundled/skills/core/reviewer-skill-creator/SKILL.md +214 -0
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.codex.md +326 -20
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.cursor.md +320 -22
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.opencode.md +326 -12
- package/src/gdskills/bundled/skills/orchestration/code-verifier/SKILL.zed.md +333 -9
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.codex.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.cursor.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.opencode.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/SKILL.zed.md +92 -4
- package/src/gdskills/bundled/skills/orchestration/context-collector/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.codex.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.cursor.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.opencode.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/SKILL.zed.md +154 -1098
- package/src/gdskills/bundled/skills/orchestration/feature-analyzer/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.codex.md +101 -41
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.cursor.md +101 -41
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +48 -1
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/input-contract.schema.json +70 -4
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.codex.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.cursor.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.opencode.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/SKILL.zed.md +115 -49
- package/src/gdskills/bundled/skills/orchestration/issue-analyzer/orchestrator-prompt.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.codex.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.cursor.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.opencode.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-documenter/SKILL.zed.md +15 -6
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.opencode.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.zed.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.codex.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.cursor.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +120 -37
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.opencode.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.zed.md +300 -55
- package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +56 -14
- package/src/gdskills/bundled/skills/orchestration/task-implementer/orchestrator-prompt.md +50 -23
- package/src/gdskills/bundled/skills/orchestration/task-implementer/output-contract.schema.json +6 -2
- package/src/gdskills/bundled/skills/orchestration/task-implementer/task-request.template.md +18 -12
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.codex.md +169 -10
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.cursor.md +169 -10
- package/src/gdskills/bundled/skills/planning/consistency-checker/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/interview/SKILL.codex.md +7 -1
- package/src/gdskills/bundled/skills/planning/interview/SKILL.cursor.md +7 -1
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.codex.md +7 -1
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.cursor.md +7 -1
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.codex.md +216 -10
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.cursor.md +216 -10
- package/src/gdskills/bundled/skills/planning/patterns-researcher/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/planner/SKILL.codex.md +169 -10
- package/src/gdskills/bundled/skills/planning/planner/SKILL.cursor.md +169 -10
- package/src/gdskills/bundled/skills/planning/planner/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.codex.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.cursor.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.opencode.md +2 -2
- package/src/gdskills/bundled/skills/planning/prd-creator/SKILL.zed.md +2 -2
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.codex.md +134 -10
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.cursor.md +134 -10
- package/src/gdskills/bundled/skills/planning/problem-definer/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.codex.md +146 -10
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.cursor.md +146 -10
- package/src/gdskills/bundled/skills/planning/project-discovery/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.codex.md +211 -10
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.cursor.md +211 -10
- package/src/gdskills/bundled/skills/planning/spec-writer/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.codex.md +162 -10
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.cursor.md +162 -10
- package/src/gdskills/bundled/skills/planning/stack-advisor/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/platform/claude-md-management/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/platform/hookify/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/commit/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/commit/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.codex.md +15 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.cursor.md +248 -165
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.opencode.md +15 -1
- package/src/gdskills/bundled/skills/quality/pr-issue-documenter/SKILL.zed.md +359 -19
- package/src/gdskills/bundled/skills/quality/push/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/push/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.codex.md +1 -1
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.cursor.md +1 -1
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.codex.md +299 -24
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.cursor.md +296 -31
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.opencode.md +309 -18
- package/src/gdskills/bundled/skills/quality/tests-creator/SKILL.zed.md +312 -17
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.codex.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.cursor.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.opencode.md +29 -30
- package/src/gdskills/bundled/skills/review/code-ai-review/SKILL.zed.md +29 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.codex.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.cursor.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.opencode.md +21 -30
- package/src/gdskills/bundled/skills/review/code-learned-review/SKILL.zed.md +21 -30
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.codex.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.cursor.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.opencode.md +19 -23
- package/src/gdskills/bundled/skills/review/code-mobx-store-review/SKILL.zed.md +19 -23
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.codex.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.cursor.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.opencode.md +17 -24
- package/src/gdskills/bundled/skills/review/code-style-review/SKILL.zed.md +17 -24
- package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +33 -1
- package/src/gdskills/bundled/skills/review/review-layout/SKILL.md +217 -0
- package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +26 -0
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +320 -5
- package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +644 -113
- package/src/gdskills/bundled/skills/review/review-pr-feedback/input-contract.schema.json +79 -0
- package/src/gdskills/bundled/skills/review/review-pr-feedback/output-contract.schema.json +375 -0
- package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +111 -1
- package/src/gdskills/bundled/skills/review/review-verifier/SKILL.md +25 -1
- package/src/gdskills/bundled/skills/planning/brainstorm/SKILL.claude.md +0 -46
- package/src/gdskills/bundled/skills/planning/interviewer/SKILL.claude.md +0 -94
- package/src/gdskills/bundled/skills/quality/changelog/SKILL.claude.md +0 -45
- package/src/gdskills/bundled/skills/quality/db-migrate/SKILL.claude.md +0 -40
- package/src/gdskills/bundled/skills/quality/dependency-update/SKILL.claude.md +0 -45
- package/src/gdskills/bundled/skills/quality/deploy/SKILL.claude.md +0 -42
- package/src/gdskills/bundled/skills/quality/perf-check/SKILL.claude.md +0 -48
- package/src/gdskills/bundled/skills/quality/security-audit/SKILL.claude.md +0 -40
- package/src/gdskills/bundled/skills/quality/test-gen/SKILL.claude.md +0 -30
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
name: problem-definer
|
|
3
|
+
description: >
|
|
4
|
+
Defines core problems, goals, non-goals, and success metrics from discovery data.
|
|
5
|
+
Use when: dispatched by gproject-orchestrator Phase 1.
|
|
6
|
+
NOT for: direct user invocation.
|
|
7
7
|
metadata:
|
|
8
|
-
|
|
9
|
-
version: "1.0.0"
|
|
10
|
-
category: "planning"
|
|
8
|
+
version: 1.0.0
|
|
11
9
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
12
|
-
license: "MIT"
|
|
13
10
|
---
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
# gproject-problem-definer
|
|
17
13
|
|
|
18
14
|
## Purpose
|
|
@@ -29,3 +25,131 @@ This phase answers: "Why are we doing this?" and "How will we know we succeeded?
|
|
|
29
25
|
| 3 | Problems MUST be stated from the USER's perspective, not technical |
|
|
30
26
|
| 4 | NEVER introduce solutions in the problem statement |
|
|
31
27
|
| 5 | If discovery brief has low confidence areas, flag them — don't paper over |
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## Input Contract
|
|
32
|
+
|
|
33
|
+
```yaml
|
|
34
|
+
task: "Define core problems and goals"
|
|
35
|
+
input_artifacts:
|
|
36
|
+
- .metaproject/jobs/<job>/artifacts/discovery-brief.md
|
|
37
|
+
decisions_so_far:
|
|
38
|
+
D_mode: "..."
|
|
39
|
+
D_domain: "..."
|
|
40
|
+
D_audience: "..."
|
|
41
|
+
D_scale_estimate: "..."
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## Output Contract
|
|
45
|
+
|
|
46
|
+
```yaml
|
|
47
|
+
status: "DONE" | "NEEDS_CONTEXT"
|
|
48
|
+
summary: "<3-5 sentences: core problem, primary goal, key constraint>"
|
|
49
|
+
new_decisions:
|
|
50
|
+
D_core_problems: ["<problem 1>", "<problem 2>"]
|
|
51
|
+
D_goals: ["<goal 1 + metric>", "<goal 2 + metric>"]
|
|
52
|
+
D_non_goals: ["<non-goal 1>", "<non-goal 2>", "<non-goal 3>"]
|
|
53
|
+
D_success_metrics: ["<metric 1>", "<metric 2>"]
|
|
54
|
+
D_target_users: "<primary persona>"
|
|
55
|
+
artifact_path: ".metaproject/jobs/<job>/artifacts/problem-statement.md"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Workflow
|
|
61
|
+
|
|
62
|
+
### Step 1: Extract Problems
|
|
63
|
+
|
|
64
|
+
From discovery brief, identify:
|
|
65
|
+
- What pain points do target users have?
|
|
66
|
+
- What's broken / missing / inefficient?
|
|
67
|
+
- What opportunity exists?
|
|
68
|
+
|
|
69
|
+
Frame each problem as: "**[User type]** cannot / struggles to **[action]** because **[reason]**, which results in **[consequence]**."
|
|
70
|
+
|
|
71
|
+
### Step 2: Define Goals (SMART)
|
|
72
|
+
|
|
73
|
+
For each problem, define a goal:
|
|
74
|
+
- **Specific** — exactly what will change
|
|
75
|
+
- **Measurable** — quantifiable success metric
|
|
76
|
+
- **Achievable** — realistic given constraints
|
|
77
|
+
- **Relevant** — tied to a real problem
|
|
78
|
+
- **Time-bound** — when to evaluate (if applicable)
|
|
79
|
+
|
|
80
|
+
### Step 3: Define Non-Goals (Critical)
|
|
81
|
+
|
|
82
|
+
Explicitly state what this project will NOT do. This prevents scope creep
|
|
83
|
+
and aligns expectations. Common categories:
|
|
84
|
+
- Features explicitly excluded from scope
|
|
85
|
+
- User segments not targeted
|
|
86
|
+
- Performance levels not targeted (e.g., "not optimized for 1M+ users")
|
|
87
|
+
- Platforms not supported
|
|
88
|
+
- Integrations not included
|
|
89
|
+
|
|
90
|
+
### Step 4: Define Success Metrics
|
|
91
|
+
|
|
92
|
+
For each goal, define how to measure success:
|
|
93
|
+
- Quantitative metrics (response time, conversion rate, error rate)
|
|
94
|
+
- Qualitative metrics (user satisfaction, NPS)
|
|
95
|
+
- Leading indicators (usage frequency, feature adoption)
|
|
96
|
+
|
|
97
|
+
### Step 5: Write Problem Statement
|
|
98
|
+
|
|
99
|
+
Write `artifacts/problem-statement.md`:
|
|
100
|
+
|
|
101
|
+
```markdown
|
|
102
|
+
# Problem Statement: <Project/Task Name>
|
|
103
|
+
|
|
104
|
+
## Core Problems
|
|
105
|
+
### P1: <Problem Title>
|
|
106
|
+
<User type> cannot <action> because <reason>, resulting in <consequence>.
|
|
107
|
+
**Impact**: <high/medium/low>
|
|
108
|
+
**Evidence**: <from discovery brief>
|
|
109
|
+
|
|
110
|
+
### P2: ...
|
|
111
|
+
|
|
112
|
+
## Goals
|
|
113
|
+
### G1: <Goal Title>
|
|
114
|
+
**Statement**: <SMART goal>
|
|
115
|
+
**Success Metric**: <measurable metric>
|
|
116
|
+
**Target**: <specific target value>
|
|
117
|
+
**Measured by**: <how and when>
|
|
118
|
+
|
|
119
|
+
### G2: ...
|
|
120
|
+
|
|
121
|
+
## Non-Goals
|
|
122
|
+
### NG1: <Non-Goal>
|
|
123
|
+
**Why excluded**: <rationale>
|
|
124
|
+
|
|
125
|
+
### NG2: ...
|
|
126
|
+
### NG3: ...
|
|
127
|
+
|
|
128
|
+
## Target Users
|
|
129
|
+
### Primary Persona
|
|
130
|
+
- **Who**: <description>
|
|
131
|
+
- **Core need**: <what they need most>
|
|
132
|
+
- **Current solution**: <how they solve it today>
|
|
133
|
+
|
|
134
|
+
### Secondary Persona (if applicable)
|
|
135
|
+
- ...
|
|
136
|
+
|
|
137
|
+
## Success Criteria
|
|
138
|
+
| Metric | Current State | Target | Measurement Method |
|
|
139
|
+
|--------|--------------|--------|-------------------|
|
|
140
|
+
| <metric> | <baseline or N/A> | <target> | <how to measure> |
|
|
141
|
+
|
|
142
|
+
## Assumptions & Risks
|
|
143
|
+
| Assumption | Risk if Wrong | Mitigation |
|
|
144
|
+
|-----------|--------------|------------|
|
|
145
|
+
| <assumption> | <impact> | <what to do> |
|
|
146
|
+
|
|
147
|
+
## Scope Boundary
|
|
148
|
+
**In scope**: <brief list>
|
|
149
|
+
**Out of scope**: <brief list referencing non-goals>
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### Step 6: Return Summary
|
|
153
|
+
|
|
154
|
+
Return compact summary to orchestrator: core problem in one sentence,
|
|
155
|
+
primary goal in one sentence, biggest risk, confidence level.
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
name: project-discovery
|
|
3
|
+
description: >
|
|
4
|
+
Collects and structures initial project information from multiple sources.
|
|
5
|
+
Use when: dispatched by gproject-orchestrator Phase 0.
|
|
6
|
+
NOT for: direct user invocation — always called through orchestrator.
|
|
7
7
|
metadata:
|
|
8
|
-
|
|
9
|
-
version: "1.0.0"
|
|
10
|
-
category: "planning"
|
|
8
|
+
version: 1.0.0
|
|
11
9
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
12
|
-
license: "MIT"
|
|
13
10
|
---
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
# gproject-discovery
|
|
17
13
|
|
|
18
14
|
## Purpose
|
|
@@ -30,3 +26,143 @@ depends on the quality of discovery.
|
|
|
30
26
|
| 3 | If a critical area has no data, return NEEDS_CONTEXT — don't fill gaps with guesses |
|
|
31
27
|
| 4 | Web research MUST cite sources |
|
|
32
28
|
| 5 | Codebase analysis MUST reference actual file paths |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Input Contract
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
task: "Collect project discovery data"
|
|
36
|
+
mode: "new_project" | "task_in_project"
|
|
37
|
+
user_input: "<original user request text>"
|
|
38
|
+
uploaded_docs: [<file paths if any>]
|
|
39
|
+
repo_path: "<path if task_in_project>"
|
|
40
|
+
interview_results: "<from interview skill, if already run>"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Output Contract
|
|
44
|
+
|
|
45
|
+
```yaml
|
|
46
|
+
status: "DONE" | "NEEDS_CONTEXT"
|
|
47
|
+
summary: "<3-5 sentences: what was found, key gaps, confidence level>"
|
|
48
|
+
new_decisions:
|
|
49
|
+
D_mode: "new_project | task_in_project"
|
|
50
|
+
D_domain: "<business domain>"
|
|
51
|
+
D_audience: "<target users>"
|
|
52
|
+
D_scale_estimate: "<rough scale: personal/team/startup/enterprise>"
|
|
53
|
+
artifact_path: ".metaproject/jobs/<job>/artifacts/discovery-brief.md"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If NEEDS_CONTEXT:
|
|
57
|
+
```yaml
|
|
58
|
+
status: "NEEDS_CONTEXT"
|
|
59
|
+
questions:
|
|
60
|
+
- id: "Q1"
|
|
61
|
+
text: "<question>"
|
|
62
|
+
options:
|
|
63
|
+
A: "<option>"
|
|
64
|
+
B: "<option>"
|
|
65
|
+
C: "<option>"
|
|
66
|
+
D: "<option>"
|
|
67
|
+
why: "<why this matters for downstream phases>"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Workflow
|
|
73
|
+
|
|
74
|
+
### Step 1: Parse User Input
|
|
75
|
+
|
|
76
|
+
Extract from the user's original request:
|
|
77
|
+
- What they want to build/implement
|
|
78
|
+
- Any constraints mentioned (budget, timeline, team size)
|
|
79
|
+
- Any technical preferences mentioned
|
|
80
|
+
- Target audience / users mentioned
|
|
81
|
+
|
|
82
|
+
### Step 2: Source-Specific Collection
|
|
83
|
+
|
|
84
|
+
#### Mode: new_project
|
|
85
|
+
|
|
86
|
+
1. **User input analysis** — extract all explicit and implied requirements
|
|
87
|
+
2. **Uploaded documents** — parse any attached files (briefs, notes, mockups, transcripts)
|
|
88
|
+
3. **Web research** — search for:
|
|
89
|
+
- Similar products / competitors (max 5)
|
|
90
|
+
- Market context and trends
|
|
91
|
+
- Common technical approaches for this type of project
|
|
92
|
+
4. **Gap identification** — list what's missing for confident decision-making
|
|
93
|
+
|
|
94
|
+
#### Mode: task_in_project
|
|
95
|
+
|
|
96
|
+
1. **User input analysis** — extract the specific task/feature request
|
|
97
|
+
2. **Codebase scan** (via context-collector) — gather:
|
|
98
|
+
- Project structure (directories, key files)
|
|
99
|
+
- Technology stack (package.json, requirements.txt, Dockerfile, etc.)
|
|
100
|
+
- Architecture patterns in use
|
|
101
|
+
- Existing documentation (README, docs/, ADRs)
|
|
102
|
+
- Related code areas (files likely affected by this task)
|
|
103
|
+
3. **Existing docs** — parse project documentation for context
|
|
104
|
+
4. **Web research** — best practices for the specific task within the detected stack
|
|
105
|
+
5. **Gap identification** — what's unclear about the existing codebase or requirements
|
|
106
|
+
|
|
107
|
+
### Step 3: Structure Discovery Brief
|
|
108
|
+
|
|
109
|
+
Write `artifacts/discovery-brief.md` with this structure:
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
# Discovery Brief: <Project/Task Name>
|
|
113
|
+
|
|
114
|
+
## Source Summary
|
|
115
|
+
- User input: <what was provided>
|
|
116
|
+
- Documents analyzed: <list>
|
|
117
|
+
- Codebase scanned: <yes/no, scope>
|
|
118
|
+
- Web research: <topics covered>
|
|
119
|
+
|
|
120
|
+
## Project/Task Description
|
|
121
|
+
<Clear 2-3 paragraph description of what needs to be built/done>
|
|
122
|
+
|
|
123
|
+
## Key Facts (confirmed)
|
|
124
|
+
- <fact 1> [source: user input / document / codebase]
|
|
125
|
+
- <fact 2> [source: ...]
|
|
126
|
+
|
|
127
|
+
## Assumptions (need validation)
|
|
128
|
+
- <assumption 1> — confidence: high/medium/low
|
|
129
|
+
- <assumption 2> — confidence: ...
|
|
130
|
+
|
|
131
|
+
## Stakeholders & Users
|
|
132
|
+
- Primary users: <who>
|
|
133
|
+
- Secondary users: <who>
|
|
134
|
+
- Stakeholders: <who decides>
|
|
135
|
+
|
|
136
|
+
## Existing Context (task_in_project only)
|
|
137
|
+
- Tech stack: <detected>
|
|
138
|
+
- Architecture: <detected patterns>
|
|
139
|
+
- Related components: <list with file paths>
|
|
140
|
+
- Existing patterns to follow: <list>
|
|
141
|
+
|
|
142
|
+
## Competitive / Market Context (new_project only)
|
|
143
|
+
- Similar products: <list with brief notes>
|
|
144
|
+
- Differentiators mentioned: <list>
|
|
145
|
+
- Market trends: <relevant>
|
|
146
|
+
|
|
147
|
+
## Constraints Identified
|
|
148
|
+
- Budget: <if mentioned>
|
|
149
|
+
- Timeline: <if mentioned>
|
|
150
|
+
- Team: <size, skills if mentioned>
|
|
151
|
+
- Technical: <any mentioned constraints>
|
|
152
|
+
|
|
153
|
+
## Open Questions
|
|
154
|
+
- <question 1> — impacts: <which downstream decisions>
|
|
155
|
+
- <question 2> — impacts: ...
|
|
156
|
+
|
|
157
|
+
## Confidence Assessment
|
|
158
|
+
- Overall completeness: <high/medium/low>
|
|
159
|
+
- Areas needing more data: <list>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Step 4: Return Summary to Orchestrator
|
|
163
|
+
|
|
164
|
+
Compose compact summary (3-5 sentences) covering:
|
|
165
|
+
- What the project/task is about
|
|
166
|
+
- Key constraints discovered
|
|
167
|
+
- Confidence level
|
|
168
|
+
- Critical gaps that need resolution
|
|
@@ -1,18 +1,14 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description:
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
name: project-discovery
|
|
3
|
+
description: >
|
|
4
|
+
Collects and structures initial project information from multiple sources.
|
|
5
|
+
Use when: dispatched by gproject-orchestrator Phase 0.
|
|
6
|
+
NOT for: direct user invocation — always called through orchestrator.
|
|
7
7
|
metadata:
|
|
8
|
-
|
|
9
|
-
version: "1.0.0"
|
|
10
|
-
category: "planning"
|
|
8
|
+
version: 1.0.0
|
|
11
9
|
compatible_harnesses: "cursor,codex,zed,opencode"
|
|
12
|
-
license: "MIT"
|
|
13
10
|
---
|
|
14
11
|
|
|
15
|
-
|
|
16
12
|
# gproject-discovery
|
|
17
13
|
|
|
18
14
|
## Purpose
|
|
@@ -30,3 +26,143 @@ depends on the quality of discovery.
|
|
|
30
26
|
| 3 | If a critical area has no data, return NEEDS_CONTEXT — don't fill gaps with guesses |
|
|
31
27
|
| 4 | Web research MUST cite sources |
|
|
32
28
|
| 5 | Codebase analysis MUST reference actual file paths |
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Input Contract
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
task: "Collect project discovery data"
|
|
36
|
+
mode: "new_project" | "task_in_project"
|
|
37
|
+
user_input: "<original user request text>"
|
|
38
|
+
uploaded_docs: [<file paths if any>]
|
|
39
|
+
repo_path: "<path if task_in_project>"
|
|
40
|
+
interview_results: "<from interview skill, if already run>"
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Output Contract
|
|
44
|
+
|
|
45
|
+
```yaml
|
|
46
|
+
status: "DONE" | "NEEDS_CONTEXT"
|
|
47
|
+
summary: "<3-5 sentences: what was found, key gaps, confidence level>"
|
|
48
|
+
new_decisions:
|
|
49
|
+
D_mode: "new_project | task_in_project"
|
|
50
|
+
D_domain: "<business domain>"
|
|
51
|
+
D_audience: "<target users>"
|
|
52
|
+
D_scale_estimate: "<rough scale: personal/team/startup/enterprise>"
|
|
53
|
+
artifact_path: ".metaproject/jobs/<job>/artifacts/discovery-brief.md"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
If NEEDS_CONTEXT:
|
|
57
|
+
```yaml
|
|
58
|
+
status: "NEEDS_CONTEXT"
|
|
59
|
+
questions:
|
|
60
|
+
- id: "Q1"
|
|
61
|
+
text: "<question>"
|
|
62
|
+
options:
|
|
63
|
+
A: "<option>"
|
|
64
|
+
B: "<option>"
|
|
65
|
+
C: "<option>"
|
|
66
|
+
D: "<option>"
|
|
67
|
+
why: "<why this matters for downstream phases>"
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
## Workflow
|
|
73
|
+
|
|
74
|
+
### Step 1: Parse User Input
|
|
75
|
+
|
|
76
|
+
Extract from the user's original request:
|
|
77
|
+
- What they want to build/implement
|
|
78
|
+
- Any constraints mentioned (budget, timeline, team size)
|
|
79
|
+
- Any technical preferences mentioned
|
|
80
|
+
- Target audience / users mentioned
|
|
81
|
+
|
|
82
|
+
### Step 2: Source-Specific Collection
|
|
83
|
+
|
|
84
|
+
#### Mode: new_project
|
|
85
|
+
|
|
86
|
+
1. **User input analysis** — extract all explicit and implied requirements
|
|
87
|
+
2. **Uploaded documents** — parse any attached files (briefs, notes, mockups, transcripts)
|
|
88
|
+
3. **Web research** — search for:
|
|
89
|
+
- Similar products / competitors (max 5)
|
|
90
|
+
- Market context and trends
|
|
91
|
+
- Common technical approaches for this type of project
|
|
92
|
+
4. **Gap identification** — list what's missing for confident decision-making
|
|
93
|
+
|
|
94
|
+
#### Mode: task_in_project
|
|
95
|
+
|
|
96
|
+
1. **User input analysis** — extract the specific task/feature request
|
|
97
|
+
2. **Codebase scan** (via context-collector) — gather:
|
|
98
|
+
- Project structure (directories, key files)
|
|
99
|
+
- Technology stack (package.json, requirements.txt, Dockerfile, etc.)
|
|
100
|
+
- Architecture patterns in use
|
|
101
|
+
- Existing documentation (README, docs/, ADRs)
|
|
102
|
+
- Related code areas (files likely affected by this task)
|
|
103
|
+
3. **Existing docs** — parse project documentation for context
|
|
104
|
+
4. **Web research** — best practices for the specific task within the detected stack
|
|
105
|
+
5. **Gap identification** — what's unclear about the existing codebase or requirements
|
|
106
|
+
|
|
107
|
+
### Step 3: Structure Discovery Brief
|
|
108
|
+
|
|
109
|
+
Write `artifacts/discovery-brief.md` with this structure:
|
|
110
|
+
|
|
111
|
+
```markdown
|
|
112
|
+
# Discovery Brief: <Project/Task Name>
|
|
113
|
+
|
|
114
|
+
## Source Summary
|
|
115
|
+
- User input: <what was provided>
|
|
116
|
+
- Documents analyzed: <list>
|
|
117
|
+
- Codebase scanned: <yes/no, scope>
|
|
118
|
+
- Web research: <topics covered>
|
|
119
|
+
|
|
120
|
+
## Project/Task Description
|
|
121
|
+
<Clear 2-3 paragraph description of what needs to be built/done>
|
|
122
|
+
|
|
123
|
+
## Key Facts (confirmed)
|
|
124
|
+
- <fact 1> [source: user input / document / codebase]
|
|
125
|
+
- <fact 2> [source: ...]
|
|
126
|
+
|
|
127
|
+
## Assumptions (need validation)
|
|
128
|
+
- <assumption 1> — confidence: high/medium/low
|
|
129
|
+
- <assumption 2> — confidence: ...
|
|
130
|
+
|
|
131
|
+
## Stakeholders & Users
|
|
132
|
+
- Primary users: <who>
|
|
133
|
+
- Secondary users: <who>
|
|
134
|
+
- Stakeholders: <who decides>
|
|
135
|
+
|
|
136
|
+
## Existing Context (task_in_project only)
|
|
137
|
+
- Tech stack: <detected>
|
|
138
|
+
- Architecture: <detected patterns>
|
|
139
|
+
- Related components: <list with file paths>
|
|
140
|
+
- Existing patterns to follow: <list>
|
|
141
|
+
|
|
142
|
+
## Competitive / Market Context (new_project only)
|
|
143
|
+
- Similar products: <list with brief notes>
|
|
144
|
+
- Differentiators mentioned: <list>
|
|
145
|
+
- Market trends: <relevant>
|
|
146
|
+
|
|
147
|
+
## Constraints Identified
|
|
148
|
+
- Budget: <if mentioned>
|
|
149
|
+
- Timeline: <if mentioned>
|
|
150
|
+
- Team: <size, skills if mentioned>
|
|
151
|
+
- Technical: <any mentioned constraints>
|
|
152
|
+
|
|
153
|
+
## Open Questions
|
|
154
|
+
- <question 1> — impacts: <which downstream decisions>
|
|
155
|
+
- <question 2> — impacts: ...
|
|
156
|
+
|
|
157
|
+
## Confidence Assessment
|
|
158
|
+
- Overall completeness: <high/medium/low>
|
|
159
|
+
- Areas needing more data: <list>
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Step 4: Return Summary to Orchestrator
|
|
163
|
+
|
|
164
|
+
Compose compact summary (3-5 sentences) covering:
|
|
165
|
+
- What the project/task is about
|
|
166
|
+
- Key constraints discovered
|
|
167
|
+
- Confidence level
|
|
168
|
+
- Critical gaps that need resolution
|