@tacuchi/agent-workflow-cli 20.25.0 → 21.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/README.md +1 -1
- package/dist/adapters/node-file-system.js +3 -0
- package/dist/adapters/node-file-system.js.map +1 -1
- package/dist/application/design/design-gate-service.js +246 -0
- package/dist/application/design/design-gate-service.js.map +1 -0
- package/dist/application/design/design-graph-service.js +85 -0
- package/dist/application/design/design-graph-service.js.map +1 -0
- package/dist/application/design/design-index-service.js +132 -0
- package/dist/application/design/design-index-service.js.map +1 -0
- package/dist/application/design/design-publish-service.js +488 -0
- package/dist/application/design/design-publish-service.js.map +1 -0
- package/dist/application/design/design-resolver-service.js +165 -0
- package/dist/application/design/design-resolver-service.js.map +1 -0
- package/dist/application/resume-service.js +23 -4
- package/dist/application/resume-service.js.map +1 -1
- package/dist/application/self/install-skill.js +25 -8
- package/dist/application/self/install-skill.js.map +1 -1
- package/dist/application/semantic-operation/protocol.js +18 -12
- package/dist/application/semantic-operation/protocol.js.map +1 -1
- package/dist/application/semantic-operation/publish.js +56 -9
- package/dist/application/semantic-operation/publish.js.map +1 -1
- package/dist/application/skills-resolver-service.js +19 -4
- package/dist/application/skills-resolver-service.js.map +1 -1
- package/dist/application/status-service.js +1 -0
- package/dist/application/status-service.js.map +1 -1
- package/dist/application/workline-index-service.js +6 -0
- package/dist/application/workline-index-service.js.map +1 -1
- package/dist/application/workspace-init-service.js +9 -1
- package/dist/application/workspace-init-service.js.map +1 -1
- package/dist/cli/commands/designs.js +110 -0
- package/dist/cli/commands/designs.js.map +1 -0
- package/dist/cli/commands/index.js +2 -0
- package/dist/cli/commands/index.js.map +1 -1
- package/dist/cli/commands/resume.js +8 -0
- package/dist/cli/commands/resume.js.map +1 -1
- package/dist/cli/commands/status.js +45 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/help-groups.js +3 -0
- package/dist/cli/help-groups.js.map +1 -1
- package/dist/cli/parser.js +1 -0
- package/dist/cli/parser.js.map +1 -1
- package/dist/domain/design/artifact-body.js +223 -0
- package/dist/domain/design/artifact-body.js.map +1 -0
- package/dist/domain/design/artifact.js +606 -0
- package/dist/domain/design/artifact.js.map +1 -0
- package/dist/domain/design/baseline.js +359 -0
- package/dist/domain/design/baseline.js.map +1 -0
- package/dist/domain/design/capability.js +51 -0
- package/dist/domain/design/capability.js.map +1 -0
- package/dist/domain/design/closure.js +161 -0
- package/dist/domain/design/closure.js.map +1 -0
- package/dist/domain/design/governance.js +298 -0
- package/dist/domain/design/governance.js.map +1 -0
- package/dist/domain/design/identity.js +145 -0
- package/dist/domain/design/identity.js.map +1 -0
- package/dist/domain/design/manifest.js +552 -0
- package/dist/domain/design/manifest.js.map +1 -0
- package/dist/domain/design/maturity.js +234 -0
- package/dist/domain/design/maturity.js.map +1 -0
- package/dist/domain/design/naming.js +117 -0
- package/dist/domain/design/naming.js.map +1 -0
- package/dist/domain/design/projections.js +165 -0
- package/dist/domain/design/projections.js.map +1 -0
- package/dist/domain/design/reference.js +234 -0
- package/dist/domain/design/reference.js.map +1 -0
- package/dist/domain/design/retired.js +61 -0
- package/dist/domain/design/retired.js.map +1 -0
- package/dist/domain/design/revision.js +219 -0
- package/dist/domain/design/revision.js.map +1 -0
- package/dist/domain/design/secrets.js +86 -0
- package/dist/domain/design/secrets.js.map +1 -0
- package/dist/domain/design/validation.js +75 -0
- package/dist/domain/design/validation.js.map +1 -0
- package/dist/domain/design/yaml-subset.js +390 -0
- package/dist/domain/design/yaml-subset.js.map +1 -0
- package/dist/domain/safe-path.js +23 -0
- package/dist/domain/safe-path.js.map +1 -0
- package/dist/domain/skills.js +27 -3
- package/dist/domain/skills.js.map +1 -1
- package/package.json +1 -1
- package/skills/w/SKILL.md +13 -11
- package/skills/w/artifacts/README.md +3 -4
- package/skills/w/artifacts/artifacts-core/CHECKPOINT.md +2 -2
- package/skills/w/commands/README.md +2 -0
- package/skills/w/commands/export-diagrams.md +1 -1
- package/skills/w/commands/export-manuals.md +1 -1
- package/skills/w/commands/export-reports.md +1 -1
- package/skills/w/commands/export-scripts.md +1 -1
- package/skills/w/commands/fix-git.md +1 -1
- package/skills/w/commands/generate-launch.md +2 -2
- package/skills/w/commands/persist.md +2 -2
- package/skills/w/commands/plan-exec.md +13 -7
- package/skills/w/commands/plan-new.md +8 -4
- package/skills/w/commands/plan-refine.md +8 -5
- package/skills/w/commands/quick.md +4 -4
- package/skills/w/commands/resume.md +2 -2
- package/skills/w/commands/spec-new.md +4 -4
- package/skills/w/commands/spec-refine.md +3 -2
- package/skills/w/commands/status.md +1 -1
- package/skills/w/commands/workspace-init.md +1 -1
- package/skills/w/context/MANIFEST.json +19 -8
- package/skills/w/harness/HARNESS.md +14 -10
- package/skills/w/loops/CHASSIS.md +9 -8
- package/skills/w/loops/CODE-POLICIES.md +22 -7
- package/skills/w/loops/README.md +1 -1
- package/skills/w/loops/plan-exec-loop/LOOP.md +127 -61
- package/skills/w/loops/plan-new-loop/LOOP.md +66 -70
- package/skills/w/loops/plan-refine-loop/LOOP.md +15 -7
- package/skills/w/loops/spec-refine-loop/LOOP.md +14 -12
- package/skills/w/modules/DESIGN-REFERENCES.md +109 -0
- package/skills/w/modules/PERSIST-ROUTING.md +1 -0
- package/skills/w/modules/PLAN-EXECUTION-BATCHES.md +84 -0
- package/skills/w/roles/README.md +7 -5
- package/skills/w/roles/design/ROLE.md +217 -0
- package/skills/w/schemas/design/design-baseline.v1.schema.json +71 -0
- package/skills/w/schemas/design/design-manifest.v1.schema.json +322 -0
- package/skills/w/schemas/design/design-review.v1.schema.json +72 -0
- package/skills/w/schemas/design/design-revocation.v1.schema.json +54 -0
- package/skills/w/schemas/design/ui-flow.v1.schema.json +211 -0
- package/skills/w/schemas/design/ui-screen.v1.schema.json +214 -0
- package/skills/w/artifacts/artifacts-design/SPEC.md +0 -42
- package/skills/w/modules/PLAN-DESIGN-SPECS.md +0 -12
- package/skills/w/modules/PLAN-REFINE-DESIGN-SPECS.md +0 -7
- package/skills/w/roles/ui-spec/ROLE.md +0 -147
|
@@ -1,147 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: ui-spec
|
|
3
|
-
description: >-
|
|
4
|
-
UI spec authoring — built-in default for the `ui-design` capability. Given a UI
|
|
5
|
-
requirement, author a structured, framework-agnostic screen specification as
|
|
6
|
-
**Markdown** (single output format). Knows the conceptual screen structure, the
|
|
7
|
-
kind/region vocabulary, the authoring rules, design-system / theme / variant
|
|
8
|
-
handling, and the exact Markdown render format. Two landing zones, same render:
|
|
9
|
-
in SPEC (`spec-refine-loop`) it authors the `## UI spec` section of the spec doc;
|
|
10
|
-
in PLAN (`plan-new-loop`/`plan-refine-loop`) it authors per-screen **design
|
|
11
|
-
SPECs** (`NNN-SPEC-<SLUG>.md`) as session artifacts. Use when a loop is refining
|
|
12
|
-
a spec or building/refining a plan that involves screens, forms, dashboards,
|
|
13
|
-
modals or any UI surface.
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
# ui-spec — UI spec authoring
|
|
17
|
-
|
|
18
|
-
## Role
|
|
19
|
-
|
|
20
|
-
`ui-design` — this is its **built-in default implementation**. Rebindable in `.workflow/skills.toml` to a third-party skill (installed via skills.sh) or `off`. Resolution: built-in default → `~/.workflow/skills.toml` (global) → `.workflow/skills.toml` (workspace).
|
|
21
|
-
|
|
22
|
-
## Purpose
|
|
23
|
-
|
|
24
|
-
Given a UI requirement, author a **structured Markdown description** of the screens and their components — descriptive (what exists and what for) and structured (regions → components, consistent vocabulary), framework-agnostic. The AI authors it **natively**, guided by this skill; there is no endpoint to call. **Single output format: Markdown** (no parallel JSON representation).
|
|
25
|
-
|
|
26
|
-
## Composed by
|
|
27
|
-
|
|
28
|
-
Two levels, same capability:
|
|
29
|
-
|
|
30
|
-
- **`spec-refine-loop`** (see `../../loops/spec-refine-loop/LOOP.md`) — resolving the **UI unspecified** gap (when the requirement involves UI): authors the spec's `## UI spec` section (the UI's *what*, coarse-grain screens).
|
|
31
|
-
- **`plan-new-loop` · `plan-refine-loop`** (see `../../modules/PLAN-DESIGN-SPECS.md`, the plan loops' `ui` module) — resolving the **UI without design SPEC** gap (when the **plan includes UI**): authors per-screen **design SPECs** (`NNN-SPEC-<SLUG>.md`) as **PLAN session artifacts** (see `../../artifacts/artifacts-design/SPEC.md`); they derive from `## UI spec` when it exists.
|
|
32
|
-
|
|
33
|
-
In both, the composing loop contributes:
|
|
34
|
-
|
|
35
|
-
- **Asking the human** (design system, theme, screen ambiguities) via *structured-choice* (canonical rule: `../../loops/CHASSIS.md` § *Structured-choice*; per-harness binding: `../../harness/HARNESS.md`).
|
|
36
|
-
- **Gap-driven iteration** until convergence.
|
|
37
|
-
- Offering **variants** and **curating** the result.
|
|
38
|
-
|
|
39
|
-
Any loop could compose it; the primary cases are SPEC and PLAN. In SPEC the description lands as a section of the spec document (`docs/specs/NNN-spec-<slug>.md`) — the spec remains a document (invariant 3). In PLAN it lands as **design SPECs** (session artifacts) — which are **not** the requirement-spec: they are the per-screen design detail, process-facing.
|
|
40
|
-
|
|
41
|
-
## Knowledge
|
|
42
|
-
|
|
43
|
-
### Conceptual structure (universal, recursive)
|
|
44
|
-
|
|
45
|
-
A **screen** has: `name`, `type` (semantic purpose: auth, dashboard, form, list, detail, error, …), `platform` (web by default, mobile, …), optional `description`, and **either regions** (complex screen) **or** direct **components** (simple screen) — **never both**.
|
|
46
|
-
|
|
47
|
-
- A **region** groups components and has a `type`.
|
|
48
|
-
- A **component** has a `kind`, and optionally `role`, `label` and `children` (nestable, recursive).
|
|
49
|
-
|
|
50
|
-
It is a conceptual model to guide authoring; **it is never serialized to JSON** — the only output is the Markdown render (see Output).
|
|
51
|
-
|
|
52
|
-
- `type` (region) ∈ `header · main · footer · sidebar · filters · summary`
|
|
53
|
-
- `kind` (component) by category:
|
|
54
|
-
- **Containers**: `card · panel · modal`
|
|
55
|
-
- **Data**: `table · list · grid`
|
|
56
|
-
- **Visualization**: `chart · metric · badge · image`
|
|
57
|
-
- **Input**: `textInput · select · checkbox · datePicker · toggle`
|
|
58
|
-
- **Actions**: `button · link · actionGroup`
|
|
59
|
-
- **Navigation**: `navBar · tabs · breadcrumb`
|
|
60
|
-
- **Feedback**: `alert · progress`
|
|
61
|
-
|
|
62
|
-
### Rules
|
|
63
|
-
|
|
64
|
-
1. **Concise** — only the essential. No filler, no speculative components.
|
|
65
|
-
2. Simple screen (login, password recovery, error) → direct `components`, **no** `regions`.
|
|
66
|
-
3. Complex screen (dashboard, CRUD maintenance) → `regions` to organize.
|
|
67
|
-
4. `role` is **optional** — only when it adds clarity (`role:"logo"`, `role:"primary"`).
|
|
68
|
-
5. Limits: **≤100 components**, **≤5 nesting levels**.
|
|
69
|
-
6. One screen per `#` block; a multi-screen requirement lists them one after another (each with its own `#`).
|
|
70
|
-
|
|
71
|
-
### Design options (the loop asks the human)
|
|
72
|
-
|
|
73
|
-
These options **guide content/labels**; the screen structure is design-system **agnostic** and does NOT carry them in the model. They are **annotated in the spec** (section header):
|
|
74
|
-
|
|
75
|
-
- **Design system**: `material3 · bootstrap5 · tailwind3 · antDesign · chakraUI · custom`.
|
|
76
|
-
- **Theme**: `light · dark · auto`.
|
|
77
|
-
- **Language**: `es · en · …` (affects the `label`s — user-facing content follows the user's language).
|
|
78
|
-
- **Density** (optional): `compact · comfortable · spacious`.
|
|
79
|
-
- **maxWidth** (optional): pixels, 320–3840 (layout annotation).
|
|
80
|
-
|
|
81
|
-
### Variants
|
|
82
|
-
|
|
83
|
-
When the requirement admits more than one reasonable layout (e.g. table vs. card grid; tabs vs. accordion), offer **2-3 variants** as alternative Markdown screens and ask the human to pick. The chosen variant is curated and stays; discarded ones are not persisted.
|
|
84
|
-
|
|
85
|
-
### Disambiguation
|
|
86
|
-
|
|
87
|
-
Before authoring, resolve ambiguities via *structured-choice* (the loop triggers it):
|
|
88
|
-
|
|
89
|
-
- Simple or complex screen (does it need `regions`?).
|
|
90
|
-
- Which primary/secondary actions exist.
|
|
91
|
-
- What data it shows (table, metrics, both).
|
|
92
|
-
- Whether there are states (loading, empty, error) the spec must enumerate.
|
|
93
|
-
|
|
94
|
-
If the human does not answer, assume the simplest case coherent with the description and note the assumption.
|
|
95
|
-
|
|
96
|
-
### Examples (few-shot; labels in the user's language)
|
|
97
|
-
|
|
98
|
-
**Simple (no regions)** — `Recuperar Contraseña` (auth, web):
|
|
99
|
-
|
|
100
|
-
```markdown
|
|
101
|
-
# Recuperar Contraseña
|
|
102
|
-
**Tipo**: auth | **Plataforma**: web
|
|
103
|
-
|
|
104
|
-
## Componentes
|
|
105
|
-
- **logo** (image)
|
|
106
|
-
- **Correo electrónico** (textInput)
|
|
107
|
-
- **Enviar enlace** (button)
|
|
108
|
-
- **Volver al login** (link)
|
|
109
|
-
```
|
|
110
|
-
|
|
111
|
-
**Complex (with regions)** — "Dashboard" (web):
|
|
112
|
-
|
|
113
|
-
```markdown
|
|
114
|
-
# Dashboard
|
|
115
|
-
**Tipo**: dashboard | **Plataforma**: web
|
|
116
|
-
|
|
117
|
-
## Summary
|
|
118
|
-
- **Total** (metric)
|
|
119
|
-
- **Pendientes** (metric)
|
|
120
|
-
|
|
121
|
-
## Main
|
|
122
|
-
- **Registros** (table)
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
## Output — two landing zones, one format (Markdown)
|
|
126
|
-
|
|
127
|
-
**Single output format: Markdown.** The loop writes it (never this skill on its own). The **render is identical** at both levels; what changes is where it lands, per the composing loop:
|
|
128
|
-
|
|
129
|
-
| Composing loop | Lands in | Grain |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| `spec-refine-loop` | the spec's `## UI spec` section (`docs/specs/NNN-spec-<slug>.md`) — document, in place | all the requirement's screens, coarse grain |
|
|
132
|
-
| `plan-new-loop` · `plan-refine-loop` | **design SPECs** `NNN-SPEC-<SLUG>.md` — artifacts in the **PLAN session** (one **per screen**, with a trace header; see `../../artifacts/artifacts-design/SPEC.md`) | one screen per file, executable detail |
|
|
133
|
-
|
|
134
|
-
Head the section (or the SPEC's trace header) with the chosen design options (design system, theme, language) in one line. Then the Markdown render, with these exact rules:
|
|
135
|
-
|
|
136
|
-
- `# {name}`
|
|
137
|
-
- `**Tipo**: {type} | **Plataforma**: {platform}`
|
|
138
|
-
- `description` as a separate paragraph (only if present).
|
|
139
|
-
- With regions: one `## {Capitalized type}` per region (capitalize the `type`'s first letter).
|
|
140
|
-
- Without regions: a single `## Componentes`.
|
|
141
|
-
- Each component: `- **{label || role || kind}**`, followed by ` ({kind})` **only if** there was a `label` or `role`.
|
|
142
|
-
- `children` indented **2 spaces per level**.
|
|
143
|
-
- Multiple screens are listed one after another (each with its own `#`).
|
|
144
|
-
|
|
145
|
-
## Source
|
|
146
|
-
|
|
147
|
-
Rationale and history: design (`docs/referencias/workflow-roles/ui-spec.md`).
|