nk_jtb 0.24.0 → 0.25.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.
@@ -53,3 +53,10 @@ use `gap` instead.
53
53
  - Hardcoded values — use variables
54
54
  - Deep nesting — maximum 3 levels
55
55
  - `!important` — never use
56
+
57
+ ## Common Pitfalls
58
+
59
+ - Use JTB class names only.
60
+ - Positional spacing utilities use `pxy` / `mxy`, not `p` / `m`.
61
+ - If a class name is not confirmed in JTB docs or source, stop and check
62
+ before using it.
@@ -0,0 +1,31 @@
1
+ Build `[component]` using JTB utilities.
2
+
3
+ Invoke the `jtb-layouts-and-structures` skill before starting.
4
+
5
+ ## Output
6
+
7
+ Check `index.html` — if it contains no meaningful content, write there. If it
8
+ already has content, ask whether to add to it or create a new file.
9
+
10
+ ## Design Reference
11
+
12
+ [Attach image or describe the component.]
13
+
14
+ ## Responsive Behaviour
15
+
16
+ [Describe how this should adapt, or leave blank and Claude will ask.]
17
+
18
+ ## Target Markup
19
+
20
+ [Optional: if you have a specific markup structure in mind.]
21
+
22
+ ## Post-Build Report
23
+
24
+ After building, report only actionable items:
25
+
26
+ - **Issues** — anything that couldn't be expressed cleanly. State the problem
27
+ and what workaround was used.
28
+ - **Recommendations** — patterns or utilities that would have made the build
29
+ cleaner. Flag as candidates worth considering.
30
+
31
+ Do not report clean decisions or resolved choices.
@@ -0,0 +1,16 @@
1
+ Add `[utility name]` to the JTB framework.
2
+
3
+ Invoke the `scss-engineer` and `jtb-documentation` skills before starting.
4
+
5
+ ## What It Does
6
+
7
+ [Describe the utility and the problem it solves.]
8
+
9
+ ## API
10
+
11
+ [List the expected class names if known. Leave blank if the API shape needs to
12
+ be worked out.]
13
+
14
+ ## Notes
15
+
16
+ [Optional constraints, related utilities, or implementation notes.]
@@ -1,65 +1,65 @@
1
- Review the code changes for the NK JTB SCSS framework.
2
-
3
- Invoke the `jtb-documentation` skill before starting.
4
-
5
- ## Guidelines
6
-
7
- - **Framework Alignment:** Ensure all code strictly follows JTB conventions,
8
- naming, and architecture. Do not use Tailwind or other frameworks as reference
9
- for implementation details.
10
- - **Directory Structure:** Verify files are placed in the correct directories
11
- (`base`, `components`, `forms`, `utilities`, `mixins`, `functions`,
12
- `maps_and_variables`).
13
- - **Import Rules:** Only `@use` and `@forward` are permitted. `@import` is
14
- prohibited.
15
- - **Component Structure:** Components should provide structure only, not
16
- decoration. Styling must be handled by utilities.
17
- - **Modifiers:** Only use context-aware modifiers (e.g., `.primary`), never
18
- component-specific ones (e.g., `.btn-primary`).
19
- - **Variables:** All values must use variables or maps — no hardcoded values.
20
- - **Nesting:** No selector nesting deeper than 3 levels.
21
- - **Override Order:** Confirm the import order: base → components → forms →
22
- utilities.
23
- - **Documentation:** All new or changed code must be documented using JTB
24
- documentation conventions. Drafts go in `docs-for-review/`, finalized docs
25
- in `docs/`.
26
-
27
- ## Review Checklist
28
-
29
- 1. Does the code follow JTB naming, structure, and logical property conventions?
30
- 2. Are all values variable-driven and override-friendly?
31
- 3. Is the code placed in the correct directory and imported in the right order?
32
- 4. Is documentation provided or updated as required?
33
-
34
- Provide clear, actionable feedback. If you suggest changes, reference the
35
- specific JTB documentation section or rule.
36
-
37
- ## Skill File Review
38
-
39
- When any source-of-truth files are included in the changeset, review them for
40
- accuracy against the actual codebase.
41
-
42
- **Accuracy**
43
-
44
- - Do the documented conventions match how the SCSS actually works?
45
- - Are examples valid and runnable — not invented or outdated?
46
- - Do file paths, class names, and patterns reflect the real codebase?
47
-
48
- **Completeness**
49
-
50
- - Are new patterns or workflows introduced in this changeset documented?
51
- - Are deprecated patterns removed or flagged?
52
-
53
- **Internal Consistency**
54
-
55
- - Do the files agree with each other? Flag contradictions between skill files
56
- and documentation.
57
- - Does a change in one file require an update in another?
58
-
59
- **Scope Drift**
60
-
61
- - Do changes silently expand or restrict the skill scope without clear intent?
62
-
63
- **Output Format:**
64
- List issues grouped by file. For each issue: severity (blocking/suggestion),
65
- the violated rule, and a suggested fix.
1
+ Review the code changes for the NK JTB SCSS framework.
2
+
3
+ Invoke the `jtb-documentation` skill before starting.
4
+
5
+ ## Guidelines
6
+
7
+ - **Framework Alignment:** Ensure all code strictly follows JTB conventions,
8
+ naming, and architecture. Do not use Tailwind or other frameworks as reference
9
+ for implementation details.
10
+ - **Directory Structure:** Verify files are placed in the correct directories
11
+ (`base`, `components`, `forms`, `utilities`, `mixins`, `functions`,
12
+ `maps_and_variables`).
13
+ - **Import Rules:** Only `@use` and `@forward` are permitted. `@import` is
14
+ prohibited.
15
+ - **Component Structure:** Components should provide structure only, not
16
+ decoration. Styling must be handled by utilities.
17
+ - **Modifiers:** Only use context-aware modifiers (e.g., `.primary`), never
18
+ component-specific ones (e.g., `.btn-primary`).
19
+ - **Variables:** All values must use variables or maps — no hardcoded values.
20
+ - **Nesting:** No selector nesting deeper than 3 levels.
21
+ - **Override Order:** Confirm the import order: base → components → forms →
22
+ utilities.
23
+ - **Documentation:** All new or changed code must be documented using JTB
24
+ documentation conventions. Drafts go in `docs-for-review/`, finalized docs
25
+ in `docs/`.
26
+
27
+ ## Review Checklist
28
+
29
+ 1. Does the code follow JTB naming, structure, and logical property conventions?
30
+ 2. Are all values variable-driven and override-friendly?
31
+ 3. Is the code placed in the correct directory and imported in the right order?
32
+ 4. Is documentation provided or updated as required?
33
+
34
+ Provide clear, actionable feedback. If you suggest changes, reference the
35
+ specific JTB documentation section or rule.
36
+
37
+ ## Skill File Review
38
+
39
+ When any source-of-truth files are included in the changeset, review them for
40
+ accuracy against the actual codebase.
41
+
42
+ **Accuracy**
43
+
44
+ - Do the documented conventions match how the SCSS actually works?
45
+ - Are examples valid and runnable — not invented or outdated?
46
+ - Do file paths, class names, and patterns reflect the real codebase?
47
+
48
+ **Completeness**
49
+
50
+ - Are new patterns or workflows introduced in this changeset documented?
51
+ - Are deprecated patterns removed or flagged?
52
+
53
+ **Internal Consistency**
54
+
55
+ - Do the files agree with each other? Flag contradictions between skill files
56
+ and documentation.
57
+ - Does a change in one file require an update in another?
58
+
59
+ **Scope Drift**
60
+
61
+ - Do changes silently expand or restrict the skill scope without clear intent?
62
+
63
+ **Output Format:**
64
+ List issues grouped by file. For each issue: severity (blocking/suggestion),
65
+ the violated rule, and a suggested fix.
@@ -1,93 +1,93 @@
1
- Review the documentation for the JTB framework.
2
-
3
- Invoke the `jtb-documentation` skill before starting. Read these in full first
4
- — these define what is correct:
5
-
6
- - `introduction.md`
7
- - `docs/conventions-and-architecture-rules.md`
8
-
9
- ## Goals
10
-
11
- 1. Validate what exists — is documentation correct, consistent, and
12
- rule-compliant?
13
- 2. Identify what's missing — what is absent but expected?
14
-
15
- ## Process
16
-
17
- This review runs in three passes:
18
-
19
- 1. **Identify** — surface contradictions and gaps. Incomplete docs are expected;
20
- flag them without treating incompleteness as a failure.
21
- 2. **Triage** — decide what's worth pursuing before any work happens.
22
- 3. **Sweep** — act only on approved items.
23
-
24
- ## Scope
25
-
26
- Review only:
27
-
28
- - `docs/` — all foundational documentation
29
- - `src/maps_and_variables/` — all variable and configuration files
30
-
31
- Do not review:
32
-
33
- - `src/mixins/` — build system internals
34
- - `src/functions/` — build system internals
35
- - `src/base/` — output layer
36
-
37
- ## Review Questions
38
-
39
- ### Validation
40
-
41
- 1. Do the variable files in `src/maps_and_variables/` match what the
42
- conventions doc describes?
43
- 2. Do all final maps follow the `-map` suffix rule?
44
- 3. Is the three-map pattern applied consistently across all variable files?
45
- 4. Is `smart-merge` order correct — variants first, values second?
46
- 5. Are `!default` flags present where the conventions require them?
47
- 6. Do the breakpoint values in `_base.scss` match what `responsive-design.md`
48
- describes?
49
- 7. Does `index.scss` forward all expected files?
50
-
51
- ### Gap Identification
52
-
53
- 1. Are there variable files with no corresponding documentation?
54
- 2. Are there conventions described in the docs with no implementation in
55
- `src/maps_and_variables/`?
56
-
57
- ## Priority Definitions
58
-
59
- - `critical` — contradicts a source of truth or produces incorrect guidance.
60
- Must fix.
61
- - `high` — likely causes confusion, inconsistency, or future breakage. Should
62
- fix.
63
- - `low` — style, preference, or minor improvement. Fix if you want.
64
- - `missing` — expected content that isn't there.
65
-
66
- ## Output Requirements
67
-
68
- - Be direct and critical.
69
- - Do not praise unnecessarily.
70
- - Separate findings by type clearly.
71
- - Suggest improvements with trade-offs.
72
- - If something is unclear or inconsistent, call it out explicitly.
73
-
74
- Write results to `review-docs-run1.md` in the project root.
75
-
76
- Use these sections in order:
77
-
78
- - **Confirmed Issues** — rule violations, bugs, mismatches
79
- - **Gaps** — missing docs, tests, examples, or conventions
80
- - **Findings** — observations that don't rise to issues
81
- - **Pass** — if no confirmed issues: `No blocking issues found.`
82
-
83
- For every confirmed issue use this format:
84
-
85
- **Issue title** · `critical/high/low`
86
- `file:line`
87
- Rule: brief quote
88
- Fix: one line
89
-
90
- For every gap use this format:
91
-
92
- **Gap title** · `missing`
93
- What's absent and where it's expected.
1
+ Review the documentation for the JTB framework.
2
+
3
+ Invoke the `jtb-documentation` skill before starting. Read these in full first
4
+ — these define what is correct:
5
+
6
+ - `introduction.md`
7
+ - `docs/conventions-and-architecture-rules.md`
8
+
9
+ ## Goals
10
+
11
+ 1. Validate what exists — is documentation correct, consistent, and
12
+ rule-compliant?
13
+ 2. Identify what's missing — what is absent but expected?
14
+
15
+ ## Process
16
+
17
+ This review runs in three passes:
18
+
19
+ 1. **Identify** — surface contradictions and gaps. Incomplete docs are expected;
20
+ flag them without treating incompleteness as a failure.
21
+ 2. **Triage** — decide what's worth pursuing before any work happens.
22
+ 3. **Sweep** — act only on approved items.
23
+
24
+ ## Scope
25
+
26
+ Review only:
27
+
28
+ - `docs/` — all foundational documentation
29
+ - `src/maps_and_variables/` — all variable and configuration files
30
+
31
+ Do not review:
32
+
33
+ - `src/mixins/` — build system internals
34
+ - `src/functions/` — build system internals
35
+ - `src/base/` — output layer
36
+
37
+ ## Review Questions
38
+
39
+ ### Validation
40
+
41
+ 1. Do the variable files in `src/maps_and_variables/` match what the
42
+ conventions doc describes?
43
+ 2. Do all final maps follow the `-map` suffix rule?
44
+ 3. Is the three-map pattern applied consistently across all variable files?
45
+ 4. Is `smart-merge` order correct — variants first, values second?
46
+ 5. Are `!default` flags present where the conventions require them?
47
+ 6. Do the breakpoint values in `_base.scss` match what `responsive-design.md`
48
+ describes?
49
+ 7. Does `index.scss` forward all expected files?
50
+
51
+ ### Gap Identification
52
+
53
+ 1. Are there variable files with no corresponding documentation?
54
+ 2. Are there conventions described in the docs with no implementation in
55
+ `src/maps_and_variables/`?
56
+
57
+ ## Priority Definitions
58
+
59
+ - `critical` — contradicts a source of truth or produces incorrect guidance.
60
+ Must fix.
61
+ - `high` — likely causes confusion, inconsistency, or future breakage. Should
62
+ fix.
63
+ - `low` — style, preference, or minor improvement. Fix if you want.
64
+ - `missing` — expected content that isn't there.
65
+
66
+ ## Output Requirements
67
+
68
+ - Be direct and critical.
69
+ - Do not praise unnecessarily.
70
+ - Separate findings by type clearly.
71
+ - Suggest improvements with trade-offs.
72
+ - If something is unclear or inconsistent, call it out explicitly.
73
+
74
+ Write results to `review-docs-run1.md` in the project root.
75
+
76
+ Use these sections in order:
77
+
78
+ - **Confirmed Issues** — rule violations, bugs, mismatches
79
+ - **Gaps** — missing docs, tests, examples, or conventions
80
+ - **Findings** — observations that don't rise to issues
81
+ - **Pass** — if no confirmed issues: `No blocking issues found.`
82
+
83
+ For every confirmed issue use this format:
84
+
85
+ **Issue title** · `critical/high/low`
86
+ `file:line`
87
+ Rule: brief quote
88
+ Fix: one line
89
+
90
+ For every gap use this format:
91
+
92
+ **Gap title** · `missing`
93
+ What's absent and where it's expected.
@@ -88,8 +88,8 @@ Rules:
88
88
  - Keep review notes, implementation commentary, and TODOs out of the main doc.
