用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/omiinaya/repairshopr-skills --skill repairshopr-portal-user命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
Validate Lenovo serial and create asset in RepairShopr
基于 SOC 职业分类
正在显示 SKILL.md
| name | repairshopr-portal-user |
| description | Manage portal users (customer portal access) in RepairShopr |
| license | MIT |
| compatibility | opencode |
| metadata | {"audience":"administrators, customer service","api":"GET /portal_users, POST /portal_users, PUT /portal_users/{id}, DELETE /portal_users/{id}, POST /portal_users/create_invitation"} |
I manage portal users, which are customer portal login accounts. Portal users are typically contacts or customers who have credentials to access the customer portal for viewing tickets, invoices, making payments, etc. I can list, create, update, delete portal users and send invitation emails.
Use this when:
Required API base URL:
VITE_REPAIRSHOPR_SUBDOMAINVITE_REPAIRSHOPR_API_KEYPermission: "Global Admin" required for all operations.
List Portal Users (GET /portal_users) Optional:
customer_id (integer) - Filter by customeremail (string) - Filter by emailpage (integer) - Page number (100 results per page)Create Portal User (POST /portal_users) Body must include (fields not fully documented but typical):
email (string) - User's email (login)password (string) - Initial password (or system generates one)password_confirmation (string) - Confirm passwordcustomer_id (integer) - Associated customercontact_id (integer) - Associated contact (optional)portal_group_id (integer) - Portal permissions group IDResponse returns the created portal user without the password.
Update Portal User (PUT /portal_users/{id})
id (integer) - Portal user ID
Body can include: password, password_confirmation, other user attributesDelete Portal User (DELETE /portal_users/{id})
id (integer) - Portal user IDSend Invitation (POST /portal_users/create_invitation)
Body: optionally id to target specific user? Actually the endpoint seems to be for creating an invitation; documentation shows id parameter but unclear. Typically you'd invite a portal user by email.
Example call:
// List portal users for a customer
const users = await skill({ name: "repairshopr-portal-user" }, {}, { customer_id: 123, method: 'GET' })
// Create portal user
const portalUser = await skill({ name: "repairshopr-portal-user" }, {
email: "contact@client.com",
password: "SecurePass123!",
password_confirmation: "SecurePass123!",
customer_id: 123,
portal_group_id: 4 // Standard customer portal group
})
// Update password
await skill({ name: "repairshopr-portal-user" }, {
password: "NewPass456!",
password_confirmation: "NewPass456!"
}, { id: portalUser.portal_user.id, method: 'PUT' })
// Delete portal user
await skill({ name: "repairshopr-portal-user" }, {},
{ id: portalUser.portal_user.id, method: 'DELETE', : { : portalUser.. } }
)
({ : }, {},
{ : , : , : {} }
)
Response includes:
id, email, customer_id, contact_id, portal_group_id, created_at{ success: true, message: "..." } or errorportal_group_id determines what the user can do in the portal (must be configured in RepairShopr)repairshopr-customer-create - First create customerrepairshopr-contact-create - Optionally create contact firstrepairshopr-customer-search - Find existing customers