session-log-fixer
Fix session protocol validation failures in GitHub Actions. Use when a PR fails with "Session protocol validation failed", "MUST requirement(s) not met", "NON_COMPLIANT" verdict, or "Aggregate Results" job failure in the Session Protocol Validation workflow. With deterministic validation, failures show exact missing requirements directly in Job Summary.
- License 许可
- MIT
- 最近更新
- 2026-03-11
- Stars
- ★ 0
- Forks
- 0
01 前言 Front Matter
- name
- session-log-fixer
- model
- claude-sonnet-4-5
- agents
- [ "implementer" ]
- license
- MIT
- metadata
- { "type": "diagnostic-fixer", "domains": [ "ci", "session-protocol", "compliance", "github-actions" ], "version": "3.0.0", "timelessness": "high" }
- description
- Fix session protocol validation failures in GitHub Actions. Use when a PR fails with "Session protocol validation failed", "MUST requirement(s) not met", "NON_COMPLIANT" verdict, or "Aggregate Results" job failure in the Session Protocol Validation workflow. With deterministic validation, failures show exact missing requirements directly in Job Summary.
02 资源文件 9
- 许可证LICENSE1.1 KB
- 参考文档references/ci-debugging-patterns.md3.7 KB
- 参考文档references/common-fixes.md4.6 KB
- 参考文档references/template-sections.md4.9 KB
- 脚本scripts/get_validation_errors.ts5.5 KB
- 参考文档SOURCE.md354 B
- 参考文档templates/README_ARTIFACT.md1.7 KB
- 脚本tests/test_get_validation_errors.ts1.2 KB
- 参考文档TRUST.auto.yaml2.1 KB
03 SKILL.md 正文
Session Log Fixer
Fix session protocol validation failures using deterministic validation feedback from Job Summary.
Quick Start
Just tell me what failed:
session-log-fixer: fix run 20548622722
or
my PR failed session validation, please fix it
The skill will read the Job Summary from the failed run, identify the non-compliant session file, and apply the necessary fixes.
Triggers
| Trigger Phrase | Operation |
|---|---|
fix session validation failure |
Detect and fix session log issues |
session protocol failed in CI |
Read Job Summary and apply fixes |
fix the failing session check |
Context-aware CI failure resolution |
NON_COMPLIANT session log |
Direct from CI validation output |
my PR failed session validation |
Natural language activation |
| Input | Output | Quality Gate |
|---|---|---|
| Run ID or PR number | Fixed session file with commit | CI re-run passes |
When to Use
Use this skill when:
- A PR fails the "Session Protocol Validation" GitHub Actions workflow
- Job Summary shows NON_COMPLIANT verdict or MUST requirement failures
- You need to fix session log structure to pass CI validation
Use session-init instead when:
- Starting a new session (prevents needing this skill at all)
- Creating a session log from scratch rather than fixing an existing one
Process Overview
GitHub Actions Failure
│
▼
┌───────────────────────────────────────────────────┐
│ Phase 1: READ JOB SUMMARY │
│ • Extract run ID from URL or PR │
│ • Read Job Summary from GitHub Actions │
│ • Identify NON_COMPLIANT session files │
│ • Parse specific missing requirements │
│ • View detailed validation results │
├───────────────────────────────────────────────────┤
│ Phase 2: ANALYZE │
│ • Read failing session file │
│ • Read SESSION-PROTOCOL.md template │
│ • Diff current vs required structure │
│ • Identify specific missing elements │
├───────────────────────────────────────────────────┤
│ Phase 3: FIX │
│ • Apply fixes based on Job Summary details │
│ • Copy template sections exactly │
│ • Add evidence to verification steps │
│ • Validate fix locally with validate_session_json.ts │
├───────────────────────────────────────────────────┤
│ Phase 4: VERIFY │
│ • Commit and push changes │
│ • Monitor re-run status │
│ • Confirm COMPLIANT verdict in new Job Summary │
└───────────────────────────────────────────────────┘
│
▼
Passing CI
Workflow
Step 1: Read Job Summary
Option A: Use the script (recommended)
# By run ID
bun run ${CLAUDE_SKILL_DIR}/scripts/get_validation_errors.ts --run-id 20548622722
# By PR number
bun run ${CLAUDE_SKILL_DIR}/scripts/get_validation_errors.ts --pull-request 799
Option B: Manual (web UI)
Navigate to the failed GitHub Actions run and click the Summary tab. The Session Protocol Compliance Report shows:
- Overall Verdict - PASS or CRITICAL_FAIL
- Compliance Summary - Table with each session file, verdict, and MUST failure count
- Detailed Validation Results - Expandable sections showing exact failures
Example Job Summary output:
## Session Protocol Compliance Report
> [!CAUTION]
> ❌ **Overall Verdict: CRITICAL_FAIL**
>
> 1 MUST requirement(s) not met. These must be addressed before merge.
### Compliance Summary
| Session File | Verdict | MUST Failures |
|:-------------|:--------|:-------------:|
| `2025-12-29-session-11.md` | ❌ NON_COMPLIANT | 1 |
### Detailed Validation Results
Click each session to see the complete validation report with specific requirement failures.
<details>
<summary>? 2025-12-29-session-11</summary>
| Check | Level | Status | Issues |
|-------|-------|--------|--------|
| SessionLogExists | MUST | PASS | - |
| ProtocolComplianceSection | MUST | FAIL | Missing 'Protocol Compliance' section |
| MustRequirements | MUST | PASS | - |
| HandoffUpdated | MUST | PASS | - |
...
</details>
The detailed results tell you exactly which MUST requirements failed.
Step 2: Local Validation (Optional)
Validate locally before pushing:
bun run scripts/validate_session_json.ts ".agents/sessions/<session-file>.json"
This uses the same script as CI, so results match exactly.
Step 3: Read Failing Session
Session files are at .agents/sessions/YYYY-MM-DD-session-NN-*.md
Identify what's missing by comparing against the Protocol Compliance section structure.
Step 4: Read Protocol Template
Read .agents/SESSION-PROTOCOL.md to get the canonical checklist templates for:
- Session Start (COMPLETE ALL before work)
- Session End (COMPLETE ALL before closing)
CRITICAL: Copy the exact table structure. Do not recreate from memory.
Step 5: Apply Fixes
Common fixes by failure type:
| Failure | Fix |
|---|---|
| Missing Session Start table | Copy template from SESSION-PROTOCOL.md |
| Missing Session End table | Copy template from SESSION-PROTOCOL.md |
| "Pending commit" | Replace with actual commit SHA from gh pr view |
| Empty evidence column | Add evidence text: "Tool output present", "Content in context", or "Commit SHA: abc1234" |
| Unchecked MUST | Mark [x] with evidence, or mark [N/A] with justification if truly not applicable |
For SHOULD requirements: Use [N/A] when not applicable. Use [x] with evidence when completed.
For MUST requirements: Never leave unchecked without explanation.
Step 6: Commit
git add ".agents/sessions/<session-file>.md"
git commit -m "docs: fix session protocol compliance for <session-name>
Add missing <what was missing> to satisfy session protocol validation."
git push
Step 7: Verify
gh run list --branch "$(git branch --show-current)" --limit 3
gh run view <new-run-id> --json conclusion
Check the Job Summary tab again. If validation still fails, the detailed results show what's still missing.
Verification Checklist
After applying fixes:
- [ ] Session file has Session Start Protocol table
- [ ] Session file has Session End Protocol table
- [ ] All MUST requirements are marked
[x]with evidence - [ ] No "pending" or placeholder text in evidence column
- [ ] Commit SHA is real (not "pending commit")
- [ ] Push succeeded without conflicts
- [ ] New workflow run triggered
- [ ] Job Summary shows COMPLIANT verdict
Anti-Patterns
| Avoid | Why | Instead |
|---|---|---|
| Recreating tables from memory | Will miss exact structure | Copy from SESSION-PROTOCOL.md |
| Marking MUST as N/A without justification | Validation will fail | Provide specific justification |
| Using placeholder evidence | Validators detect these | Use real evidence text |
| Fixing without checking Job Summary | May miss actual failure | Always check Job Summary first |
| Ignoring SHOULD requirements | Creates future tech debt | Mark appropriately |
Troubleshooting
| Problem | Solution |
|---|---|
gh run view fails |
Verify run ID is correct, check authentication |
| Can't find Job Summary | Click "Summary" tab at top of workflow run page |
| Job Summary unclear | Expand detailed validation results for specifics |
| Fix didn't work | Check new Job Summary for remaining issues |
| Wrong session file | Verify branch matches PR, check for multiple session files |
| Local validation differs from CI | Ensure you're using latest SESSION-PROTOCOL.md |
Scripts
| Script | Purpose | Exit Codes |
|---|---|---|
| get_validation_errors.ts | Extract validation errors from GitHub Actions Job Summary | 0=success, 1=run not found, 2=no errors found |
Example Usage
# Get errors by run ID
bun run ${CLAUDE_SKILL_DIR}/scripts/get_validation_errors.ts --run-id 20548622722
# Get errors by PR number
bun run ${CLAUDE_SKILL_DIR}/scripts/get_validation_errors.ts --pull-request 799
Related Skills
| Skill | Relationship |
|---|---|
| session-init | Prevents need for this skill by correct initialization |
| analyze | Deep investigation when fixes aren't obvious |
References
- Common Fixes - Fix patterns for common failures
- Template Sections - Copy-paste ready templates
- CI Debugging Patterns - Advanced job-level diagnostics
validate_session_json.ts- Deterministic validation script
04 同仓库更多 Skills
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.
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.
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.
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.
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.
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.