Skip to content
Back to skills

Plans

ASecurity

Add a QA (functional validation) skill to `cc-plugin/base/` that captures test evidence (screenshots, recordings, links) and produces QA reports in `thoughts/*/qa/`. The skill works standalone and integrates into the existing skill chain via optional per-phase QA specs in plans and handoff additions to verify/review.

  • 36 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 7, 2026
ai-agentspythongobashtestingapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 21 files and shows the line behind each finding

Scanned October 7, 2026

npx -y skills add desplega-ai/ai-toolbox --skill plans --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Plans?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Plans
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/desplega-ai-plans-ai-toolbox/badge)](https://www.skillsdirectory.com/skills/desplega-ai-plans-ai-toolbox)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
date: 2026-03-16T14:00:00Z
planner: claude
branch: main
repository: ai-toolbox
topic: "QA Skill for cc-plugin/base — Implementation Plan"
tags: [plan, qa, skill, cc-plugin, desplega, testing]
status: completed
autonomy: critical
source_research: thoughts/taras/research/2026-03-16-qa-skill.md
last_updated: 2026-03-16
last_updated_by: claude
---

# QA Skill for cc-plugin/base — Implementation Plan

## Overview

Add a QA (functional validation) skill to `cc-plugin/base/` that captures test evidence (screenshots, recordings, links) and produces QA reports in `thoughts/*/qa/`. The skill works standalone and integrates into the existing skill chain via optional per-phase QA specs in plans and handoff additions to verify/review.

## Current State Analysis

The base plugin has 8 skills: brainstorming, researching, planning, tdd-planning, implementing, phase-running, verifying, reviewing. There is **no QA skill**. The `validate-thoughts.py` hook blocks writes to any subdirectory other than `research/`, `plans/`, and `brainstorms/`. The reviewing skill classifies documents by path but has no `/qa/` entry. The verifying skill hands off only to `/review`.

### Key Discoveries:
- `cc-plugin/base/hooks/validate-thoughts.py:29-61` — Hook blocks `qa/` subdirectory writes; needs new pattern + branch
- `cc-plugin/base/skills/reviewing/SKILL.md:63-70` — Path classification table; needs `/qa/` row
- `cc-plugin/base/skills/reviewing/SKILL.md:176-198` — Type-specific handoffs; needs QA option for plans
- `cc-plugin/base/skills/verifying/SKILL.md:142` — Hands off to `/review`; needs `/qa` option
- `cc-plugin/base/skills/implementing/SKILL.md:94` — Invokes phase-running; needs QA spec awareness
- `cc-plugin/base/skills/phase-running/SKILL.md:79-112` — Report format; needs QA spec status
- `cc-plugin/base/skills/planning/SKILL.md:153-168` — Phase writing section; needs QA Spec guidance
- `cc-plugin/base/.claude-plugin/plugin.json:4` — Version `1.5.1`; bump to `1.6.0`
- All commands follow thin-wrapper pattern: frontmatter → parse flags → invoke skill
- All skills follow consistent structure: Working Agreement → Autonomy → Process Steps → Review Integration → Handoff

## Desired End State

- A `/qa` command that invokes a new `desplega:qa` skill
- QA reports persisted at `thoughts/*/qa/YYYY-MM-DD-<topic>.md` with rich evidence (screenshots, videos, links)
- Optional `### QA Spec` sections in plan phases, executed during implementation
- Phase-running agents report QA spec status (`passed`/`pending`/`n/a`)
- Reviewing skill can review QA documents with type-specific criteria
- Verifying skill offers QA as a handoff option
- Plugin version bumped to 1.6.0

## Quick Verification Reference

Common commands to verify the implementation:
- Validate hook: `python3 cc-plugin/base/hooks/validate-thoughts.py` (via stdin JSON)
- Check file exists: `ls cc-plugin/base/skills/qa/SKILL.md`
- Check command exists: `ls cc-plugin/base/commands/qa.md`
- Check template exists: `ls cc-plugin/base/skills/qa/template.md`
- Grep for QA refs: `grep -r "qa" cc-plugin/base/skills/ --include="*.md" -l`

Key files to check:
- `cc-plugin/base/skills/qa/SKILL.md` (new)
- `cc-plugin/base/skills/qa/template.md` (new)
- `cc-plugin/base/commands/qa.md` (new)
- `cc-plugin/base/hooks/validate-thoughts.py` (modified)
- `cc-plugin/base/.claude-plugin/plugin.json` (modified)

## What We're NOT Doing

- **Not building a test runner** — QA uses existing tools (qa-use, manual testing), not a new framework
- **Not modifying brainstorming or researching skills** — QA integrates only downstream from planning
- **Not creating a `/qa-use` command wrapper** — The skill uses qa-use if available, but doesn't wrap it
- **Not making QA specs mandatory in plans** — They're explicitly optional per phase
- **Not adding `qa/` directories upfront** — They get created when the first QA report is written

## Implementation Approach

Six phases, ordered by dependency: first unblock the hook and create scaffolding, then build the core skill, then integrate into the chain from planning → implementing → phase-running → reviewing → verifying, and finally bump the version.

Each phase touches a focused set of files to keep changes reviewable. Phases 3–5 (integrations) are independent of each other but all depend on Phase 2.

---

## Phase 1: Foundation (Hook + Template + Command)

### Overview
Unblock `qa/` directory in the validate-thoughts hook, create the QA document template, and create the `/qa` command wrapper. This enables the QA skill to write files and establishes the command entry point.

### Changes Required:

#### 1. Update validate-thoughts.py hook
**File**: `cc-plugin/base/hooks/validate-thoughts.py`
**Changes**:
- Add `qa_pattern` regex at line ~32 (after `brainstorms_pattern`):
  ```python
  qa_pattern = r'thoughts/[^/]+/qa/\d{4}-\d{2}-\d{2}-[\w-]+\.md$'
  ```
- Add `elif "/qa/" in file_path:` branch at line ~54 (before the `else` block):
  ```python
  elif "/qa/" in file_path:
      if not re.search(qa_pattern, file_path):
          return False, (
              "Invalid QA path format.\n"
              "Expected: thoughts/{username|agentId|shared}/qa/YYYY-MM-DD-topic-slug.md\n"
              f"Got: {file_path}"
          )
  ```
- Update the `else` error message at line ~57 to include `'qa'`:
  ```
  "Thoughts files must be in 'research', 'plans', 'brainstorms', or 'qa' subdirectory.\n"
  ```

#### 2. Create QA document template
**File**: `cc-plugin/base/skills/qa/template.md` (new)
**Changes**: Create file with the template from the research document (Section "QA Template Design"). The template includes:
- YAML frontmatter with `date`, `author`, `topic`, `tags`, `status` (in-progress|pass|fail|blocked), `source_plan`, `source_verification`, `related_pr`, `environment`
- Sections: Context, Scope (In Scope / Out of Scope), Test Cases (TC-N with Steps/Expected/Actual/Status), Edge Cases & Exploratory Testing, Evidence (Screenshots/Videos/Logs/External Links), Issues Found, Verdict, References

#### 3. Create `/qa` command wrapper
**File**: `cc-plugin/base/commands/qa.md` (new)
**Changes**: Create thin wrapper following the pattern from `commands/review.md` and `commands/verify-plan.md`:
- Frontmatter: `description`, `model: inherit`, `argument-hint: [--autonomy=MODE] [source-path]`
- Parse flags: `--autonomy=autopilot|critical|verbose`
- Invoke `desplega:qa` skill with arguments
- If no input provided, prompt for context (plan path, PR URL, or feature description)

### Success Criteria:

#### Automated Verification:
- [x] Hook allows qa/ writes: `echo '{"tool_name":"Write","tool_input":{"file_path":"thoughts/taras/qa/2026-03-16-test.md","content":"---\ndate: 2026-03-16\n---\n# Test"}}' | python3 cc-plugin/base/hooks/validate-thoughts.py; echo "exit: $?"`
- [x] Hook blocks invalid qa/ paths: `echo '{"tool_name":"Write","tool_input":{"file_path":"thoughts/taras/qa/bad-name.md","content":"---\ndate: 2026-03-16\n---\n# Test"}}' | python3 cc-plugin/base/hooks/validate-thoughts.py 2>&1; echo "exit: $?"`
- [x] Template file exists: `ls cc-plugin/base/skills/qa/template.md`
- [x] Command file exists: `ls cc-plugin/base/commands/qa.md`

#### Manual Verification:
- [x] Read `validate-thoughts.py` and confirm the qa pattern matches the same style as research/plans/brainstorms
- [x] Read `template.md` and confirm it has all sections from the research (Context, Scope, Test Cases, Evidence, Verdict, References)
- [x] Read `qa.md` command and confirm it follows the thin-wrapper pattern from `review.md`

**Implementation Note**: After completing this phase, pause for manual confirmation before proceeding to Phase 2.

---

## Phase 2: Core QA Skill

### Overview
Create the main QA skill SKILL.md that defines the full QA process: context gathering, test case design, test execution (with qa-use or manual), evidence capture, result recording, verdict, and knowledge persistence.

### Changes Required:

#### 1. Create QA skill definition
**File**: `cc-plugin/base/skills/qa/SKILL.md` (new)
**Changes**: Create the full skill definition following the consistent pattern across all existing skills. Structure:

**Frontmatter**: `name: qa`, `description: Functional validation skill...`

**Working Agreement**: Standard pattern — AskUserQuestion primary, establish preferences upfront, autonomy modes.

**User Preferences** (upfront via AskUserQuestion):
1. **QA approach**: Manual-only / Browser automation (qa-use) / Mixed
2. **File review preference**: Use file-review for inline feedback on QA report?

**When to Use**: User invokes `/qa`, another skill references `desplega:qa`, user asks to test or validate a feature.

**Autonomy Mode**: Standard table (Autopilot/Critical/Verbose).

**Process Steps**:
1. **Context & Scope** — Determine the source of QA specs. The skill handles three input modes:
   - **Plan path provided** → Read the plan, extract `### QA Spec` sections from each phase, aggregate into QA document
   - **Separate QA spec document provided** → Read the standalone QA spec (could be a dedicated file in `thoughts/*/qa/` or any markdown with test scenarios), use it as the basis
   - **No source / PR / issue / description only** → Build test cases from scratch with the user
   Create QA document from template in all cases.
2. **Test Case Design** — Define test cases (happy path, edge cases, error scenarios). If sourced from a plan, aggregate phase QA specs. If sourced from a separate spec, use those scenarios as the starting point and augment with exploratory cases. If browser automation selected and qa-use available, design qa-use test steps.
3. **Execute Tests** — For browser automation: use qa-use CLI (explore → snapshot → interact → screenshot). For manual: guide user through steps, collect evidence. For each test case, record actual result and pass/fail.
4. **Capture Evidence** — Screenshots via qa-use or user-provided, video URLs, log output, links to external systems.
5. **Record Results** — Update QA document with actual results, evidence links, pass/fail per test case.
6. **Verdict** — Aggregate results into PASS / FAIL / BLOCKED. Summary sentence.
7. **Persist QA Knowledge** — If the project's CLAUDE.md or agents.md doesn't document how QA is done, offer to add a QA section. Also persist patterns to memory if they emerge across QA sessions.

**Browser Automation Default**: Check for qa-use availability (look for `qa-use:*` in available skills). Check if CLAUDE.md specifies a different QA tool. Fall back to manual if neither.

**Review Integration**: If file-review available and user opted in, launch file-review on completed QA report.

**Workflow Handoff**: AskUserQuestion with:
- Run post-QA verification (→ `/verify-plan`)
- Run review on QA report (→ `/review`)
- Done

### Success Criteria:

#### Automated Verification:
- [x] Skill file exists: `ls cc-plugin/base/skills/qa/SKILL.md`
- [x] Has frontmatter: `head -3 cc-plugin/base/skills/qa/SKILL.md`
- [x] Contains key sections: `grep -c "## Working Agreement\|## Autonomy Mode\|## Process Steps\|## Review Integration" cc-plugin/base/skills/qa/SKILL.md`
- [x] References qa-use: `grep -c "qa-use" cc-plugin/base/skills/qa/SKILL.md`

#### Manual Verification:
- [x] Read SKILL.md fully and confirm it follows the same structural pattern as `verifying/SKILL.md` and `reviewing/SKILL.md`
- [x] Confirm all 7 process steps are present with clear instructions
- [x] Confirm autonomy mode table matches the standard format
- [x] Confirm workflow handoff offers verify and review as next steps
- [x] Confirm the skill checks for qa-use availability before defaulting to manual

**Implementation Note**: This is the largest phase. After completing, pause for thorough manual review before integration phases.

---

## Phase 3: Planning Integration

### Overview
Add optional QA Spec sections to the planning skill and template, so plans can embed per-phase test scenarios that the QA skill later aggregates.

### Changes Required:

#### 1. Update planning SKILL.md
**File**: `cc-plugin/base/skills/planning/SKILL.md`
**Changes**: In Step 4 (Detailed Plan Writing), after the existing guidance about Success Criteria, add a note about optional QA Specs:

```markdown
**QA Specs (optional)**: Phases that change user-facing behavior, add UI, modify API responses, or alter auth/permissions SHOULD include an optional `### QA Spec (optional):` section after the Success Criteria. See the template for the exact format. Phases that are internal refactors, type changes, config updates, or dependency bumps should omit QA specs.
```

Also add to the Success Criteria Requirements section's "Validation Checklist":
```markdown
- [ ] Phases with user-facing changes have optional `### QA Spec` sections (if applicable)
```

#### 2. Update planning template
**File**: `cc-plugin/base/skills/planning/template.md`
**Changes**: After the `**Implementation Note**` line in each phase template block, add:

```markdown
### QA Spec (optional):

**Approach:** browser-automation | manual | cli-verification
**Test Scenarios:**
- [ ] TC-1: [Scenario name]
  - Steps: [1. Navigate to X, 2. Click Y, 3. Verify Z]
  - Expected: [What should happen]
- [ ] TC-2: [Scenario name]
  - Steps: [...]
  - Expected: [...]
```

Add only to the Phase 1 example block (not all phases — the pattern is self-evident after one example).

**Note on QA spec location**: The planning skill should mention that QA specs can live either inline in plan phases (for per-phase validation) or as a separate standalone document (for cross-cutting or feature-level QA). The inline approach is the default for plans; the QA skill handles both sources transparently.

#### 3. Update tdd-planning SKILL.md
**File**: `cc-plugin/base/skills/tdd-planning/SKILL.md`
**Changes**: In Step 4 (Detailed Plan Writing, around line 151-161), add a note about optional QA Specs at the Feature level:

```markdown
**QA Specs (optional)**: Features that change user-facing behavior SHOULD include an optional `### QA Spec (optional):` section at the Feature level (after the feature header, before the first TDD cycle). Unlike regular plans where QA specs attach per-phase, TDD plans attach them per-feature since the RED/GREEN cycle itself serves as the per-cycle verification. See the template for the format.
```

#### 4. Update tdd-planning template
**File**: `cc-plugin/base/skills/tdd-planning/template.md`
**Changes**: After the `## Feature 1: [Feature Name]` header (around line 50), add an optional QA Spec block:

```markdown
### QA Spec (optional):

**Approach:** browser-automation | manual | cli-verification
**Test Scenarios:**
- [ ] TC-1: [Scenario name]
  - Steps: [1. Navigate to X, 2. Click Y, 3. Verify Z]
  - Expected: [What should happen]
```

Add only to the Feature 1 example block (not all features — the pattern is self-evident).

### Success Criteria:

#### Automated Verification:
- [x] Planning SKILL.md mentions QA Spec: `grep -c "QA Spec" cc-plugin/base/skills/planning/SKILL.md`
- [x] Planning template has QA Spec block: `grep -c "QA Spec" cc-plugin/base/skills/planning/template.md`
- [x] QA Spec is marked optional: `grep "QA Spec (optional)" cc-plugin/base/skills/planning/template.md`
- [x] TDD planning SKILL.md mentions QA Spec: `grep -c "QA Spec" cc-plugin/base/skills/tdd-planning/SKILL.md`
- [x] TDD planning template has QA Spec block: `grep -c "QA Spec" cc-plugin/base/skills/tdd-planning/template.md`

#### Manual Verification:
- [x] Read the modified planning SKILL.md and confirm the QA Spec guidance is clear about when to include/omit
- [x] Read the modified template and confirm the QA Spec section fits naturally after Success Criteria
- [x] Confirm the QA Spec is NOT in every phase template block — only Phase 1 as an example
- [x] Read the modified tdd-planning SKILL.md and confirm QA Spec guidance references Feature-level attachment (not per-cycle)
- [x] Read the modified tdd-planning template and confirm QA Spec is at the Feature level, before TDD cycles

**Implementation Note**: After completing this phase, pause for manual confirmation.

---

## Phase 4: Implementing & Phase-Running Integration

### Overview
Wire QA spec awareness into the implementing and phase-running skills so that phases with QA specs are executed and reported on.

### Changes Required:

#### 1. Update implementing SKILL.md
**File**: `cc-plugin/base/skills/implementing/SKILL.md`
**Changes**:

In the "Background Sub-Agent Mode" section (around line 155), after step 4 ("Review the agent's report"), add awareness of QA spec status:

```markdown
5. **Check QA spec status** — If the phase agent reports `QA: pending`, present the QA spec's test scenarios to the user and offer:
   - Execute QA now (→ invoke `desplega:qa` with plan path + phase context)
   - Skip QA for this phase
   - If `QA: passed`, note it and proceed. If `QA: n/a`, proceed normally.
```

Renumber subsequent steps accordingly.

In the "Inline Mode" section (around line 170), add similar awareness after step 2 ("Fix any issues before proceeding"):

```markdown
3. If the phase has a `### QA Spec` section, execute the test scenarios or offer to invoke `/qa`
```

#### 2. Update phase-running SKILL.md
**File**: `cc-plugin/base/skills/phase-running/SKILL.md`
**Changes**:

In Step 4 (Run Verification, around line 67), add a new sub-step after automated verification:

```markdown
5. If the phase has a `### QA Spec (optional):` section:
   - If the QA approach is `cli-verification`, execute the test steps and record results
   - If the approach is `browser-automation` or `manual`, report `QA: pending` — the caller handles these
   - If no QA spec exists, report `QA: n/a`
```

In Step 6 (Report Results, around line 82), add QA status to the report formats:

For "completed":
```
QA: passed | pending | n/a
```

For "blocked" and "failed", add:
```
QA status: [status at time of block/failure]
```

### Success Criteria:

#### Automated Verification:
- [x] Implementing SKILL.md mentions QA spec: `grep -c "QA Spec\|QA spec" cc-plugin/base/skills/implementing/SKILL.md`
- [x] Phase-running SKILL.md mentions QA status: `grep -c "QA:" cc-plugin/base/skills/phase-running/SKILL.md`
- [x] Phase-running reports include QA line: `grep "QA: passed\|QA: pending\|QA: n/a" cc-plugin/base/skills/phase-running/SKILL.md`

#### Manual Verification:
- [x] Read implementing SKILL.md and confirm QA spec handling is present in both Background and Inline modes
- [x] Read phase-running SKILL.md and confirm QA status is in all three report formats (completed/blocked/failed)
- [x] Confirm the implementing skill offers to invoke `/qa` when QA is pending (not forcing it)

**Implementation Note**: After completing this phase, pause for manual confirmation.

---

## Phase 5: Review & Verify Integration

### Overview
Add QA document type support to the reviewing skill and QA handoff option to the verifying skill.

### Changes Required:

#### 1. Update reviewing SKILL.md
**File**: `cc-plugin/base/skills/reviewing/SKILL.md`
**Changes**:

In Step 1 (Read & Classify), add to the path classification table (around line 63-70):
```markdown
| `/qa/` | QA report |
```

In Step 2 (Structural Check), add QA-specific requirements:
```markdown
**QA reports:**
- YAML frontmatter with required fields (date, author, topic, status)
- Context section
- Scope section (In Scope / Out of Scope)
- Test Cases with Steps, Expected, Actual, Status per case
- Evidence section (Screenshots, Videos, Logs, or External Links)
- Verdict section with overall status and summary
```

In Step 3 (Content Analysis), add QA-specific quality criteria:
```markdown
**QA reports:**
- Does every test case have an actual result and status?
- Is evidence provided for failures (screenshots, logs)?
- Is the verdict consistent with individual test case results?
- Are edge cases and exploratory testing documented?
- Are external references (Sentry, PRs, CI) linked where relevant?
```

In the Workflow Handoff (Step 7), add QA-specific handoff:
```markdown
**If reviewing a QA report:**

| Question | Options |
|----------|---------|
| "Review complete. What's next for this QA report?" | 1. Run post-QA verification (→ `/verify-plan`), 2. Address issues found, 3. Done |
```

#### 2. Update verifying SKILL.md
**File**: `cc-plugin/base/skills/verifying/SKILL.md`
**Changes**:

In the "Integration with Reviewing Skill" section (around line 142), expand the handoff:

Change:
```
After verification completes, offer: "Would you like me to also run `/review` on this plan for a final quality check?"
```
To:
```
After verification completes, use **AskUserQuestion** with:

| Question | Options |
|----------|---------|
| "Verification complete. What's next?" | 1. Run QA (→ `/qa`), 2. Run review (→ `/review`), 3. Done |
```

### Success Criteria:

#### Automated Verification:
- [x] Reviewing SKILL.md has QA path: `grep "/qa/" cc-plugin/base/skills/reviewing/SKILL.md`
- [x] Reviewing SKILL.md has QA structural checks: `grep "QA report" cc-plugin/base/skills/reviewing/SKILL.md`
- [x] Verifying SKILL.md offers QA handoff: `grep "/qa" cc-plugin/base/skills/verifying/SKILL.md`

#### Manual Verification:
- [x] Read reviewing SKILL.md and confirm QA appears in all three relevant steps (Classify, Structural Check, Content Analysis) plus the Handoff
- [x] Read verifying SKILL.md and confirm the handoff now offers QA as first option
- [x] Confirm the reviewing skill's QA structural requirements match the template from Phase 1

**Implementation Note**: After completing this phase, pause for manual confirmation.

---

## Phase 6: Version Bump & E2E Validation

### Overview
Bump the plugin version to 1.6.0 and perform a manual end-to-end walkthrough of the full QA flow.

### Changes Required:

#### 1. Bump plugin version
**File**: `cc-plugin/base/.claude-plugin/plugin.json`
**Changes**: Change `"version": "1.5.1"` to `"version": "1.6.0"` (minor bump — new feature, no breaking changes)

### Success Criteria:

#### Automated Verification:
- [x] Version is 1.6.0: `grep '"version"' cc-plugin/base/.claude-plugin/plugin.json`
- [x] All new files exist: `ls cc-plugin/base/skills/qa/SKILL.md cc-plugin/base/skills/qa/template.md cc-plugin/base/commands/qa.md`
- [x] Hook has qa pattern: `grep "qa_pattern" cc-plugin/base/hooks/validate-thoughts.py`
- [x] All modified skills reference QA: `grep -Eli "qa" cc-plugin/base/skills/planning/SKILL.md cc-plugin/base/skills/tdd-planning/SKILL.md cc-plugin/base/skills/implementing/SKILL.md cc-plugin/base/skills/phase-running/SKILL.md cc-plugin/base/skills/reviewing/SKILL.md cc-plugin/base/skills/verifying/SKILL.md`

#### Manual Verification:
- [x] Read through the full `/qa` command → SKILL.md → template chain and confirm consistency
- [x] Verify the QA Spec in the planning template is consistent with what the implementing and phase-running skills expect
- [x] Confirm the reviewing skill's structural requirements for QA reports match the template exactly
- [x] Walk through the handoff chain: implement → verify → qa → verify(post) → review — confirm each skill offers the correct next step

**Implementation Note**: This is the final phase. After completing, confirm all manual checks pass before committing.

---

## Manual E2E Validation

After all phases are complete, validate the full flow:

```bash
# 1. Verify hook allows QA writes
echo '{"tool_name":"Write","tool_input":{"file_path":"thoughts/taras/qa/2026-03-16-test.md","content":"---\ndate: 2026-03-16\ntopic: test\n---\n# Test"}}' | python3 cc-plugin/base/hooks/validate-thoughts.py; echo "exit: $?"

# 2. Verify hook blocks invalid QA paths
echo '{"tool_name":"Write","tool_input":{"file_path":"thoughts/taras/qa/invalid.md","content":"test"}}' | python3 cc-plugin/base/hooks/validate-thoughts.py 2>&1; echo "exit: $?"

# 3. Check all new files exist
ls -la cc-plugin/base/skills/qa/SKILL.md cc-plugin/base/skills/qa/template.md cc-plugin/base/commands/qa.md

# 4. Check version
cat cc-plugin/base/.claude-plugin/plugin.json | grep version

# 5. Grep for QA integration across all skills
grep -rn "QA\|/qa" cc-plugin/base/skills/ --include="*.md" | grep -v "^Binary"

# 6. Verify no broken cross-references
grep -rn "desplega:qa" cc-plugin/base/ --include="*.md"
```

## Testing Strategy

- **Hook testing**: stdin JSON pipe tests for valid/invalid QA paths (Phase 1)
- **Structural review**: Manual read-through of each modified skill for consistency (each phase)
- **Cross-reference audit**: Grep to confirm all skills that should reference QA do so (Phase 6)
- **Template consistency**: Compare reviewing skill's structural requirements against the actual template (Phase 6)
- **Handoff chain**: Trace the workflow from implement → verify → qa → review and confirm each offers the right next step (Phase 6)

## References
- Research: `thoughts/taras/research/2026-03-16-qa-skill.md`

## Review Errata

_Reviewed: 2026-03-16 by Claude_

### Critical
_(none)_

### Important
_(none — all resolved)_

### Resolved
- [x] **TDD planning skill not addressed** — Added `tdd-planning/SKILL.md` and `tdd-planning/template.md` modifications to Phase 3, with Feature-level QA Spec attachment (not per-cycle, since RED/GREEN serves as per-cycle verification)
- [x] Phase 6 grep portability: `grep -l "qa\|QA"` uses GNU basic regex alternation — auto-fixed to `grep -Eli "qa"` for macOS compatibility

Files in this skill

  • 2026-01-22-ai-tracker-screenshot-export.md15.8 KB
  • 2026-01-22-brain-cli-mvp.md23.3 KB
  • 2026-01-23-brain-cron-autosync.md5.7 KB
  • 2026-01-23-brain-delete.md8.6 KB
  • 2026-01-23-brain-todos.md6.3 KB
  • 2026-01-26-remarkable-plugin.md10.4 KB
  • 2026-01-30-arewedoomedyet-dev.md26.5 KB
  • 2026-02-05-file-review-unified-skill.md4.1 KB
  • 2026-02-19-plan-checkbox-hook.md16.1 KB
  • 2026-03-09-new-base-skills.md29.1 KB
  • 2026-03-11-cc-plugin-base-consistency-fixes.md17.4 KB
  • 2026-03-11-inter-session-communication.md25 KB
  • 2026-03-16-qa-skill.md24.9 KB
  • 2026-03-17-questioning-skill.md6.2 KB
  • 2026-03-18-learning-skill.md27.2 KB
  • 2026-03-25-oapi-implementation-plan.md30.1 KB
  • 2026-04-13-rozum-v1.md54.7 KB
  • 2026-04-17-script-builder-skill.md46.5 KB
  • 2026-04-28-file-review-tabs-mermaid/root.md13.1 KB
  • 2026-04-28-file-review-tabs-mermaid/step-1.md7.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.