5.5 KiB
5.5 KiB
name, description
| name | description |
|---|---|
| hyb-oa-delivery | Use for hyb-oa project delivery tasks: natural-language triage, planning with Issue CSV, implementing Fastify/Prisma or React/Vite changes, refining PC/mobile/WeCom UI, reimbursement/invoice/OCR/attachment work, trial-run troubleshooting, automated/visual verification, and Chinese batch commits. |
hyb-oa Delivery
Use this skill when working in /home/shunli/Projects/hyb-oa or when the user asks to continue planning, implementation, trial-run validation, visual QA, reimbursement/invoice improvements, Enterprise WeChat checks, deployment preparation, or project-wide review.
Required Reading
Read only what is relevant:
- Always read
AGENTS.mdand the newest relevantissues/*.csv. - After R5, first check the main R5/R6 contract status before planning trial-run or follow-up work; R5 must remain the completed gate and R6 must have its own Issue CSV before expanding scope.
- For UI/page work, PC/mobile/WeCom experience, approval UX, or domestic OA benchmarking, read
docs/product-design-rules.mdandreferences/visual-qa.md. - For approval workflow, roles, self-approval, notification, deeplink, reminder, or escalation work, read
docs/需求-统一审批中心规约.md. - For reimbursement, invoice, OCR, duplicate invoice, or attachment work, read
docs/reimbursement-invoice-rules.mdandreferences/reimbursement.md. - For local/WeCom/public trial-run, OCR runtime, Caddy, or DB drift work, read
docs/trialrun-runbook.mdandreferences/trialrun.md. - For how this skill should evolve, read
docs/agent-development-practices.md.
Natural-Language Triage
Users may assign work with a plain paragraph. Before asking follow-up questions, classify the request into defect, feature, acceptance feedback, plan, review, QA, deployment, design, or product-flow optimization.
Default behavior:
- Extract intent, target surface, constraints, approval state, and next action.
- Check existing assets before declaring a blocker:
issues/,docs/,artifacts/,output/, scripts, Playwright tests, runbooks, and prior trial-run evidence. - Ask only when required by
AGENTS.mdor safety: missing approval for non-trivial coding, destructive data work, production config, secrets/accounts, conflicting goals, or unclear high-risk acceptance. - Treat a plain "确认" as approval for the immediately preceding explicit plan or Issue CSV, unless multiple candidates exist.
- If the user asks whether a problem is real, verify first with automation, code inspection, public checks, or visual evidence before proposing broad changes.
Delivery Loop
- Check
git status --short; do not revert unrelated user changes. - Identify or create the current Issue CSV before non-trivial work; after R5, distinguish R6 preparation from actual trial-run execution.
- State the implementation approach before editing code; if already approved, proceed.
- Keep changes scoped to the current Issue.
- Prefer existing project patterns, official SDKs, and principles from documented domestic OA/approval/mobile references; do not copy competitor flows or text directly.
- Verify with the narrowest relevant automated tests, then expand by risk.
- Use Playwright screenshots or visual metrics for PC/mobile/WeCom UI changes.
- Update Issue CSV statuses only after the stated
Test_Methodpasses. - Commit in Chinese batches with Issue IDs.
- 面向用户可测试的改动,最终必须明确“是否已部署”。只有部署与公网检查通过后,才能告知用户可以去企业微信或公网试运行环境测试。
Default Verification Matrix
Backend:
cd server && npm run prisma:validate
cd server && node --check src/routes/reimbursements.js
cd server && node --check src/routes/workflow.js
Frontend:
cd client && npm run typecheck
cd client && npm run build
Cross-device UI:
cd client && npx playwright test <relevant-spec> --workers=1 --reporter=list
Docs/Skill:
python3 /home/shunli/.codex/skills/plan/scripts/validate_issues_csv.py <issue.csv>
python3 /home/shunli/.codex/skills/.system/skill-creator/scripts/quick_validate.py .agents/skills/hyb-oa-delivery
git diff --check
Stop Conditions
Pause for user confirmation before:
- Resetting, rebuilding, or destructively modifying a database.
- Resolving Prisma migration drift by editing migration history.
- Changing production Caddy/systemd/remote deployment state.
- Using or exposing real secrets.
- Reverting unrelated dirty files.
Output Contract
Final responses should include:
- What changed.
- What was verified, with commands.
- 面向用户可测改动的部署状态:commit hash、公网 URL、
/ready、公网前端资源/文案检查,以及用户现在是否可以测试。 - What remains blocked and why.
- Commit hashes when commits were made.
R6 and Trial-Run Defaults
- R6 can start only from a new Issue CSV that fixes users, roles, time window, rollback contact, issue log, and daily closeout rhythm.
- R6 scope defaults to reimbursement, leave, procurement, approval, Enterprise WeChat entry/notification, finance payment/export.
- Do not expand to budget, ERP, AI, full travel, or complex BPM during R6; record those as follow-up Issues.
- Enterprise WeChat personal app message is the formal approval notification channel after R5; mock and group bots are not acceptance evidence for R6 business notification.
- Approval-chain correctness can be proven by PC or automation, while Enterprise WeChat validates entry, binding,免登录, notification, deeplink, and mobile layout.