AGENT SKILL

session-init

Create protocol-compliant JSON session logs with verification-based enforcement. Autonomous operation with auto-incremented session numbers and objective derivation from git state. Use when starting any new session.

License 许可
MIT
所属仓库
loriensleafs/brain
最近更新
2026-03-11
Stars
★ 0
Forks
0

01 前言 Front Matter

name
session-init
model
claude-sonnet-4-6
agents
[ "implementer", "devops" ]
license
MIT
metadata
{ "type": "initialization", "domains": [ "session-protocol", "compliance", "automation" ], "version": "1.0.0", "timelessness": "7/10" }
description
Create protocol-compliant JSON session logs with verification-based enforcement. Autonomous operation with auto-incremented session numbers and objective derivation from git state. Use when starting any new session.

02 资源文件 11

03 SKILL.md 正文

Session Init

Create protocol-compliant session logs with verification-based enforcement.


Quick Start

Automated (Recommended)

bun run ${CLAUDE_SKILL_DIR}/scripts/new_session_log.ts

The script will:

  1. Prompt for session number and objective
  2. Auto-detect git state (branch, commit, date)
  3. Read canonical template from SESSION-PROTOCOL.md
  4. Write session log with EXACT template format
  5. Validate immediately with validate_session_json
  6. Exit nonzero on validation failure

Manual (If Needed)

/session-init

Follow the manual workflow below if the automated script doesn't meet your needs.


Triggers

Phrase Action
/session-init Create new session log
create session log Natural language activation
start new session Alternative trigger
initialize session Alternative trigger
Input Output Quality Gate
Session number, objective Validated session log file Exit code 0 from validation

When to Use

Use this skill when:

  • Starting any new work session
  • Need a protocol-compliant session log
  • Previous session log failed CI validation and need a fresh start

Use session-log-fixer instead when:

  • An existing session log has validation errors that need repair
  • CI failed with "Session protocol validation failed"

Use session-migration instead when:

  • Converting old markdown session logs to JSON format

Why This Skill Exists

Problem: Every PR starts with malformed session logs that fail CI validation.