89
89
  - Group examples by usage, not by SCSS implementation detail.
90
90
  - Use `+demo-folded class="bx"` for interactive examples.
91
- - Use `preview-class="..."` for preview-only layout or styling so copied code
92
- stays clean.
91
+ - Use `preview-class="..."` for visual aids in the docs so they do not affect
92
+ the code being copied.
93
93
  - Use `class="..."` for the outer demo wrapper when the preview needs a
94
94
  container such as `bx`.
95
95
 
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: jtb-layouts-and-structures
3
+ description: >-
4
+ Use this skill whenever making layout or structural decisions — choosing
5
+ between grid and flex, building page shells, or structuring internal
6
+ component layouts. Do not wait for an explicit request — if layout or
7
+ structural decisions are being made, this skill applies.
8
+ ---
9
+
10
+ For layout or responsive work, read:
11
+
12
+ - `docs/responsive-design.md`
13
+ - `docs/layouts-and-structures.md`
14
+
15
+ ## Scope
16
+
17
+ Use this skill for structural layout decisions:
18
+
19
+ - page shells
20
+ - layout patterns
21
+ - reusable internal structures
22
+ - split layouts
23
+ - grid vs flex choices
24
+ - container and width strategy
25
+ - responsive visibility strategy
26
+
27
+ Do not use this skill for general documentation or for framework-internals work.
28
+
29
+ ## Decision Order
30
+
31
+ 1. Classify the problem first — page-level layout or internal component
32
+ structure?
33
+ 2. Choose the right primitive:
34
+ - `grid` with `cols-*` for column-based structures
35
+ - `flex` for linear, single-axis arrangements
36
+ - `container-*` for width and placement
37
+ 3. Build mobile-first. Add responsive enhancements with `{bp}:` prefixes.
38
+ 4. Only escalate to custom solutions when documented primitives cannot express
39
+ the need cleanly.
40
+
41
+ ## Markup
42
+
43
+ - Do not add `data-*` attributes unless explicitly requested.
44
+
45
+ ## Rules
46
+
47
+ - Prefer mobile-first base layouts with responsive enhancement.
48
+ - Treat `container-*` as a layout primitive with built-in inline gutter. Do not
49
+ add extra horizontal padding on the same element.
50
+ - Let the component own its internal padding. Use the container for width and
51
+ placement only.
52
+ - Default section rhythm:
53
+ - `py-4-3-2` for standard sections
54
+ - `py-5-3-2` for more prominent sections
55
+ - Use `{bp}:` for progressive layout changes.
56
+ - Use `to-` and `on-` primarily for visibility windows, not layout progression.
@@ -9,8 +9,45 @@ description: >-
9
9
 
