一键导入
product-manager
Use to analyze the backlog, break down tasks from requirements, and automate Issue/Sprint management using GitLab API.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Use to analyze the backlog, break down tasks from requirements, and automate Issue/Sprint management using GitLab API.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use to verify if the code/logic aligns with the Vietnamese business spec. Mandatory cross-referencing with BR-* rules before implementation.
Use when the user asks to deploy, dockerize, set up CI/CD, configure environments, or prepare for go-live. Covers Docker Compose, GitHub Actions, health checks, environment configuration, database backup, and production readiness checklist. Trigger words: "deploy", "docker", "CI", "CD", "go live", "production", "staging", "health check", "backup", "monitoring".
Use to ensure alignment between Backend and Frontend, guarding the Modular Monolith and API contracts.
Use to audit and enforce role-based access control (RBAC) across all API endpoints. Scans handler routes, maps required roles from the business spec, generates RequireRole middleware guards, and reports orphan (unprotected) endpoints. Trigger words: "rbac", "phân quyền", "role", "access control", "security audit", "guard endpoints", "protect routes".
Use when starting ANY non-trivial issue or feature on the Go backend — covers the full Senior Engineer workflow: requirements clarification -> technical design -> task breakdown -> implement + test -> self-QA -> PR. ALWAYS trigger this skill when the user says "implement", "add feature", "fix issue", "build", "create endpoint", or pastes a GitHub issue/ticket. Do NOT skip phases — especially Phase 5 (Self-QA) which is the most commonly forgotten step before submitting code.
Use to review Go backend changes for correctness, security, modular-monolith boundaries, error handling, SQL safety, domain invariants, and missing tests. Trigger when the user asks for code review, PR review, audit findings, or correctness/security review.
| name | product-manager |
| description | Use to analyze the backlog, break down tasks from requirements, and automate Issue/Sprint management using GitLab API. |
Acts as a PM assistant to the Indie Hacker to automate Agile workflows on GitLab.
| Repo | Purpose | Notes |
|---|---|---|
529-stu/Vmarble-Warehouse-Management-Service | Backend (BE) | Ships first |
529-stu/Vmarble-Warehouse-Management-Client | Frontend (FE) | Blocked by BE when applicable |
Cross-repo rule: BE ships first. FE issues that depend on an unmerged BE feature must carry the label blocked::be.
# Authenticate (run once per session)
GL=$(cat /tmp/gl_token | tr -d "\n")
# Base URLs
BE_ISSUES="https://gitlab.com/api/v4/projects/529-stu%2FVmarble-Warehouse-Management-Service/issues"
FE_ISSUES="https://gitlab.com/api/v4/projects/529-stu%2FVmarble-Warehouse-Management-Client/issues"
# List open issues (BE)
curl -s --header "PRIVATE-TOKEN: $GL" "$BE_ISSUES?state=opened&per_page=20"
# View a specific issue (BE)
curl -s --header "PRIVATE-TOKEN: $GL" "$BE_ISSUES/<issue_iid>"
# List open issues (FE)
curl -s --header "PRIVATE-TOKEN: $GL" "$FE_ISSUES?state=opened&per_page=20"
docs/backend-business-logic-vi.md.internal/module/ implementation.Draft issues in Vietnamese as requested for clarity in the board:
Example Issue Title: [inventory] Trien khai quy tac BR-K03 Bao toan dien tich
Example Issue Body:
## Tom tat
Hien tai module Inventory chua kiem tra rang buoc dien tich khi bao cao ket qua cat. Can implement logic check BR-K03.
## Quy tac nghiep vu (Business Rules)
- BR-K03: Tong dien tich thanh pham + dien tich tam le + dien tich phe lieu <= dien tich tam goc.
## Dinh nghia hoan thanh (DoD)
- [ ] Cap nhat service.go ham RecordCut de kiem tra tong dien tich.
- [ ] Tra ve loi ErrAreaConservation (422) neu vi pham.
- [ ] Them unit test cho truong hop vi pham dien tich.
When approved, create the issue via curl POST to GitLab:
GL=$(cat /tmp/gl_token | tr -d "\n")
BE_ISSUES="https://gitlab.com/api/v4/projects/529-stu%2FVmarble-Warehouse-Management-Service/issues"
curl -s -X POST \
--header "PRIVATE-TOKEN: $GL" \
--header "Content-Type: application/json" \
--data '{"title": "[inventory] ...", "description": "..."}' \
"$BE_ISSUES"
To create a FE issue blocked by a BE issue, add blocked::be label:
FE_ISSUES="https://gitlab.com/api/v4/projects/529-stu%2FVmarble-Warehouse-Management-Client/issues"
curl -s -X POST \
--header "PRIVATE-TOKEN: $GL" \
--header "Content-Type: application/json" \
--data '{"title": "[fe] ...", "description": "...", "labels": "blocked::be"}' \
"$FE_ISSUES"
Agent Tip: Always check current open issues via curl before proposing new tasks to avoid duplicates.