Skip to content
Back to skills

Phase Complete

ASecurity

Verify a phase's exit criteria are met before declaring it done. Use at the boundary of a project phase, before moving on or claiming completion, to catch unmet criteria.

  • 4 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentsgobashdocumentation

Security analysis

A100/100

Scanned September 29, 2026

npx -y skills add bakw00ds/yakos --skill phase-complete --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Phase Complete?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Phase Complete
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/bakw00ds-phase-complete/badge)](https://www.skillsdirectory.com/skills/bakw00ds-phase-complete)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: phase-complete
description: Verify a phase's exit criteria are met before declaring it done. Use at the boundary of a project phase, before moving on or claiming completion, to catch unmet criteria.
allowed-tools: Read Bash Grep TaskList
argument-hint: "<phase-name>"
mode: [review]
---

# Phase Complete

## Purpose

A "phase" is a labeled chunk of multi-step work — typically the unit
that ends with a release tag, a milestone, or an explicit hand-off
to a different team. This skill verifies the exit criteria of the
phase before the lead declares it done. Distinct from per-task
verification (`verify-agent-work`) — phase-complete looks at the
phase as a whole.

## Scope

Operates on a phase definition (typically captured in `decisions.md`
or `plan.md`). Reads the current state of tasks, hooks, and
artifacts. Read-only; produces a go/no-go signal.

NOT in scope: actually closing the phase. The lead does that based on
this skill's output and any judgment calls.

## Automated pass

1. Read the phase's exit criteria from `plan.md` or `decisions.md`.
   If criteria aren't documented, surface "phase has no documented
   exit criteria" and stop — phase completion isn't testable without
   them.
2. For each criterion, verify:
   - **Tasks.** Every task assigned to the phase is `completed`.
     Any "in_progress" or "blocked" tasks block phase-complete.
   - **Hooks.** No outstanding `BLOCK`-severity hook entries since
     the phase started.
   - **Bypasses.** No active hook bypasses (any open bypass is a
     debt to clear before phase close).
   - **Decisions.** `decisions.md` has been updated since the most
     recent task activity. A stale `decisions.md` at phase end means
     the audit trail is incomplete.
   - **Tests.** The full test suite passes (delegate to `test-suite`).
   - **Documentation.** If the phase shipped user-visible changes,
     CHANGELOG and relevant docs have entries.
3. Run any phase-specific custom checks declared in the project
   (e.g. PandaOS's release-audit playbook).

## Manual pass

The lead reviews:

- Whether any pre-existing failures are being grandfathered in (and
  whether that's intentional vs accidental).
- Whether the documentation changes match the user-visible changes
  in spirit, not just in form.
- Whether the phase produced any "leftovers" — partial work that
  needs to be re-scoped into the next phase.

## Findings synthesis

```
phase-complete: <phase-name>
  status: <go|no-go>
  tasks:        <n>/<n> completed (<n> blocked, <n> in-progress)
  hooks:        <ok|n outstanding blocks>
  bypasses:     <n active>
  decisions.md: <fresh|stale-by-Xh>
  tests:        <pass|fail>
  docs:         <ok|missing>
  custom:       <list, or "n/a">

Recommendation: <close|address-then-close|defer>
  Items: <list of remaining work>
```

## Known gotchas

- A phase declared "complete" with active bypasses is a phase declared
  complete on technicality, not substance. Close the bypasses (or
  document them as deliberately ongoing) before the phase closes.
- Phase boundaries should be obvious in retrospect. If determining
  whether a piece of work belongs to "this phase" or "the next" is
  ambiguous, that's a sign the phase boundary is too fuzzy.
- This skill reads task list state. If the team has been sloppy about
  marking tasks complete, the skill's output reflects sloppiness, not
  truth. Test 4's "blockedBy is advisory" caveat applies.
- The skill is appropriate for releases, milestones, and major
  feature ships. Don't run it for micro-phases — the overhead exceeds
  the value.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…