10
10
  Read `docs/conventions-and-architecture-rules.md` before starting.
11
11
 
12
+ ## General Rules
13
+
14
+ - Check existing source, docs, and `framework-status.md` before adding a new
15
+ framework API so you extend or formalise instead of duplicating.
16
+ - If formalising an existing helper requires a structural decision, stop and
17
+ discuss it before proceeding. Examples: doc home, utility family scope, and
18
+ what to do with related experimental variants.
19
+ - Do not invent variants, scales, or an expanded utility family. If the work
20
+ suggests them, stop and discuss the API first. Default to the smallest useful
21
+ addition.
22
+ - Extend an existing domain file in `src/utilities/` or `src/components/`
23
+ before creating a new partial.
24
+ - Prefer the build system (`build-classes`, `build-composite-classes`,
25
+ `child-combinator`) over hand-written selectors when the pattern fits.
26
+ - Add or extend variables/maps in `src/maps_and_variables/` only when the new
27
+ API needs reusable configuration or scale values.
28
+
12
29
  ## Component Workflow
13
30
 
14
- 1. Add variables to `src/maps_and_variables/_components.scss`.
15
- 2. Create the component file in `src/components/`.
16
- 3. Export via `src/components/index.scss`.
31
+ 1. Add variables to `src/maps_and_variables/_components.scss` only if the
32
+ component needs framework-level configuration.
33
+ 2. Create or update the component file in `src/components/`.
34
+ 3. Export via `src/components/index.scss` if this is a new component file.
35
+ 4. Invoke `jtb-documentation` to document the component.
36
+ 5. Update `framework-status.md` when the component or its docs change status.
37
+
38
+ ## Utility Workflow
39
+
40
+ 1. Choose the correct existing utility partial in `src/utilities/`. Create a
41
+ new partial only when the utility introduces a new domain.
42
+ 2. If the utility fits the build system, implement it with `build-classes` or
43
+ `build-composite-classes` rather than ad hoc selectors.
44
+ 3. Use `child-combinator` for direct-child utilities such as spacing or
45
+ dividers instead of duplicating selector logic by hand.
46
+ 4. Add or extend variables/maps only when the utility exposes real framework
47
+ configuration. Fixed helpers can stay local to the utility partial.
48
+ 5. If the utility already exists as an informal helper, formalise or migrate it
49
+ instead of creating a duplicate implementation.
50
+ 6. Keep related variants together in the same domain partial. Do not formalise
51
+ one variant while leaving related variants behind in a different home.
52
+ 7. Invoke `jtb-documentation` to document the utility.
53
+ 8. Update `framework-status.md` when the utility or its docs change status.