CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl-labs/skill-discovery

Discover and apply best practice skills automatically. Gap analysis scans the codebase, skill-search fills gaps from the registry, skill-classifier separates proactive from reactive skills, quality-standards generates CLAUDE.md guidance, self-review compares code against checklists, and verification-strategy sets up test/lint/typecheck feedback loops.

86

Quality

86%

Does it follow best practices?

Impact

Pending

No eval scenarios have been run

SecuritybySnyk

Advisory

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

SKILL.mdskills/quality-standards/

name:
quality-standards
description:
Generate project-level quality standards in CLAUDE.md from installed proactive skills. The quality block is the single biggest lever for code quality (4x improvement in experiments). Use after skill-classifier runs, when the skill set changes, or when the user asks "update my quality standards", "what standards should I follow".
metadata:
{"author":"tessl-labs","version":"0.1.0","tags":["tessl","discovery","quality","standards","claude-md"]}

Quality Standards

Generate a CLAUDE.md quality block from your proactive skills. This is the single highest-impact intervention for code quality — it tells the agent what "good" looks like for this project, at the point where it matters most (in the always-loaded CLAUDE.md).

Why CLAUDE.md?

CLAUDE.md is loaded into every conversation. Quality standards placed here guide every line of code the agent writes. Skills are read once; CLAUDE.md is always present. This is why a quality block in CLAUDE.md produced a 4x quality improvement over skills alone in experiments.

Workflow

Step 1 — Read Proactive Skills

Read .skill-discovery-state.json and get the proactiveSkills list. Open each SKILL.md and find its ## Checklist section. These checklist items are your quality standards.

Step 2 — Generate the Quality Block

Combine the checklist items from all proactive skills into a single quality block. Group by category (Backend, Frontend, Database, Testing, etc.).

The block must be wrapped in markers for clean removal:

<!-- skill-discovery:start -->
<!-- Managed by tessl-labs/skill-discovery. Do not edit manually. -->
<!-- To remove: bash .tessl/tiles/tessl-labs/skill-discovery/skills/quality-standards/scripts/remove-quality-block.sh -->

## Project Quality Standards

### Backend
- Use structured error classes with error-handling middleware
- Use security headers (helmet) on every HTTP server
- ...

### Frontend
- Use error boundaries to catch component errors
- Add ARIA attributes on interactive elements
- ...

<!-- skill-discovery:end -->

Rules for generation:

  • Only include items from proactive skills (not reactive)
  • Be specific and actionable — "use helmet" not "consider security"
  • Group logically by category
  • Keep it concise — this is a checklist, not a tutorial
  • If no proactive skills are installed, use the generic fallback template

Step 3 — Inject into CLAUDE.md

Use the injection script:

bash .tessl/tiles/tessl-labs/skill-discovery/skills/quality-standards/scripts/inject-quality-block.sh

Or manually:

  1. If CLAUDE.md exists, remove any existing <!-- skill-discovery:start --> to <!-- skill-discovery:end --> block
  2. Append the new quality block
  3. Create CLAUDE.md if it doesn't exist

The script handles all of this idempotently.

Step 4 — Update When Skills Change

If new proactive skills are installed mid-session (e.g., you enter a new domain, run gap-analysis and skill-search again), re-run this skill to update the quality block. The injection is idempotent — it removes the old block before adding the new one.

Removal

When the user removes the skill-discovery tile, the quality block should be cleaned up:

bash .tessl/tiles/tessl-labs/skill-discovery/skills/quality-standards/scripts/remove-quality-block.sh

This removes everything between the <!-- skill-discovery:start --> and <!-- skill-discovery:end --> markers, leaving the rest of CLAUDE.md intact.

skills

tile.json