Feature request: surface priority and author in openspec list
Author: arutshCreated Sep 16, 2026Updated Sep 16, 2026
Summary
Add optional priority and author fields to per-change metadata (.openspec.yaml), and surface them as columns in openspec list (both the table and --json output).
Use case
When several changes are in flight, the plain Changes: table gives no sense of which one matters most or who owns it:
Changes:
async-privileged-access-audit 0/9 tasks 1d ago
superuser-admin-console 0/31 tasks 9d ago
docker-image-slim-build 0/14 tasks 14d ago
...
With multiple parallel changes (and possibly multiple contributors), it's hard to tell what to pick up next without opening every proposal.md. Attaching a priority and an owner at the change level, and showing them in list, would let a team — or a single person managing many parallel changes — triage without reading each file.
Current behavior
- Per-change metadata lives in
.openspec.yamlnext toproposal.md, validated byChangeMetadataSchema(src/core/change-metadata/schema.ts). It currently supportsschema,created,goal,affected_areas,initiative,skip_specs,retire_capabilities— nopriorityorauthor. openspec list(src/core/list.ts) tracks onlyname,completedTasks,totalTasks,lastModified, and rendersname / task-status / relative-time. There's no ownership or priority concept anywhere in the CLI today.
Proposed behavior
- Add
priority: 'low' | 'medium' | 'high'(optional enum) andauthor(optional free string) toChangeMetadataSchema. authoris populated automatically atopenspec new changetime from git configuser.name, rather than requiring it to be set by hand. It should still be overridable in.openspec.yaml.openspec listreads.openspec.yamlper change and addspriority/authorcolumns when present (and to the--jsonshape), without changing output for changes that don't set them.
Related
- Not the same as #927 (closed) — that asked for a
listcommand to exist at all, before the current one shipped, and never mentions priority/author. - Not the same as #1669 / #1387 (parallel-change overlap detection) or #1525 (
openspec dashboard) — those address conflict detection and a broader UI, not per-change metadata display.
Source: Fission-AI/OpenSpec