ln-500-story-quality-gate

Story-level quality orchestrator with 4-level Gate (PASS/CONCERNS/FAIL/WAIVED) and Quality Score. Delegates to ln-510 (quality) and ln-520 (tests), calculates final verdict.

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ln-500-story-quality-gate" with this command: npx skills add levnikolaevich/claude-code-skills/levnikolaevich-claude-code-skills-ln-500-story-quality-gate

Paths: File paths (shared/, references/, ../ln-*) are relative to skills repo root. If not found at CWD, locate this SKILL.md directory and go up one level for repo root.

Story Quality Gate

Thin orchestrator that coordinates quality checks and test planning, then determines final Story verdict.

Inputs

InputRequiredSourceDescription
storyIdYesargs, git branch, kanban, userStory to process

Resolution: Story Resolution Chain. Status filter: To Review

Purpose & Scope

  • Invoke ln-510-quality-coordinator for code quality checks
  • Invoke ln-520-test-planner for test planning (if needed)
  • Calculate Quality Score and NFR validation
  • Determine 4-level Gate verdict (PASS/CONCERNS/FAIL/WAIVED)
  • Mark Story as Done or create fix tasks
  • Delegates ALL work — never runs checks directly

4-Level Gate Model

LevelMeaningAction
PASSAll checks pass, no issuesStory -> Done
CONCERNSMinor issues, acceptable riskStory -> Done with comment noting concerns
FAILBlocking issues foundCreate fix tasks, return to ln-400
WAIVEDIssues acknowledged by userStory -> Done with waiver reason documented

Verdict calculation: FAIL if any check fails. CONCERNS if minor issues exist. PASS if all clean.

Quality Score

Formula: Quality Score = 100 - (20 x FAIL_count) - (10 x CONCERN_count)

Score RangeStatusAction
90-100ExcellentPASS
70-89AcceptableCONCERNS (proceed with notes)
50-69Below thresholdFAIL (create fix tasks)
<50CriticalFAIL (urgent priority)

NFR Validation

NFRChecksIssue Prefix
SecurityAuth, input validation, secrets exposureSEC-
PerformanceN+1 queries, caching, response timesPERF-
MaintainabilityDRY, SOLID, cyclomatic complexity, error handlingMNT-

Additional prefixes: TEST- (coverage gaps), ARCH- (architecture), DOC- (documentation), DEP- (dependencies), COV- (AC coverage), DB- (database schema), AC- (AC validation)

When to Use

  • All implementation tasks in Story are Done
  • User requests quality gate for Story
  • ln-400-story-executor delegates quality check

Workflow

Phase 0: Tools Config

MANDATORY READ: Load shared/references/tools_config_guide.md, shared/references/storage_mode_detection.md, and shared/references/input_resolution_pattern.md

Extract: task_provider = Task Management → Provider (linear | file).

Phase 1: Discovery

  1. Resolve storyId: Run Story Resolution Chain per guide (status filter: [To Review]).
  2. Auto-discover team/config from docs/tasks/kanban_board.md
  3. Load Story + task metadata:
    • IF task_provider = linear: get_issue(storyId) + list_issues(parentId=storyId)
    • IF task_provider = file: Read story.md + Glob("docs/tasks/epics/*/stories/*/tasks/*.md")
  4. Detect test task status (exists? Done?)

Phase 2: Fast-Track Decision

Stories with high readiness (validated pre-execution) can skip expensive checks.

IF readiness_score available in CONTEXT:
  IF readiness_score == 10:
    fast_track = true
  ELSE:
    fast_track = false
ELSE:
  fast_track = false    # No readiness data — full gate

Fast-track matrix (readiness == 10):

ComponentFull GateFast-TrackWhy
ln-513 regression testsRUNRUNAlways critical, cheap
LintersRUNRUNCheap, catches formatting
Criteria Validation (3 checks)RUNRUNCheap, validates AC coverage
ln-511 metrics + static analysisRUNRUNCatches complexity/DRY/dead code that per-task review misses
ln-511 MCP Ref (OPT-, BP-, PERF-)RUNSKIPExpensive external calls
Inline agent reviewRUNRUN (1 agent minimum)Catches logic/algorithm bugs that static analysis misses
ln-520 test planningRUNSKIPRedundant for pre-validated
NFR validationAll dimsSecurity onlyPerf/Maintainability less critical

