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

2.2 KiB

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 skillsdocumentation, 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.