Skip to content

Feature request: surface priority and author in openspec list #1899

Description

@arutsh

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.yaml next to proposal.md, validated by ChangeMetadataSchema (src/core/change-metadata/schema.ts). It currently supports schema, created, goal, affected_areas, initiative, skip_specs, retire_capabilities — no priority or author.
  • openspec list (src/core/list.ts) tracks only name, completedTasks, totalTasks, lastModified, and renders name / 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) and author (optional free string) to ChangeMetadataSchema.
  • author is populated automatically at openspec new change time from git config user.name, rather than requiring it to be set by hand. It should still be overridable in .openspec.yaml.
  • openspec list reads .openspec.yaml per change and adds priority/author columns when present (and to the --json shape), without changing output for changes that don't set them.

Related

Activity

  1. added 2 commits that reference this issue on Sep 27, 2026
    aca293d
    fc8ce5e
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions