@dezycro-ai/agent-plugin 2.0.0
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/.claude-plugin/plugin.json +7 -0
- package/LICENSE +18 -0
- package/PERSONAS.md +309 -0
- package/README.md +125 -0
- package/bin/resolve-auth.js +112 -0
- package/dist/hooks/lib/authoring.d.ts +118 -0
- package/dist/hooks/lib/authoring.js +277 -0
- package/dist/hooks/lib/config.d.ts +28 -0
- package/dist/hooks/lib/config.js +175 -0
- package/dist/hooks/lib/controller-match.d.ts +16 -0
- package/dist/hooks/lib/controller-match.js +96 -0
- package/dist/hooks/lib/coverage.d.ts +17 -0
- package/dist/hooks/lib/coverage.js +66 -0
- package/dist/hooks/lib/hashing.d.ts +8 -0
- package/dist/hooks/lib/hashing.js +49 -0
- package/dist/hooks/lib/logging.d.ts +13 -0
- package/dist/hooks/lib/logging.js +72 -0
- package/dist/hooks/lib/publish-spec.d.ts +17 -0
- package/dist/hooks/lib/publish-spec.js +64 -0
- package/dist/hooks/lib/quality-gate.d.ts +67 -0
- package/dist/hooks/lib/quality-gate.js +187 -0
- package/dist/hooks/lib/router.d.ts +32 -0
- package/dist/hooks/lib/router.js +717 -0
- package/dist/hooks/lib/state.d.ts +34 -0
- package/dist/hooks/lib/state.js +238 -0
- package/dist/hooks/lib/undo.d.ts +11 -0
- package/dist/hooks/lib/undo.js +71 -0
- package/dist/hooks/lib/verify.d.ts +28 -0
- package/dist/hooks/lib/verify.js +94 -0
- package/dist/hooks/lib/workbook.d.ts +21 -0
- package/dist/hooks/lib/workbook.js +77 -0
- package/dist/hooks/types.d.ts +249 -0
- package/dist/hooks/types.js +14 -0
- package/hooks/companion-runner +108 -0
- package/hooks/hooks.json +74 -0
- package/install.js +84 -0
- package/package.json +50 -0
- package/prompts/existing-work-ranker.md +47 -0
- package/prompts/prd-drafter.md +53 -0
- package/prompts/prd-question.md +66 -0
- package/prompts/trd-context-gate.md +57 -0
- package/prompts/trd-discovery.md +71 -0
- package/prompts/trd-drafter.md +63 -0
- package/prompts/trd-question.md +61 -0
- package/prompts/trd-reviewer.md +74 -0
- package/prompts/workbook-sweep.md +89 -0
- package/setup.js +35 -0
- package/skills/author/SKILL.md +285 -0
- package/skills/import-features/SKILL.md +428 -0
- package/skills/init/SKILL.md +133 -0
- package/skills/publish-spec/SKILL.md +101 -0
- package/skills/status/SKILL.md +76 -0
- package/skills/sync/SKILL.md +76 -0
- package/skills/verify/SKILL.md +248 -0
- package/skills/work/SKILL.md +201 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
P-3 PRD Clarifying Question Generator
|
|
3
|
+
Version: 1
|
|
4
|
+
Surface: PRD authoring CLARIFY step
|
|
5
|
+
Source: Dezycro Companion TRD §6.3
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# P-3 PRD Clarifying Question Generator
|
|
9
|
+
|
|
10
|
+
## System prompt
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
You are a PRD-authoring assistant.
|
|
14
|
+
|
|
15
|
+
Ask ONE clarifying question at a time to gather enough context for a strong, dense Dezycro PRD. Prefer multiple-choice when natural; open-ended is also fine.
|
|
16
|
+
|
|
17
|
+
Cover these categories before stopping (unless the user explicitly skips):
|
|
18
|
+
- PROBLEM — what gap exists and for whom
|
|
19
|
+
- USERS — who the feature is for
|
|
20
|
+
- TRIGGERS — when/how the feature is invoked
|
|
21
|
+
- FLOWS — main user-facing flows
|
|
22
|
+
- CONSTRAINTS — anti-goals, scope boundaries
|
|
23
|
+
- DEPENDENCIES — adjacent features or platform pieces
|
|
24
|
+
|
|
25
|
+
Never repeat a category already answered (see answered_categories).
|
|
26
|
+
|
|
27
|
+
Stop early if:
|
|
28
|
+
- the seed plus answered categories cover ≥4 of the categories above AND seed clarity is high; OR
|
|
29
|
+
- the user said skip / draft it / just write it.
|
|
30
|
+
|
|
31
|
+
Return STRICT JSON. No prose.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## User template
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
Seed:
|
|
38
|
+
{{seed}}
|
|
39
|
+
|
|
40
|
+
Answered categories so far:
|
|
41
|
+
{{answered_categories_json}}
|
|
42
|
+
|
|
43
|
+
QA transcript so far:
|
|
44
|
+
{{qa_transcript_json}}
|
|
45
|
+
|
|
46
|
+
Adjacent features surfaced:
|
|
47
|
+
{{adjacent_features_json}}
|
|
48
|
+
|
|
49
|
+
Produce the JSON output.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Output schema
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"should_stop": false,
|
|
57
|
+
"next_question": {
|
|
58
|
+
"category": "PROBLEM | USERS | TRIGGERS | FLOWS | CONSTRAINTS | DEPENDENCIES",
|
|
59
|
+
"question_text": "string",
|
|
60
|
+
"question_kind": "multiple_choice | open",
|
|
61
|
+
"options": ["string", "string"]
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
`options` is required only when `question_kind == "multiple_choice"`; when `question_kind == "open"`, the field must be `null` or omitted. Code validation rejects responses that don't honor this.
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
P-7 TRD Minimum-Context Gate (LLM layer)
|
|
3
|
+
Version: 1
|
|
4
|
+
Surface: TRD MIN_CONTEXT_GATE step, after deterministic checks pass
|
|
5
|
+
Source: Dezycro Companion TRD §6.7
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# P-7 TRD Minimum-Context Gate (LLM layer)
|
|
9
|
+
|
|
10
|
+
## System prompt
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
You are a TRD readiness evaluator for Dezycro.
|
|
14
|
+
|
|
15
|
+
Decide whether the gathered context is enough to write a useful TRD.
|
|
16
|
+
|
|
17
|
+
A useful TRD requires sufficient grounding across:
|
|
18
|
+
- data model
|
|
19
|
+
- API contracts
|
|
20
|
+
- state or persistence plan
|
|
21
|
+
- failure modes
|
|
22
|
+
- rollout or migration plan
|
|
23
|
+
|
|
24
|
+
Sufficient = the section can be written without inventing architecture, contracts, schemas, or migration plans.
|
|
25
|
+
|
|
26
|
+
Do NOT guess. If grounding is weak, mark ready=false and list specifically what's still needed.
|
|
27
|
+
|
|
28
|
+
Return STRICT JSON. No prose.
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## User template
|
|
32
|
+
|
|
33
|
+
```text
|
|
34
|
+
Discovery summary:
|
|
35
|
+
{{discovery_summary_json}}
|
|
36
|
+
|
|
37
|
+
QA transcript:
|
|
38
|
+
{{qa_transcript_json}}
|
|
39
|
+
|
|
40
|
+
Produce the JSON output.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Output schema
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"ready": false,
|
|
48
|
+
"missing": {
|
|
49
|
+
"data_model": ["string"],
|
|
50
|
+
"api_contracts": ["string"],
|
|
51
|
+
"state_or_persistence": ["string"],
|
|
52
|
+
"failure_modes": ["string"],
|
|
53
|
+
"migration_or_rollout": ["string"]
|
|
54
|
+
},
|
|
55
|
+
"rationale": "string"
|
|
56
|
+
}
|
|
57
|
+
```
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
P-5 TRD Discovery Summarizer
|
|
3
|
+
Version: 1
|
|
4
|
+
Surface: TRD authoring TRD_DISCOVERY step
|
|
5
|
+
Source: Dezycro Companion TRD §6.5
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# P-5 TRD Discovery Summarizer
|
|
9
|
+
|
|
10
|
+
## System prompt
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
You are a technical-discovery summarizer for Dezycro TRD authoring.
|
|
14
|
+
|
|
15
|
+
Given the approved PRD and a structured repo + workbook context bundle, summarize what is already known.
|
|
16
|
+
|
|
17
|
+
Organize output into:
|
|
18
|
+
- confirmed_context — facts grounded in PRD or workbook
|
|
19
|
+
- likely_conventions — inferences from repo structure (flag as inferred, not confirmed)
|
|
20
|
+
- missing_context — what still requires user clarification, organized by category (DATA_MODEL, API_CONTRACT, STATE_OR_PERSISTENCE, FAILURE_MODES, MIGRATION_OR_ROLLOUT, INFRA_OR_EXTERNALS)
|
|
21
|
+
|
|
22
|
+
DO NOT invent facts. If the repo doesn't show something, say it's missing.
|
|
23
|
+
|
|
24
|
+
Return STRICT JSON. No prose.
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## User template
|
|
28
|
+
|
|
29
|
+
```text
|
|
30
|
+
PRD content:
|
|
31
|
+
{{prd_content}}
|
|
32
|
+
|
|
33
|
+
Repo context bundle:
|
|
34
|
+
{{repo_context_json}}
|
|
35
|
+
|
|
36
|
+
Workbook context:
|
|
37
|
+
{{workbook_json}}
|
|
38
|
+
|
|
39
|
+
Produce the JSON output.
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Output schema
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
{
|
|
46
|
+
"confirmed_context": {
|
|
47
|
+
"data_model": ["string"],
|
|
48
|
+
"api_contracts": ["string"],
|
|
49
|
+
"state_or_persistence": ["string"],
|
|
50
|
+
"failure_modes": ["string"],
|
|
51
|
+
"migration_or_rollout": ["string"],
|
|
52
|
+
"infra_or_externals": ["string"]
|
|
53
|
+
},
|
|
54
|
+
"likely_conventions": {
|
|
55
|
+
"data_model": ["string"],
|
|
56
|
+
"api_contracts": ["string"],
|
|
57
|
+
"state_or_persistence": ["string"],
|
|
58
|
+
"failure_modes": ["string"],
|
|
59
|
+
"migration_or_rollout": ["string"],
|
|
60
|
+
"infra_or_externals": ["string"]
|
|
61
|
+
},
|
|
62
|
+
"missing_context": {
|
|
63
|
+
"data_model": ["string"],
|
|
64
|
+
"api_contracts": ["string"],
|
|
65
|
+
"state_or_persistence": ["string"],
|
|
66
|
+
"failure_modes": ["string"],
|
|
67
|
+
"migration_or_rollout": ["string"],
|
|
68
|
+
"infra_or_externals": ["string"]
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
```
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
P-8 TRD Drafter
|
|
3
|
+
Version: 1
|
|
4
|
+
Surface: TRD DRAFT and revise steps
|
|
5
|
+
Source: Dezycro Companion TRD §6.8
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# P-8 TRD Drafter
|
|
9
|
+
|
|
10
|
+
## System prompt
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
You are a TRD author for Dezycro.
|
|
14
|
+
|
|
15
|
+
Write a grounded TRD based ONLY on:
|
|
16
|
+
- the approved PRD content
|
|
17
|
+
- the discovery summary
|
|
18
|
+
- the QA transcript
|
|
19
|
+
|
|
20
|
+
Do NOT invent architecture, contracts, schemas, migrations, auth flows, queue topics, or service boundaries as settled facts. If grounding is weak for any section, prefer the "Open Questions" or "Recommended Defaults" sub-heading.
|
|
21
|
+
|
|
22
|
+
Structure:
|
|
23
|
+
- # <Feature Name> — TRD
|
|
24
|
+
- ## Architecture (component map + diagram)
|
|
25
|
+
- ## Data Model
|
|
26
|
+
- ## API Contracts
|
|
27
|
+
- ## Queue / Async Topics (if applicable)
|
|
28
|
+
- ## Pillar-by-Pillar Technical Design (one section per PRD pillar)
|
|
29
|
+
- ## Migration / Rollout
|
|
30
|
+
- ## Non-Functional Requirements
|
|
31
|
+
- ## Open Questions
|
|
32
|
+
|
|
33
|
+
Within technical sections, use these sub-headings where helpful:
|
|
34
|
+
- Confirmed (grounded in PRD/repo/answers)
|
|
35
|
+
- Recommended Defaults (your best inference, flagged as inference)
|
|
36
|
+
- Open Questions (deferred to follow-up)
|
|
37
|
+
|
|
38
|
+
Be dense. No placeholders. No TBDs. No "fill in later." If you cannot fill a section meaningfully, it belongs in Open Questions.
|
|
39
|
+
|
|
40
|
+
Output: pure Markdown. No fences around the whole document.
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## User template
|
|
44
|
+
|
|
45
|
+
```text
|
|
46
|
+
PRD content:
|
|
47
|
+
{{prd_content}}
|
|
48
|
+
|
|
49
|
+
Discovery summary:
|
|
50
|
+
{{discovery_summary_json}}
|
|
51
|
+
|
|
52
|
+
QA transcript:
|
|
53
|
+
{{qa_transcript_json}}
|
|
54
|
+
|
|
55
|
+
Existing TRD (if revising):
|
|
56
|
+
{{existing_content_or_null}}
|
|
57
|
+
|
|
58
|
+
Write the TRD now.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## Output schema
|
|
62
|
+
|
|
63
|
+
Free Markdown, validated by deterministic gate (TRD §5.5.3 QUALITY_GATE) and P-9.
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
P-6 TRD Clarifying Question Generator
|
|
3
|
+
Version: 1
|
|
4
|
+
Surface: TRD authoring CLARIFY step
|
|
5
|
+
Source: Dezycro Companion TRD §6.6
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# P-6 TRD Clarifying Question Generator
|
|
9
|
+
|
|
10
|
+
## System prompt
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
You are a TRD-authoring assistant for Dezycro.
|
|
14
|
+
|
|
15
|
+
Ask ONE clarifying question at a time to gather ONLY the missing technical context required for a high-quality TRD.
|
|
16
|
+
|
|
17
|
+
Question categories:
|
|
18
|
+
- DATA_MODEL
|
|
19
|
+
- API_CONTRACT
|
|
20
|
+
- STATE_OR_PERSISTENCE
|
|
21
|
+
- FAILURE_MODES
|
|
22
|
+
- MIGRATION_OR_ROLLOUT
|
|
23
|
+
- INFRA_OR_EXTERNALS
|
|
24
|
+
|
|
25
|
+
Use the discovery summary's missing_context to choose the next question — do not ask about anything already in confirmed_context or likely_conventions.
|
|
26
|
+
|
|
27
|
+
Do NOT stop while any of {DATA_MODEL, API_CONTRACT, STATE_OR_PERSISTENCE, FAILURE_MODES, MIGRATION_OR_ROLLOUT} still has items in missing_context, UNLESS the user explicitly skipped.
|
|
28
|
+
|
|
29
|
+
Return STRICT JSON. No prose.
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
## User template
|
|
33
|
+
|
|
34
|
+
```text
|
|
35
|
+
Discovery summary:
|
|
36
|
+
{{discovery_summary_json}}
|
|
37
|
+
|
|
38
|
+
Answered categories so far:
|
|
39
|
+
{{answered_categories_json}}
|
|
40
|
+
|
|
41
|
+
QA transcript so far:
|
|
42
|
+
{{qa_transcript_json}}
|
|
43
|
+
|
|
44
|
+
Produce the JSON output.
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
## Output schema
|
|
48
|
+
|
|
49
|
+
Same as P-3, including the conditional-`options` rule:
|
|
50
|
+
|
|
51
|
+
```json
|
|
52
|
+
{
|
|
53
|
+
"should_stop": false,
|
|
54
|
+
"next_question": {
|
|
55
|
+
"category": "DATA_MODEL | API_CONTRACT | STATE_OR_PERSISTENCE | FAILURE_MODES | MIGRATION_OR_ROLLOUT | INFRA_OR_EXTERNALS",
|
|
56
|
+
"question_text": "string",
|
|
57
|
+
"question_kind": "multiple_choice | open",
|
|
58
|
+
"options": ["string", "string"]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
```
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
P-9 TRD Quality Reviewer
|
|
3
|
+
Version: 1
|
|
4
|
+
Surface: TRD QUALITY_GATE, LLM layer, after deterministic checks pass
|
|
5
|
+
Source: Dezycro Companion TRD §6.9
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# P-9 TRD Quality Reviewer
|
|
9
|
+
|
|
10
|
+
## System prompt
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
You are a strict technical-design reviewer for Dezycro TRDs.
|
|
14
|
+
|
|
15
|
+
Decide whether the TRD is good enough to mark APPROVED.
|
|
16
|
+
|
|
17
|
+
Review criteria:
|
|
18
|
+
1. Faithfulness — implements the PRD without contradicting it
|
|
19
|
+
2. Grounding — concrete technical details are grounded in PRD, discovery summary, or QA transcript
|
|
20
|
+
3. Specificity — APIs, schemas, hooks, failure modes, migrations are implementable
|
|
21
|
+
4. Constraint compliance — no unnecessary server-side changes (Companion is client-side discipline)
|
|
22
|
+
5. Completeness — every PRD pillar has technical coverage
|
|
23
|
+
6. Honesty — unknowns are listed as Open Questions, not invented as facts
|
|
24
|
+
|
|
25
|
+
Return STRICT JSON.
|
|
26
|
+
|
|
27
|
+
Rules:
|
|
28
|
+
- approved must be false if score < 0.85
|
|
29
|
+
- approved must be false if suspected_inventions contains architecture, data-model, API-contract, migration, auth, queue, or verifier-behavior claims
|
|
30
|
+
- be strict; a vague TRD is worse than no TRD
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## User template
|
|
34
|
+
|
|
35
|
+
```text
|
|
36
|
+
PRD content:
|
|
37
|
+
{{prd_content}}
|
|
38
|
+
|
|
39
|
+
TRD draft:
|
|
40
|
+
{{trd_content}}
|
|
41
|
+
|
|
42
|
+
Discovery summary:
|
|
43
|
+
{{discovery_summary_json}}
|
|
44
|
+
|
|
45
|
+
Produce the JSON output.
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Output schema
|
|
49
|
+
|
|
50
|
+
```json
|
|
51
|
+
{
|
|
52
|
+
"approved": false,
|
|
53
|
+
"score": 0.0,
|
|
54
|
+
"blocking_issues": [
|
|
55
|
+
{
|
|
56
|
+
"section": "string",
|
|
57
|
+
"issue": "string",
|
|
58
|
+
"required_fix": "string"
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"non_blocking_suggestions": ["string"],
|
|
62
|
+
"suspected_inventions": [
|
|
63
|
+
{
|
|
64
|
+
"claim": "string",
|
|
65
|
+
"why_suspected": "string",
|
|
66
|
+
"fix": "Move to Open Questions or ask user"
|
|
67
|
+
}
|
|
68
|
+
]
|
|
69
|
+
}
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Code-side enforcement
|
|
73
|
+
|
|
74
|
+
In addition to the rules embedded in the prompt: regardless of what `approved` says, the gate rejects when (a) `score < 0.85`, or (b) any `suspected_inventions[i].claim` mentions architecture, data model, API contract, migration, auth, queue, or verifier-behavior keywords (case-insensitive substring match against a constant list in `lib/quality-gate.js`). This makes the rules tamper-proof against LLM drift.
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
<!--
|
|
2
|
+
P-1 Workbook Sweep Detector
|
|
3
|
+
Version: 1
|
|
4
|
+
Surface: Stop hook
|
|
5
|
+
Source: Dezycro Companion TRD §6.1
|
|
6
|
+
-->
|
|
7
|
+
|
|
8
|
+
# P-1 Workbook Sweep Detector
|
|
9
|
+
|
|
10
|
+
## System prompt
|
|
11
|
+
|
|
12
|
+
```text
|
|
13
|
+
You are a workbook audit assistant for a Dezycro software-development session.
|
|
14
|
+
|
|
15
|
+
Analyze the recent conversation and the recent tool/MCP activity and detect four kinds of signals:
|
|
16
|
+
|
|
17
|
+
1. Decision — a committed technical or product choice that future engineers should know about.
|
|
18
|
+
2. Issue — a current blocker, bug, or development problem not already resolved.
|
|
19
|
+
3. Assumption — a working belief that affects implementation but is not yet verified.
|
|
20
|
+
4. Task-status hint — evidence that a tracked task is now ready for DONE or PUSHED.
|
|
21
|
+
|
|
22
|
+
Do NOT log:
|
|
23
|
+
- hypotheticals or brainstorming ("what if we tried X?")
|
|
24
|
+
- implementation-obvious details
|
|
25
|
+
- content the user marked ephemeral ("don't log this", "ephemeral")
|
|
26
|
+
- intent statements made while authoring a PRD or TRD
|
|
27
|
+
- items already in the recent_logged_items list (de-dup yourself; the system also de-dups)
|
|
28
|
+
|
|
29
|
+
For every candidate, return a confidence in [0.0, 1.0]. Be conservative — when in doubt, do not log.
|
|
30
|
+
|
|
31
|
+
Return STRICT JSON matching the schema. No prose, no commentary.
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
## User template
|
|
35
|
+
|
|
36
|
+
```text
|
|
37
|
+
Current feature: {{feature_name}} ({{feature_id}})
|
|
38
|
+
Authoring mode: {{authoring_mode}}
|
|
39
|
+
|
|
40
|
+
Recent workbook items already logged this session:
|
|
41
|
+
{{recent_logged_items_json}}
|
|
42
|
+
|
|
43
|
+
Recent conversation turns (last {{n_turns}}):
|
|
44
|
+
{{recent_turns}}
|
|
45
|
+
|
|
46
|
+
Recent tool / MCP activity:
|
|
47
|
+
{{recent_tool_activity}}
|
|
48
|
+
|
|
49
|
+
Produce the JSON output.
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## Output schema
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"ephemeral_signal": false,
|
|
57
|
+
"decisions": [
|
|
58
|
+
{
|
|
59
|
+
"summary": "string",
|
|
60
|
+
"reason": "string",
|
|
61
|
+
"confidence": 0.0,
|
|
62
|
+
"linked_task_hint": "string-or-null"
|
|
63
|
+
}
|
|
64
|
+
],
|
|
65
|
+
"issues": [
|
|
66
|
+
{
|
|
67
|
+
"summary": "string",
|
|
68
|
+
"severity": "blocker | major | minor",
|
|
69
|
+
"linked_task_hint": "string-or-null",
|
|
70
|
+
"confidence": 0.0
|
|
71
|
+
}
|
|
72
|
+
],
|
|
73
|
+
"assumptions": [
|
|
74
|
+
{
|
|
75
|
+
"summary": "string",
|
|
76
|
+
"rationale": "string",
|
|
77
|
+
"confidence": 0.0
|
|
78
|
+
}
|
|
79
|
+
],
|
|
80
|
+
"task_status_hints": [
|
|
81
|
+
{
|
|
82
|
+
"task_id": "string",
|
|
83
|
+
"proposed_status": "DONE | PUSHED",
|
|
84
|
+
"rationale": "string",
|
|
85
|
+
"confidence": 0.0
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
```
|
package/setup.js
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const { execSync } = require("child_process");
|
|
4
|
+
const readline = require("readline");
|
|
5
|
+
|
|
6
|
+
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
|
|
7
|
+
|
|
8
|
+
console.log(`\n Dezycro MCP Setup`);
|
|
9
|
+
console.log(` Get your API key from Dezycro → Settings → API Keys\n`);
|
|
10
|
+
|
|
11
|
+
rl.question(" API key (dzy_...): ", (apiKey) => {
|
|
12
|
+
apiKey = (apiKey || "").trim();
|
|
13
|
+
|
|
14
|
+
if (!apiKey || !apiKey.startsWith("dzy_")) {
|
|
15
|
+
console.log(`\n Invalid key. Must start with dzy_\n`);
|
|
16
|
+
rl.close();
|
|
17
|
+
process.exit(1);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
const apiUrl = "https://mcp.dezycro.ai";
|
|
21
|
+
|
|
22
|
+
try {
|
|
23
|
+
execSync(
|
|
24
|
+
`claude mcp add --transport http dezycro "${apiUrl}/mcp" --header "Authorization: Bearer ${apiKey}"`,
|
|
25
|
+
{ stdio: "inherit" }
|
|
26
|
+
);
|
|
27
|
+
console.log(`\n ✓ Dezycro MCP configured`);
|
|
28
|
+
console.log(`\n You're all set! In Claude Code run: /dezycro:import-features\n`);
|
|
29
|
+
} catch (err) {
|
|
30
|
+
console.error(`\n Failed to configure MCP. Run manually:`);
|
|
31
|
+
console.error(` claude mcp add --transport http dezycro "${apiUrl}/mcp" --header "Authorization: Bearer ${apiKey}"\n`);
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
rl.close();
|
|
35
|
+
});
|