@juancr11/sibu 0.9.6 → 0.10.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/package.json +1 -1
- package/templates/AGENTS.md +4 -3
- package/templates/manifest.json +15 -15
- package/templates/skills/ai-implementation-plan-executor/SKILL.md +3 -2
- package/templates/skills/ai-implementation-planner/SKILL.md +5 -5
- package/templates/skills/architecture/command-pattern/SKILL.md +31 -0
- package/templates/skills/architecture/ddd-hexagonal/SKILL.md +28 -0
- package/templates/skills/nextjs/SKILL.md +5 -3
- package/templates/skills/technical-design-writer/SKILL.md +4 -0
package/package.json
CHANGED
package/templates/AGENTS.md
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
## Agent-specific instructions
|
|
15
15
|
|
|
16
16
|
- Before any task that writes or modifies code, propose a brief plan and wait for user confirmation once per requested task.
|
|
17
|
+
- Exception: when the user asks to plan, implement, execute, continue, or work through a User Story or Epic with `ai-implementation-plan-executor`, that request is confirmation to generate any missing implementation plan and begin execution immediately. Do not require a separate plan approval gate; wait only for the story-level review after implementation finishes.
|
|
17
18
|
- For read-only work, research, planning, documentation-only edits, or other non-code changes, do not ask for confirmation unless the action is destructive, risky, ambiguous, or explicitly requires user approval.
|
|
18
19
|
- After confirmation, proceed with all agreed in-scope changes without re-asking.
|
|
19
20
|
- Ask again only if the scope changes materially, the approach becomes materially more complex or risky, or the user explicitly asks to review before continuing.
|
|
@@ -36,7 +37,7 @@ Keep responses concise by default, but spend the context needed for correctness,
|
|
|
36
37
|
|
|
37
38
|
## Skill routing
|
|
38
39
|
|
|
39
|
-
For planned product/feature work, use this pipeline: product vision -> deep module map -> feature brief -> technical design -> optional UX -> epics/stories -> AI implementation plan
|
|
40
|
+
For planned product/feature work, use this pipeline: product vision -> deep module map -> feature brief -> technical design -> optional UX -> epics/stories -> AI executor. The executor creates a missing AI implementation plan and then executes it immediately when a story or Epic is requested for planning, implementation, or continuation. Narrow code fixes and small local changes do not require the full pipeline unless product scope, module ownership, or architecture direction is unclear.
|
|
40
41
|
|
|
41
42
|
- For any code-writing task, use `clean-code`.
|
|
42
43
|
- For requests to create, revise, or clarify a product vision, product strategy narrative, product north star, positioning, product principles, product voice, target user definition, product boundaries, or success signals, use `product-vision-writer`.
|
|
@@ -44,8 +45,8 @@ For planned product/feature work, use this pipeline: product vision -> deep modu
|
|
|
44
45
|
- For requests to create, revise, or clarify a business-level feature brief after Deep Module Map work, feature definition, feature scope, MVP feature boundaries, business acceptance criteria, or product-level feature rationale, use `feature-brief-writer`.
|
|
45
46
|
- For requests to create, revise, or clarify a technical design, implementation-oriented design doc, architecture approach, technical tradeoffs, technical risks, or implementation plan for an approved feature, use `technical-design-writer`.
|
|
46
47
|
- For requests to create Epics, User Stories, Scrum planning artifacts, backlog slices, or delivery plans from an approved feature brief and technical design, use `scrum-master-planner`.
|
|
47
|
-
- For requests to turn a specific User Story into an implementation checklist, coding plan, step-by-step execution plan, or baby-step plan, use `ai-implementation-planner
|
|
48
|
-
- For requests to implement, execute, continue, or work through a specific User Story under `docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.md
|
|
48
|
+
- For explicit planning-only requests to turn a specific User Story into an implementation checklist, coding plan, step-by-step execution plan, or baby-step plan without implementation, use `ai-implementation-planner` and stop after writing the plan. Treat a request as planning-only only when the user explicitly says planning-only, "do not implement," or asks to create the plan without execution.
|
|
49
|
+
- For requests to plan, implement, execute, continue, or work through a specific User Story under `docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.md`, an Epic, or an existing story implementation plan under `docs/features/<feature-slug>/epics/<epic-slug>/stories/<order>-<story-slug>.impl_plan/`, use `ai-implementation-plan-executor`; when the story plan is missing, the executor must create it with `ai-implementation-planner` and immediately continue into implementation without a separate plan approval gate.
|
|
49
50
|
{{OPTIONAL_SKILL_ROUTING}}
|
|
50
51
|
|
|
51
52
|
## Sibu maintenance
|
package/templates/manifest.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"templateVersion": "
|
|
2
|
+
"templateVersion": "89",
|
|
3
3
|
"templates": {
|
|
4
4
|
"AGENTS.md": {
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "28",
|
|
6
6
|
"description": "Project-level agent instructions and Sibu maintenance guidance.",
|
|
7
7
|
"changes": [
|
|
8
|
-
"
|
|
8
|
+
"Routes story and Epic planning requests to the executor by default so generated plans are implemented immediately unless planning-only is explicit."
|
|
9
9
|
]
|
|
10
10
|
},
|
|
11
11
|
".codex/config.toml": {
|
|
@@ -73,10 +73,10 @@
|
|
|
73
73
|
]
|
|
74
74
|
},
|
|
75
75
|
"skills/technical-design-writer/SKILL.md": {
|
|
76
|
-
"version": "
|
|
76
|
+
"version": "16",
|
|
77
77
|
"description": "Mandatory technical design writer skill installed once at the shared .agents/skills workspace path.",
|
|
78
78
|
"changes": [
|
|
79
|
-
"
|
|
79
|
+
"Requires technical designs crossing framework boundaries to name the allowed application/orchestration entrypoint and forbidden lower-level dependencies."
|
|
80
80
|
]
|
|
81
81
|
},
|
|
82
82
|
"skills/typescript/SKILL.md": {
|
|
@@ -101,24 +101,24 @@
|
|
|
101
101
|
]
|
|
102
102
|
},
|
|
103
103
|
"skills/architecture/ddd-hexagonal/SKILL.md": {
|
|
104
|
-
"version": "
|
|
104
|
+
"version": "8",
|
|
105
105
|
"description": "Selectable back-end architecture skill for DDD and Hexagonal Architecture.",
|
|
106
106
|
"changes": [
|
|
107
|
-
"Adds
|
|
107
|
+
"Adds a framework-agnostic adapter dependency rule requiring delivery entrypoints to call application/orchestration boundaries instead of infrastructure or domain workflow internals."
|
|
108
108
|
]
|
|
109
109
|
},
|
|
110
110
|
"skills/architecture/command-pattern/SKILL.md": {
|
|
111
|
-
"version": "
|
|
111
|
+
"version": "6",
|
|
112
112
|
"description": "Selectable architecture skill for command-oriented vertical slices using Command Pattern, Hexagonal Architecture, and DDD principles.",
|
|
113
113
|
"changes": [
|
|
114
|
-
"
|
|
114
|
+
"Adds a framework-agnostic entrypoint dependency rule requiring delivery adapters to create commands and call handlers or dispatchers instead of infrastructure, SDKs, repositories, or domain workflow internals."
|
|
115
115
|
]
|
|
116
116
|
},
|
|
117
117
|
"skills/nextjs/SKILL.md": {
|
|
118
|
-
"version": "
|
|
118
|
+
"version": "3",
|
|
119
119
|
"description": "Selectable framework skill for Next.js App Router and framework-specific behavior.",
|
|
120
120
|
"changes": [
|
|
121
|
-
"
|
|
121
|
+
"Keeps Next.js boundary guidance architecture-agnostic by referring to the selected orchestration/application boundary instead of naming a specific architecture."
|
|
122
122
|
]
|
|
123
123
|
},
|
|
124
124
|
"skills/react/SKILL.md": {
|
|
@@ -136,17 +136,17 @@
|
|
|
136
136
|
]
|
|
137
137
|
},
|
|
138
138
|
"skills/ai-implementation-planner/SKILL.md": {
|
|
139
|
-
"version": "
|
|
139
|
+
"version": "15",
|
|
140
140
|
"description": "Mandatory AI implementation planner skill for turning one approved User Story into small, story-local implementation step files.",
|
|
141
141
|
"changes": [
|
|
142
|
-
"Clarifies that
|
|
142
|
+
"Clarifies that the planner is normally an executor helper and stops after planning only when planning-only is explicit."
|
|
143
143
|
]
|
|
144
144
|
},
|
|
145
145
|
"skills/ai-implementation-plan-executor/SKILL.md": {
|
|
146
|
-
"version": "
|
|
146
|
+
"version": "22",
|
|
147
147
|
"description": "Mandatory AI implementation plan executor skill for implementing full story plans before story-level review and commit.",
|
|
148
148
|
"changes": [
|
|
149
|
-
"
|
|
149
|
+
"Clarifies that story and Epic planning requests are confirmation for executor implementation."
|
|
150
150
|
]
|
|
151
151
|
},
|
|
152
152
|
"skills/ai-prompt-engineer-master/SKILL.md": {
|
|
@@ -105,7 +105,8 @@ If the initial User Story has no matching `.impl_plan/`, or the initial `.impl_p
|
|
|
105
105
|
1. Apply `ai-implementation-planner` to create or repair the story-local implementation plan.
|
|
106
106
|
2. Quality-check that the generated plan has ordered step files for exactly that story.
|
|
107
107
|
3. Immediately begin executing the generated plan with this executor.
|
|
108
|
-
4.
|
|
108
|
+
4. Treat the planner as an internal helper, not a user-visible stopping point.
|
|
109
|
+
5. Do not ask the user to approve the plan before implementation; the only required approval is the story-level review after implementation finishes.
|
|
109
110
|
|
|
110
111
|
If required source context is missing:
|
|
111
112
|
|
|
@@ -118,7 +119,7 @@ If required source context is missing:
|
|
|
118
119
|
|
|
119
120
|
Work through the full story plan in filename order, one step at a time, without asking for review or approval between steps.
|
|
120
121
|
|
|
121
|
-
When a valid implementation plan exists, begin implementing the first unapproved step immediately. If a plan was just generated by `ai-implementation-planner`, begin implementing it immediately. Do not ask for pre-implementation confirmation or plan approval before changing code. This is an explicit exception to repository-level instructions that normally require confirmation before code changes: selecting this executor skill, asking to implement or continue a story/Epic, or providing a valid plan is the user's confirmation to implement the full story plan.
|
|
122
|
+
When a valid implementation plan exists, begin implementing the first unapproved step immediately. If a plan was just generated by `ai-implementation-planner`, begin implementing it immediately. Do not ask for pre-implementation confirmation or plan approval before changing code. This is an explicit exception to repository-level instructions that normally require confirmation before code changes: selecting this executor skill, asking to plan, implement, execute, or continue a story/Epic, or providing a valid plan is the user's confirmation to implement the full story plan.
|
|
122
123
|
|
|
123
124
|
A step file is considered approved only when it contains this section:
|
|
124
125
|
|
|
@@ -7,7 +7,7 @@ description: Turn one approved User Story Markdown file into LLM-sized implement
|
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
9
9
|
|
|
10
|
-
Turn one approved User Story into concrete Markdown step files an AI coding agent can execute safely and completely. This skill owns implementation planning for one story at a time, not product scope, technical design decisions, Scrum planning, or code implementation.
|
|
10
|
+
Turn one approved User Story into concrete Markdown step files an AI coding agent can execute safely and completely. This skill owns implementation planning for one story at a time, not product scope, technical design decisions, Scrum planning, or code implementation. This planner is normally an internal helper for `ai-implementation-plan-executor`; after writing a valid plan, implementation must continue immediately through the executor unless the user explicitly requested planning-only.
|
|
11
11
|
|
|
12
12
|
## Pipeline Contract
|
|
13
13
|
|
|
@@ -29,7 +29,7 @@ Turn one approved User Story into concrete Markdown step files an AI coding agen
|
|
|
29
29
|
- The user does not provide or clearly identify exactly one User Story file.
|
|
30
30
|
- Any required source artifact is missing, incomplete, or invalid in a way its owning stage should repair.
|
|
31
31
|
- The story or feature has UI impact and `ux.md` is missing; direct the user to `ux-expert`.
|
|
32
|
-
-
|
|
32
|
+
- This planner was invoked directly for a request that should route to another pipeline stage, such as writing production code, executing an existing implementation plan, creating stories, or performing another pipeline stage.
|
|
33
33
|
|
|
34
34
|
### What this skill must not do
|
|
35
35
|
|
|
@@ -37,7 +37,7 @@ Turn one approved User Story into concrete Markdown step files an AI coding agen
|
|
|
37
37
|
- Do not modify prior-stage artifacts.
|
|
38
38
|
- Do not reread `docs/deep-module-map.md` by default; trust `technical_design.md` for Deep Module implementation boundaries.
|
|
39
39
|
- Do not infer implementation scope from an Epic brief, feature brief, or technical design without exactly one User Story.
|
|
40
|
-
- Do not write production code directly from this planner; hand off to `ai-implementation-plan-executor` for implementation.
|
|
40
|
+
- Do not write production code directly from this planner; hand off to `ai-implementation-plan-executor` for implementation. The executor is the orchestrator for planning, implementation, execution, continuation, and combined plan-and-execute requests.
|
|
41
41
|
|
|
42
42
|
## Required input
|
|
43
43
|
|
|
@@ -242,9 +242,9 @@ Before finishing, verify:
|
|
|
242
242
|
|
|
243
243
|
### 6. Continue or report
|
|
244
244
|
|
|
245
|
-
After writing and quality-checking the implementation step files, do not ask for plan approval before execution.
|
|
245
|
+
After writing and quality-checking the implementation step files, do not ask for plan approval before execution. Unless the user explicitly requested planning-only, immediately hand off to `ai-implementation-plan-executor` for the newly created plan in the same turn. The user's story or Epic planning/execution request plus a valid generated plan is enough pre-implementation confirmation; the only required user approval is the story-level review after execution finishes.
|
|
246
246
|
|
|
247
|
-
If the user asked only to
|
|
247
|
+
If the user explicitly asked for planning-only, said not to implement, or asked to create the plan without execution, stop after creating the plan and report where it was written. Make clear that no plan approval is required before a later executor run.
|
|
248
248
|
|
|
249
249
|
When this skill is invoked as the next-story or next-Epic planning handoff from `ai-implementation-plan-executor`, create the plan and immediately return control to the executor so it can implement that story without a plan-review gate.
|
|
250
250
|
|
|
@@ -81,6 +81,37 @@ The Handler must be "blind" to the entrypoint. It should not know if it is being
|
|
|
81
81
|
### Rule 4: Thin Entrypoints
|
|
82
82
|
Entrypoints (CLI/API) are responsible for Syntactic Validation (is the input the right type?). Handlers are responsible for Semantic Validation (does this operation make sense in the current state of the system?).
|
|
83
83
|
|
|
84
|
+
### Rule 5: Entrypoints Call Commands, Not Lower Layers
|
|
85
|
+
Entrypoints are driving adapters. Examples include CLI commands, HTTP routes, Next.js App Router files, server actions, queue consumers, jobs, webhooks, RPC handlers, and GraphQL resolvers.
|
|
86
|
+
|
|
87
|
+
An entrypoint may:
|
|
88
|
+
- adapt framework or transport input into a Command
|
|
89
|
+
- call the feature Handler directly, or call an application-level command dispatcher/orchestration API
|
|
90
|
+
- translate the Result into a framework or transport response
|
|
91
|
+
|
|
92
|
+
An entrypoint must not directly import or call:
|
|
93
|
+
- infrastructure adapters
|
|
94
|
+
- database clients or repository implementations
|
|
95
|
+
- SDK clients
|
|
96
|
+
- persistence models or external API response shapes
|
|
97
|
+
- another feature-slice's internals
|
|
98
|
+
- domain workflow logic that bypasses the Handler
|
|
99
|
+
|
|
100
|
+
Allowed flow:
|
|
101
|
+
|
|
102
|
+
```txt
|
|
103
|
+
entrypoint / framework adapter -> Command -> Handler / dispatcher -> Ports -> infrastructure adapters
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Forbidden flow:
|
|
107
|
+
|
|
108
|
+
```txt
|
|
109
|
+
entrypoint / framework adapter -> infrastructure / database / SDK / repository implementation
|
|
110
|
+
entrypoint / framework adapter -> domain workflow internals that bypass the Handler
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
If dependency wiring needs infrastructure implementations, prefer a composition/bootstrap module or small factory that constructs the Handler. Keep request handling, command creation, and result translation separate from infrastructure behavior.
|
|
114
|
+
|
|
84
115
|
---
|
|
85
116
|
|
|
86
117
|
## 4. Implementation Workflow
|
|
@@ -95,6 +95,34 @@ This means:
|
|
|
95
95
|
|
|
96
96
|
If business logic needs a DB client, SDK response, HTTP object, or framework context directly, the boundary is probably wrong.
|
|
97
97
|
|
|
98
|
+
## Framework adapter dependency rule
|
|
99
|
+
|
|
100
|
+
Framework code is a driving adapter. Examples include HTTP routes, controllers, Next.js App Router files, server actions, CLI commands, queue consumers, jobs, webhooks, RPC handlers, and GraphQL resolvers.
|
|
101
|
+
|
|
102
|
+
Framework adapters may adapt framework input/output and call the application/orchestration boundary. They must not directly import or call:
|
|
103
|
+
|
|
104
|
+
- repository implementations or database clients
|
|
105
|
+
- SDK clients or infrastructure adapters
|
|
106
|
+
- persistence models or external API response shapes
|
|
107
|
+
- domain internals that perform a business workflow outside an application use case
|
|
108
|
+
- other delivery/framework adapters
|
|
109
|
+
|
|
110
|
+
Allowed flow:
|
|
111
|
+
|
|
112
|
+
```txt
|
|
113
|
+
framework adapter -> application use case / orchestration API -> domain + ports
|
|
114
|
+
infrastructure adapter -> application/domain port contracts
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
Forbidden flow:
|
|
118
|
+
|
|
119
|
+
```txt
|
|
120
|
+
framework adapter -> infrastructure / database / SDK / repository implementation
|
|
121
|
+
framework adapter -> domain workflow internals that bypass the application boundary
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
When planning or implementing a feature, name the application/orchestration API each framework entrypoint is allowed to call. Add an explicit allow/deny import list when the boundary could be ambiguous.
|
|
125
|
+
|
|
98
126
|
## Domain modeling: entity, value object, or neither
|
|
99
127
|
|
|
100
128
|
Do not force DDD labels onto every concept. Use them only when they buy clarity, express real business meaning, or protect invariants.
|
|
@@ -44,9 +44,10 @@ Add `"use client"` only for code that needs client-side capabilities, such as:
|
|
|
44
44
|
Prefer isolating the smallest interactive subtree into a Client Component rather than turning a whole page or layout into a Client Component.
|
|
45
45
|
|
|
46
46
|
### 4. Keep `src/app/**` thin
|
|
47
|
-
- Treat `src/app/**` as a framework boundary.
|
|
48
|
-
-
|
|
49
|
-
-
|
|
47
|
+
- Treat `src/app/**` as a framework adapter boundary.
|
|
48
|
+
- When an architecture skill or technical design defines an orchestration/application boundary, App Router files may call only that boundary.
|
|
49
|
+
- Pages, layouts, route handlers, Server Actions, and metadata functions must not bypass the selected architecture's dependency rules.
|
|
50
|
+
- Keep request parsing, response formatting, redirects, rendering decisions, and framework concerns in `src/app/**`.
|
|
50
51
|
- Move reusable business behavior out of App Router files.
|
|
51
52
|
|
|
52
53
|
### 5. Route handlers are framework adapters
|
|
@@ -54,6 +55,7 @@ Prefer isolating the smallest interactive subtree into a Client Component rather
|
|
|
54
55
|
- Use the Web `Request` and `Response` APIs.
|
|
55
56
|
- Keep handlers focused on HTTP concerns: parse input, call application behavior, and return a stable response.
|
|
56
57
|
- Do not put backend business rules directly in route handlers.
|
|
58
|
+
- Do not import infrastructure, database clients, repository implementations, SDK wrappers, persistence models, or external API shapes directly from App Router files unless the selected architecture explicitly allows it.
|
|
57
59
|
|
|
58
60
|
### 6. Use Next.js error and empty-state conventions
|
|
59
61
|
- Use `notFound()` for route resources that genuinely do not exist.
|
|
@@ -72,6 +72,8 @@ Translate product intent into implementation direction.
|
|
|
72
72
|
|
|
73
73
|
Deep Modules answer “where does this implementation work belong?” Architecture guidance answers “how is that module structured internally?” Translate the feature brief's selected Deep Modules into implementation boundaries appropriate for the selected architecture. Capture those boundaries in the technical design so downstream Scrum planning, implementation planning, and execution can trust the technical design instead of rereading the Deep Module Map by default.
|
|
74
74
|
|
|
75
|
+
When a feature crosses a framework or delivery boundary, include the allowed orchestration/application entrypoint and the forbidden lower-level dependencies. Keep this framework-agnostic: name roles like framework adapter, application/orchestration boundary, domain, port, and infrastructure, then add concrete project paths only where useful.
|
|
76
|
+
|
|
75
77
|
Prefer:
|
|
76
78
|
|
|
77
79
|
- concise decisions over long explanation
|
|
@@ -143,6 +145,8 @@ Use this structure as a starting point. Delete sections that do not add value.
|
|
|
143
145
|
|
|
144
146
|
<Explain how the selected Deep Modules translate into architecture, module, command, file, or implementation boundaries when that affects downstream work.>
|
|
145
147
|
|
|
148
|
+
<For framework/delivery entrypoints, state the application/orchestration API they may call and the lower-level layers, modules, or paths they must not call directly.>
|
|
149
|
+
|
|
146
150
|
## Validation
|
|
147
151
|
<Focused test/build/manual checks.>
|
|
148
152
|
|