Root Cause: Agents generate session logs from LLM memory instead of copying the canonical template from SESSION-PROTOCOL.md. This causes variations like:

  • Missing (COMPLETE ALL before closing) text in Session End header
  • Wrong heading levels (## vs ###)
  • Missing sections

Solution: Verification-based enforcement following the proven Brain initialization pattern.


Session Naming Protocol

Format: YYYY-MM-DD-session-NN.json

The script automatically generates human-readable filenames by extracting up to 5 keywords from the session objective using NLP heuristics:

  • Remove stop words: Common words like "the", "a", "to", "for" are filtered out
  • Keep domain terms: Technical verbs like "implement", "debug", "fix", "refactor" are preserved
  • Convert to kebab-case: Words are joined with hyphens for readability
  • Limit to 5 keywords: Most relevant terms from the start of the objective

Examples

Session Objective Generated Filename
"Debug recurring session validation failures" 2026-01-06-session-374-debug-recurring-session-validation-failures.md
"Implement OAuth 2.0 authentication flow" 2026-01-06-session-375-implement-oauth-authentication-flow.md
"Fix test coverage gaps in UserService" 2026-01-06-session-376-fix-test-coverage-gaps-userservice.md
"Refactor PaymentProcessor for better error handling" 2026-01-06-session-377-refactor-paymentprocessor-better-error-handling.md

Benefits

  • Human-readable discovery: Browse session history with ls .agents/sessions/ and instantly understand content
  • Grep-friendly search: Find sessions by topic with grep -l "oauth" .agents/sessions/*.json
  • Self-documenting: No need to open files to understand what each session covers
  • Chronological order: YYYY-MM-DD prefix preserves time-based sorting
  • Pattern identification: Keyword clustering reveals recurring themes across sessions

Process Overview

User Request: /session-init
    |
    v
+---------------------------------------------+
| Phase 1: GATHER INPUTS                      |
| - Prompt for session number                 |
| - Prompt for objective                      |
| - Auto-detect: date (YYYY-MM-DD)           |
| - Auto-detect: branch (git branch)         |
| - Auto-detect: commit (git log)            |
| - Auto-detect: git status                  |
+---------------------------------------------+
    |
    v
+---------------------------------------------+
| Phase 2: READ CANONICAL TEMPLATE            |
| - Read .agents/SESSION-PROTOCOL.md         |
| - Extract template (lines 494-612)         |
| - Preserve EXACT formatting                |
| - Critical: Keep "(COMPLETE ALL before     |
|   closing)" text in Session End header     |
+---------------------------------------------+
    |
    v
+---------------------------------------------+
| Phase 3: POPULATE TEMPLATE                  |
| - Replace NN with session number           |
| - Replace YYYY-MM-DD with date             |
| - Replace [branch name] with actual branch |
| - Replace [SHA] with commit hash           |
| - Replace [objective] with user input      |
| - Replace [clean/dirty] with git status    |
+---------------------------------------------+
    |
    v
+---------------------------------------------+
| Phase 4: WRITE SESSION LOG                  |
| - Generate descriptive filename with        |
|   keywords from objective                   |
| - Write to .agents/sessions/YYYY-MM-DD-    |
|   session-NN-keyword1-keyword2-...md       |
| - Preserve all template sections           |
+---------------------------------------------+
    |
    v
+---------------------------------------------+
| Phase 5: IMMEDIATE VALIDATION               |
| - Run validate_session_json             |
| - Report validation result                 |
| - If FAIL: show errors, allow retry       |
| - If PASS: confirm success                 |
+---------------------------------------------+
    |
    v
Protocol-Compliant Session Log

Workflow

Step 1: Gather Session Information

Prompt user for required inputs:

What is the session number? (e.g., 375)
What is the session objective? (e.g., "Implement session-init skill")

Auto-detect from environment:

# Current date
date +%Y-%m-%d
# or PowerShell: Get-Date -Format "yyyy-MM-dd"

# Current branch
git branch --show-current

# Starting commit
git log --oneline -1

# Git status
git status --short

Step 2: Read Canonical Template

CRITICAL: Use the new_session_log.ts script to read the template from SESSION-PROTOCOL.md.

bun run ${CLAUDE_SKILL_DIR}/scripts/new_session_log.ts

DO NOT generate the template from memory or read specific line numbers. The script extracts the canonical template dynamically:

  • Header levels (## vs ###)
  • Table structure with pipe separators
  • Checkbox format [ ]
  • Comment blocks <!-- -->
  • CRITICAL: ### Session End (COMPLETE ALL before closing) header text

Step 3: Populate Template Variables

Replace placeholders with actual values:

Placeholder Replace With
NN Session number (e.g., 375)
YYYY-MM-DD Current date
[branch name] Git branch name
[SHA] Starting commit hash
[What this session aims to accomplish] User-provided objective
[clean/dirty] Git status result

Leave these unchanged:

  • All checklist items [ ] (unchecked)
  • Evidence columns with placeholder text
  • Comment blocks

Step 4: Write Session Log File

Write the populated session log to a file with descriptive naming:

Filename Format: YYYY-MM-DD-session-NN.json

The script automatically:

  1. Extracts up to 5 keywords from the objective
  2. Filters out common stop words (the, a, to, for, etc.)
  3. Converts to kebab-case
  4. Generates human-readable filename

Example:

For objective "Debug recurring session validation failures", the filename becomes: 2026-01-06-session-374-debug-recurring-session-validation-failures.md

Construct filename: .agents/sessions/YYYY-MM-DD-session-NN.json

Example: .agents/sessions/.agents/sessions/2026-01-05-session-375.json

Write the populated template to this file.

Step 5: Validate Immediately

Run validation script:

bun run scripts/validate_session_json.ts ".agents/sessions/YYYY-MM-DD-session-NN.json"

Check exit code:

Exit Code Meaning Action
0 PASS Confirm success, agent proceeds
1 FAIL Show errors, offer to retry

Verification Checklist

Before reporting success:

  • [ ] Session number provided by user
  • [ ] Objective provided by user
  • [ ] Template read from SESSION-PROTOCOL.md (NOT generated from memory)
  • [ ] All template sections present
  • [ ] Session End header includes (COMPLETE ALL before closing)
  • [ ] File written to correct path .agents/sessions/YYYY-MM-DD-session-NN.json
  • [ ] Validation script executed
  • [ ] Validation result is PASS (exit code 0)

Anti-Patterns

Avoid Why Instead
Generating template from memory Will miss exact formatting Read from SESSION-PROTOCOL.md
Skipping validation Won't catch errors until CI Validate immediately
Hardcoding template in skill Template may change Always read from canonical source
Pre-checking boxes Defeats verification purpose Leave all unchecked
Using ## Session End Missing required text Use ### Session End (COMPLETE ALL before closing)

Example Output

Success:

Session log created and validated

  File: .agents/sessions/.agents/sessions/2026-01-05-session-375.json
  Validation: PASS
  Branch: feat/session-init
  Commit: abc1234

Next: Complete Session Start checklist in the session log

Failure:

Session log created but validation FAILED

  File: .agents/sessions/.agents/sessions/2026-01-05-session-375.json
  Validation: FAIL
  Errors:
    - Missing Session End checklist header

Run: bun run scripts/validate_session_json.ts ".agents/sessions/.agents/sessions/2026-01-05-session-375.json" 

Fix the issues and re-validate.

Related Skills

Skill Relationship
log-fixer Reactive fix after failure (this skill prevents need)
qa-eligibility QA eligibility checking (different purpose)

Scripts

Script Purpose Exit Codes
new_session_log.ts Automated session log creation with validation 0=success, 1=error
new_session_log_json.ts Simplified JSON session log creation 0=success, 1=error

Example Usage

Automated (Recommended):

# Create session log with parameters
bun run ${CLAUDE_SKILL_DIR}/scripts/new_session_log.ts --session-number 375 --objective "Implement feature X"

# Skip validation
bun run ${CLAUDE_SKILL_DIR}/scripts/new_session_log.ts --session-number 375 --objective "Implement feature X" --skip-validation

# Simplified JSON-only version
bun run ${CLAUDE_SKILL_DIR}/scripts/new_session_log_json.ts --session-number 375 --objective "Implement feature X"

References


Pattern: Verification-Based Enforcement

This skill follows the same pattern as Brain initialization:

Aspect Brain Init Session Init
Verification Tool output in transcript Validation script exit code
Feedback Immediate (tool response) Immediate (validation output)
Enforcement Cannot proceed without output Cannot claim success without pass
Compliance Rate 100% (never violated) Target: 100%

Why it works:

  • Reads canonical template from file (single source of truth)
  • Auto-populates git state (reduces manual errors)
  • Validates immediately with same script as CI (instant feedback)
  • Cannot skip validation (built into skill workflow)
  • Provides actionable error messages if validation fails

04 同仓库更多 Skills

loriensleafs
loriensleafs/brain

validation-authority

Treat upstream validators as authoritative. Align local config to them. Use when validation fails unexpectedly, before modifying validator behavior, or when tempted to change upstream tool code.

★ 0
loriensleafs
loriensleafs/brain

using-brain-memory

Guidance for using Brain semantic memory effectively. Applies Zettelkasten atomic note principles with observations and relations. Use when deciding whether to query or create notes, structuring note content, or understanding the semantic knowledge graph.

★ 0
loriensleafs
loriensleafs/brain

threat-modeling

Structured security analysis using OWASP Four-Question Framework and STRIDE methodology. Generates threat matrices with risk ratings, mitigations, and prioritization. Use for attack surface analysis, security architecture review, or when asking what can go wrong.

★ 0
loriensleafs
loriensleafs/brain

taste-lints

Custom lints with agent-readable remediation instructions. Enforces taste invariants (file size, naming conventions, structured logging, complexity) and surfaces errors that agents can act on directly. Use when writing or reviewing code to catch style violations early.

Skill与智能体开发
★ 0
loriensleafs
loriensleafs/brain

style-enforcement

Validate code against style rules from .editorconfig, StyleCop.json, and Directory.Build.props. Detects line ending violations, naming convention issues, indentation problems, and charset mismatches across C#, Python, TypeScript, and JavaScript. Produces JSON reports for pre-commit hooks and CI pipelines.

★ 0
loriensleafs
loriensleafs/brain

steering-matcher

Match file paths against steering file glob patterns to determine applicable steering guidance. Use when orchestrator needs to inject context-aware guidance based on files being modified.

★ 0