AgentSkillsCN

session

掌握会话管理与协议合规相关的技能,包括依据 ADR-034 检查调查资格,以判断何时可以跳过 QA 验证。

SKILL.md
--- frontmatter
name: session
description: Skills for session management and protocol compliance including investigation eligibility checking per ADR-034 to determine when QA validation can be skipped.
license: MIT
agents:
  - orchestrator
metadata:
version: 1.0.0
model: claude-sonnet-4-5

Session Skills

Skills for session management and protocol compliance.


Quick Reference

SkillPurposeWhen to Use
Test-InvestigationEligibilityCheck if staged files qualify for investigation-only QA skipBefore committing with SKIPPED: investigation-only

Test Investigation Eligibility

Check if staged files qualify for investigation-only QA skip per ADR-034.

Triggers

  • "Check if I can skip QA"
  • "Am I eligible for investigation-only?"
  • "Verify investigation session eligibility"
  • "Can I use SKIPPED: investigation-only?"

Usage

powershell
pwsh .claude/skills/session/scripts/Test-InvestigationEligibility.ps1

Output

Returns JSON with:

FieldTypeDescription
Eligiblebooleantrue if all staged files are in allowlist
StagedFilesarrayAll staged file paths
ViolationsarrayFiles not in allowlist (empty if eligible)
AllowedPathsarrayReference list of allowed path prefixes
ErrorstringPresent only on git errors

Exit Codes

CodeMeaning
0Success (eligibility result in JSON output)

Note: The script always exits 0. Check the Eligible field in the JSON output to determine eligibility. The Error field is present when git commands fail.

Error Handling

ScenarioBehaviorOutput
Not in git repositoryReturns JSON with Eligible: falseError field explains the issue
Git command failsReturns JSON with Eligible: falseError field explains the issue
Empty staged filesReturns JSON with Eligible: trueStagedFiles is empty array
Mixed allowed/disallowed filesReturns JSON with Eligible: falseViolations lists disallowed files

Example Outputs

Eligible (investigation-only files):

json
{
  "Eligible": true,
  "StagedFiles": [".agents/sessions/2025-01-01-session-01.md"],
  "Violations": [],
  "AllowedPaths": [
    ".agents/sessions/",
    ".agents/analysis/",
    ".agents/retrospective/",
    "notes/",
    ".agents/security/"
  ]
}

Not eligible (contains code files):

json
{
  "Eligible": false,
  "StagedFiles": [
    ".agents/sessions/2025-01-01-session-01.md",
    "scripts/MyScript.ps1"
  ],
  "Violations": ["scripts/MyScript.ps1"],
  "AllowedPaths": [
    ".agents/sessions/",
    ".agents/analysis/",
    ".agents/retrospective/",
    "notes/",
    ".agents/security/"
  ]
}

Git error:

json
{
  "Eligible": false,
  "StagedFiles": [],
  "Violations": [],
  "AllowedPaths": [
    ".agents/sessions/",
    ".agents/analysis/",
    ".agents/retrospective/",
    "notes/",
    ".agents/security/"
  ],
  "Error": "Not in a git repository or git command failed"
}

Agent Workflow Integration

SESSION-PROTOCOL.md Relationship

This skill implements the verification step for Phase 2.5: QA Validation of the Session End Protocol:

text
SESSION-PROTOCOL.md (Phase 2.5: QA Validation)
                │
                ├── Feature implementation → MUST invoke qa agent
                │
                └── Investigation session → MAY skip QA
                        │
                        └── Test-InvestigationEligibility.ps1
                                │
                                ├── Eligible: true → Use "SKIPPED: investigation-only"
                                │
                                └── Eligible: false → MUST invoke qa agent

Workflow: Before Committing Investigation Work

text
1. Stage your files
   │
   └── git add .agents/sessions/... notes/...

2. Run eligibility check
   │
   └── pwsh .claude/skills/session/scripts/Test-InvestigationEligibility.ps1

3. Check output
   │
   ├── Eligible: true
   │   └── Safe to commit with "SKIPPED: investigation-only"
   │
   └── Eligible: false
       │
       ├── Check Violations array
       │   └── Either: Remove violating files from staging
       │   └── Or: Start new session for implementation work
       │
       └── Invoke qa agent for the implementation work

Integration with Session End Checklist

Use this skill to validate the QA skip condition:

markdown
### Session End (COMPLETE ALL before closing)

| Req | Step | Status | Evidence |
|-----|------|--------|----------|
| MUST | Route to qa agent (feature implementation) | [x] | `SKIPPED: investigation-only` - Verified via Test-InvestigationEligibility.ps1 |

Allowed Paths (Investigation Allowlist)

These paths qualify for investigation-only QA exemption:

PathPurpose
.agents/sessions/Session logs documenting work
.agents/analysis/Investigation outputs and findings
.agents/retrospective/Learnings and retrospective documents
notes/Cross-session context storage (Brain)
.agents/security/Security assessments and reviews

Important: This allowlist MUST match exactly with scripts/Validate-Session.ps1 $InvestigationAllowlist. The patterns are validated by Pester tests to ensure consistency.


Anti-Patterns

AvoidWhyInstead
Skipping eligibility checkMay commit ineligible files with investigation-only skipAlways run the skill before using the skip
Ignoring violationsQA exemption won't be validAddress violations or invoke qa agent
Using for code changesInvestigation-only is for analysis, not implementationStart a new session for code work
Hardcoding path checksPatterns may drift from Validate-Session.ps1Use this skill which shares the same patterns

Verification Checklist

After using this skill:

  • Skill output shows Eligible: true
  • No Violations in output
  • No Error field in output
  • Session log evidence updated with skill output

Related

ReferenceDescription
ADR-034Investigation Session QA Exemption architecture decision
SESSION-PROTOCOL.mdSession start/end requirements (Phase 2.5)
Issue #662Create QA skip eligibility check skill
Validate-Session.ps1Uses same allowlist for CI validation
Test-InvestigationEligibility.Tests.ps1Pester tests ensuring pattern consistency