gentle-pi 0.6.1 → 0.8.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 +10 -1
- package/assets/agents/sdd-apply.md +14 -3
- package/assets/agents/sdd-archive.md +11 -3
- package/assets/agents/sdd-design.md +11 -3
- package/assets/agents/sdd-explore.md +12 -4
- package/assets/agents/sdd-init.md +11 -3
- package/assets/agents/sdd-onboard.md +11 -3
- package/assets/agents/sdd-proposal.md +12 -4
- package/assets/agents/sdd-spec.md +11 -3
- package/assets/agents/sdd-status.md +6 -3
- package/assets/agents/sdd-sync.md +11 -3
- package/assets/agents/sdd-tasks.md +11 -3
- package/assets/agents/sdd-verify.md +12 -3
- package/assets/orchestrator.md +24 -4
- package/docs/skill-style-guide.md +116 -0
- package/package.json +2 -1
- package/prompts/skill-creation.md +20 -0
- package/scripts/verify-package-files.mjs +4 -0
- package/skills/judgment-day/SKILL.md +2 -2
- package/skills/skill-creator/SKILL.md +86 -0
- package/skills/skill-improver/SKILL.md +53 -0
package/README.md
CHANGED
|
@@ -55,6 +55,7 @@ Most coding-agent sessions fail for operational reasons, not model reasons:
|
|
|
55
55
|
| **Reviewer protection** | Surfaces review workload risk before a task turns into an oversized PR. |
|
|
56
56
|
| **Per-agent model assignment** | Pi-native modal for assigning stronger or cheaper models to specific SDD/custom agents. |
|
|
57
57
|
| **Skill discovery registry** | Maintains `.atl/skill-registry.md` from project and user skills so review/comment/PR workflows do not silently miss the right skill. |
|
|
58
|
+
| **Skill creation workflow** | Provides the `skill-creator`/`skill-improver` skills, `/skill-creation` prompt, and packaged style guide for LLM-first skills. |
|
|
58
59
|
| **Delivery skills** | Includes issue-first PRs, chained PRs, work-unit commits, cognitive docs, comment writing, and Judgment Day review. |
|
|
59
60
|
| **Runtime safety** | Blocks destructive shell commands, asks for confirmation for sensitive operations, and blocks direct read/write/edit access to sensitive paths. |
|
|
60
61
|
|
|
@@ -299,6 +300,10 @@ Behavior:
|
|
|
299
300
|
|
|
300
301
|
Skill discovery is a guardrail, not a workflow router: it helps Pi load the right skill without forcing extra ceremony.
|
|
301
302
|
|
|
303
|
+
`gentle-pi` also ships package-owned `skill-creator` and `skill-improver` skills plus the `/skill-creation` prompt for creating or updating project skills. Both skills use `docs/skill-style-guide.md` as their normative style contract. The workflow checks for duplicates, keeps `SKILL.md` concise, uses one-line trigger-rich frontmatter, and reminds maintainers to refresh the registry after skill changes.
|
|
304
|
+
|
|
305
|
+
Packaged skills include `cognitive-doc-design`, `comment-writer`, `judgment-day`, `skill-creator`, `skill-improver`, and the other delivery/review skills under `skills/`. SDD init is installed as the packaged `sdd-init` runtime agent under `assets/agents/` and refreshed with the SDD assets.
|
|
306
|
+
|
|
302
307
|
Delegation contract:
|
|
303
308
|
|
|
304
309
|
- parent/orchestrator resolves project/user skills from the registry and passes matching paths under `## Skills to load before work`;
|
|
@@ -395,6 +400,7 @@ Legacy string entries are still accepted and treated as `model`-only config.
|
|
|
395
400
|
| `/gentle-ai:install-sdd` | Repairs missing global SDD runtime assets without overwriting files. |
|
|
396
401
|
| `/gentle-ai:install-sdd --force` | Force-refreshes installed global SDD assets. |
|
|
397
402
|
| `/skill-registry:refresh` | Regenerates `.atl/skill-registry.md`. |
|
|
403
|
+
| `/skill-creation` | Creates or updates an LLM-first skill using the packaged `skill-creator` contract and style guide. |
|
|
398
404
|
|
|
399
405
|
Package-owned global SDD runtime assets are also refreshed automatically on session start when `gentle-pi` changes. Project-local `.pi/agents` and `.pi/chains` remain manual overrides and are never overwritten by startup refresh.
|
|
400
406
|
|
|
@@ -431,6 +437,8 @@ Compatibility aliases:
|
|
|
431
437
|
- `cognitive-doc-design` — documentation that reduces cognitive load.
|
|
432
438
|
- `comment-writer` — concise, warm, postable collaboration comments.
|
|
433
439
|
- `issue-creation` — issue workflow with checks before creation.
|
|
440
|
+
- `skill-creator` — create LLM-first skills with valid frontmatter.
|
|
441
|
+
- `skill-improver` — audit and upgrade existing LLM-first skills.
|
|
434
442
|
|
|
435
443
|
## Memory
|
|
436
444
|
|
|
@@ -464,7 +472,8 @@ Memory contract for SDD delegation:
|
|
|
464
472
|
| `assets/chains/` | SDD chains installed as global Pi runtime assets. |
|
|
465
473
|
| `assets/support/` | Strict TDD support docs for apply/verify phases. |
|
|
466
474
|
| `skills/` | Gentle AI delivery and collaboration skills. |
|
|
467
|
-
| `prompts/` | Gentle-prefixed prompt templates
|
|
475
|
+
| `prompts/` | Gentle-prefixed prompt templates, including `/skill-creation`. |
|
|
476
|
+
| `docs/skill-style-guide.md` | Normative style guide used by the packaged skill creation/improvement skills. |
|
|
468
477
|
|
|
469
478
|
## Development
|
|
470
479
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-apply
|
|
3
3
|
description: Implement SDD tasks with strict TDD evidence and review workload guard.
|
|
4
|
-
tools: read, grep, glob, edit, write, bash
|
|
4
|
+
tools: read, grep, glob, edit, write, bash, mem_search, mem_get_observation, mem_save, mem_update
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD apply executor for Gentle AI.
|
|
@@ -14,10 +14,21 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
14
14
|
|
|
15
15
|
## Memory Contract
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
20
|
+
- Tasks (required): `sdd/{change}/tasks`
|
|
21
|
+
- Spec (required): `sdd/{change}/spec`
|
|
22
|
+
- Design (required): `sdd/{change}/design`
|
|
23
|
+
- Previous apply-progress (if it exists): `sdd/{change}/apply-progress` — read and MERGE with your new progress; do NOT overwrite.
|
|
20
24
|
|
|
25
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
26
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/apply-progress"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
27
|
+
- Also update the tasks artifact checkboxes via `mem_update` (`engram`/`both`) or file edit (`openspec`).
|
|
28
|
+
- `openspec`: write/update the apply-progress and tasks files under `openspec/changes/{change}/`.
|
|
29
|
+
- `none`: return progress inline.
|
|
30
|
+
|
|
31
|
+
Never claim persistence you did not perform.
|
|
21
32
|
|
|
22
33
|
## Status and Action Context Guard
|
|
23
34
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-archive
|
|
3
3
|
description: Archive a verified SDD change into OpenSpec source specs.
|
|
4
|
-
tools: read, grep, glob, write, edit, bash
|
|
4
|
+
tools: read, grep, glob, write, edit, bash, mem_search, mem_get_observation, mem_save
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD archive executor for Gentle AI.
|
|
@@ -14,9 +14,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
14
14
|
|
|
15
15
|
## Memory Contract
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the files under `openspec/changes/{change}/`):
|
|
20
|
+
- All change artifacts: `sdd/{change}/proposal`, `sdd/{change}/spec`, `sdd/{change}/design`, `sdd/{change}/tasks`, `sdd/{change}/apply-progress`, `sdd/{change}/verify-report`, and `sdd/{change}/sync-report` if present.
|
|
21
|
+
|
|
22
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
23
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/archive-report"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
24
|
+
- `openspec`: write the archive report and perform the file moves described in the sections below.
|
|
25
|
+
- `none`: return the archive report inline.
|
|
26
|
+
|
|
27
|
+
Never claim persistence you did not perform.
|
|
20
28
|
|
|
21
29
|
## Purpose
|
|
22
30
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-design
|
|
3
3
|
description: Design the technical approach for an SDD change.
|
|
4
|
-
tools: read, grep, glob, write, edit
|
|
4
|
+
tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD design executor for Gentle AI.
|
|
@@ -19,6 +19,14 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
19
19
|
- Return the SDD result contract.
|
|
20
20
|
## Memory Contract
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
25
|
+
- Proposal (required): `sdd/{change}/proposal`
|
|
26
|
+
|
|
27
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
28
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/design"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
29
|
+
- `openspec`: write/update `openspec/changes/{change}/design.md`.
|
|
30
|
+
- `none`: return the design inline.
|
|
31
|
+
|
|
32
|
+
Never claim persistence you did not perform.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-explore
|
|
3
3
|
description: Explore an SDD change idea before proposal.
|
|
4
|
-
tools: read, grep, glob, webfetch
|
|
4
|
+
tools: read, grep, glob, webfetch, mem_save
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD explore executor for Gentle AI.
|
|
@@ -14,11 +14,19 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
14
14
|
|
|
15
15
|
- Read OpenSpec/project context before conclusions.
|
|
16
16
|
- Produce exploration notes only; do not implement.
|
|
17
|
-
-
|
|
17
|
+
- Persist the exploration to the active backend per the Memory Contract above; use session context truthfully and never claim persistence you did not perform.
|
|
18
18
|
- Do NOT launch child subagents. Parent/orchestrator owns delegation.
|
|
19
19
|
- Keep output concise and return the SDD result contract.
|
|
20
20
|
## Memory Contract
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Read any input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
25
|
+
- None — exploration has no upstream artifacts. If iterating on a prior exploration, read `sdd/{change}/explore`.
|
|
26
|
+
|
|
27
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
28
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/explore"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
29
|
+
- `openspec`: write the exploration file under `openspec/changes/{change}/`.
|
|
30
|
+
- `none`: return the exploration inline.
|
|
31
|
+
|
|
32
|
+
Never claim persistence you did not perform.
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: sdd-init
|
|
3
3
|
description: Initialize project SDD context, testing capabilities, and skill registry.
|
|
4
4
|
model: openai-codex/gpt-5.3-codex
|
|
5
|
-
tools: read, grep, glob, write, bash
|
|
5
|
+
tools: read, grep, glob, write, bash, mem_search, mem_get_observation, mem_save, mem_update
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
You are the SDD init executor for Gentle AI.
|
|
@@ -21,6 +21,14 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
21
21
|
- Return the standard phase envelope with status, executive_summary, artifacts, next_recommended, risks, and skill_resolution.
|
|
22
22
|
## Memory Contract
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
Read any existing project context directly from the active backend before bootstrapping; do not wait for the parent to inline it. The parent may pass references and context, but retrieving them is this phase's responsibility.
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/`):
|
|
27
|
+
- Existing project context (if re-initializing): `sdd-init/{project}`
|
|
28
|
+
|
|
29
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
30
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd-init/{project}"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
31
|
+
- `openspec`: write the project context file under `openspec/`.
|
|
32
|
+
- `none`: return the project context inline.
|
|
33
|
+
|
|
34
|
+
Never claim persistence you did not perform.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-onboard
|
|
3
3
|
description: Guide a user through a complete SDD cycle on a small real project change.
|
|
4
|
-
tools: read, grep, glob, write, edit, bash
|
|
4
|
+
tools: read, grep, glob, write, edit, bash, mem_search, mem_get_observation, mem_save, mem_update
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD onboard executor for Gentle AI.
|
|
@@ -20,6 +20,14 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
20
20
|
- Return the standard phase envelope with status, executive_summary, artifacts, next_recommended, risks, and skill_resolution.
|
|
21
21
|
## Memory Contract
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
This is a guided walkthrough. For each phase you demonstrate, read that phase's input artifacts directly from the active backend (do not wait for the parent to inline them) and persist the artifact you produce, using the same topic-key scheme as the real phases.
|
|
24
24
|
|
|
25
|
-
|
|
25
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
26
|
+
- Whichever upstream artifacts the demonstrated step requires, named `sdd/{change}/<phase>` (e.g. `sdd/{change}/proposal`, `sdd/{change}/spec`).
|
|
27
|
+
|
|
28
|
+
Persist each demonstrated artifact to the active backend before moving on (mandatory):
|
|
29
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/<phase>"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
30
|
+
- `openspec`: write/update the corresponding file under `openspec/changes/{change}/`.
|
|
31
|
+
- `none`: walk through the artifacts inline.
|
|
32
|
+
|
|
33
|
+
Never claim persistence you did not perform.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-proposal
|
|
3
3
|
description: Write an SDD proposal for an approved change idea.
|
|
4
|
-
tools: read, grep, glob, write, edit
|
|
4
|
+
tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD proposal executor for Gentle AI.
|
|
@@ -29,9 +29,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
29
29
|
- Write `openspec/changes/{change}/proposal.md`.
|
|
30
30
|
- Include intent, scope, affected areas, risks, rollback, and success criteria.
|
|
31
31
|
- Do NOT launch child subagents. Parent/orchestrator owns delegation.
|
|
32
|
-
- Persist
|
|
32
|
+
- Persist the proposal to the active backend per the Memory Contract above; never claim persistence you did not perform.
|
|
33
33
|
## Memory Contract
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
38
|
+
- Exploration (optional): `sdd/{change}/explore`
|
|
39
|
+
|
|
40
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
41
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/proposal"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
42
|
+
- `openspec`: write/update `openspec/changes/{change}/proposal.md`.
|
|
43
|
+
- `none`: return the proposal inline.
|
|
44
|
+
|
|
45
|
+
Never claim persistence you did not perform.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-spec
|
|
3
3
|
description: Write SDD delta specs with requirements and scenarios.
|
|
4
|
-
tools: read, grep, glob, write, edit
|
|
4
|
+
tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD spec executor for Gentle AI.
|
|
@@ -14,9 +14,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
14
14
|
|
|
15
15
|
## Memory Contract
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
20
|
+
- Proposal (required): `sdd/{change}/proposal`
|
|
21
|
+
|
|
22
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
23
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/spec"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
24
|
+
- `openspec`: write/update the spec files under `openspec/changes/{change}/`.
|
|
25
|
+
- `none`: return the spec inline.
|
|
26
|
+
|
|
27
|
+
Never claim persistence you did not perform.
|
|
20
28
|
|
|
21
29
|
## Purpose
|
|
22
30
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-status
|
|
3
3
|
description: Show read-only structured SDD status for an active change.
|
|
4
|
-
tools: read, grep, glob, bash
|
|
4
|
+
tools: read, grep, glob, bash, mem_search, mem_get_observation
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD status executor for Gentle AI.
|
|
@@ -16,9 +16,12 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
16
16
|
|
|
17
17
|
## Memory Contract
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
This phase is READ-ONLY. Read the change artifacts directly from the active backend to compute status; do not wait for the parent to inline them, and do NOT write or `mem_save` anything.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the files under `openspec/changes/{change}/`):
|
|
22
|
+
- Whichever change artifacts are needed to compute status, named `sdd/{change}/<phase>` (proposal, spec, design, tasks, apply-progress, verify-report, sync-report).
|
|
23
|
+
|
|
24
|
+
Do not persist anything — status is a read-only report. Never claim persistence.
|
|
22
25
|
|
|
23
26
|
## Inputs
|
|
24
27
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-sync
|
|
3
3
|
description: Sync verified SDD delta specs into OpenSpec canonical specs without archiving the change.
|
|
4
|
-
tools: read, grep, glob, write, edit, bash
|
|
4
|
+
tools: read, grep, glob, write, edit, bash, mem_search, mem_get_observation, mem_save, mem_update
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD sync executor for Gentle AI.
|
|
@@ -14,9 +14,17 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
14
14
|
|
|
15
15
|
## Memory Contract
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Read the change artifacts directly from the active backend before syncing; do not wait for the parent to inline them. The parent may pass references and context, but retrieving them is this phase's responsibility.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the files under `openspec/changes/{change}/`):
|
|
20
|
+
- Core change artifacts: `sdd/{change}/proposal`, `sdd/{change}/spec`, `sdd/{change}/design`, `sdd/{change}/tasks`, and `sdd/{change}/verify-report`.
|
|
21
|
+
|
|
22
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
23
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/sync-report"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
24
|
+
- `openspec`: write/update the canonical specs and sync report under `openspec/`.
|
|
25
|
+
- `none`: return the sync report inline.
|
|
26
|
+
|
|
27
|
+
Never claim persistence you did not perform.
|
|
20
28
|
|
|
21
29
|
## Purpose
|
|
22
30
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-tasks
|
|
3
3
|
description: Break SDD design/specs into implementation tasks with review workload forecast.
|
|
4
|
-
tools: read, grep, glob, write, edit
|
|
4
|
+
tools: read, grep, glob, write, edit, mem_search, mem_get_observation, mem_save
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD tasks executor for Gentle AI.
|
|
@@ -14,10 +14,18 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
14
14
|
|
|
15
15
|
## Memory Contract
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
20
|
+
- Spec (required): `sdd/{change}/spec`
|
|
21
|
+
- Design (required): `sdd/{change}/design`
|
|
20
22
|
|
|
23
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
24
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/tasks"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
25
|
+
- `openspec`: write/update `openspec/changes/{change}/tasks.md`.
|
|
26
|
+
- `none`: return the tasks inline.
|
|
27
|
+
|
|
28
|
+
Never claim persistence you did not perform.
|
|
21
29
|
|
|
22
30
|
## Inputs
|
|
23
31
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: sdd-verify
|
|
3
3
|
description: Verify implementation against SDD specs, tasks, strict TDD evidence, and review workload boundaries.
|
|
4
|
-
tools: read, grep, glob, bash, write, edit
|
|
4
|
+
tools: read, grep, glob, bash, write, edit, mem_search, mem_get_observation, mem_save
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
You are the SDD verify executor for Gentle AI.
|
|
@@ -14,10 +14,19 @@ If skill paths are missing, explicit fallback loading is allowed only as degrade
|
|
|
14
14
|
|
|
15
15
|
## Memory Contract
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
Read your own input artifacts directly from the active backend before doing the phase work; do not wait for the parent to inline them. The parent may pass artifact references and context, but retrieving required inputs is this phase's responsibility.
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
Inputs to read (`engram`/`both`: `mem_search("<topic-key>")` then `mem_get_observation`; `openspec`: read the file under `openspec/changes/{change}/`):
|
|
20
|
+
- Spec (required): `sdd/{change}/spec`
|
|
21
|
+
- Tasks (required): `sdd/{change}/tasks`
|
|
22
|
+
- Apply-progress (required): `sdd/{change}/apply-progress`
|
|
20
23
|
|
|
24
|
+
Persist this phase's artifact to the active backend before returning (mandatory):
|
|
25
|
+
- `engram`/`both`: call `mem_save` with title and `topic_key` `"sdd/{change}/verify-report"`, `type: "architecture"`, `project` from context, and `capture_prompt: false` when the tool schema supports it (omit the field if an older schema rejects it).
|
|
26
|
+
- `openspec`: write/update `openspec/changes/{change}/verify-report.md`.
|
|
27
|
+
- `none`: return the verify report inline.
|
|
28
|
+
|
|
29
|
+
Never claim persistence you did not perform.
|
|
21
30
|
|
|
22
31
|
## Status and Action Context Guard
|
|
23
32
|
|
package/assets/orchestrator.md
CHANGED
|
@@ -263,12 +263,32 @@ This package does not provide persistent memory by itself.
|
|
|
263
263
|
|
|
264
264
|
## Memory Contract
|
|
265
265
|
|
|
266
|
-
When Engram or another callable memory package is available, the parent owns
|
|
266
|
+
When Engram or another callable memory package is available, the parent owns context selection and subagents own write-back. Retrieval rules differ by task type, matching the gentle-ai (OpenCode) contract.
|
|
267
267
|
|
|
268
|
-
-
|
|
269
|
-
|
|
268
|
+
### Non-SDD delegation
|
|
269
|
+
|
|
270
|
+
- Read context: the parent/orchestrator searches memory (`mem_search`), selects relevant observations, and passes them into the subagent prompt. The subagent does NOT search memory itself.
|
|
271
|
+
- Write context: the subagent MUST save significant discoveries, decisions, or bug fixes via `mem_save` before returning when memory tools are available.
|
|
270
272
|
- Prompt forwarding: when delegating, add a concrete instruction such as: `If you make important discoveries, decisions, or fix bugs, save them to Engram via the available memory save tool with project: '<project>' before returning.`
|
|
271
|
-
|
|
273
|
+
|
|
274
|
+
### SDD phases
|
|
275
|
+
|
|
276
|
+
Each SDD phase subagent reads its own required inputs directly from the active backend; the parent passes artifact references (topic keys or file paths), NOT the content itself. Phase subagents persist their artifact before returning.
|
|
277
|
+
|
|
278
|
+
| Phase | Reads | Writes |
|
|
279
|
+
| -------------- | ------------------------------------------------------- | ---------------- |
|
|
280
|
+
| `sdd-explore` | nothing | `explore` |
|
|
281
|
+
| `sdd-proposal` | exploration (optional) | `proposal` |
|
|
282
|
+
| `sdd-spec` | proposal (required) | `spec` |
|
|
283
|
+
| `sdd-design` | proposal (required) | `design` |
|
|
284
|
+
| `sdd-tasks` | spec + design (required) | `tasks` |
|
|
285
|
+
| `sdd-apply` | tasks + spec + design + `apply-progress` (if it exists) | `apply-progress` |
|
|
286
|
+
| `sdd-verify` | spec + tasks + `apply-progress` | `verify-report` |
|
|
287
|
+
| `sdd-sync` | proposal + spec + design + tasks + `verify-report` | `sync-report` |
|
|
288
|
+
| `sdd-archive` | all artifacts | `archive-report` |
|
|
289
|
+
| `sdd-status` | change artifacts (read-only) | nothing |
|
|
290
|
+
|
|
291
|
+
- SDD artifact keys: in memory/hybrid mode, phase artifacts use stable topic keys such as `sdd/<change>/proposal`, `sdd/<change>/spec`, `sdd/<change>/design`, `sdd/<change>/tasks`, `sdd/<change>/apply-progress`, `sdd/<change>/verify-report`, `sdd/<change>/sync-report`, and `sdd/<change>/archive-report`.
|
|
272
292
|
- If memory tools are unavailable, do not pretend persistence exists; return artifacts inline and/or write OpenSpec files.
|
|
273
293
|
|
|
274
294
|
Memory lifecycle rule (when Engram exposes lifecycle metadata/tooling):
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# Skill Style Guide
|
|
2
|
+
|
|
3
|
+
This guide is the normative style contract for LLM-first skills shipped with or created inside `gentle-pi` projects.
|
|
4
|
+
|
|
5
|
+
## Purpose
|
|
6
|
+
|
|
7
|
+
A skill is a runtime instruction contract for an LLM. It should make future agent behavior more reliable by encoding reusable workflow rules, decision gates, and output expectations.
|
|
8
|
+
|
|
9
|
+
A skill is not a tutorial, article, README, or generic checklist for humans.
|
|
10
|
+
|
|
11
|
+
## When to create a skill
|
|
12
|
+
|
|
13
|
+
Create or update a skill when:
|
|
14
|
+
|
|
15
|
+
- a workflow or convention is reused across sessions;
|
|
16
|
+
- project-specific constraints differ from generic best practices;
|
|
17
|
+
- a decision tree helps the agent choose safely;
|
|
18
|
+
- templates, schemas, or local references improve repeatability;
|
|
19
|
+
- agents keep missing the same instruction without an explicit runtime contract.
|
|
20
|
+
|
|
21
|
+
Do not create a skill for:
|
|
22
|
+
|
|
23
|
+
- one-off tasks;
|
|
24
|
+
- generic documentation;
|
|
25
|
+
- rules that belong in tests, linters, or executable code;
|
|
26
|
+
- broad background context without concrete execution rules.
|
|
27
|
+
|
|
28
|
+
## Required structure
|
|
29
|
+
|
|
30
|
+
Use this directory shape:
|
|
31
|
+
|
|
32
|
+
```text
|
|
33
|
+
skills/{skill-name}/
|
|
34
|
+
├── SKILL.md
|
|
35
|
+
├── assets/ # optional: templates, schemas, examples, fixtures
|
|
36
|
+
└── references/ # optional: longer local docs or rationale
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
`SKILL.md` must use this section order:
|
|
40
|
+
|
|
41
|
+
1. `Activation Contract`
|
|
42
|
+
2. `Hard Rules`
|
|
43
|
+
3. `Decision Gates`
|
|
44
|
+
4. `Execution Steps`
|
|
45
|
+
5. `Output Contract`
|
|
46
|
+
6. `References`
|
|
47
|
+
|
|
48
|
+
Omit optional supporting directories when they are not needed.
|
|
49
|
+
|
|
50
|
+
## Frontmatter
|
|
51
|
+
|
|
52
|
+
Use YAML frontmatter with this shape:
|
|
53
|
+
|
|
54
|
+
```yaml
|
|
55
|
+
---
|
|
56
|
+
name: {kebab-case-skill-name}
|
|
57
|
+
description: "Trigger: {phrases users or agents will say}. {What this skill does}."
|
|
58
|
+
license: Apache-2.0
|
|
59
|
+
metadata:
|
|
60
|
+
author: gentleman-programming
|
|
61
|
+
version: "1.0"
|
|
62
|
+
---
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Rules:
|
|
66
|
+
|
|
67
|
+
- `name` must be kebab-case and match the skill directory unless there is a deliberate compatibility reason.
|
|
68
|
+
- `description` must be one physical line, quoted, YAML-safe, and trigger-rich.
|
|
69
|
+
- Put essential trigger words first in `description`.
|
|
70
|
+
- Do not add a `Keywords` section.
|
|
71
|
+
- Preserve license and metadata unless the project has a stronger local convention.
|
|
72
|
+
|
|
73
|
+
## Writing rules
|
|
74
|
+
|
|
75
|
+
- Write imperative runtime instructions, not explanatory prose.
|
|
76
|
+
- Keep `SKILL.md` concise: target 180–450 tokens, recommended max 700, hard max 1000.
|
|
77
|
+
- Prefer bullets and compact decision tables over paragraphs.
|
|
78
|
+
- State when to activate the skill and when not to activate it.
|
|
79
|
+
- Preserve author intent when improving an existing skill.
|
|
80
|
+
- Do not invent domain policies, triggers, or constraints. Ask or mark ambiguity instead.
|
|
81
|
+
- Move long examples, schemas, generated templates, and background rationale to `assets/` or `references/`.
|
|
82
|
+
- References must point to local files that ship with the project or package.
|
|
83
|
+
|
|
84
|
+
## Decision gates
|
|
85
|
+
|
|
86
|
+
Use a table when choices matter:
|
|
87
|
+
|
|
88
|
+
```markdown
|
|
89
|
+
| Situation | Action |
|
|
90
|
+
| --- | --- |
|
|
91
|
+
| Missing frontmatter | Fix required fields |
|
|
92
|
+
| Existing skill covers it | Update the existing skill instead |
|
|
93
|
+
| Long examples needed | Move them to `assets/` |
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Decision gates should prevent unsafe overreach, duplicate skills, and unnecessary ceremony.
|
|
97
|
+
|
|
98
|
+
## Output contract
|
|
99
|
+
|
|
100
|
+
Every skill should tell the agent what to return. Good output contracts include:
|
|
101
|
+
|
|
102
|
+
- files created or modified;
|
|
103
|
+
- commands or verification run;
|
|
104
|
+
- registry refresh needed;
|
|
105
|
+
- unresolved ambiguities;
|
|
106
|
+
- residual risks.
|
|
107
|
+
|
|
108
|
+
## Registry expectations
|
|
109
|
+
|
|
110
|
+
After creating, removing, moving, or renaming project skills, refresh the skill registry when available:
|
|
111
|
+
|
|
112
|
+
```text
|
|
113
|
+
/skill-registry:refresh
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
The registry is an index. `SKILL.md` remains the source of truth.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "gentle-pi",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"description": "Turn Pi into el Gentleman: a senior-architect development harness with SDD/OpenSpec, subagents, strict TDD evidence, review guardrails, and skill discovery.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"files": [
|
|
26
26
|
"assets/",
|
|
27
|
+
"docs/",
|
|
27
28
|
"extensions/",
|
|
28
29
|
"lib/",
|
|
29
30
|
"prompts/",
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Create or update an LLM-first skill
|
|
3
|
+
argument-hint: "<skill idea or name>"
|
|
4
|
+
---
|
|
5
|
+
Create or update an LLM-first skill for: $ARGUMENTS
|
|
6
|
+
|
|
7
|
+
Use the `skill-creator` skill if it is available. If the skill is not auto-loaded, read `skills/skill-creator/SKILL.md` and `docs/skill-style-guide.md` when present before editing.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. Clarify the reusable behavior, target runtime, trigger phrases, and non-goals if they are not obvious.
|
|
12
|
+
2. Inspect existing skills first; update an existing skill instead of creating a duplicate.
|
|
13
|
+
3. Create or update `skills/{kebab-name}/SKILL.md` with valid one-line frontmatter description and concise runtime instructions.
|
|
14
|
+
4. Put templates, schemas, or examples under `assets/`; put longer supporting docs under `references/`.
|
|
15
|
+
5. If the skill is part of `gentle-pi`, update `scripts/verify-package-files.mjs`.
|
|
16
|
+
6. Refresh the registry with `/skill-registry:refresh` when available, or tell the user to refresh/reload.
|
|
17
|
+
|
|
18
|
+
## Report
|
|
19
|
+
|
|
20
|
+
Return the files changed, the selected trigger phrases, any supporting files, and whether registry/package verification remains to run.
|
|
@@ -25,6 +25,7 @@ const requiredPaths = [
|
|
|
25
25
|
"assets/support/sdd-status-contract.md",
|
|
26
26
|
"assets/support/strict-tdd.md",
|
|
27
27
|
"assets/support/strict-tdd-verify.md",
|
|
28
|
+
"docs/skill-style-guide.md",
|
|
28
29
|
"extensions/gentle-ai.ts",
|
|
29
30
|
"extensions/sdd-init.ts",
|
|
30
31
|
"extensions/skill-registry.ts",
|
|
@@ -33,6 +34,7 @@ const requiredPaths = [
|
|
|
33
34
|
"prompts/gis.md",
|
|
34
35
|
"prompts/gpr.md",
|
|
35
36
|
"prompts/gwr.md",
|
|
37
|
+
"prompts/skill-creation.md",
|
|
36
38
|
"skills/branch-pr/SKILL.md",
|
|
37
39
|
"skills/chained-pr/SKILL.md",
|
|
38
40
|
"skills/cognitive-doc-design/SKILL.md",
|
|
@@ -41,6 +43,8 @@ const requiredPaths = [
|
|
|
41
43
|
"skills/issue-creation/SKILL.md",
|
|
42
44
|
"skills/judgment-day/SKILL.md",
|
|
43
45
|
"skills/release/SKILL.md",
|
|
46
|
+
"skills/skill-creator/SKILL.md",
|
|
47
|
+
"skills/skill-improver/SKILL.md",
|
|
44
48
|
"skills/skill-registry/SKILL.md",
|
|
45
49
|
"skills/work-unit-commits/SKILL.md",
|
|
46
50
|
];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: judgment-day
|
|
3
|
-
description: "Trigger: judgment day, dual review, adversarial review, juzgar. Run blind dual review, fix confirmed issues, then re-judge."
|
|
3
|
+
description: "Trigger: judgment day, judgement day, dual review, adversarial review, juzgar. Run blind dual review, fix confirmed issues, then re-judge."
|
|
4
4
|
license: Apache-2.0
|
|
5
5
|
metadata:
|
|
6
6
|
author: gentleman-programming
|
|
@@ -9,7 +9,7 @@ metadata:
|
|
|
9
9
|
|
|
10
10
|
## Activation Contract
|
|
11
11
|
|
|
12
|
-
Load this skill only when the user explicitly asks for Judgment Day, dual/adversarial review, or equivalent Spanish trigger (`juzgar`, `que lo juzguen`). Review a specific target: files, feature, PR, or architecture slice.
|
|
12
|
+
Load this skill only when the user explicitly asks for Judgment Day, Judgement Day, dual/adversarial review, or equivalent Spanish trigger (`juzgar`, `que lo juzguen`). Review a specific target: files, feature, PR, or architecture slice.
|
|
13
13
|
|
|
14
14
|
## Hard Rules
|
|
15
15
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-creator
|
|
3
|
+
description: "Trigger: /skill-creation, skill creation, skill creator, create skill, new skill. Create LLM-first skills with valid frontmatter."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: gentleman-programming
|
|
7
|
+
version: "1.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Activation Contract
|
|
11
|
+
|
|
12
|
+
Use this skill when creating or updating a reusable AI skill for Pi or another agent runtime.
|
|
13
|
+
|
|
14
|
+
Create a skill when:
|
|
15
|
+
- a workflow or convention is reused across sessions;
|
|
16
|
+
- generic agent behavior needs project-specific constraints;
|
|
17
|
+
- a decision tree helps the agent choose safely;
|
|
18
|
+
- examples, templates, or references would make future execution more reliable.
|
|
19
|
+
|
|
20
|
+
Do not create a skill for a one-off task, generic documentation, or rules that belong in code/tests.
|
|
21
|
+
|
|
22
|
+
## Hard Rules
|
|
23
|
+
|
|
24
|
+
- Follow `docs/skill-style-guide.md` as the normative source for skill structure and style.
|
|
25
|
+
- A skill is an LLM runtime contract, not human-facing docs.
|
|
26
|
+
- Keep `SKILL.md` concise: target 180–450 tokens, max 1000.
|
|
27
|
+
- Use imperative instructions and concrete gates; avoid tutorials and background prose.
|
|
28
|
+
- Frontmatter `description` must be one physical YAML-safe line and include trigger words first.
|
|
29
|
+
- Do not add a `Keywords` section; put essential trigger words in `description`.
|
|
30
|
+
- Put templates, schemas, and generated examples in `assets/`.
|
|
31
|
+
- Put longer rationale or local doc links in `references/`.
|
|
32
|
+
- After changing project skills, refresh the registry with `/skill-registry:refresh` when available.
|
|
33
|
+
|
|
34
|
+
## Decision Gates
|
|
35
|
+
|
|
36
|
+
| Need | Action |
|
|
37
|
+
| --- | --- |
|
|
38
|
+
| Small reusable behavior | Create `skills/{skill-name}/SKILL.md` only |
|
|
39
|
+
| Templates, schemas, fixtures | Add `skills/{skill-name}/assets/` |
|
|
40
|
+
| Longer explanation or edge cases | Add `skills/{skill-name}/references/` |
|
|
41
|
+
| Existing skill covers it | Update the existing skill instead |
|
|
42
|
+
| Skill affects delegation discovery | Ensure trigger words appear in `description` |
|
|
43
|
+
|
|
44
|
+
## Execution Steps
|
|
45
|
+
|
|
46
|
+
1. Read `docs/skill-style-guide.md` before creating or updating skills.
|
|
47
|
+
2. Inspect existing skills and confirm the new skill does not duplicate one.
|
|
48
|
+
3. Choose a kebab-case skill name that matches the user-facing trigger.
|
|
49
|
+
4. Create or update this structure:
|
|
50
|
+
|
|
51
|
+
```text
|
|
52
|
+
skills/{skill-name}/
|
|
53
|
+
├── SKILL.md
|
|
54
|
+
├── assets/ # optional
|
|
55
|
+
└── references/ # optional
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
5. Use this frontmatter shape:
|
|
59
|
+
|
|
60
|
+
```yaml
|
|
61
|
+
---
|
|
62
|
+
name: {skill-name}
|
|
63
|
+
description: "Trigger: {phrases users or agents will say}. {What this skill does}."
|
|
64
|
+
license: Apache-2.0
|
|
65
|
+
metadata:
|
|
66
|
+
author: gentleman-programming
|
|
67
|
+
version: "1.0"
|
|
68
|
+
---
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
6. Write sections in this order: Activation Contract, Hard Rules, Decision Gates, Execution Steps, Output Contract, References.
|
|
72
|
+
7. If this is a packaged `gentle-pi` skill, add it to `scripts/verify-package-files.mjs`.
|
|
73
|
+
8. Refresh or document the skill registry update path.
|
|
74
|
+
|
|
75
|
+
## Output Contract
|
|
76
|
+
|
|
77
|
+
Return:
|
|
78
|
+
- Files created or modified.
|
|
79
|
+
- Whether this created a new skill or updated an existing one.
|
|
80
|
+
- Any supporting `assets/` or `references/` files added.
|
|
81
|
+
- Whether package verification or skill registry refresh is needed.
|
|
82
|
+
|
|
83
|
+
## References
|
|
84
|
+
|
|
85
|
+
- `docs/skill-style-guide.md` — normative LLM-first skill style guide.
|
|
86
|
+
- `skills/skill-registry/SKILL.md` — registry refresh and indexing contract.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: skill-improver
|
|
3
|
+
description: "Trigger: improve skills, audit skills, refactor skills, skill quality. Audit and upgrade existing LLM-first skills."
|
|
4
|
+
license: Apache-2.0
|
|
5
|
+
metadata:
|
|
6
|
+
author: gentleman-programming
|
|
7
|
+
version: "1.0"
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Activation Contract
|
|
11
|
+
|
|
12
|
+
Use this skill when auditing, refactoring, normalizing, or improving existing `SKILL.md` files. Use `skill-creator` when creating a brand-new skill from a reusable pattern.
|
|
13
|
+
|
|
14
|
+
## Hard Rules
|
|
15
|
+
|
|
16
|
+
- Read `docs/skill-style-guide.md` first and treat it as the normative style contract.
|
|
17
|
+
- Treat `SKILL.md` as the source of truth; preserve author intent, critical rules, activation semantics, and output requirements.
|
|
18
|
+
- Use `.atl/skill-registry.md` as an index of skill names, triggers, scopes, and exact paths when available.
|
|
19
|
+
- Default to audit-only. Modify files only when the user explicitly asks to apply improvements.
|
|
20
|
+
- Never delete meaningful content silently; move long explanation, examples, templates, or schemas into local `references/` or `assets/`.
|
|
21
|
+
- Do not invent triggers, policies, or domain rules. Mark ambiguous cases for human review.
|
|
22
|
+
|
|
23
|
+
## Decision Gates
|
|
24
|
+
|
|
25
|
+
| Situation | Action |
|
|
26
|
+
| --- | --- |
|
|
27
|
+
| Missing or invalid frontmatter | Fix `name`, quoted one-line `description`, `license`, and `metadata` |
|
|
28
|
+
| Skill reads like tutorial docs | Convert to runtime instructions and move background to `references/` |
|
|
29
|
+
| Body exceeds budget | Preserve rules, move examples/background to supporting files |
|
|
30
|
+
| Branching logic hidden in prose | Convert to a compact decision table |
|
|
31
|
+
| Rules conflict or intent is unclear | Report the issue; do not rewrite that rule automatically |
|
|
32
|
+
|
|
33
|
+
## Execution Steps
|
|
34
|
+
|
|
35
|
+
1. Read `docs/skill-style-guide.md`.
|
|
36
|
+
2. Read `.atl/skill-registry.md`; use listed paths to select skills. If missing, scan known skill directories for `*/SKILL.md`.
|
|
37
|
+
3. For each selected skill, audit metadata, trigger clarity, section order, body budget, actionability, decision gates, output contract, and local references.
|
|
38
|
+
4. Return an audit report grouped by skill with severity and exact proposed changes.
|
|
39
|
+
5. In apply mode, edit only safe issues, preserve content, create supporting files when needed, then refresh or request `/skill-registry:refresh`.
|
|
40
|
+
|
|
41
|
+
## Output Contract
|
|
42
|
+
|
|
43
|
+
Return:
|
|
44
|
+
- Skills audited and paths used.
|
|
45
|
+
- Issues found, grouped by severity.
|
|
46
|
+
- Files changed, if apply mode was requested.
|
|
47
|
+
- Registry refresh recommendation when skill metadata or paths changed.
|
|
48
|
+
- Ambiguities that need human review.
|
|
49
|
+
|
|
50
|
+
## References
|
|
51
|
+
|
|
52
|
+
- `docs/skill-style-guide.md` — normative LLM-first skill style guide.
|
|
53
|
+
- `skills/skill-registry/SKILL.md` — registry refresh and indexing contract.
|