@solaqua/ghosts 0.2.2 → 0.3.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.
@@ -0,0 +1,17 @@
1
+ # Write ADR
2
+
3
+ Write a compact decision record about architecture, technology, infrastructure,
4
+ security, engineering practices, or domain design. Starts with a title and a
5
+ short paragraph; adds status, alternatives, or consequences when useful.
6
+ Works independently of a glossary.
7
+
8
+ New records default to `/tmp/write-adr-<safe-decision-slug>.md`. A supplied
9
+ destination takes precedence, and requests to revise a specific record edit
10
+ that file.
11
+
12
+ ## Credits
13
+
14
+ Shout-out to [Matt Pocock](https://github.com/mattpocock) for the ADR format in
15
+ [domain-modeling](https://github.com/mattpocock/skills/blob/main/skills/engineering/domain-modeling/ADR-FORMAT.md).
16
+ This skill adapts that format for standalone ADR writing across engineering
17
+ decisions.
@@ -0,0 +1,70 @@
1
+ ---
2
+ name: write-adr
3
+ description: Create or revise Architecture Decision Records (ADRs) that explain a decision, its context, and its rationale. Use when the user asks to document a decision about architecture, technology, infrastructure, security, engineering practices, or domain design.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Write ADR
8
+
9
+ Record a decision so a future reader can understand what was chosen and why.
10
+ ADRs can cover system structure, technology, deployment, security, engineering
11
+ practices, or domain boundaries. A glossary or domain-modeling session is not
12
+ a prerequisite.
13
+
14
+ ## Gather context
15
+
16
+ Read the relevant discussion, existing ADRs, and supporting documentation or
17
+ code. Identify the decision, the constraints that shaped it, the reason for
18
+ the choice, and any material trade-off.
19
+
20
+ Separate a proposal from an agreed decision, and an agreed decision from its
21
+ implementation. Code can show what exists; it does not establish the original
22
+ rationale. Do not invent alternatives, evidence, or agreement. Ask only when
23
+ a missing choice or reason prevents an accurate record; otherwise state
24
+ material uncertainty explicitly.
25
+
26
+ ## Write
27
+
28
+ Save a new record to the path the user supplies; otherwise use
29
+ `/tmp/write-adr-<safe-decision-slug>.md`, appending a timestamp when needed to
30
+ avoid a collision. This default applies even when the repository already has
31
+ an ADR directory. Create a repository directory only when the user specifies
32
+ it as the destination.
33
+
34
+ When the user asks to revise a specific record, edit that file. When saving a
35
+ new record to a user-specified ADR directory, follow its filename conventions;
36
+ if it uses sequential numbers, take the highest existing number plus one.
37
+ Do not renumber records or overwrite an unrelated file.
38
+
39
+ Follow an established document format when one exists. Otherwise use
40
+ [templates/adr.md](templates/adr.md). Write in the user's language. A title
41
+ and one short paragraph are sufficient when they explain:
42
+
43
+ - the situation or constraint that required a choice;
44
+ - the chosen approach and its scope;
45
+ - the reason for choosing it, including the key accepted trade-off.
46
+
47
+ Add only what helps a future reader assess the decision:
48
+
49
+ - **Status:** distinguish a proposal, an accepted decision, or a retired or
50
+ replaced record when that distinction matters. Use `proposed` for an
51
+ unsettled choice; do not mark it accepted without evidence of agreement.
52
+ - **Considered options:** explain alternatives actually considered when their
53
+ rejection is worth preserving.
54
+ - **Consequences:** state material costs, limits, or downstream effects that
55
+ the short paragraph cannot explain clearly.
56
+
57
+ Keep one decision per record. Edit an existing record for corrections or
58
+ clarifications when requested. When a new decision replaces an accepted one,
59
+ write a new ADR and link to the earlier record to make the replacement clear.
60
+ Update the earlier record only when requested. Documenting a decision does
61
+ not implement it or establish that implementation is complete.
62
+
63
+ ## Verify and deliver
64
+
65
+ Reread the record without the preceding conversation. Check that the choice,
66
+ scope, rationale, and decision state are understandable, claims match the
67
+ available evidence, and referenced files or records exist.
68
+
69
+ Report the file path, the recorded decision, and any open questions or
70
+ proposal status.
@@ -0,0 +1,4 @@
1
+ # <Decision title>
2
+
3
+ <In one to three sentences, explain the situation, the chosen approach, and
4
+ the reason for the choice, including the key accepted trade-off.>
@@ -0,0 +1,14 @@
1
+ # Write Glossary
2
+
3
+ Create or update a project's vocabulary with short definitions, canonical
4
+ terms, and names to avoid. Respects existing document formats.
5
+
6
+ New glossaries default to `/tmp/write-glossary-<safe-project-slug>.md`. A
7
+ supplied destination takes precedence, and requests to revise a specific
8
+ glossary edit that file.
9
+
10
+ ## Credits
11
+
12
+ Shout-out to [Matt Pocock](https://github.com/mattpocock) for the glossary format
13
+ in [domain-modeling](https://github.com/mattpocock/skills/blob/main/skills/engineering/domain-modeling/GLOSSARY-FORMAT.md).
14
+ This skill adapts that format for standalone glossary writing.
@@ -0,0 +1,60 @@
1
+ ---
2
+ name: write-glossary
3
+ description: Create or update a project's GLOSSARY.md with precise definitions and canonical terminology. Use when the user asks to write a glossary, document project vocabulary, or revise existing definitions.
4
+ disable-model-invocation: true
5
+ ---
6
+
7
+ # Write Glossary
8
+
9
+ Write a glossary that gives the project a shared vocabulary. Capture the
10
+ meaning of terms; keep implementation choices and decision rationale in
11
+ their own documents.
12
+
13
+ ## Gather context
14
+
15
+ Read the relevant discussion, documentation, and existing glossary. Inspect
16
+ code when it helps establish how a term is currently used. Distinguish current
17
+ usage from an intended definition; surface material contradictions instead of
18
+ silently treating either as authoritative.
19
+
20
+ Choose a canonical term for each concept. If a word names several concepts,
21
+ separate their definitions and make their scope clear. Ask only when the
22
+ available context cannot resolve a distinction that changes the meaning.
23
+ Do not invent agreement or turn unresolved terminology into a settled entry.
24
+
25
+ ## Write
26
+
27
+ Save a new glossary to the path the user supplies; otherwise use
28
+ `/tmp/write-glossary-<safe-project-slug>.md`, appending a timestamp when needed
29
+ to avoid a collision. This default applies even when the repository already
30
+ has a glossary. When the user asks to revise a specific glossary, edit that
31
+ file. Create a repository directory only when the user specifies it as the
32
+ destination. Write once there is a resolved term to record. A single glossary
33
+ can group terms by area and qualify names whose meaning varies by area.
34
+
35
+ Follow an established document format when one exists. Otherwise use
36
+ [templates/glossary.md](templates/glossary.md). Write in the user's language
37
+ and preserve canonical names used by the project.
38
+
39
+ - Keep each definition to one or two sentences explaining the concept and
40
+ the boundary that distinguishes it from nearby concepts.
41
+ - Include vocabulary with a specific meaning in this project. Omit generic
42
+ programming definitions unless the project gives them a distinct meaning.
43
+ - List competing names under `_Avoid_` when they refer to the same concept or
44
+ would mislead readers. Omit the line when there are none.
45
+ - Group entries only when it helps readers find or distinguish terms.
46
+ - Keep schemas, algorithms, storage choices, and decision histories out of
47
+ glossary entries. Include conceptual relationships only when they clarify
48
+ the definition.
49
+
50
+ Update the relevant entries without rewriting unrelated content. This skill
51
+ produces the glossary; it does not rename code or create decision records.
52
+
53
+ ## Verify and deliver
54
+
55
+ Reread the definitions without the preceding conversation. Check that each
56
+ term has a clear meaning within its stated scope, nearby concepts remain
57
+ distinct, and no entry presents an unresolved assumption as fact.
58
+
59
+ Report the file path, the vocabulary added or changed, and any unresolved
60
+ definitions left out.
@@ -0,0 +1,9 @@
1
+ # <Project or area name>
2
+
3
+ <One or two sentences describing the scope of this vocabulary.>
4
+
5
+ ## Language
6
+
7
+ **<Canonical term>**:
8
+ <One or two sentences defining the concept and its distinguishing boundary.>
9
+ _Avoid_: <Competing or misleading names; omit this line when none apply.>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solaqua/ghosts",
3
- "version": "0.2.2",
3
+ "version": "0.3.0",
4
4
  "description": "Reusable agent skills and reviewers.",
5
5
  "license": "MIT",
6
6
  "repository": {