@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.
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@juancr11/sibu",
3
- "version": "0.17.1",
3
+ "version": "0.19.0",
4
4
  "description": "CLI for setting up a local AI-augmented development workflow.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -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`.
@@ -1,12 +1,11 @@
1
1
  {
2
- "templateVersion": "132",
2
+ "templateVersion": "135",
3
3
  "templates": {
4
4
  "AGENTS.md": {
5
- "version": "33",
5
+ "version": "35",
6
6
  "description": "Project-level agent instructions and Sibu maintenance guidance.",
7
7
  "changes": [
8
- "Adds the Capabilities Map as a formal pipeline stage before sibling Deep Module Map and Feature Brief work.",
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": "5",
47
+ "version": "6",
49
48
  "description": "Mandatory clean-code skill installed once at the shared .agents/skills workspace path.",
50
49
  "changes": [
51
- "Adds guidance to validate required function inputs before doing work instead of silently continuing with partial defaults."
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": "1",
101
+ "version": "2",
103
102
  "description": "Selectable TypeScript skill installed when TypeScript language support is selected.",
104
103
  "changes": [
105
- "Adds an optional TypeScript skill for projects that use .ts or .tsx files."
104
+ "Routes observability-relevant TypeScript changes to the structured logging skill."
106
105
  ]
107
106
  },
108
107
  "skills/golang/SKILL.md": {
109
- "version": "1",
108
+ "version": "2",
110
109
  "description": "Selectable Go skill installed when Go language support is selected.",
111
110
  "changes": [
112
- "Adds an optional Go skill with concise, Effective Go\u2013style guidance for .go files, package APIs, interfaces, errors, receivers, concurrency, and tests."
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": "6",
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
- "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."
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": "24",
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
- "Requires the executor to spawn the Sibu implementation executor sub-agent whenever spawning is available and limits inline fallback to host capability blockers."
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": "1",
178
+ "version": "2",
180
179
  "description": "Worker-only executor toolbox skill for fresh-context Sibu implementation executor sub-agents.",
181
180
  "changes": [
182
- "Adds an executor toolbox skill with focused worker routing, ordered step execution, validation, Interactive Review Gate, and git-safety rules."
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: