Skills DirectorySkills Directory
SkillsLearnSecurityCategoriesDocsCommunityBlog
Sign InSubmit Skill
Skills Directory

Security-tested agent skills for Claude, coding agents, and AI workflows.

Directory

  • Browse Skills
  • All Skills A–Z
  • Claude Skills
  • Claude Code Skills
  • Agent Skills
  • Categories
  • Submit a Skill

Learn

  • Learn Hub
  • Install Claude Skills
  • Write SKILL.md
  • Skills vs MCP
  • Directories Compared

Security

  • Security
  • Methodology
  • Secure Claude Skills
  • Security Badges

Company

  • About
  • Community
  • Blog
  • API Docs
  • Advertise

2026 Skills Directory. All rights reserved.

Back to skills

Qa

ASecurity

Run automated QA checks on Grafema VS Code extension via Playwright + MCP cross-validation. Use when: (1) user says "/qa" to start or resume QA session, (2) user wants to validate extension panels against graph data, (3) user wants to re-check previously found bugs after a fix, (4) user wants to run a custom QA task. Requires Docker code-server running.

36 stars
0 votes
0 copies
0 views
Added 9/20/2026
databashnodedockergitdatabase

Works with

claude codevscodeclimcp

Security Analysis

A100/100

Scanned 9/20/2026

Install to Claude Code

$npx -y skills add Disentinel/grafema --skill qa --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Qa?

Add the live security badge to your README — it updates automatically with every re-scan.