Phase 3: Quality Checks (delegate to ln-510)

  1. Invoke ln-510-quality-coordinator via Skill tool
    • Pass: Story ID (+ --fast-track flag if fast_track == true)
    • Full: ln-510 runs: code quality (ln-511) -> criteria validation -> linters -> regression (ln-513)
    • Fast-track: ln-510 runs: code metrics + static (ln-511 --skip-mcp-ref) -> criteria -> linters -> regression (ln-513) — skips MCP Ref/agent review
  2. If ln-510 returns FAIL:
    • Create fix/refactor tasks via ln-301
    • Stop — return to ln-400

Phase 4: Test Planning (delegate to ln-520)

  1. IF fast_track: SKIP Phase 4 entirely (proceed to Phase 5)

  2. Check test task status:

    • No test task -> invoke ln-520-test-planner to create
    • Test task exists, not Done -> report status, stop
    • Test task Done -> proceed to Phase 5
  3. Invoke ln-520-test-planner via Skill tool (if needed)

    • Pass: Story ID
    • ln-520 runs: research (ln-521) -> manual testing (ln-522) -> auto test planning (ln-523)

Phase 5: Test Verification (after test task Done)

  1. Load test task:
    • IF task_provider = linear: get_issue(testTaskId)
    • IF task_provider = file: Read test task file from docs/tasks/epics/.../tasks/T{NNN}-*.md
  2. Verify limits and priority:
    • Priority ≥15 scenarios covered
    • Each test passes Usefulness Criteria (no numerical targets)
    • Tests focus on business logic (no framework/DB/library tests)
  3. Verify Story AC coverage by tests
  4. Check infra/docs updates present

Phase 6: Final Verdict

  1. Calculate Quality Score (see formula above)
  2. Run NFR checks per dimensions table (fast_track: Security only; full: all dimensions)
  3. Assign issue prefixes: SEC-, PERF-, MNT-, TEST-, ARCH-, DOC-
  4. Determine Gate verdict per 4-Level Gate Model
  5. Post gate verdict comment:
    • IF task_provider = linear: create_comment({issueId: storyId, body: verdict_summary})
    • IF task_provider = file: Write comment to docs/tasks/epics/.../comments/{ISO-timestamp}.md
  6. If FAIL: Record root cause analysis — classify each failure (missing_context | wrong_pattern | unclear_ac | doc_gap | test_gap). Append to docs/project/architecture_health.md under ## Root Cause Log (create section if missing). Format: | {date} | {story_id} | {issue_id} | {classification} | {action_taken} |
  7. Escaped defects (post-gate): When bugs are discovered AFTER gate verdict (manual review, production, ln-310 mode=code_review), run Detection Efficacy Audit per shared/references/detection_efficacy_audit.md. Log results to docs/project/architecture_health.md under ## Escaped Defect Log. Classifications: algorithm_logic | performance_pattern | domain_specific | resource_bounds | encapsulation | data_structure | concurrency.
  8. Update Story status:
    • IF task_provider = linear: save_issue({id: storyId, state: "Done"}) for PASS/CONCERNS/WAIVED; create fix tasks for FAIL
    • IF task_provider = file: Edit **Status:** line to Done in story.md for PASS/CONCERNS/WAIVED; create fix task files for FAIL

Phase 7: Branch Finalization

MANDATORY READ: Load shared/references/git_worktree_fallback.md

Runs only when verdict is PASS, CONCERNS, or WAIVED. Consumes verified results from ln-510/ln-513 — does NOT rerun checks.

  1. IF uncommitted changes exist → git add -A && git commit -m "{storyId}: {Story Title}"
  2. Push branch: git push -u origin {branch}
  3. Move Story + Tasks → Done (Linear or kanban)
  4. Report to chat + file: branch name, git stats (files changed, insertions, deletions), quality verdict
  5. Cleanup: git worktree remove {worktree_dir} (branch preserved on remote)

