@juancr11/sibu 0.17.1 → 0.19.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/bin/modules/template-catalog/catalog.js +8 -0
- package/bin/modules/template-catalog/templates.js +1 -1
- package/package.json +1 -1
- package/templates/AGENTS.md +9 -0
- package/templates/manifest.json +24 -16
- package/templates/skills/ai-implementation-executor-toolbox/SKILL.md +2 -1
- package/templates/skills/ai-implementation-plan-executor/SKILL.md +3 -3
- package/templates/skills/architecture/command-pattern/SKILL.md +3 -0
- package/templates/skills/clean-code/SKILL.md +4 -0
- package/templates/skills/golang/SKILL.md +3 -0
- package/templates/skills/structured-logging/SKILL.md +29 -0
- package/templates/skills/typescript/SKILL.md +3 -0
|
@@ -7,6 +7,14 @@ export const MANDATORY_SKILLS = [
|
|
|
7
7
|
claude: '.agents/skills/clean-code/SKILL.md',
|
|
8
8
|
},
|
|
9
9
|
},
|
|
10
|
+
{
|
|
11
|
+
templateRelativePath: 'skills/structured-logging/SKILL.md',
|
|
12
|
+
targetRelativePathsByAgent: {
|
|
13
|
+
codex: '.agents/skills/structured-logging/SKILL.md',
|
|
14
|
+
gemini: '.agents/skills/structured-logging/SKILL.md',
|
|
15
|
+
claude: '.agents/skills/structured-logging/SKILL.md',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
10
18
|
{
|
|
11
19
|
templateRelativePath: 'skills/product-vision-writer/SKILL.md',
|
|
12
20
|
targetRelativePathsByAgent: {
|
|
@@ -103,7 +103,7 @@ export function renderWorkerToolboxRouting({ profile, selectedLanguageSkills, se
|
|
|
103
103
|
- If an optional relevant skill is not installed and you encounter an unmapped language, framework, database, or architecture pattern, do not guess silently; continue only when safe and flag the gap as a ${profile === 'planner' ? 'plan risk' : 'Review Gate risk'}.
|
|
104
104
|
|
|
105
105
|
### Optional installed skills relevant to ${profile} work
|
|
106
|
-
${selectedSkillsSection}`;
|
|
106
|
+
${profile === 'executor' ? '- Structured Logging: read `.agents/skills/structured-logging/SKILL.md` when the story involves logs, workflows, handlers, jobs, external calls, errors, retries, long-running operations, state changes, or other observability-relevant behavior.\n' : ''}${selectedSkillsSection}`;
|
|
107
107
|
}
|
|
108
108
|
export function renderWorkerToolboxRoutingPlaceholders(contents, selectedLanguageSkills, selectedFrameworkSkills, selectedArchitectureSkill, selectedWorkflowSkills = [], selectedDatabaseSkills = []) {
|
|
109
109
|
const placeholderProfiles = [
|
package/package.json
CHANGED
package/templates/AGENTS.md
CHANGED
|
@@ -35,11 +35,20 @@ Keep responses concise by default, but spend the context needed for correctness,
|
|
|
35
35
|
- Ask focused questions when needed; otherwise make reasonable assumptions and proceed.
|
|
36
36
|
- If the user wants more detail, they can ask follow-up questions.
|
|
37
37
|
|
|
38
|
+
## Judgment and honesty
|
|
39
|
+
|
|
40
|
+
- Be direct and respectful. Avoid patronizing praise, performative agreement, and over-reassurance.
|
|
41
|
+
- Do not invent certainty or provide a polished answer when important context is missing; state uncertainty, ask one focused question, or verify first.
|
|
42
|
+
- Make low-risk assumptions only when they are clearly labeled.
|
|
43
|
+
- Challenge the user when there is a clear factual, safety/security, engineering-quality, repo-instruction, product-goal, or context-reliability reason.
|
|
44
|
+
- When challenging, give a short reason and a better alternative. Do not argue preferences or nitpick style; preserve user control after material tradeoffs are acknowledged unless safety or project rules require refusal.
|
|
45
|
+
|
|
38
46
|
## Skill routing
|
|
39
47
|
|
|
40
48
|
For planned product/feature work, use this pipeline: product vision -> business domain model -> capabilities map -> deep module map / feature brief -> technical design -> optional UX -> epics/stories -> AI executor. Business Domain Model work sits after Product Vision and before the Capabilities Map. Deep Module Map and Feature Brief work are sibling downstream artifacts from Product Vision, Business Domain Model, and Capabilities Map. Technical Design remains downstream of both Feature Brief and Deep Module Map, with Scrum planning and AI executor flows after Technical Design. Narrow code fixes and small local changes do not require the full pipeline unless product scope, module ownership, or architecture direction is unclear.
|
|
41
49
|
|
|
42
50
|
- For any code-writing task, use `clean-code`.
|
|
51
|
+
- For code-writing tasks that introduce or modify logging, workflows, handlers, jobs, external calls, errors, retries, long-running operations, state changes, or other observability-relevant behavior, also use `structured-logging`.
|
|
43
52
|
- 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
53
|
- For requests to create, revise, or clarify a Business Domain Model, `docs/business-domain-model.md`, business/domain vocabulary, ubiquitous language, domain concepts, relationships, rules, lifecycles, workflows, domain events, boundaries, or hard parts, use `business-domain-model-writer`.
|
|
45
54
|
- For requests to create, revise, or clarify a Deep Module Map, deep, complexity-hiding implementation modules, module boundaries, suggested implementation modules, or `docs/deep-module-map.md`, use `deep-module-map-writer`.
|
package/templates/manifest.json
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"templateVersion": "
|
|
2
|
+
"templateVersion": "135",
|
|
3
3
|
"templates": {
|
|
4
4
|
"AGENTS.md": {
|
|
5
|
-
"version": "
|
|
5
|
+
"version": "35",
|
|
6
6
|
"description": "Project-level agent instructions and Sibu maintenance guidance.",
|
|
7
7
|
"changes": [
|
|
8
|
-
"
|
|
9
|
-
"Routes capability map, capability coverage, missing capability, and capability gap requests to capabilities-map-writer."
|
|
8
|
+
"Routes observability-relevant code-writing tasks to the structured logging skill."
|
|
10
9
|
]
|
|
11
10
|
},
|
|
12
11
|
".codex/config.toml": {
|
|
@@ -45,10 +44,10 @@
|
|
|
45
44
|
]
|
|
46
45
|
},
|
|
47
46
|
"skills/clean-code/SKILL.md": {
|
|
48
|
-
"version": "
|
|
47
|
+
"version": "6",
|
|
49
48
|
"description": "Mandatory clean-code skill installed once at the shared .agents/skills workspace path.",
|
|
50
49
|
"changes": [
|
|
51
|
-
"Adds
|
|
50
|
+
"Adds concise observability guidance that delegates detailed logging policy to structured-logging."
|
|
52
51
|
]
|
|
53
52
|
},
|
|
54
53
|
"skills/product-vision-writer/SKILL.md": {
|
|
@@ -99,17 +98,17 @@
|
|
|
99
98
|
]
|
|
100
99
|
},
|
|
101
100
|
"skills/typescript/SKILL.md": {
|
|
102
|
-
"version": "
|
|
101
|
+
"version": "2",
|
|
103
102
|
"description": "Selectable TypeScript skill installed when TypeScript language support is selected.",
|
|
104
103
|
"changes": [
|
|
105
|
-
"
|
|
104
|
+
"Routes observability-relevant TypeScript changes to the structured logging skill."
|
|
106
105
|
]
|
|
107
106
|
},
|
|
108
107
|
"skills/golang/SKILL.md": {
|
|
109
|
-
"version": "
|
|
108
|
+
"version": "2",
|
|
110
109
|
"description": "Selectable Go skill installed when Go language support is selected.",
|
|
111
110
|
"changes": [
|
|
112
|
-
"
|
|
111
|
+
"Routes observability-relevant Go changes to the structured logging skill."
|
|
113
112
|
]
|
|
114
113
|
},
|
|
115
114
|
"skills/postgresql-expert/SKILL.md": {
|
|
@@ -127,10 +126,10 @@
|
|
|
127
126
|
]
|
|
128
127
|
},
|
|
129
128
|
"skills/architecture/command-pattern/SKILL.md": {
|
|
130
|
-
"version": "
|
|
129
|
+
"version": "7",
|
|
131
130
|
"description": "Selectable architecture skill for command-oriented vertical slices using Command Pattern, Hexagonal Architecture, and DDD principles.",
|
|
132
131
|
"changes": [
|
|
133
|
-
"
|
|
132
|
+
"Routes workflow, handler, entrypoint, job, and operational outcome logging concerns to the structured logging skill."
|
|
134
133
|
]
|
|
135
134
|
},
|
|
136
135
|
"skills/nextjs/SKILL.md": {
|
|
@@ -169,17 +168,17 @@
|
|
|
169
168
|
]
|
|
170
169
|
},
|
|
171
170
|
"skills/ai-implementation-plan-executor/SKILL.md": {
|
|
172
|
-
"version": "
|
|
171
|
+
"version": "25",
|
|
173
172
|
"description": "Mandatory AI implementation plan executor gatekeeper for story execution, review, approval metadata, commit, and feature continuation.",
|
|
174
173
|
"changes": [
|
|
175
|
-
"
|
|
174
|
+
"Updates executor packet guidance to include structured logging when implementation stories touch observability-relevant code."
|
|
176
175
|
]
|
|
177
176
|
},
|
|
178
177
|
"skills/ai-implementation-executor-toolbox/SKILL.md": {
|
|
179
|
-
"version": "
|
|
178
|
+
"version": "2",
|
|
180
179
|
"description": "Worker-only executor toolbox skill for fresh-context Sibu implementation executor sub-agents.",
|
|
181
180
|
"changes": [
|
|
182
|
-
"
|
|
181
|
+
"Guides executor workers to load structured logging for observability-relevant implementation stories."
|
|
183
182
|
]
|
|
184
183
|
},
|
|
185
184
|
"skills/feature-idea-capture/SKILL.md": {
|
|
@@ -329,6 +328,15 @@
|
|
|
329
328
|
"changes": [
|
|
330
329
|
"Adds a managed Gemini SessionStart hook that checks the latest Sibu version and runs sibu doctor automatically."
|
|
331
330
|
]
|
|
331
|
+
},
|
|
332
|
+
"skills/structured-logging/SKILL.md": {
|
|
333
|
+
"version": "1",
|
|
334
|
+
"description": "Mandatory structured logging skill for safe, useful, storytelling logs in code-writing workflows.",
|
|
335
|
+
"changes": [
|
|
336
|
+
"Adds required structured logging guidance for code-writing workflows.",
|
|
337
|
+
"Defines safe, structured, storytelling log expectations while avoiding noisy logs in trivial code.",
|
|
338
|
+
"Guides agents to follow project logging conventions and use concise local logging helpers when useful."
|
|
339
|
+
]
|
|
332
340
|
}
|
|
333
341
|
}
|
|
334
342
|
}
|
|
@@ -18,7 +18,7 @@ Use only the narrow packet from the main agent. The packet must include:
|
|
|
18
18
|
- exactly one User Story path or one story-local `.impl_plan/` folder
|
|
19
19
|
- required source artifact paths: story, Epic brief, feature brief, technical design, and UX spec when the story, plan, or feature has UI impact
|
|
20
20
|
- this toolbox skill path
|
|
21
|
-
- required skill paths, including `clean-code`
|
|
21
|
+
- required skill paths, including `clean-code` and `structured-logging` when the story touches observability-relevant code
|
|
22
22
|
- optional installed skill paths relevant to the story
|
|
23
23
|
- distilled skill constraints that are binding for this execution task
|
|
24
24
|
- approval and commit rules from the main executor workflow
|
|
@@ -31,6 +31,7 @@ If a required source artifact or required skill path is missing, stop and report
|
|
|
31
31
|
## Execution rules
|
|
32
32
|
|
|
33
33
|
- Read the story, ordered step files, required source artifacts, required skills, and relevant optional installed skills before execution.
|
|
34
|
+
- If `structured-logging` is provided in the packet, apply it only to observability-relevant code paths and do not duplicate its policy in other skill guidance.
|
|
34
35
|
- Execute all unapproved step files in filename order.
|
|
35
36
|
- Keep changes inside the story scope, step scope, source artifacts, and distilled constraints.
|
|
36
37
|
- Read repository files narrowly, only as needed for the current step or validation result.
|
|
@@ -20,7 +20,7 @@ When a compatible sub-agent spawn capability is available and permitted by the h
|
|
|
20
20
|
- The story, Epic brief, feature brief, and technical design for the selected plan.
|
|
21
21
|
- `docs/features/<feature-slug>/ux.md` only when the story, any step, or feature has UI impact.
|
|
22
22
|
- The executor toolbox skill at `.agents/skills/ai-implementation-executor-toolbox/SKILL.md` when sub-agent spawning is available.
|
|
23
|
-
- Required and relevant installed skill paths for the executor packet, including `clean-code
|
|
23
|
+
- Required and relevant installed skill paths for the executor packet, including `clean-code` and `structured-logging` when the story touches observability-relevant code.
|
|
24
24
|
|
|
25
25
|
### What this skill writes
|
|
26
26
|
|
|
@@ -84,13 +84,13 @@ Build a narrow executor packet for the worker. The packet must include:
|
|
|
84
84
|
- exactly one User Story path or story-local `.impl_plan/` folder
|
|
85
85
|
- story, Epic brief, feature brief, technical design, and UX path when relevant
|
|
86
86
|
- executor toolbox path: `.agents/skills/ai-implementation-executor-toolbox/SKILL.md`
|
|
87
|
-
- required skill paths, always including `.agents/skills/clean-code/SKILL.md`
|
|
87
|
+
- required skill paths, always including `.agents/skills/clean-code/SKILL.md`, and including `.agents/skills/structured-logging/SKILL.md` when the story involves logs, workflows, handlers, jobs, external calls, errors, retries, long-running operations, state changes, or other observability-relevant behavior
|
|
88
88
|
- relevant optional installed skill paths only when applicable, such as TypeScript, React, Next.js, UX Expert, Command Pattern, DDD/Hexagonal, Layered Architecture, PostgreSQL Expert, or AI Prompt Engineer Master
|
|
89
89
|
- distilled skill constraints, including story scope, validation expectations, Deep Module boundaries, UX constraints when relevant, and “do not write approval metadata or run git commit/stash/reset”
|
|
90
90
|
- approval and commit rules: the worker may edit the working tree and run validation, but final approval metadata and commit execution remain with the main agent after explicit user approval
|
|
91
91
|
- expected output format: changed files, completed steps, validation commands/results, risks, follow-up questions, and approval state
|
|
92
92
|
|
|
93
|
-
Do not include exporter skills such as `export-to-github` or `export-to-notion` in the executor packet.
|
|
93
|
+
Do not include exporter skills such as `export-to-github` or `export-to-notion` in the executor packet. Do not include `structured-logging` for stories limited to trivial pure logic with no observability-relevant behavior.
|
|
94
94
|
|
|
95
95
|
The worker must use only the packet, the toolbox, listed skill files, source artifacts, and narrow repo inspection required for the story. Do not pass the full main conversation context.
|
|
96
96
|
|
|
@@ -112,6 +112,9 @@ entrypoint / framework adapter -> domain workflow internals that bypass the Hand
|
|
|
112
112
|
|
|
113
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
114
|
|
|
115
|
+
### Rule 6: Operational Behavior Uses Structured Logging
|
|
116
|
+
When workflows, command handlers, entrypoints, jobs, external calls, retries, state changes, or operational outcomes need logging, also use `structured-logging`. Keep this architecture guidance focused on boundaries and delegate logging policy to that skill.
|
|
117
|
+
|
|
115
118
|
---
|
|
116
119
|
|
|
117
120
|
## 4. Implementation Workflow
|
|
@@ -100,6 +100,10 @@ if (!(playlist = await playlistRepository.findById(playlistId))) {
|
|
|
100
100
|
- Match the surrounding style when it is already reasonable.
|
|
101
101
|
- Use existing project conventions unless there is a strong reason not to.
|
|
102
102
|
|
|
103
|
+
### 12. Keep operational behavior observable
|
|
104
|
+
- When code changes affect logs, workflows, handlers, jobs, external calls, errors, retries, long-running operations, state changes, or important outcomes, keep logging useful, concise, and safe.
|
|
105
|
+
- Use `structured-logging` for detailed logging guidance instead of duplicating that policy here.
|
|
106
|
+
|
|
103
107
|
## Decision rule
|
|
104
108
|
|
|
105
109
|
When unsure, prefer:
|
|
@@ -72,6 +72,9 @@ Apply this skill together with `clean-code`. Keep this skill focused on Go-speci
|
|
|
72
72
|
- Keep test cases named so failures explain themselves.
|
|
73
73
|
- Test exported behavior and important package contracts, not private implementation trivia.
|
|
74
74
|
|
|
75
|
+
### 10. Use structured logging for operational behavior
|
|
76
|
+
- When Go changes affect logs, workflows, handlers, jobs, external calls, errors, retries, state changes, or important outcomes, also use `structured-logging`.
|
|
77
|
+
|
|
75
78
|
## Decision rule
|
|
76
79
|
|
|
77
80
|
When unsure, prefer:
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: structured-logging
|
|
3
|
+
description: Use when writing or modifying code that affects logging or meaningful operational behavior, so logs stay structured, safe, useful, and concise.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Structured Logging
|
|
7
|
+
|
|
8
|
+
Use this skill when writing or modifying code that emits logs or changes meaningful operational behavior: workflows, command handlers, jobs, external calls, retries, errors, long-running operations, state changes, important outcomes, or other observability-relevant paths.
|
|
9
|
+
|
|
10
|
+
Do not add logs to trivial pure logic, noisy implementation details, or paths where a log would not help someone diagnose what happened.
|
|
11
|
+
|
|
12
|
+
## Logging approach
|
|
13
|
+
|
|
14
|
+
- Follow the repository's existing logging conventions first.
|
|
15
|
+
- If the project has no clear convention, choose a widely accepted logger for the current language, framework, and runtime.
|
|
16
|
+
- Do not introduce a new logging dependency when the repository already has a reasonable logging approach.
|
|
17
|
+
- Prefer a small first-party project-local helper or wrapper around the chosen logger when it keeps log calls concise and centralizes names, levels, formatting, or shared fields.
|
|
18
|
+
|
|
19
|
+
## Structured logs
|
|
20
|
+
|
|
21
|
+
- Use structured, machine-readable logs for meaningful events; prefer JSON when the logger/runtime supports it.
|
|
22
|
+
- Use clear event names and consistent field names.
|
|
23
|
+
- Make logs tell an operational story: what started, what decision was made, what external interaction happened, what outcome occurred, and what failed or was retried.
|
|
24
|
+
- Include useful safe metadata when available, such as operation or workflow name, request or correlation id, safe entity ids, counts, timings, state transitions, outcomes, and safe error context.
|
|
25
|
+
- Keep individual log calls small; move repeated fields or formatting into a local helper instead of spreading boilerplate through business logic.
|
|
26
|
+
|
|
27
|
+
## Safety
|
|
28
|
+
|
|
29
|
+
Never log secrets, credentials, tokens, API keys, session cookies, raw personal data, full prompts or model responses, or large user payloads. If context is useful but sensitive, log a safe identifier, count, type, or redacted summary instead.
|
|
@@ -101,6 +101,9 @@ type LoadState = {
|
|
|
101
101
|
- Do not try to force every runtime guarantee into the type system.
|
|
102
102
|
- Balance safety with readability and development speed.
|
|
103
103
|
|
|
104
|
+
### 10. Use structured logging for operational behavior
|
|
105
|
+
- When TypeScript changes affect logs, workflows, handlers, jobs, external calls, errors, retries, state changes, or important outcomes, also use `structured-logging`.
|
|
106
|
+
|
|
104
107
|
## Decision rule
|
|
105
108
|
|
|
106
109
|
When unsure, prefer:
|