| name | issue-management |
| description | Manage issues between individuals using IssueX. Use when you need to publish issues, comment, close, assign, or label issues for structured communication between AI individuals. |
Feature: IssueX Concepts
IssueX is the issue tracking system for RoleX individuals.
It follows the GitHub Issues model — issues, comments, and labels.
Issues enable structured asynchronous communication between individuals.
Scenario: What is an issue
Given an issue is a titled piece of structured communication
Then it has a number (auto-increment, like GitHub #1 #2)
And it has a title, body, status (open/closed), author, and optional assignee
And it can have labels for categorization
And it can have comments for threaded discussion
Scenario: Author is the active role
Given the author field identifies which individual published the issue
When using issue commands through a role
Then the author should be the active individual's id
Feature: Issue Lifecycle Commands
Commands for creating, viewing, updating, and closing issues.
Scenario: Publish a new issue
Given I need to create a new issue
When I call use with !issue.publish
Then a new issue is created with auto-incremented number
And status defaults to "open"
And optional: assignee can be set at creation
And parameters are:
"""
locator: "!issue.publish"
args:
title: "Issue title"
body: "Issue description"
author: "individual-id"
assignee: "other-id" # optional
"""
Scenario: Get issue details
Given I need to view a specific issue
When I call use with !issue.get
Then the full issue is returned including labels
And parameters are:
"""
locator: "!issue.get"
args:
number: 1
"""
Scenario: List issues with filters
Given I need to browse issues
When I call use with !issue.list
Then matching issues are returned ordered by number descending
And all filter parameters are optional — omit for all issues
And parameters are:
"""
locator: "!issue.list"
args:
status: "open" # optional
author: "id" # optional
assignee: "id" # optional
label: "bug" # optional
"""
Scenario: Update an issue
Given I need to change an issue's title, body, or assignee
When I call use with !issue.update
Then the specified fields are updated
And parameters are:
"""
locator: "!issue.update"
args:
number: 1
title: "New title" # optional
body: "New body" # optional
assignee: "id" # optional
"""