Files
NotAlterra/skills/session-protocol/SKILL.md
T

50 lines
2.2 KiB
Markdown

# Session Protocol
How to structure and execute each development session efficiently.
## Initialization
1. **Full project scan first** — read the build file, all source files,
tests, docs. Ensures the full codebase is understood before making changes.
2. **Check version control status** — identify any uncommitted work from
prior sessions.
3. **Load companion skills**`documentation`, `release-workflow`,
`testing-fuzzing`, `privacy-security`, `ci-cd-pipeline`.
## Grav / CSS Troubleshooting
When a CSS rule targeting `.class-name` on the body won't apply despite the
class being in the page's YAML frontmatter, check **page inheritance**.
Grav child pages inherit settings from parent pages. If a parent page
(e.g. `02.projects/default.md`) has a different or conflicting
`body_classes`, the child's class may be overridden despite appearing
correct in the child's own frontmatter.
**Quick check sequence:**
1. Confirm the class appears in the actual rendered `<body>` tag — not just
in the YAML (`curl -s <page> | grep -o '<body[^>]*>'`)
2. If the class is missing from the rendered body, check the parent page's
`body_classes` at each level of the hierarchy
3. Ensure parent and child pages use identical `body_classes` values, or
the child explicitly overrides
This saved hours of debugging. Check hierarchical YAML overrides before
assuming a CSS specificity problem.
## Task Protocol
1. **Impact analysis before code** — list every file and call site that needs
to change. Present for validation before writing code.
2. **One feature per cycle** — one logical change per commit. Batch docs,
changelog, and version metadata with the feature.
3. **Call site audit on completion** — verify every reference is updated.
Build + test + lint before declaring done.
4. **Draft release cycle** — commit → push → tag → CI builds draft →
user tests → publish. Never ship without draft testing.
5. **`[skip ci]` on trivial commits** — changelog, governance, documentation-only
commits skip the full CI `check` run. Include `[skip ci]` in the commit
message to save CI minutes on housekeeping changes. Omit for any commit
that touches `Cargo.toml`, `Cargo.lock`, `deny.toml`, or source files.