@rse/ase 1.0.4 → 1.0.6

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.
@@ -4,25 +4,30 @@
4
4
  SpecBook Project Instantiation
5
5
  ==============================
6
6
 
7
- - The **SpecBook SCHEMA Model** of this project depends on
8
- the value of the <ase-spec-schema/> placeholder (holding the
9
- `project.artifact.spec.schema` configuration value):
7
+ - The **SpecBook SCHEMA Model** of this project depends on the value
8
+ of the <ase-spec-schema/> placeholder (holding the
9
+ `project.artifact.spec.schema` configuration value), which is a
10
+ *whitespace-separated list* of schema entries, merged in the given
11
+ order into *one* **SpecBook SCHEMA Model**:
10
12
 
11
13
  - If <ase-spec-schema/> is *empty*:
12
14
 
13
- Then the **SpecBook SCHEMA Model** is the standard YAML
14
- schema configuration bundled with **ASE** in the file
15
- `meta/ase-format-specbook.yaml` (relative to the plugin root),
16
- which you *MUST* read via the `Read` tool before working on the
17
- specification of the **SpecBook SPEC Model**.
15
+ Then the list is treated as the single entry `std`.
18
16
 
19
- - If <ase-spec-schema/> is *not empty*:
17
+ - For each entry `std` in the list:
20
18
 
21
- Then the **SpecBook SCHEMA Model** is the custom YAML schema
22
- configuration of the project in the file <ase-spec-schema/>
23
- (relative to the project root), which you *MUST* read via
24
- the `Read` tool before working on the specification of the
25
- **SpecBook SPEC Model**.
19
+ The entry names the standard YAML schema configuration bundled
20
+ with **ASE** in the file `meta/ase-format-specbook.yaml`
21
+ (relative to the plugin root).
22
+
23
+ - For each *other* entry in the list:
24
+
25
+ The entry names a custom YAML schema configuration file of the
26
+ project (relative to the project root).
27
+
28
+ You *MUST* read all resulting schema configuration files via the
29
+ `Read` tool before working on the specification of the **SpecBook
30
+ SPEC Model**.
26
31
 
27
32
  - The **SpecBook SPEC Model** of this project is the set of specification
