---
name: deft-directive-issue-eval
description: >-
  Thin router for Stage A issue evaluation: isolated origin/master validity,
  parent WIP census, named gitignored sink. Use when the operator asks to
  evaluate issues, run issue-eval, or triage:evaluate. Do NOT trigger on
  ordinary implement, build, swarm, or design-critique dispatch.
triggers:
  - issue-eval
  - issue eval
  - triage:evaluate
  - evaluate issues
---
<!-- AUTO-GENERATED by task packs:render -- DO NOT EDIT MANUALLY -->
<!-- Purpose: rendered skill -->
<!-- Source of truth: packs/skills/skills-pack-0.1.json -->
<!-- Regenerate with: task packs:render -->
<!-- Edit the source, not this file. Slice instead of loading every SKILL.md: task packs:slice skills by-trigger --trigger <kw> (or list) -->

# Issue Eval

Thin router into the issue-eval contract. Operator runs `task triage:evaluate`.

Legend (from RFC2119): !=MUST, ~=SHOULD, ≉=SHOULD NOT, ⊗=MUST NOT, ?=MAY.

## When to Use

- Operator asks to evaluate issues, run issue-eval, or `triage:evaluate`
- ⊗ Ordinary implement, build, swarm, or design-critique dispatch

## Stops

Normative rules live in [`contracts/issue-eval.md`](../../contracts/issue-eval.md).

1. Split read sources
2. Verdict sink
3. Evaluator worktrees
4. Value advice grammar
5. No GitHub writes
6. Fan-out

⊗ Emit `design-critique: warranted | not warranted, because` from evaluation.
⊗ Reuse `swarm:launch` until #3649.
⊗ Write `xbrief/proposed/` or GitHub from this skill.

## EXIT

deft-directive-issue-eval complete -- exiting skill. Next: run `task triage:evaluate`, then decide with existing `triage:*` verbs.