On FAIL verdict: Skip Phase 7. Create fix tasks, return to ln-400.

TodoWrite format (mandatory):

- Invoke ln-510-quality-coordinator (in_progress)
- Check test task status (pending)
- Invoke ln-520-test-planner (pending, if needed)
- Verify test coverage (pending)
- Calculate Quality Score + NFR (pending)
- Determine verdict + update Story (pending)
- Branch finalization (pending)

Worker Invocation (MANDATORY)

PhaseWorkerPurpose
3ln-510-quality-coordinatorCode quality + criteria + linters + regression
4ln-520-test-plannerResearch + manual testing + auto test planning

Invocation:

Skill(skill: "ln-510-quality-coordinator", args: "{storyId}")
Skill(skill: "ln-520-test-planner", args: "{storyId}")

Anti-Patterns:

  • Running mypy, ruff, pytest directly instead of invoking ln-510
  • Running web searches or creating bash scripts instead of invoking ln-520
  • Marking steps as completed without invoking the actual skill
  • Any direct command execution that should be delegated

Critical Rules

  • Early-exit: any failure creates a specific task and stops
  • Single source of truth: rely on task_provider config (Linear or file-based) for tasks
  • Task creation via ln-301 only; this skill never edits tasks directly
  • Test verification only runs when test task is Done
  • Language preservation in comments (EN/RU)
  • Agent code review is MANDATORY regardless of execution mode. If ln-510 is invoked — it handles agent review (Phase 4/8). If ln-510 is skipped or replaced with inline implementation — agent review MUST still be performed directly using shared/agents/prompt_templates/modes/code.md with at least 1 external agent and critical verification protocol. MANDATORY READ: Load references/minimum_quality_checks.md for non-negotiable checks.

Definition of Done

  • ln-510 quality checks: pass OR fix tasks created
  • Test task status checked; ln-520 invoked if needed
  • Test coverage verified (when test task Done)
  • Quality Score calculated; NFR validation completed
  • Gate output format:
    gate: PASS | CONCERNS | FAIL | WAIVED
    quality_score: {0-100}
    nfr_validation:
      security: PASS | CONCERNS | FAIL
      performance: PASS | CONCERNS | FAIL
      reliability: PASS | CONCERNS | FAIL
      maintainability: PASS | CONCERNS | FAIL
    issues: [{id: "SEC-001", severity: high|medium|low, finding: "...", action: "..."}]
    
  • Story set to Done (PASS/CONCERNS/WAIVED) or fix tasks created (FAIL)
  • Branch finalized: committed, pushed to remote, worktree cleaned up (PASS/CONCERNS/WAIVED)
  • Root cause analysis recorded in architecture_health.md for every FAIL verdict
  • Comment with gate verdict posted

Phase 8: Meta-Analysis

MANDATORY READ: Load shared/references/meta_analysis_protocol.md

Skill type: execution-orchestrator. Run after all phases complete. Output to chat using the execution-orchestrator format.

Reference Files

  • Tools config: shared/references/tools_config_guide.md
  • Storage mode operations: shared/references/storage_mode_detection.md
  • Orchestrator lifecycle: shared/references/orchestrator_pattern.md
  • Quality coordinator: ../ln-510-quality-coordinator/SKILL.md
  • Test planner: ../ln-520-test-planner/SKILL.md
  • Risk-based testing: shared/references/risk_based_testing_guide.md
  • Minimum quality checks: references/minimum_quality_checks.md
  • MANDATORY READ: shared/references/git_worktree_fallback.md

Version: 7.0.0 Last Updated: 2026-02-09

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

ln-782-test-runner

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-140-test-docs-creator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-150-presentation-creator

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

ln-110-project-docs-coordinator

No summary provided by upstream source.

Repository SourceNeeds Review