28
33
  Markdown files in the directory <ase-spec-basedir/> (relative
@@ -45,7 +45,7 @@
45
45
  optional: true
46
46
  - name: THEME-STYLE
47
47
  desc: The theme style.
48
- value: enum(dark,light)
48
+ value: enum(Dark,Light)
49
49
  optional: true
50
50
  - name: THEME-TONE
51
51
  desc: The theme color tone.
@@ -190,7 +190,7 @@
190
190
  diagram:
191
191
  type: hub
192
192
  center: self
193
- nodes: "[[TERM:*]], [[PREMISE:*]], [[RULE:*]], [[DM.ENTITY:*]], [[ROLE:*]], [[PERSONA:*]]"
193
+ nodes: "[[TERM:*]], [[PREMISE:*]], [[RULE:*]], [[DM.ENTITY:*]], [[ROLE:*]], [[PERSONA:*]], [[WORKFLOW:*]], [[CONVENTION:*]], [[CV.ENTITY:*]]"
194
194
  labeled: true
195
195
  qualified: true
196
196
  config:
@@ -257,7 +257,7 @@
257
257
  diagram:
258
258
  type: hub
259
259
  center: self
260
- nodes: "[[ROLE:*]], [[TERM:*]], [[PERSONA:*]], [[ACTIVITY:*]], [[USE-CASE:*]], [[CV.ENTITY:*]]"
260
+ nodes: "[[ROLE:*]], [[TERM:*]], [[PERSONA:*]], [[WORKFLOW:*]], [[ACTIVITY:*]], [[USE-CASE:*]], [[TRANSITION:*]], [[CV.ENTITY:*]]"
261
261
  labeled: true
262
262
  qualified: true
263
263
  config:
@@ -292,8 +292,8 @@
292
292
  optional: true
293
293
  - name: GENDER
294
294
  desc: >
295
- The gender of the persona: `male`, `female`, or `diverse`.
296
- value: enum(male,female,diverse)
295
+ The gender of the persona: `Male`, `Female`, or `Diverse`.
296
+ value: enum(Male,Female,Diverse)
297
297
  optional: true
298
298
  - name: AGE
299
299
  desc: >
@@ -312,8 +312,8 @@
312
312
  optional: true
313
313
  - name: PROFICIENCY
314
314
  desc: >
315
- The technical and domain skill level of the persona: `novice`, `intermediate`, or `expert`.
316
- value: enum(novice,intermediate,expert)
315
+ The technical and domain skill level of the persona: `Novice`, `Intermediate`, or `Expert`.
316
+ value: enum(Novice,Intermediate,Expert)
317
317
  optional: true
318
318
  - name: GOAL
319
319
  desc: >
@@ -714,7 +714,7 @@
714
714
  diagram:
715
715
  type: hub
716
716
  center: self
717
- nodes: "[[USE-CASE:*]], [[ROLE:*]], [[PERSONA:*]], [[STEP:*]], [[ACTIVITY:*]], [[FR.REQUIREMENT:*]], [[RULE:*]], [[TRANSITION:*]], [[PERMISSION:*]], [[PRINCIPLE:*]], [[CV.ENTITY:*]]"
717
+ nodes: "[[USE-CASE:*]], [[ROLE:*]], [[PERSONA:*]], [[STEP:*]], [[ACTIVITY:*]], [[FR.REQUIREMENT:*]], [[RULE:*]], [[DM.ENTITY:*]], [[TRANSITION:*]], [[PERMISSION:*]], [[PRINCIPLE:*]], [[STORYBOARD:*]], [[CV.ENTITY:*]], [[TEST-CASE:*]]"
718
718
  labeled: true
719
719
  qualified: true
720
720
  config:
@@ -830,7 +830,7 @@
830
830
  diagram:
831
831
  type: hub
832
832
  center: self
833
- nodes: "[[DM.ENTITY:*]], [[FR.REQUIREMENT:*]], [[USE-CASE:*]]"
833
+ nodes: "[[DM.ENTITY:*]], [[FR.REQUIREMENT:*]], [[USE-CASE:*]], [[LIFECYCLE:*]], [[FV.COMPONENT:*]], [[CONCERN:*]], [[TACTIC:*]], [[DECISION:*]], [[TEST-CASE:*]]"
834
834
  edges: "[[RELATION:*]]"
835
835
  labeled: true
836
836
  qualified: true
@@ -894,14 +894,16 @@
894
894
  desc: >
895
895
  A named directed relation of the entity, carrying a camel-cased, 1-3 word long, per-entity unique identifier and targeting another entity, and described by a 1-sentence description ("what") plus a 1-sentence rationale ("why"). A relation carries no attributes of its own: a relation needing attributes (an "association class") is reified as an entity of its own, related from both sides.
896
896
  optional: true
897
+ format:
898
+ maxTableColumns: 5
897
899
  props:
898
900
  - name: TARGET
899
901
  desc: Reference to the DATA-MODEL entity the directed relation targets.
900
902
  value: "[[DM.ENTITY:*]]"
901
903
  - name: KIND
902
904
  desc: >
903
- The kind of the directed relation: `association` for a plain reference to an independent target entity, `aggregation` for a shared part-of relation whose target outlives the entity, or `composition` for an exclusive part-of relation whose target is owned by and deleted with the entity; defaults to `association`.
904
- value: enum(association,aggregation,composition)
905
+ The kind of the directed relation: `Association` for a plain reference to an independent target entity, `Aggregation` for a (optionally even shared) part-of relation whose target outlives the entity, or `Composition` for an exclusive part-of relation whose target is owned by and deleted with the entity; defaults to `Association`.
906
+ value: enum(Association,Aggregation,Composition)
905
907
  optional: true
906
908
  - name: ARITY
907
909
  desc: >
@@ -1109,7 +1111,7 @@
1109
1111
  diagram:
1110
1112
  type: hub
1111
1113
  center: self
1112
- nodes: "[[INTERFACE:*]], [[TYPE:*]], [[ENDPOINT:*]]"
1114
+ nodes: "[[INTERFACE:*]], [[TYPE:*]], [[ENDPOINT:*]], [[FV.COMPONENT:*]]"
1113
1115
  labeled: true
1114
1116
  qualified: true
1115
1117
  config:
@@ -1175,7 +1177,7 @@
1175
1177
  diagram:
1176
1178
  type: hub
1177
1179
  center: self
1178
- nodes: "[[TYPE:*]], [[INTERFACE:*]]"
1180
+ nodes: "[[TYPE:*]], [[INTERFACE:*]], [[ENDPOINT:*]]"
1179
1181
  deep: true
1180
1182
  labeled: true
1181
1183
  qualified: true
@@ -1442,7 +1444,7 @@
1442
1444
  diagram:
1443
1445
  type: hub
1444
1446
  center: self
1445
- nodes: "[[PRINCIPLE:*]], [[PERSONA:*]], [[STEP:*]], [[USE-CASE:*]], [[PATTERN:*]]"
1447
+ nodes: "[[PRINCIPLE:*]], [[PERSONA:*]], [[STEP:*]], [[USE-CASE:*]], [[CONVENTION:*]], [[PATTERN:*]], [[ELEMENT:*]], [[DECISION:*]]"
1446
1448
  labeled: true
1447
1449
  qualified: true
1448
1450
  config:
@@ -1554,7 +1556,7 @@
1554
1556
  diagram:
1555
1557
  type: hub
1556
1558
  center: self
1557
- nodes: "[[PATTERN:*]], [[PRINCIPLE:*]], [[STORYBOARD:*]]"
1559
+ nodes: "[[PATTERN:*]], [[PRINCIPLE:*]], [[STORYBOARD:*]], [[DECISION:*]]"
1558
1560
  deep: true
1559
1561
  labeled: true
1560
1562
  qualified: true
@@ -1620,7 +1622,7 @@
1620
1622
  diagram:
1621
1623
  type: hub
1622
1624
  center: self
1623
- nodes: "[[STORYBOARD:*]], [[PERSONA:*]], [[SCENARIO:*]], [[PATTERN:*]]"
1625
+ nodes: "[[STORYBOARD:*]], [[PERSONA:*]], [[SCENARIO:*]], [[PATTERN:*]], [[MOCKUP:*]]"
1624
1626
  deep: true
1625
1627
  labeled: true
1626
1628
  qualified: true
@@ -1867,7 +1869,7 @@
1867
1869
  diagram:
1868
1870
  type: hub
1869
1871
  center: self
1870
- nodes: "[[FV.COMPONENT:*]], [[FR.REQUIREMENT:*]], [[INTERFACE:*]], [[DM.ENTITY:*]], [[TACTIC:*]], [[DECISION:*]]"
1872
+ nodes: "[[FV.COMPONENT:*]], [[FR.REQUIREMENT:*]], [[INTERFACE:*]], [[DM.ENTITY:*]], [[UNIT:*]], [[NODE:*]], [[CONCERN:*]], [[TACTIC:*]], [[DECISION:*]]"
1871
1873
  labeled: true
1872
1874
  qualified: true
1873
1875
  properties:
@@ -1960,6 +1962,7 @@
1960
1962
  diagram:
1961
1963
  type: hub
1962
1964
  center: self
1965
+ nodes: "[[TS.TIER:*]], [[TS.TIER:*.COMPONENT:*]], [[DV.TIER:*]]"
1963
1966
  hierarchy: true
1964
1967
  properties:
1965
1968
  - PRODUCT
@@ -1975,7 +1978,7 @@
1975
1978
  diagram:
1976
1979
  type: hub
1977
1980
  center: self
1978
- nodes: "[[TS.TIER:*.COMPONENT:*]], [[FV.COMPONENT:*]], [[TACTIC:*]], [[DECISION:*]]"
1981
+ nodes: "[[TS.TIER:*.COMPONENT:*]], [[FV.COMPONENT:*]], [[CONCERN:*]], [[TACTIC:*]], [[DECISION:*]]"
1979
1982
  labeled: true
1980
1983
  qualified: true
1981
1984
  properties:
@@ -2434,7 +2437,7 @@
2434
2437
  diagram:
2435
2438
  type: hub
2436
2439
  center: self
2437
- nodes: "[[DV.TIER:*]], [[AREA:*]], [[NODE:*]], [[NETWORK:*]], [[FV.COMPONENT:*]], [[UNIT:*]], [[TACTIC:*]], [[DECISION:*]]"
2440
+ nodes: "[[DV.TIER:*]], [[AREA:*]], [[NODE:*]], [[NETWORK:*]], [[FV.COMPONENT:*]], [[UNIT:*]], [[CONCERN:*]], [[TACTIC:*]], [[DECISION:*]]"
2438
2441
  labeled: true
2439
2442
  qualified: true
2440
2443
  properties:
@@ -2642,7 +2645,7 @@
2642
2645
  diagram:
2643
2646
  type: hub
2644
2647
  center: self
2645
- nodes: "[[TACTIC:*]], [[NR.REQUIREMENT:*]], [[FV.COMPONENT:*]], [[UNIT:*]], [[ASPECT:*]], [[NODE:*]], [[DM.ENTITY:*]], [[CONCERN:*]], [[DECISION:*]], [[TS.TIER:*.COMPONENT:*]]"
2648
+ nodes: "[[TACTIC:*]], [[NR.REQUIREMENT:*]], [[FV.COMPONENT:*]], [[UNIT:*]], [[ASPECT:*]], [[NODE:*]], [[DM.ENTITY:*]], [[CONCERN:*]], [[DECISION:*]], [[TS.TIER:*.COMPONENT:*]], [[TEST-CASE:*]]"
2646
2649
  labeled: true
2647
2650
  qualified: true
2648
2651
  properties:
@@ -476,6 +476,13 @@ Template Patterns
476
476
  un-styled text <raw-title/>.
477
477
  - Set <bar/> to the `─` character repeated exactly max(0, 67 - <raw-title-len/>)
478
478
  times -- clamped to zero so an over-long title never yields a negative count.
479
+ - Pre-wrap every line of <content/> at *96 visible columns* (the box
480
+ width minus the `│ ` prefix, Markdown markup not counted), breaking
481
+ only at word boundaries and never inside an identifier, path, URL,
482
+ or quoted code: the agent tool wraps longer lines *without* the `│ `
483
+ prefix and visibly breaks the box. Indent each continuation line to
484
+ the text column of its first line (e.g. behind a key glyph, bullet,
485
+ or padded label), so gutters stay aligned.
479
486
  - Set <body/> to <content/> with all non-empty lines prefixed with
480
487
  `│ ` and all empty lines prefixed with just `│` (so no trailing
481
488
  whitespace is produced). Do *not* prefix any line twice -- the
@@ -0,0 +1,58 @@
1
+ ---
2
+ name: "ase-terse"
3
+ description: Respond tersely, leading with results and skipping preamble and narration.
4
+ keep-coding-instructions: true
5
+ force-for-plugin: false
6
+ ---
7
+
8
+ ## ASE Output Style
9
+
10
+ In your communication to the user you should:
11
+
12
+ - **Assume no shared context**:
13
+ The user has not read anything you read: no files, no tool output, no
14
+ search results. Only your messages. Assume the user has no prior context on
15
+ internal files or draft iterations.
16
+
17
+ - **Respond tersely**:
18
+ The user chose brevity over narration, so keep your responses short and
19
+ direct while doing the work just as thoroughly.
20
+
21
+ - **Lead with the result**:
22
+ Your **FIRST** sentence **MUST** state the direct answer, verdict, or status
23
+ immediately and with zero preamble (like "Let me...", "Now I'll...", etc.).
24
+
25
+ - **Cut narration, keep substance**:
26
+ Don't restate the request, the plan, or each step you took. Report outcomes,
27
+ decisions, and anything the user must act on.
28
+
29
+ - **Select formatting per output block**:
30
+ Map decisions/tradeoffs to a *table*, temporal steps to a *numbered
31
+ list*, concepts to *bulleted list* anchors, caveats/warnings/notices to a
32
+ *callout/quote* (`> **Notice:**`), previews of code edits to a *unified
33
+ diff*, and execution syntax to a *code block*.
34
+
35
+ - **Execute tools silently**:
36
+ Perform intermediate tool operations silently without narrating your intent
37
+ or planned tool calls in your messages.
38
+
39
+ - **State things plainly**:
40
+ Skip hedging boilerplate. Mention a caveat only when it changes what the
41
+ user should do next.
42
+
43
+ - **Give full detail on request**:
44
+ When the user asks for an explanation or detail, answer completely.
45
+ Conciseness never means withholding requested information.
46
+
47
+ - **Never trade correctness for brevity**:
48
+ Error reports, failing test output, security warnings, and confirmations for
49
+ destructive actions keep their full content.
50
+
51
+ - **End without closing recap**:
52
+ Avoid telling the user what you already said in the same turn.
53
+
54
+ Where these rules conflict with the default communication and formatting
55
+ guidance of the agent harness, these rules here win. But these rules never
56
+ override the ASE persona communication style, which stays in effect at all
57
+ times.
58
+
@@ -3172,12 +3172,13 @@ Generate a user-wide skill and overwrite a previous generation:
3172
3172
  The `ase-spec-activate` skill activates the know-how about the
3173
3173
  *SpecBook*-based specification (`SPEC`) of the project in the current
3174
3174
  session: it loads the *SpecBook* format contract, reads the *SpecBook*
3175
- schema configuration of the project (the standard schema bundled with
3176
- *ASE*, or the custom schema configured via `project.artifact.spec.schema`),
3177
- and resolves the list of `SPEC` artifacts in the configured specification
3178
- base directory. The activation is reported in a `SPEC ACTIVATED` box,
3179
- listing the schema file (marked `standard` or `custom`) and the base
3180
- directory with the number of resolved artifacts.
3175
+ schema configuration of the project (the schema files configured via
3176
+ `project.artifact.spec.schema`, where the entry `std` -- also the default
3177
+ -- names the standard schema bundled with *ASE*), and resolves the list
3178
+ of `SPEC` artifacts in the configured specification base directory. The
3179
+ activation is reported in a `SPEC ACTIVATED` box, listing the schema
3180
+ files (each marked `standard` or `custom`) and the base directory with
3181
+ the number of resolved artifacts.
3181
3182
 
3182
3183
  Once activated, the specification can be worked with *ad-hoc* in plain
3183
3184
  conversation for the remainder of the session: reading, querying, and
@@ -67,19 +67,21 @@ an ad-hoc change, and it *never* touches the artifact kinds `CODE`,
67
67
 
68
68
  3. **Activate Schema:**
69
69
 
70
- 1. Set <schema-file/> to the path of the **SpecBook SCHEMA Model**
71
- of the project (resolved as described in `ase-format-spec.md`)
72
- and <schema-kind/> to `standard` for the bundled schema or
73
- `custom` for a project-specific one. Do not output anything.
74
-
75
- 2. <if condition="the content of <schema-file/> was *not* already read into the current context -- neither by an earlier run of this skill nor by a dedicated specification skill">
76
- Read the **SpecBook SCHEMA Model** in <schema-file/> via the
77
- `Read` tool to learn the allowed object kinds, properties,
78
- nestings, and value constraints. Do not output anything.
70
+ 1. Set <schema-files/> to the list of file paths constituting the
71
+ **SpecBook SCHEMA Model** of the project (resolved as described
72
+ in `ase-format-spec.md`), each annotated with `standard` for the
73
+ bundled schema or `custom` for a project-specific one. Do not
74
+ output anything.
75
+
76
+ 2. <if condition="the content of a file of <schema-files/> was *not* already read into the current context -- neither by an earlier run of this skill nor by a dedicated specification skill">
77
+ Read those files of the **SpecBook SCHEMA Model** in
78
+ <schema-files/> via the `Read` tool to learn the allowed object
79
+ kinds, properties, nestings, and value constraints. Do not
80
+ output anything.
79
81
  </if>
80
82
  <else>
81
- Do *not* read <schema-file/> again -- its content is already
82
- active in the context. Do not output anything.
83
+ Do *not* read the files of <schema-files/> again -- their content
84
+ is already active in the context. Do not output anything.
83
85
  </else>
84
86
 
85
87
  4. **Activate Artifacts:**
@@ -98,7 +100,7 @@ an ad-hoc change, and it *never* touches the artifact kinds `CODE`,
98
100
  <template>
99
101
  <ase-tpl-boxed title="SPEC" subtitle="ACTIVATED">
100
102
 
101
- **SCHEMA**: `<schema-file/>` (<schema-kind/>)
103
+ **SCHEMA**: <schema-files/> (one `<file/>` (`standard`|`custom`) entry per line, aligned)
102
104
  **SPEC**: `<ase-spec-basedir/>` (<artifact-count/> artifacts)
103
105
 
104
106
  </ase-tpl-boxed>
@@ -14,12 +14,13 @@
14
14
  The `ase-spec-activate` skill activates the know-how about the
15
15
  *SpecBook*-based specification (`SPEC`) of the project in the current
16
16
  session: it loads the *SpecBook* format contract, reads the *SpecBook*
17
- schema configuration of the project (the standard schema bundled with
18
- *ASE*, or the custom schema configured via `project.artifact.spec.schema`),
19
- and resolves the list of `SPEC` artifacts in the configured specification
20
- base directory. The activation is reported in a `SPEC ACTIVATED` box,
21
- listing the schema file (marked `standard` or `custom`) and the base
22
- directory with the number of resolved artifacts.
17
+ schema configuration of the project (the schema files configured via
18
+ `project.artifact.spec.schema`, where the entry `std` -- also the default
19
+ -- names the standard schema bundled with *ASE*), and resolves the list
20
+ of `SPEC` artifacts in the configured specification base directory. The
21
+ activation is reported in a `SPEC ACTIVATED` box, listing the schema
22
+ files (each marked `standard` or `custom`) and the base directory with
23
+ the number of resolved artifacts.
23
24
 
24
25
  Once activated, the specification can be worked with *ad-hoc* in plain
25
26
  conversation for the remainder of the session: reading, querying, and