@alex.botez/elaborate 1.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/LICENSE +21 -0
- package/README.md +114 -0
- package/dist/durable/index.d.ts +10 -0
- package/dist/durable/index.d.ts.map +1 -0
- package/dist/durable/index.js +9 -0
- package/dist/durable/index.js.map +1 -0
- package/dist/durable/workflow.d.ts +165 -0
- package/dist/durable/workflow.d.ts.map +1 -0
- package/dist/durable/workflow.js +224 -0
- package/dist/durable/workflow.js.map +1 -0
- package/dist/interview/classification.d.ts +16 -0
- package/dist/interview/classification.d.ts.map +1 -0
- package/dist/interview/classification.js +25 -0
- package/dist/interview/classification.js.map +1 -0
- package/dist/interview/composition.d.ts +12 -0
- package/dist/interview/composition.d.ts.map +1 -0
- package/dist/interview/composition.js +19 -0
- package/dist/interview/composition.js.map +1 -0
- package/dist/interview/describe.d.ts +41 -0
- package/dist/interview/describe.d.ts.map +1 -0
- package/dist/interview/describe.js +80 -0
- package/dist/interview/describe.js.map +1 -0
- package/dist/interview/deviation.d.ts +91 -0
- package/dist/interview/deviation.d.ts.map +1 -0
- package/dist/interview/deviation.js +137 -0
- package/dist/interview/deviation.js.map +1 -0
- package/dist/interview/extraction.d.ts +32 -0
- package/dist/interview/extraction.d.ts.map +1 -0
- package/dist/interview/extraction.js +102 -0
- package/dist/interview/extraction.js.map +1 -0
- package/dist/interview/index.d.ts +25 -0
- package/dist/interview/index.d.ts.map +1 -0
- package/dist/interview/index.js +22 -0
- package/dist/interview/index.js.map +1 -0
- package/dist/interview/macros.d.ts +91 -0
- package/dist/interview/macros.d.ts.map +1 -0
- package/dist/interview/macros.js +138 -0
- package/dist/interview/macros.js.map +1 -0
- package/dist/interview/preambles.d.ts +18 -0
- package/dist/interview/preambles.d.ts.map +1 -0
- package/dist/interview/preambles.js +93 -0
- package/dist/interview/preambles.js.map +1 -0
- package/dist/interview/progress.d.ts +31 -0
- package/dist/interview/progress.d.ts.map +1 -0
- package/dist/interview/progress.js +51 -0
- package/dist/interview/progress.js.map +1 -0
- package/dist/interview/prompt.d.ts +20 -0
- package/dist/interview/prompt.d.ts.map +1 -0
- package/dist/interview/prompt.js +58 -0
- package/dist/interview/prompt.js.map +1 -0
- package/dist/phases/aggregate/assumptions.d.ts +14 -0
- package/dist/phases/aggregate/assumptions.d.ts.map +1 -0
- package/dist/phases/aggregate/assumptions.js +33 -0
- package/dist/phases/aggregate/assumptions.js.map +1 -0
- package/dist/phases/aggregate/findings.d.ts +10 -0
- package/dist/phases/aggregate/findings.d.ts.map +1 -0
- package/dist/phases/aggregate/findings.js +20 -0
- package/dist/phases/aggregate/findings.js.map +1 -0
- package/dist/phases/aggregate/goals.d.ts +28 -0
- package/dist/phases/aggregate/goals.d.ts.map +1 -0
- package/dist/phases/aggregate/goals.js +74 -0
- package/dist/phases/aggregate/goals.js.map +1 -0
- package/dist/phases/aggregate/index.d.ts +128 -0
- package/dist/phases/aggregate/index.d.ts.map +1 -0
- package/dist/phases/aggregate/index.js +165 -0
- package/dist/phases/aggregate/index.js.map +1 -0
- package/dist/phases/aggregate/pam.d.ts +19 -0
- package/dist/phases/aggregate/pam.d.ts.map +1 -0
- package/dist/phases/aggregate/pam.js +37 -0
- package/dist/phases/aggregate/pam.js.map +1 -0
- package/dist/phases/aggregate/scope.d.ts +24 -0
- package/dist/phases/aggregate/scope.d.ts.map +1 -0
- package/dist/phases/aggregate/scope.js +67 -0
- package/dist/phases/aggregate/scope.js.map +1 -0
- package/dist/phases/aggregate/shared.d.ts +16 -0
- package/dist/phases/aggregate/shared.d.ts.map +1 -0
- package/dist/phases/aggregate/shared.js +26 -0
- package/dist/phases/aggregate/shared.js.map +1 -0
- package/dist/phases/aggregate/stakeholders.d.ts +27 -0
- package/dist/phases/aggregate/stakeholders.d.ts.map +1 -0
- package/dist/phases/aggregate/stakeholders.js +90 -0
- package/dist/phases/aggregate/stakeholders.js.map +1 -0
- package/dist/phases/aggregate/waitingRoom.d.ts +16 -0
- package/dist/phases/aggregate/waitingRoom.d.ts.map +1 -0
- package/dist/phases/aggregate/waitingRoom.js +32 -0
- package/dist/phases/aggregate/waitingRoom.js.map +1 -0
- package/dist/phases/assumptions.d.ts +19 -0
- package/dist/phases/assumptions.d.ts.map +1 -0
- package/dist/phases/assumptions.js +224 -0
- package/dist/phases/assumptions.js.map +1 -0
- package/dist/phases/configuration.d.ts +8 -0
- package/dist/phases/configuration.d.ts.map +1 -0
- package/dist/phases/configuration.js +14 -0
- package/dist/phases/configuration.js.map +1 -0
- package/dist/phases/goals.d.ts +15 -0
- package/dist/phases/goals.d.ts.map +1 -0
- package/dist/phases/goals.js +297 -0
- package/dist/phases/goals.js.map +1 -0
- package/dist/phases/index.d.ts +21 -0
- package/dist/phases/index.d.ts.map +1 -0
- package/dist/phases/index.js +56 -0
- package/dist/phases/index.js.map +1 -0
- package/dist/phases/opening.d.ts +12 -0
- package/dist/phases/opening.d.ts.map +1 -0
- package/dist/phases/opening.js +99 -0
- package/dist/phases/opening.js.map +1 -0
- package/dist/phases/purpose.d.ts +17 -0
- package/dist/phases/purpose.d.ts.map +1 -0
- package/dist/phases/purpose.js +207 -0
- package/dist/phases/purpose.js.map +1 -0
- package/dist/phases/schema.d.ts +861 -0
- package/dist/phases/schema.d.ts.map +1 -0
- package/dist/phases/schema.js +157 -0
- package/dist/phases/schema.js.map +1 -0
- package/dist/phases/scope.d.ts +18 -0
- package/dist/phases/scope.d.ts.map +1 -0
- package/dist/phases/scope.js +440 -0
- package/dist/phases/scope.js.map +1 -0
- package/dist/phases/session/archive.d.ts +19 -0
- package/dist/phases/session/archive.d.ts.map +1 -0
- package/dist/phases/session/archive.js +49 -0
- package/dist/phases/session/archive.js.map +1 -0
- package/dist/phases/session/file.d.ts +31 -0
- package/dist/phases/session/file.d.ts.map +1 -0
- package/dist/phases/session/file.js +113 -0
- package/dist/phases/session/file.js.map +1 -0
- package/dist/phases/session/index.d.ts +8 -0
- package/dist/phases/session/index.d.ts.map +1 -0
- package/dist/phases/session/index.js +8 -0
- package/dist/phases/session/index.js.map +1 -0
- package/dist/phases/session/persistence.d.ts +30 -0
- package/dist/phases/session/persistence.d.ts.map +1 -0
- package/dist/phases/session/persistence.js +91 -0
- package/dist/phases/session/persistence.js.map +1 -0
- package/dist/phases/shared.d.ts +64 -0
- package/dist/phases/shared.d.ts.map +1 -0
- package/dist/phases/shared.js +100 -0
- package/dist/phases/shared.js.map +1 -0
- package/dist/phases/stakeholders.d.ts +17 -0
- package/dist/phases/stakeholders.d.ts.map +1 -0
- package/dist/phases/stakeholders.js +370 -0
- package/dist/phases/stakeholders.js.map +1 -0
- package/dist/phases/validation.d.ts +13 -0
- package/dist/phases/validation.d.ts.map +1 -0
- package/dist/phases/validation.js +130 -0
- package/dist/phases/validation.js.map +1 -0
- package/dist/skill/adapter.d.ts +16 -0
- package/dist/skill/adapter.d.ts.map +1 -0
- package/dist/skill/adapter.js +278 -0
- package/dist/skill/adapter.js.map +1 -0
- package/dist/skill/index.d.ts +12 -0
- package/dist/skill/index.d.ts.map +1 -0
- package/dist/skill/index.js +11 -0
- package/dist/skill/index.js.map +1 -0
- package/dist/skill/log.d.ts +18 -0
- package/dist/skill/log.d.ts.map +1 -0
- package/dist/skill/log.js +53 -0
- package/dist/skill/log.js.map +1 -0
- package/package.json +83 -0
- package/skills/elaborate/SKILL.md +97 -0
- package/skills/elaborate/scripts/elaborate.cjs +589 -0
- package/skills/project-brief/SKILL.md +45 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: project-brief
|
|
3
|
+
description: "Turn a completed session into a project brief — reads .elaborate/session.yaml, writes markdown."
|
|
4
|
+
argument-hint: "[path-to-session.yaml]"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Project Brief
|
|
8
|
+
|
|
9
|
+
Read the session file (argument). Walk `workflow.entries` in order to reconstruct the final state of each artifact — purpose, advantage, measurement, goals, stakeholders, in-scope/out-of-scope items, assumptions, findings. Later entries overwrite earlier ones for the same artifact.
|
|
10
|
+
|
|
11
|
+
## Structure
|
|
12
|
+
|
|
13
|
+
Two heading levels: `#` (title) and `##` (sections). Merge thin sections, split heavy ones. Omit empty sections.
|
|
14
|
+
|
|
15
|
+
`# Title` (from purpose, sentence case) → blockquote with the respondent's original idea verbatim (`> *"..."*`).
|
|
16
|
+
|
|
17
|
+
`##` sections covering: summary, purpose, goals, stakeholders, scope, uncertainties, session stats. Conceptual areas, not mandatory headings — name and combine to balance the document.
|
|
18
|
+
|
|
19
|
+
## Before writing
|
|
20
|
+
|
|
21
|
+
**Reconstruct purpose**: The purpose section must faithfully capture the final state of purpose, advantage, and measurement — including contradictions the respondent surfaced and revisions they requested. Trace the purpose arc: what the respondent said initially, how it evolved, and where it landed. The summary references the purpose but doesn't encode it — it's the hook, not the record.
|
|
22
|
+
|
|
23
|
+
**Identify high-impact content**: Scan the final artifact set for the 3-5 insights with the most downstream weight — direction changes, blockers, unresolved tensions that affect feasibility, moments where the respondent reversed or reframed their own thinking. These get full treatment (a sentence or a quote). Everything else stays compressed to a bullet or clause.
|
|
24
|
+
|
|
25
|
+
**Completeness check**: After drafting, verify every assumption, finding, and contradiction from the final session state appears somewhere in the brief — at minimum as a clause within a bullet. Nothing gets silently dropped. Depth varies by impact; presence does not.
|
|
26
|
+
|
|
27
|
+
## Writing rules
|
|
28
|
+
|
|
29
|
+
**Brevity**: A brief is a decision document, not a transcript. Readable in under 2 minutes. Every sentence earns its place. Allocate space proportionally to impact — an insight that reframes the project gets a sentence; a routine scope item gets a bullet.
|
|
30
|
+
|
|
31
|
+
**Summary**: 2-3 sentences — the elevator pitch. Situation (what's at stake), what the project does about it, and the single most important tension or insight. Memorable enough to repeat in conversation. Don't encode purpose here — that's what the purpose section is for.
|
|
32
|
+
|
|
33
|
+
**Purpose**: The final state of purpose, advantage, and measurement in narrative form. If the respondent reframed the project during the session, lead with the reframed version. Include the key contradictions or revisions the respondent surfaced — these are the substance of purpose evolution, not noise.
|
|
34
|
+
|
|
35
|
+
**Goals**: Numbered, **title** — one sentence. Sharpen until no two goals could be confused.
|
|
36
|
+
|
|
37
|
+
**Stakeholders**: Broadest accurate role label. One sentence per stakeholder: role + primary concern. No sub-lists, no elaboration. Flag the respondent inline.
|
|
38
|
+
|
|
39
|
+
**Scope**: Terse bullets. In-scope, out-of-scope (with reason if captured), constraints. No explanation beyond what the bullet needs to be unambiguous.
|
|
40
|
+
|
|
41
|
+
**Uncertainties**: Only items that change downstream decisions. Group: unresolved tensions, unknowns, assumptions. Resolved contradictions get one line or are skipped. Cap at 3-4 most consequential items per group.
|
|
42
|
+
|
|
43
|
+
**Session stats**: Markdown table — Metric | Value. Include: questions asked, purpose fields (how many of purpose/advantage/measurement were captured, e.g. "3/3"), goals, stakeholders, scope items (in/out), constraints, assumptions, findings.
|
|
44
|
+
|
|
45
|
+
**Voice**: Use the respondent's own words — don't upgrade vocabulary or smooth over hedging. But quotes are seasoning, not structure: one or two per section where the respondent's phrasing is sharper than any paraphrase. Add nothing beyond what the session produced. If the respondent corrected the system and the correction wasn't applied, say so.
|