원클릭으로
alpaca-issue-tracker
Interact with the Alpaca Issue Tracker on a WordPress site using the WordPress Abilities API.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Interact with the Alpaca Issue Tracker on a WordPress site using the WordPress Abilities API.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
| name | alpaca-issue-tracker |
| description | Interact with the Alpaca Issue Tracker on a WordPress site using the WordPress Abilities API. |
This skill allows a local agent to interact with the Alpaca Issue Tracker plugin installed on a WordPress site. It leverages the WordPress Abilities API (introduced in WordPress 6.9) to list, create, update, delete, and comment on issues programmatically.
For developer-oriented reference (permissions, payloads, and REST vs Abilities boundaries), see docs/developer/abilities-api.md in the plugin repository.
To access the Abilities API endpoints, the agent must authenticate using WordPress Application Passwords. The recommended approach is the interactive Authorize Application flow.
Direct the user to the WordPress Authorize Application screen:
https://<site-domain>/wp-admin/authorize-application.php?app_name=Alpaca+Local+Agent&success_url=<callback-url>&app_id=<unique-uuid>
<site-domain>: The domain of the WordPress site.app_name: A user-friendly name for your agent.success_url (optional): The URL to redirect the user back to upon approval. If this parameter is omitted, the user will be presented with the generated Application Password directly in the WordPress browser UI, and they will need to manually copy and paste the password back into the agent.app_id (optional): A unique UUID generated by the agent.Depending on whether success_url was provided:
success_url)Once the user approves the application, WordPress will redirect them to your success_url with the following query parameters:
<callback-url>?siteurl=https%3A%2F%2Fexample.com&user_login=agent_user&password=abcd+efgh+ijkl+mnop+qrst+uvwx
Extract and save:
user_login: The username.password: The generated 24-character Application Password (strip spaces when using).success_url)If success_url is omitted, the user approves the application, and WordPress displays the new Application Password on screen. The user must manually copy and paste the password (e.g. abcd efgh ijkl mnop qrst uvwx) and provide their WordPress username back to the agent.
All subsequent REST API calls should include standard HTTP Basic Authentication headers using the username and the clean Application Password (spaces removed).
All abilities are exposed under the standard WordPress Abilities API endpoint namespace:
/wp-json/wp-abilities/v1/abilities/
GET /wp-json/wp-abilities/v1/abilitiesPOST /wp-json/wp-abilities/v1/abilities/<ability-name>/run with body {"input": {...}}alpaca/get-boardRetrieves the current project board columns (statuses) and all top-level issues.
POST /wp-json/wp-abilities/v1/abilities/alpaca/get-board/run[
{
"id": 12,
"title": "Backlog",
"issues": [
{
"id": 145,
"title": "Fix navbar alignment",
"slug": "fix-navbar-alignment",
"comment_count": 2,
"assignees": [],
"labels": [],
"meta": {
"alpaca_high_priority": false,
"lastActivity": "2026-06-04T14:00:00Z"
}
}
]
}
]
alpaca/create-issueCreates a new issue in the tracker.
POST /wp-json/wp-abilities/v1/abilities/alpaca/create-issue/runfeedback (string, required): The title or content of the issue.is_high_priority (boolean, optional): Whether to mark it as high priority.{
"input": {
"feedback": "Database query timeout on dashboard",
"is_high_priority": true
}
}
{
"post_id": 146,
"issue": {
"id": 146,
"slug": "database-query-timeout-on-dashboard",
"title": "Database query timeout on dashboard",
"author_id": 1,
"author_name": "Admin",
"meta": {
"alpaca_high_priority": true
}
},
"statusId": 12
}
alpaca/get-issueRetrieves detailed information for a specific issue.
POST /wp-json/wp-abilities/v1/abilities/alpaca/get-issue/runid (integer, required): The issue ID.{
"input": {
"id": 146
}
}
{
"success": true,
"post_id": 146,
"post_data": {
"ID": 146,
"post_title": "Database query timeout on dashboard",
"post_content": "Database query timeout on dashboard",
"post_author": "1"
},
"meta": {
"alpaca_high_priority": true
},
"taxonomies": {
"alpaca_status": [
{
"term_id": 12,
"name": "Backlog",
"slug": "backlog"
}
]
},
"subissues": [],
"comment_count": 0
}
alpaca/update-issueUpdates specified fields of a given issue.
POST /wp-json/wp-abilities/v1/abilities/alpaca/update-issue/runid (integer, required): The ID of the issue.title (string, optional): The new title.content (string, optional): The new content/description.status_id (integer, optional): The ID of the status term to assign.is_high_priority (boolean, optional): High priority state.parent_id (integer, optional): Parent issue ID (0 to remove parent).assignees (array of strings, optional): Array of user slugs.{
"input": {
"id": 146,
"status_id": 13,
"assignees": ["john_doe"]
}
}
{
"post_id": 146,
"issue": {
"id": 146,
"title": "Database query timeout on dashboard"
},
"statusId": 13
}
alpaca/delete-issueMoves a specific issue to the trash.
POST /wp-json/wp-abilities/v1/abilities/alpaca/delete-issue/runid (integer, required): The ID of the issue.{
"input": {
"id": 146
}
}
{
"success": true,
"message": "Issue moved to trash successfully.",
"id": 146
}
alpaca/add-commentPosts a comment (of hidden comment type issuecomment) on an issue.
POST /wp-json/wp-abilities/v1/abilities/alpaca/add-comment/runissue_id (integer, required): The ID of the issue.content (string, required): The comment text.{
"input": {
"issue_id": 146,
"content": "This seems to be resolved after optimizing the index."
}
}
{
"success": true,
"comment_id": 204,
"comment": {
"id": 204,
"content": "This seems to be resolved after optimizing the index.",
"author_name": "Admin",
"date": "2026-06-04 14:15:00"
}
}
alpaca/get-commentsRetrieves comments posted on an issue.
POST /wp-json/wp-abilities/v1/abilities/alpaca/get-comments/runissue_id (integer, required): The ID of the issue.{
"input": {
"issue_id": 146
}
}
[
{
"id": 204,
"content": "This seems to be resolved after optimizing the index.",
"author_name": "Admin",
"author_id": 1,
"author_user_agent": "human",
"author_details": {
"id": 1,
"name": "Admin",
"display_name": "Admin",
"avatar": "https://example.com/avatar-48.png",
"avatar_urls": {
"24": "https://example.com/avatar-24.png",
"48": "https://example.com/avatar-48.png",
"96": "https://example.com/avatar-96.png"
}
},
"meta": {
"alpacaCommentTags": [],
"alpacaNotificationContext": {},
"alpacaCommentAttachments": [],
"alpacaMentionedUsers": [],
"alpacaCommentLastEdit": {}
},
"date": "2026-06-04 14:15:00",
"date_gmt": "2026-06-04 18:15:00"
}
]
The current Abilities API integration exposes the core issue, board, and comment actions listed above. Some Alpaca Issue Tracker features remain available through the WordPress admin UI or existing REST endpoints, but are not currently supported as ability actions.
Agents should treat the following as unsupported through abilities for now:
alpaca/get-issue may return existing subissues, but subissue management still uses the plugin's REST/UI flow.alpaca/create-issue only accepts issue feedback and high-priority state.alpaca/delete-issue can move an issue to trash, but undelete/restore still uses the plugin's REST/UI flow.If the WordPress site has the WordPress MCP Adapter installed, these registered abilities are automatically exposed to MCP clients as native MCP tools.
The MCP Adapter automatically translates namespaced ability names by replacing forward slashes (/) with hyphens (-).
The mapping is as follows:
| Abilities API Name | MCP Tool Name |
|---|---|
alpaca/get-board | alpaca-get-board |
alpaca/create-issue | alpaca-create-issue |
alpaca/get-issue | alpaca-get-issue |
alpaca/update-issue | alpaca-update-issue |
alpaca/delete-issue | alpaca-delete-issue |
alpaca/add-comment | alpaca-add-comment |
alpaca/get-comments | alpaca-get-comments |