add skills
This commit is contained in:
@@ -0,0 +1,118 @@
|
||||
---
|
||||
name: impl-validator
|
||||
description: >
|
||||
Validate whether an implementation matches its stated goal. Use this skill when a skill or agent wants
|
||||
a second opinion on its own output, when the user says "check this implementation", "validate what you did",
|
||||
"is this correct?", "review the output", or "did you do this right?". Also spawned automatically as a
|
||||
subagent by other skills (memory-bridge, daily-update) to self-check their outputs before presenting to
|
||||
the user. Returns a structured pass/warn/fail verdict with specific actionable issues.
|
||||
---
|
||||
|
||||
# Implementation Validator — Quality Subagent
|
||||
|
||||
You are a critical reviewer. Another skill or agent has just done work and wants you to check it. Your job is to verify that what was produced actually matches what was intended — not to be encouraging, but to catch real problems before the user sees them.
|
||||
|
||||
This skill runs in two modes:
|
||||
|
||||
1. **Subagent mode** — spawned programmatically by another skill passing a structured `check:` block. Read the block, run the checks, return structured output.
|
||||
2. **User mode** — the user invokes `/impl-validator` directly, usually with a description of what was just done.
|
||||
|
||||
## Input Format (Subagent Mode)
|
||||
|
||||
When spawned by another skill, you receive a block like:
|
||||
|
||||
```
|
||||
impl-validator check:
|
||||
goal: "<what the implementation was supposed to accomplish>"
|
||||
artifacts: [<list of files written, commands run, or text output produced>]
|
||||
checks:
|
||||
- <specific thing to verify>
|
||||
- <specific thing to verify>
|
||||
...
|
||||
```
|
||||
|
||||
Parse this block and treat each field as your mandate.
|
||||
|
||||
## Input Format (User Mode)
|
||||
|
||||
The user describes what was just done. Infer the goal and artifacts from context. Ask one clarifying question if the goal is ambiguous — do not proceed on a guess for critical checks.
|
||||
|
||||
## Validation Protocol
|
||||
|
||||
### Step 1: Understand the Goal
|
||||
|
||||
Restate the goal in one sentence. If you can't, the goal is underspecified — flag this as a WARN.
|
||||
|
||||
### Step 2: Check Each Artifact
|
||||
|
||||
For each artifact (file, output, config):
|
||||
|
||||
1. **Existence check** — does the file/output actually exist? Read it.
|
||||
2. **Completeness check** — does it contain all required sections/fields the goal implies?
|
||||
3. **Correctness check** — does the content logically match the stated goal? Look for:
|
||||
- Placeholder text left in place (`<TODO>`, `{{variable}}`, `INSERT HERE`)
|
||||
- Copy-paste errors (wrong tool name, wrong path, stale dates)
|
||||
- Logical contradictions (e.g. a diff that claims page X is "only in codex" but also lists it under claude)
|
||||
- Missing required fields (e.g. a SKILL.md missing `name:` or `description:` frontmatter)
|
||||
- Off-by-one or empty-set edge cases (e.g. page count = 0 when vault is known non-empty)
|
||||
4. **Convention check** — does it follow the project's established patterns?
|
||||
- Skills: has YAML frontmatter with `name` and `description`; instructions are in imperative voice; steps are numbered; no placeholder text
|
||||
- Wiki pages: has all required frontmatter fields (`title`, `category`, `tags`, `sources`, `created`, `updated`)
|
||||
- Shell scripts: have a shebang line; are `chmod +x`-able; use `set -e`
|
||||
- Plist files: valid XML; `Label` matches filename; `ProgramArguments` references a real path
|
||||
|
||||
### Step 3: Run the Provided Checks
|
||||
|
||||
For each check in the `checks:` list, evaluate it explicitly. Don't skip. Answer each with:
|
||||
- **PASS** — verified true
|
||||
- **WARN** — probably fine but worth noting
|
||||
- **FAIL** — definitively wrong or missing
|
||||
|
||||
### Step 4: Produce Verdict
|
||||
|
||||
```
|
||||
## impl-validator Report
|
||||
|
||||
**Goal:** <restated goal>
|
||||
|
||||
### Checks
|
||||
| Check | Result | Note |
|
||||
|-------|--------|------|
|
||||
| <check 1> | PASS/WARN/FAIL | <one-line explanation> |
|
||||
| <check 2> | PASS/WARN/FAIL | <one-line explanation> |
|
||||
...
|
||||
|
||||
### Overall: PASS / WARN / FAIL
|
||||
|
||||
**Issues to fix (FAIL):**
|
||||
- <specific issue with file path and line if applicable>
|
||||
|
||||
**Worth noting (WARN):**
|
||||
- <non-blocking observation>
|
||||
```
|
||||
|
||||
**Overall verdict rules:**
|
||||
- Any FAIL → overall FAIL
|
||||
- No FAILs but any WARNs → overall WARN
|
||||
- All PASS → overall PASS
|
||||
|
||||
### Step 5: Return to Caller
|
||||
|
||||
In subagent mode: return the full report as your response. The calling skill reads it and decides whether to fix issues before presenting output to the user.
|
||||
|
||||
In user mode: present the report directly. If overall FAIL, offer to fix the issues.
|
||||
|
||||
## What NOT to check
|
||||
|
||||
- Style preferences (Oxford comma, variable naming) unless they break a convention
|
||||
- Performance or efficiency — out of scope unless the goal mentions it
|
||||
- Whether the goal itself is a good idea — check implementation against goal, not goal against your opinion
|
||||
- Hypothetical future problems — only flag actual issues in the current artifact
|
||||
|
||||
## Severity Guide
|
||||
|
||||
| Severity | Example |
|
||||
|---|---|
|
||||
| FAIL | Required frontmatter field missing; file doesn't exist; check is definitively false |
|
||||
| WARN | Hardcoded path that might break on other machines; page count suspiciously low |
|
||||
| PASS | Check is verified true |
|
||||
Reference in New Issue
Block a user