| name | ask-react-native-auto-positioned-popup |
| description | React Native 组件库 react-native-auto-positioned-popup 的会话入口:在新 chat 中恢复任务上下文、对齐仓库事实、收敛需求并路由到 RN/TS/发布等专项 skills。适用于用户提及该包名、工作区为 D:/work/RN/react-native-auto-positioned-popup、或显式执行 /ask-react-native-auto-positioned-popup、@ 本 skill 时。 |
ask-react-native-auto-positioned-popup
目的
本 skill 是 react-native-auto-positioned-popup(npm 包与 Git 仓库同名)的默认入口,用于:
- 在新会话中恢复与本仓库相关的历史任务上下文(见下文「会话恢复」)
- 用最少读取对齐技术栈、构建、目录与集成约束(RootView、peer deps 等)
- 区分需求澄清、实现、排障、审查与发布流程,避免无目标整仓搜索
- 将任务路由到合适的仓库规则或专项 skill
何时使用
满足以下任一情况时启用本 skill:
- 用户显式输入
/ask-react-native-auto-positioned-popup 或 @ 本 skill
- 对话围绕
react-native-auto-positioned-popup、AutoPositionedPopup、本仓库 issue/PR、或 npm 发布
- 工作区为
D:\work\RN\react-native-auto-positioned-popup(Mac 上以用户本机路径为准)且需要项目级引导
与全局 ask 模板的关系(可选、只读)
若你的工作流要求在「新开 chat」时同步全局约束,可 读取一次(不要修改):
- Windows:
C:\Users\Stark8964911\.claude\ask\ask.md
- Mac:
/Users/stark/.claude/ask/ask.md
该文件含路径约定与文件保护说明。涉及其中图片引用时,按用户规则:图片与引用它的 .md 同目录,优先在同目录做精确路径读取。
禁止修改 ask.md 及任何其他已声明受保护的 ask 文件。
主维护入口:本文件 SKILL.md;长期、可复查的任务与结论优先落在仓库内文档(见「会话恢复」),避免仅存在于 chat 或仅改 skill 正文。
工作区路径
| 平台 | 路径 |
|---|
| Windows | D:\work\RN\react-native-auto-positioned-popup |
| Mac | 以用户本机为准(示例:~/work/RN/react-native-auto-positioned-popup) |
下文 {workspace} 表示本表中的仓库根目录。
本 skill 文件路径
| 平台 | 路径 |
|---|
| Windows | C:\Users\Stark8964911\.cursor\skills\ask-react-native-auto-positioned-popup\SKILL.md |
| Mac | ~/.cursor/skills/ask-react-native-auto-positioned-popup/SKILL.md |
会话恢复(新 chat 必读顺序)
目标:执行本 skill 后,助手应能拼回「最近在这个仓库里做过什么、还有什么没做完」,而不仅依赖模型训练记忆。
1. 仓库内滚动上下文文件(任务记忆主来源)
路径(固定):{workspace}/ACTIVE_CONTEXT.md
新开 chat 且用户已 @ 本 skill 或明确在本仓库工作时:
- 若
ACTIVE_CONTEXT.md 存在:必须先读该文件(可与 package.json 并行读取,但不得在未读的情况下宣称「没有历史上下文」)。
- 若 不存在:在本轮对话中创建该文件,使用下文「ACTIVE_CONTEXT.md 模板」初始化;并把当前用户问题记入「Open items」。
- 读完後,再结合下面「最小上下文来源」表补齐稳定事实。
本轮对话结束或完成阶段性任务后(维护义务):
用简练、可复查的要点更新 ACTIVE_CONTEXT.md(同意用户规则:不要把整段聊天粘贴进文件):
- Recent sessions:日期(YYYY-MM-DD)、1~5 条 bullets:做了什么、涉及文件/PR、是否已
npm run build / lint
- Open items:未关闭的决策、待发布版本、已知 bug、待补测试
- Constraints / decisions:本轮确认过的行为约定(例如 breaking change、props 语义)
- Consumer notes:若涉及宿主 App 联调,记包版本、集成方式(RootViewProvider、babel alias 等),避免秘钥与隐私数据
若信息与 project-context.mdc 冲突,以仓库内源码与 package.json 为准,并应顺带修正规则文件或本文件中的过时句。
2. ACTIVE_CONTEXT.md 模板(创建或重置时使用)
将以下内容写入 {workspace}/ACTIVE_CONTEXT.md 的初始体;后续只增量更新,不删历史时可把旧条目移到 Archive 小节。
# ACTIVE_CONTEXT — react-native-auto-positioned-popup
Rolling task memory for Cursor chats. Keep entries short; source of truth is still git history.
## Recent sessions
- YYYY-MM-DD: ...
## Open items
- ...
## Decisions / constraints
- ...
## Release / integration notes
- Package version (last touched): ...
- ...
3. 稳定事实 vs 滚动任务
| 类型 | 存放位置 |
|---|
| 技术栈、脚本、目录、架构摘要 | {workspace}/.cursor/rules/project-context.mdc(缺失则用 init-project 生成) |
| 近期任务、未完成项、联调笔记 | {workspace}/ACTIVE_CONTEXT.md |
| 发布流程细节 | {workspace}/NPM_PUBLISH_GUIDE.md、{workspace}/CLAUDE.md(与版本冲突时以 package.json / project-context.mdc 为准) |
4. 可选:Cursor Agent transcripts
用户本地可能存在历史父级会话导出(仅作人工追溯);不要依赖在 skill 中硬编码 transcript 路径。若用户主动粘贴 transcript 摘要,将有效结论合并进 ACTIVE_CONTEXT.md。
最小上下文来源
按优先级 按需 读取;不要默认通读 src/ 全文。
| 优先级 | 来源 | 用途 |
|---|
| 1 | {workspace}/ACTIVE_CONTEXT.md | 历史任务与未完成项 |
| 2 | {workspace}/.cursor/rules/project-context.mdc | 技术栈、脚本、目录、架构 |
| 3 | {workspace}/package.json | version、scripts、peerDependencies、files 字段 |
| 4 | {workspace}/CLAUDE.md | 命令与架构补充(与 2、3 冲突时以仓库最新事实为准) |
| 5 | {workspace}/README.md 或 README_zh.md | 集成、babel alias、使用示例 |
| 6 | {workspace}/NPM_PUBLISH_GUIDE.md | 发布 checklist(与发布相关任务时) |
| 7 | 具体源码文件 | 仅与用户问题直接相关的 1~3 个文件 |
按主题的默认切入(按需打开)
| 主题 | 常见路径 |
|---|
| 主组件与定位/列表逻辑 | src/AutoPositionedPopup.tsx |
| 对外 API 与类型 | src/AutoPositionedPopupProps.ts |
| 样式与主题 | src/AutoPositionedPopup.style.ts |
| RootView 挂载 | src/RootViewContext.tsx |
| 键盘相关 | src/KeyboardManager.tsx |
| 事件名常量 | src/constants.ts |
| 包入口导出 | src/index.ts |
| 第三方类型补丁 | src/types/react-native-advanced-flatlist.d.ts |
稳定项目事实(摘要)
本节仅为记忆锚点;以 project-context.mdc、源码与 package.json 为准。
- 产品形态:React Native 库(非完整 App),主入口
lib/index.js,源码在 src/。
- 集成:宿主需
RootViewProvider;列表依赖 react-native-advanced-flatlist。
- 构建:
npm run build → lib/,含 strip-console 后处理;发布前通常 prepublishOnly 含 lint。
路由规则(关联 skills)
规则缺失或过期
- 生成或刷新
{workspace}/.cursor/rules/project-context.mdc:init-project
React Native 实现与体验
- Hooks、跨端差异、列表、键盘:
react-native-patterns
类型安全
- 收紧 props / 公共 API 类型:
typescript-strict
代码审查
- 常规:
code-review;偏对抗:bmad-code-review
以交付为目标的实现
- 需求已清、偏执行:
bmad-quick-dev;若有 story 文件:bmad-dev-story
架构与模块边界
architecture-review 或 bmad-agent-architect
Cursor / Skills 机制(与库开发并行时)
- Rules、Skills、MCP:
ask-cursor
默认优先级:读 ACTIVE_CONTEXT.md + 稳定规则 → 小范围读代码 → 再改;需求模糊时不要直接大范围重构。
执行工作流
- 确认工作区为本仓库(或用户声明的 fork),
package.json 的 name 为 react-native-auto-positioned-popup。
- 读取
ACTIVE_CONTEXT.md(无则按模板创建)。
- 读取
project-context.mdc、package.json;其余文件按问题按需加载。
- 归类:需求 / 实现 / 缺陷 / 审查 / 发布 / 文档。
- 给出下一步或调用专项 skill;实现类任务指明可能涉及的
src/ 路径。
- 更新
ACTIVE_CONTEXT.md:记录本轮结论与仍开放的项。
输出约定
- 对用户说明:简体中文(除非用户要求其他语言)
- 代码与代码注释:英文
- 引用仓库代码时使用带路径与起止行的代码引用块
- 不在 skill、
ACTIVE_CONTEXT.md 或对话中写入真实密钥;npm token、git 凭据等用占位符
边界
- 不假设消费端 App 的导航、状态管理与本仓库相同
- 不擅自扩大范围(无关重构、用户未要求的文档);例外:为维护会话连续性而创建/更新
ACTIVE_CONTEXT.md 属于本 skill 范围
- 除非用户明确要求,默认不替用户执行
npm publish 或链接真实 npm 账号操作
- 不以陈旧 chat 记忆覆盖当前仓库文件;冲突时以 git 与磁盘为准
当前活跃需求
- (暂无;请优先维护仓库内
ACTIVE_CONTEXT.md)
- 你帮我全自动发布一个当前项目的新版本到NPM;我的NPM登录密码是
Zc111111,你帮我在命令行里登录NPM