forgejo-mcp/openspec/specs/org-membership/spec.md
Christoph Görn 7eb8a34234
docs: 📝 archive 5 delivered openspec changes, track 2 unimplemented
Sweep: assessed all 7 active openspec changes against the codebase.
Five had landed implementations (bounded-text, org-label, org-management,
code-review-skill, list-milestones-labels) — archived under
openspec/changes/archive/2026-05-12-* and their deltas folded into
openspec/specs/. Two remain unimplemented: add-releases-support
(operation/release/ missing despite proposal PR #129) and
forgejo-action-code-review (.forgejo/workflows/claude-code-review.yml
missing despite spec deltas).

Beads: reopened forgejo-mcp-0ep (releases impl) with notes on actual
status; created forgejo-mcp-673 for the action workflow impl.
2026-05-12 15:38:15 +02:00

2.6 KiB

org-membership Specification

Purpose

TBD - created by archiving change add-org-management. Update Purpose after archive.

Requirements

Requirement: List organization members

The system SHALL provide a list_org_members MCP tool that lists members of an organization. The tool SHALL accept:

  • org (required): organization name
  • page (required, default 1): page number
  • limit (required, default 100): page size

The tool SHALL return a list of user objects representing organization members.

Scenario: List members of an organization

  • WHEN user calls list_org_members with org set to an existing organization
  • THEN the system returns a list of user objects who are members of that organization

Scenario: List members with pagination

  • WHEN user calls list_org_members with org, page set to 2, limit set to 25
  • THEN the system returns the second page of members with at most 25 entries

Scenario: List members of non-existent organization

  • WHEN user calls list_org_members with org set to a name that does not exist
  • THEN the system returns an error indicating the organization was not found

Requirement: Check organization membership

The system SHALL provide a check_org_membership MCP tool that checks if a user is a member of an organization. The tool SHALL accept:

  • org (required): organization name
  • user (required): username to check

The tool SHALL return a boolean-style result indicating membership status.

Scenario: User is a member

  • WHEN user calls check_org_membership with org and user where the user is a member
  • THEN the system returns a result indicating the user is a member

Scenario: User is not a member

  • WHEN user calls check_org_membership with org and user where the user is not a member
  • THEN the system returns a result indicating the user is not a member

Requirement: Remove organization member

The system SHALL provide a remove_org_member MCP tool that removes a user from an organization. The tool SHALL accept:

  • org (required): organization name
  • user (required): username to remove

The tool SHALL return a success confirmation upon removal.

Scenario: Remove existing member

  • WHEN user calls remove_org_member with org and user where the user is a current member
  • THEN the system removes the user from the organization and returns a success message

Scenario: Remove non-member

  • WHEN user calls remove_org_member with org and user where the user is not a member
  • THEN the system returns an error indicating the user is not a member of the organization