Security grade badge for Qa
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/disentinel-grafema/badge)](https://www.skillsdirectory.com/skills/disentinel-grafema)

More formats (shields.io, HTML) on the badges page.

Download Zip
Files
SKILL.md
---
name: qa
description: |
  Run automated QA checks on Grafema VS Code extension via Playwright + MCP cross-validation.
  Use when: (1) user says "/qa" to start or resume QA session, (2) user wants to validate
  extension panels against graph data, (3) user wants to re-check previously found bugs after
  a fix, (4) user wants to run a custom QA task. Requires Docker code-server running.
author: Claude Code
version: 1.0.0
date: 2026-02-20
---

# /qa -- Grafema VS Code Extension QA

## When to Use

- Validate VS Code extension UI against graph data
- Check specific files or resume from last session
- Re-check open bugs after fixes (version validation)
- Run custom QA tasks (e.g., "check hover tooltips only")

## Usage

```
/qa                                           # Auto-resume from last session
/qa packages/vscode/src/Orchestrator.ts       # Check specific file
/qa --recheck                                 # Re-validate all open bugs
/qa check only the Callers panel              # Custom task (free text)
```

## Prerequisites

- Docker container `code-server` running (`cd demo && docker-compose up -d`)
- Playwright chromium available (auto-installed if missing)
- Code-server accessible at `http://localhost:8080`
- Grafema graph database populated (extension must be analyzing a project)

## How It Works

### 1. Parse Arguments

Determine the mode from the user's input:

- **No args / empty**: auto-resume. Find file with `status: "in-progress"` in state, resume from `lastCheckedLine + 1`. If none, pick next unchecked file.
- **File path**: check that specific file from line 1 (or resume if already in-progress).
- **`--recheck`**: re-validate all bugs with `status: "open"` and gaps with `status: "blocking"`.
- **Anything else**: treat as free-text custom task. Record in `customTasks` registry.

### 2. Load State

Read `_qa/qa-state.json`. This tracks:
- Per-file progress (which line we left off at)
- Bug registry (all bugs found across sessions)
- Gap registry (infrastructure gaps that block files)
- Custom task history
- Coverage statistics
- Version history

### 3. Check Docker

Verify the code-server Docker container is running and accessible. If not, print the start command and stop.

### 4. Launch QA Agent

Read the agent instructions from `.claude/agents/qa-agent.md`. The agent:

- Drives code-server via Playwright (inline Node.js scripts in Bash)
- Takes screenshots and reads them (multimodal -- Claude sees images)
- Cross-validates every panel with Grafema MCP tools and CLI
- Records bugs and gaps with full evidence
- Updates state after every checked line
- Stops after 10 bugs per session

### 5. Return Summary

After the session completes, report:
- How many entities were checked
- How many bugs and gaps were found
- Which reports were written
- What to do next (fix bugs, resolve gaps, re-run /qa)

## Modes

### Auto-Resume (default)

Finds the first file with `status: "in-progress"` and resumes from `lastCheckedLine + 1`. If no file is in progress, picks the next unchecked file using priority order: Orchestrator.ts first, then largest files first.

### Specific File

Checks the given file from line 1. If the file was previously in-progress, resumes from where it left off.

### Recheck

Re-validates all open bugs and blocking gaps. Does NOT check new lines. Marks fixed bugs as `"fixed"` and resolved gaps as `"resolved"`. Useful after deploying a fix to verify it works.

### Custom Task

Any argument that is not a file path and not `--recheck` is treated as a free-text instruction. The agent executes the task, records it in `customTasks`, and still logs any bugs/gaps found to the normal registries.

## Output Locations

| Artifact | Path |
|----------|------|
| State file | `_qa/qa-state.json` |
| Bug reports | `_qa/reports/bug-NNN.md` |
| Gap reports | `_qa/reports/gap-NNN.md` |
| Session reports | `_qa/reports/session-YYYY-MM-DD-HH-MM-SS.md` |
| Screenshots | `_qa/screenshots/` (gitignored) |

## Session Limits

The agent stops after finding 10 bugs in a single session. This keeps reports manageable and encourages incremental fixing. Fix the bugs, then re-run `/qa` to continue.

## Extension Panels

The extension registers 7 panels: Status, Value Trace, Callers, Blast Radius, Issues, Explorer, Debug Log. Plus the built-in Monaco hover tooltip.

**Note:** The panel formerly called "Edges Explorer" in early docs is actually "Blast Radius".

## Bug vs Gap

- **Bug** (`ui-bug` or `core-bug`): single entity shows wrong/missing data in one panel. Recorded, agent continues.
- **Gap** (`infrastructure-gap`): entire panel broken across 5+ entities in multiple files. Blocks affected files, agent stops session.

## Troubleshooting

### Docker not running
```bash
cd demo && docker-compose up -d
```

### Playwright not installed
The agent auto-installs chromium. If it fails:
```bash
npx playwright install chromium
```

### Code-server not responding
Check Docker logs:
```bash
docker logs code-server
```

### Panels not updating after click
The agent waits 3 seconds for async panel updates. If panels are still empty, this may indicate an infrastructure gap rather than a timing issue.

### Screenshots unreadable
Small text in screenshots may be hard to read. The agent uses MCP/CLI for exact data validation and screenshots only for structural checks (panel visible, non-empty, has sections).

Attribution

DisentinelDisentinel
View sourceMore from Disentinel →
SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

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 (0)

No comments yet. Be the first to comment!

SSkills DirectorySkills Directory

Your tool, in front of Claude Code builders.

3 founder slots · $299/mo · GSC-verified traffic · sponsors can never buy grades.

See placements

Related Skills

Rank Tracker

This skill helps you track, analyze, and report on keyword ranking positions over time. It monitors both traditional SERP rankings and AI/GEO visibility to provide comprehensive search performance insights.

1821 votes

Youtube Competitor Analyzer

Find and analyze YouTube competitor channels using YouTube Data API v3. Discover competitors through keyword search, category matching, content similarity, and related channel discovery. Compare metrics, content strategies, and market positioning. Use when users want to (1) Find competitors for their YouTube channel, (2) Analyze competitor performance metrics, (3) Compare their channel against competitors, (4) Identify content gaps and opportunities, (5) Benchmark against similar creators, (6...

31 votes

Twitter Algorithm Optimizer

Analyze and optimize tweets for maximum reach using Twitter's open-source algorithm insights. Rewrite and edit user tweets to improve engagement and visibility based on how the recommendation system ranks content.

742580 votes

Weather Fetcher

Instructions for fetching current weather temperature data for Karachi, Pakistan from wttr.in API

655280 votes

Weather

Get current weather and forecasts (no API key required).

476190 votes
View all in data →