Session management and protocol compliance skills. Use Test-InvestigationEligibility to check if staged files qualify for investigation-only QA skip per ADR-034 before committing with 'SKIPPED investigation-only' verdict.
Verifies staged files qualify for investigation-only QA skip per protocol before committing.
/plugin marketplace add rjmurillo/ai-agents/plugin install project-toolkit@ai-agentsThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Skills for session management and protocol compliance.
| Phrase | Action |
|---|---|
Check if I can skip QA | Run test_investigation_eligibility.py |
Am I eligible for investigation-only? | Verify staged files against ADR-034 allowlist |
Verify investigation session eligibility | Check QA skip eligibility before commit |
Can I use SKIPPED: investigation-only? | Validate investigation-only exemption |
Test eligibility for QA skip | Execute eligibility check script |
Use this skill when:
Use session-init instead when:
Use the qa agent instead when:
| Step | Action | Tool | Output |
|---|---|---|---|
| 1.1 | Stage files for commit | git add | Files added to staging area |
| 1.2 | Run eligibility check | test_investigation_eligibility.py | JSON with Eligible, StagedFiles, Violations |
| 1.3 | Verify Eligible=true | Parse JSON output | Boolean result |
| Step | Action | Condition | Next Step |
|---|---|---|---|
| 2.1 | Proceed with investigation-only skip | Eligible=true, Violations=[] | Use "SKIPPED: investigation-only" |
| 2.2 | Address violations or invoke qa agent | Eligible=false | Fix violations or start new session |
| Skill | Purpose | When to Use |
|---|---|---|
| Test-InvestigationEligibility | Check if staged files qualify for investigation-only QA skip | Before committing with SKIPPED: investigation-only |
Check if staged files qualify for investigation-only QA skip per ADR-034.
python3 .claude/skills/session/scripts/test_investigation_eligibility.py
Returns JSON with:
| Field | Type | Description |
|---|---|---|
Eligible | boolean | true if all staged files are in allowlist |
StagedFiles | array | All staged file paths |
Violations | array | Files not in allowlist (empty if eligible) |
AllowedPaths | array | Reference list of allowed path prefixes |
Error | string | Present only on git errors |
| Code | Meaning |
|---|---|
| 0 | Success (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.
| Scenario | Behavior | Output |
|---|---|---|
| Not in git repository | Returns JSON with Eligible: false | Error field explains the issue |
| Git command fails | Returns JSON with Eligible: false | Error field explains the issue |
| Empty staged files | Returns JSON with Eligible: true | StagedFiles is empty array |
| Mixed allowed/disallowed files | Returns JSON with Eligible: false | Violations lists disallowed files |
Eligible (investigation-only files):
{
"Eligible": true,
"StagedFiles": [".agents/sessions/2025-01-01-session-01.md"],
"Violations": [],
"AllowedPaths": [
".agents/sessions/",
".agents/analysis/",
".agents/retrospective/",
".serena/memories/",
".agents/security/"
]
}
Not eligible (contains code files):
{
"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/",
".serena/memories/",
".agents/security/"
]
}
Git error:
{
"Eligible": false,
"StagedFiles": [],
"Violations": [],
"AllowedPaths": [
".agents/sessions/",
".agents/analysis/",
".agents/retrospective/",
".serena/memories/",
".agents/security/"
],
"Error": "Not in a git repository or git command failed"
}
This skill implements the verification step for Phase 2.5: QA Validation of the Session End Protocol:
SESSION-PROTOCOL.md (Phase 2.5: QA Validation)
│
├── Feature implementation → MUST invoke qa agent
│
└── Investigation session → MAY skip QA
│
└── test_investigation_eligibility.py
│
├── Eligible: true → Use "SKIPPED: investigation-only"
│
└── Eligible: false → MUST invoke qa agent
1. Stage your files
│
└── git add .agents/sessions/... .serena/memories/...
2. Run eligibility check
│
└── python3 .claude/skills/session/scripts/test_investigation_eligibility.py
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
Use this skill to validate the QA skip condition:
### Session End (COMPLETE ALL before closing)
| Req | Step | Status | Evidence |
|-----|------|--------|----------|
| MUST | Route to qa agent (feature implementation) | [x] | `SKIPPED: investigation-only` - Verified via test_investigation_eligibility.py |
These paths qualify for investigation-only QA exemption:
| Path | Purpose |
|---|---|
.agents/sessions/ | Session logs documenting work |
.agents/analysis/ | Investigation outputs and findings |
.agents/retrospective/ | Learnings and retrospective documents |
.serena/memories/ | Cross-session context storage |
.agents/security/ | Security assessments and reviews |
Important: This allowlist is defined by ADR-034 (Investigation Session QA Exemption). The patterns in test_investigation_eligibility.py are validated by Pester tests to ensure they match the ADR specification.
| Avoid | Why | Instead |
|---|---|---|
| Skipping eligibility check | May commit ineligible files with investigation-only skip | Always run the skill before using the skip |
| Ignoring violations | QA exemption won't be valid | Address violations or invoke qa agent |
| Using for code changes | Investigation-only is for analysis, not implementation | Start a new session for code work |
| Hardcoding path checks | Patterns may drift from ADR-034 specification | Use this skill which implements the ADR patterns |
After using this skill:
Eligible: trueViolations in outputError field in outputChecks if staged files qualify for investigation-only QA skip per ADR-034.
python3 .claude/skills/session/scripts/test_investigation_eligibility.py
| Reference | Description |
|---|---|
| ADR-034 | Investigation Session QA Exemption architecture decision |
| SESSION-PROTOCOL.md | Session start/end requirements (Phase 2.5) |
| Issue #662 | Create QA skip eligibility check skill |
| validate_session_json.py | Validates session JSON format (separate from eligibility) |
| test_investigation_eligibility.py | Pytest tests ensuring pattern consistency |
Activates when the user asks about AI prompts, needs prompt templates, wants to search for prompts, or mentions prompts.chat. Use for discovering, retrieving, and improving prompts.
Search, retrieve, and install Agent Skills from the prompts.chat registry using MCP tools. Use when the user asks to find skills, browse skill catalogs, install a skill for Claude, or extend Claude's capabilities with reusable AI agent components.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.