Skip to content
Back to skills

Task Status

ASecurity

Show a fast read-only snapshot for one or more tracked tasks from each contract's managed lifecycle block, including phase, changed paths, evidence, blockers, decisions, and next command. Use for progress checks without running tests, writing status files, changing task state, or starting a cycle.

  • 10 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 24, 2026
ai-agentsgo

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add furkantokkan/agent-foundry --skill task-status --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Task Status?

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

Security grade badge for Task Status
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/furkantokkan-task-status/badge)](https://www.skillsdirectory.com/skills/furkantokkan-task-status)

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: task-status
model: sonnet
description: Show a fast read-only snapshot for one or more tracked tasks from each contract's managed lifecycle block, including phase, changed paths, evidence, blockers, decisions, and next command. Use for progress checks without running tests, writing status files, changing task state, or starting a cycle.
---

# Task Status

Report recorded task state without implementing, verifying, fixing, closing, or
updating it.

```text
$task-status GAME-201 GAME-202 GAME-203
$task-status
```

## 1. Resolve tasks

1. Resolve the current repository unless one exact `--repo` or `--project` is
   supplied. Read repository task conventions first.
2. Resolve complete IDs only as `production/tasks/<ID>/contract.md`; accept
   explicit in-repository contract paths. Preserve order and deduplicate IDs.
3. Never fall back to epics, stories, display names, timestamps, or partial IDs.
4. With no IDs, include lifecycle states `in_progress`, `reopened`, or
   `ready_to_close`, plus `draft` tasks with a non-empty `Action required`
   and tasks named by active orchestration.
   Do not list untouched `ready` backlog or `closed` tasks.

## 2. Read state without creating it

Read the `TASK-LIFECYCLE` block in each `contract.md`, role handoffs,
ownership/worktree ledgers, attributable diffs, retained verification evidence,
and commit metadata. For legacy tasks without the block, read sibling
`status.md` as compatibility input. Never create, update, migrate, or delete a
state artifact from this read-only command.

Read the entire defect ledger and report counts plus stable IDs grouped as
unresolved (`OPEN`, `REPRODUCING`, `FIXING`, `FIXED_UNVERIFIED`, `VERIFYING`,
`BLOCKED`) and `VERIFIED`. Do not infer resolution from code changes or a green
acceptance summary. If a `VERIFIED` row's evidence revision does not match the
reviewed revision, label it `STALE` in the snapshot without rewriting it.
Resolve every linked ID path read-only. Report missing/mismatched child records
as an evidence-integrity blocker and route to `task-cycle`; never backfill here.

Do not run tests/builds, refresh Unity, mutate Editor state, start agents, or
use Unity transports to manufacture fresh evidence. Mark checks `PASS`, `FAIL`,
`NOT_RUN`, `STALE`, or `UNKNOWN`; claims without retained sources are `UNKNOWN`.

Use phases:

```text
planning | implementation | verification | bugfix | review |
ready_to_close | waiting | closed | not_started | unknown
```

Prefer newer attributable handoffs over older state, but report contradictions
as blockers. Never attribute unrelated dirty paths to a task.

## 3. Choose one next action

- a lock whose owner stopped (session process gone, or no activity for the
  lease window in the lifecycle lock protocol), or an active task with no lock
  at all: report it as `takeover-able`, not locked. `$task-cycle <ID>` takes it
  over and continues from its recorded state (`$implement-task <ID>` for an
  empty-ledger direct lane);
- phase `awaiting_tests`: the task holds no lock while its submitted test
  request runs; report the recorded `Pending test request`. Its owner resumes
  on the result. With no live waiter, `$task-cycle <ID>` (or
  `$implement-task <ID>` for an empty ledger) resumes from that request;
- `ready_to_close`: where verified automatic closure is authorized, a task
  stranded by the removed handshake; route it to `$task-cycle <ID>`, which
  re-checks the gates at the current revision and closes it if they still
  hold. In explicit-close mode, or for an operator override close,
  `$task-done <ID>`;
- new unrecorded bug feedback: `$task-bug [<ID>] "<feedback>"`;
- any populated defect-ledger row, or a lifecycle/handoff that records a
  reopened or resumable cycle: `$task-cycle <ID>`;
- an empty defect ledger with initial ready work or incomplete initial
  implementation/evidence: `$implement-task <ID>`;
- `closed`: `None` unless new feedback exists, then `$task-bug <ID> "<feedback>"`;
- `closed` with `Closure mode: superseded`: report `Superseded by: <ID>`
  and route status/continuation to `$task-status <replacement-id>`; never
  revive or list the superseded task as an active blocker.
- new unrecorded bug feedback with uncertain task identity:
  `$task-bug "<feedback>"`;
- identity, ownership, stale contradiction, or approval gate: one focused
  unblock action;
- active work: `Wait for <phase>`.

Do not send a defect-free initial implementation result through `task-cycle`
merely because an implementation handoff exists. Conversely, once any defect
row exists or the task has entered a reopened/resumed cycle, keep continuation
on `task-cycle` unless `ready_to_close` takes precedence. If a workflow already
owns the task and is actively running, report `Wait for <phase>` instead of
suggesting a duplicate invocation.

Report a user decision only for a genuine product, architecture, risk,
ownership, or scope choice. Do not emit new lifecycle verdicts.

## 4. Report compactly

```text
TASK STATUS

<ID>
State: <state> [recorded | legacy | inferred]
Phase: <phase> [recorded | inferred]
Changed paths: <paths | None | UNKNOWN>
Tests: <check=result with source/revision>
Defects: <n unresolved [IDs]> | <n verified [IDs]> | <stale IDs>
Defect records: <n linked | missing/mismatched IDs>
Waiting reason: <reason | None>
Queue: WAITING_FOR_OWNER <predecessor-id> | None
Automatic wake-up: armed | unavailable | not applicable
Action required: <one action | None>
Decision required: <one decision | None>
Next: <one command | action | None>
```

State the snapshot revision/time. Never write `contract.md`, `status.md`, source,
tests, VCS, Unity, or external trackers.

Files in this skill

  • SKILL.md4.7 KB
  • agents/openai.yaml372 B

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…