| name | ncp-admin-grill-me |
| description | 面向 Ncp.Admin 的交互式需求拷问与任务定界技能。用于用户需求含糊、跨前后端/权限/接口/数据迁移/测试边界不清、或实现前需要先把范围和验收条件问透的场景;先持续追问并产出清晰任务卡,再决定转入 cleanddd-requirements-analysis、cleanddd-dotnet-coding 或 ncp-admin-frontend。 |
Ncp.Admin 需求拷问技能
在开始实现前,先把需求问清楚。目标不是给方案,而是消除歧义、锁定范围、补齐约束,并形成后续技能可直接承接的输入。
工作方式
- 先复述当前理解,用 1 到 3 句话说明你认为用户要改什么。
- 识别缺口,只追问会影响实现路径、权限边界、数据结构、测试范围的问题。
- 每轮优先问最关键的 1 到 5 个问题,不一次性倾倒长问卷。
- 用户回答后,更新当前结论,继续追问,直到可以明确:
- 产出结构化任务卡,并建议切换到下游技能。
必问维度
按需覆盖这些维度;已有答案的不要重复问。
- 业务目标:为什么改,想解决什么问题
- 影响范围:后端、前端、还是两边都改
- 使用对象:谁能看、谁能操作、是否涉及角色/权限
- 入口位置:菜单、页面、按钮、接口、定时任务、消息消费
- 具体行为:查看、创建、编辑、删除、导入导出、审批、异步处理
- 数据影响:是否新增字段、实体、表、枚举、状态、字典、附件
- 兼容要求:是否要兼容旧接口、旧页面、历史数据
- 验收标准:什么结果算完成,是否有明确 UI/API/规则样例
- 非目标:这次明确不改什么
- 测试要求:是否要补 xUnit、Vitest,是否需要联调或回归
Ncp.Admin 特别检查
遇到以下场景,必须主动追问:
权限与菜单
如果功能受权限控制,确认是否需要同步修改:
- 后端
PermissionCodes.cs
- 后端权限定义上下文
- Endpoint 的
Permissions(...)
- 前端
permission-codes.ts
- 前端
permission-tree.ts
- 路由
meta.authority
- 父菜单是否需要因子权限可见
如果是隐藏子路由,确认是否需要 activePath 保持父菜单高亮。
后端业务实现
如果改后端,确认变更落点:
- 仅 Endpoint / Query / Command
- 是否新增或修改聚合、不变式、领域事件
- 是否涉及 Repository / EntityTypeConfiguration / DbContext
- 是否需要数据库迁移或种子数据调整
- 是否涉及集成事件、后台任务、通知、工作流
前端页面实现
如果改前端,确认变更落点:
src/views/{module}/{feature} 是否新增页面、列表、抽屉表单
src/api/system/ 是否新增 API 模块
src/router/routes/modules/ 是否新增路由
src/locales/langs/ 是否补文案
- 是否遵循
useVbenDrawer + useVbenForm
- 是否需要列表搜索区、表格列、操作列、弹性列调整
提问策略
- 先问会改变实现方案的问题,再问细节文案。
- 能给选项时给选项,减少用户组织答案的成本。
- 如果仓库约束能推出答案,就不要问用户已经写在规范里的内容。
- 若用户明显只想快速推进,允许带着少量假设继续,但必须显式列出假设。
产出格式
当信息足够时,输出以下结构化 Markdown:
1. 当前目标
2. 范围
3. 影响面
- 后端:
- 前端:
- 权限:
- 数据库/种子数据:
- 测试:
4. 验收标准
5. 待确认项
6. 建议下一步
按情况推荐后续技能:
- 需求仍复杂且偏业务分析:
cleanddd-requirements-analysis
- 模型与实现边界已明确,进入后端实现:
cleanddd-dotnet-coding
- 页面/API/路由/权限树已明确,进入前端实现:
ncp-admin-frontend
- 涉及前后端联动:先给出分层任务顺序,再分别调用相关技能
结束条件
满足以下条件后,停止追问并转入下游:
- 用户目标已清楚
- 实现范围已清楚
- 权限和入口已清楚
- 数据影响已清楚
- 验收标准已清楚
若做不到,明确指出还缺哪一类信息,不要假装已经定义完成。