This skill should be used when the user asks to "check quality gates", "validate against standards", "read AGENTS.md", "enforce CLAUDE.md patterns", "follow constitution.md", "validate code quality", or needs guidance on quality standards enforcement in k2-dev workflows.
/plugin marketplace add ivankristianto/k2-dev/plugin install k2-dev@k2-dev-marketplaceThis skill inherits all available tools. When active, it can use any tool Claude has access to.
Quality gates are project-defined standards that all code changes must meet. In k2-dev, gates are defined in three configuration files at project root and enforced throughout the development workflow.
Configuration Files:
Reference: See k2-dev-reference.md#quality-standards-files for overview.
Checkpoints code must pass before progressing:
Consistency: Uniform code quality across team Standards: Enforce project-specific patterns Prevention: Catch issues before review Automation: Reduce manual review burden Documentation: Codify team agreements
Located at project root, defines:
Example sections:
## Quality Gates
- Type Checking: All TypeScript files must pass `tsc --noEmit`
- Test Coverage: Minimum 80% line coverage
- Linting: ESLint must pass
- Security: OWASP Top 10 compliance
## File Validation Patterns
Validate: `src/**/*.ts`, `src/**/*.tsx`, `lib/**/*.js`
Skip: `**/*.test.ts`, `docs/**/*`, `*.md`
## Code Review Standards
Blocking: Security vulnerabilities, logic errors, performance regressions
Non-Blocking: Style preferences, naming suggestions, refactoring opportunities
Defines Claude-specific patterns:
Example:
## Architecture
- API Layer: Express.js for REST APIs, routes in `api/routes/`
- Data Layer: TypeORM, entities in `src/entities/`
- Testing: Jest for unit/integration, test files colocated
## Coding Patterns
- Error Handling: Return `{ success: boolean, data?, error? }`
- API Responses: Standard APIResponse<T> interface
Defines immutable principles:
Example:
## Core Principles
- Security First: Never compromise security for convenience
- User Privacy: GDPR compliance mandatory
- Performance: API response time <200ms (p95)
## Non-Negotiable Constraints
1. All passwords hashed with bcrypt (cost factor ≥12)
2. HTTPS only in production
3. Rate limiting on all public endpoints
All agents must read configuration:
# Check files exist
ls -la AGENTS.md CLAUDE.md constitution.md
# Read files
cat AGENTS.md
cat CLAUDE.md
cat constitution.md
Parse for:
Reference configuration throughout:
Engineer validates against all three files:
From AGENTS.md:
From CLAUDE.md:
From constitution.md:
Reviewer checks compliance:
# Read configuration
cat AGENTS.md CLAUDE.md constitution.md
# Review changes
git diff main...feature/beads-123
# Validate specific checks
npm run type-check
npm run lint
npm test -- --coverage
Validation categories:
Reference: See k2-dev-reference.md#review-severity-levels
Hook validates before Write/Edit operations:
# Check if file matches validation patterns from AGENTS.md
# If match, run quality checks
# Block operation if checks fail
Validates:
src/**/*.ts)Standard: All TypeScript must type-check
Validation: tsc --noEmit
Pass: No errors | Fail: Any type errors
Standard: Minimum 80% coverage (from AGENTS.md)
Validation: npm test -- --coverage
Pass: ≥80% line coverage | Fail: <80%
Standard: ESLint must pass
Validation: npm run lint
Pass: No errors | Fail: Any linting errors
Standard: No hardcoded secrets (constitution.md), input validation required (AGENTS.md) Validation:
git diff | grep -E '(api_key|password|secret)' # Check for secrets
grep -r "req.body" src/api/ # Review for input validation
Pass: No secrets, all inputs validated | Fail: Secrets found, missing validation
If quality gates fail:
If Reviewer finds issues:
Iteration 1:
Iteration 2:
Follow-up tickets:
If hook blocks operation:
Example:
# Hook blocks Write operation
Error: Type checking failed for src/auth.ts
# Fix type errors
vi src/auth.ts
# Retry - should succeed now
✅ Read configuration first: cat AGENTS.md CLAUDE.md constitution.md
✅ Validate early and often during implementation
✅ Understand rationale for each standard
✅ Ask for clarification if standard is unclear
✅ Document exceptions with rationale and mitigation
❌ Skip reading AGENTS.md, CLAUDE.md, constitution.md ❌ Bypass quality gates (disable checks, commit --no-verify, merge failing PRs) ❌ Ignore warnings (address linting warnings, test failures, type errors) ❌ Negotiate immutable constraints (constitution.md is non-negotiable)
If AGENTS.md doesn't exist, suggest creating:
# AGENTS.md Template
## Quality Gates
- Type Checking: `npm run type-check` - Must pass
- Test Coverage: `npm test -- --coverage` - Threshold: 80%
- Linting: `npm run lint` - Must pass
## File Validation Patterns
Validate: `src/**/*.ts`, `src/**/*.tsx`
Skip: `**/*.test.ts`, `docs/**/*`
## Review Standards
Blocking: Security vulnerabilities, logic errors
Non-Blocking: Style preferences
Technical Lead:
Engineer:
Reviewer:
Planner:
Follow quality gates rigorously to maintain code quality and project standards throughout the k2-dev development lifecycle.
Reference: See k2-dev-reference.md for priority levels and common patterns.
This skill should be used when the user asks to "create a slash command", "add a command", "write a custom command", "define command arguments", "use command frontmatter", "organize commands", "create command with file references", "interactive command", "use AskUserQuestion in command", or needs guidance on slash command structure, YAML frontmatter fields, dynamic arguments, bash execution in commands, user interaction patterns, or command development best practices for Claude Code.
This skill should be used when the user asks to "create an agent", "add an agent", "write a subagent", "agent frontmatter", "when to use description", "agent examples", "agent tools", "agent colors", "autonomous agent", or needs guidance on agent structure, system prompts, triggering conditions, or agent development best practices for Claude Code plugins.
This skill should be used when the user asks to "create a hook", "add a PreToolUse/PostToolUse/Stop hook", "validate tool use", "implement prompt-based hooks", "use ${CLAUDE_PLUGIN_ROOT}", "set up event-driven automation", "block dangerous commands", or mentions hook events (PreToolUse, PostToolUse, Stop, SubagentStop, SessionStart, SessionEnd, UserPromptSubmit, PreCompact, Notification). Provides comprehensive guidance for creating and implementing Claude Code plugin hooks with focus on advanced prompt-based hooks API.