mcpField
P
paper-profile

paper-profile

github.com/shaishavmaisuria生产力5794 次安装4 天前更新
代码仓库

关于 paper-profile

paper-profile 面向研究论文作者,通过访谈记录论文定位与写作偏好,并保存为经过验证的 `.paper-memory/profile.yml`。其他论文技能可读取该配置来调整工作方式,避免重复询问。

主要功能

  1. 01引导式定位访谈
  2. 02经过验证的 YAML 配置
  3. 03写作偏好设置
  4. 04供论文技能共享的配置
  5. 05本地 `.paper-memory/` 设置

适用场景

  1. 01为新论文设置上下文
  2. 02更换投稿场所后更新定位
  3. 03在不同技能间沿用写作偏好

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/shaishavmaisuria/research-paper-lifecycle-skills --skill paper-profile

安装后在 Claude Code 中输入/paper-profile确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
downstream-consumption.md
paper-memory-convention.md
positioning-axes.md
scripts/
profile_io.py

详细介绍

论文档案

询问一次作者的论文定位,将其存储在 .paper-memory/profile.yml 中,并让其他所有技能都能读取它,使整个 工具包能够感知上下文,而不是一遍遍地询问相同的问题。这是“问问我的论文”入口:先进行简短的选项式访谈,然后生成一个经过验证的小型 YAML 文件,供仓库的其余部分使用。

它是一个副驾驶,而非预言家。档案记录的是你陈述的意图 (论文属于哪种类型、面向哪些读者,以及你希望采取多大胆的表述)。它不会评判科学研究的好坏,也绝不会预测录用结果。

适用场景

  • “设置我的论文档案” / “问问我的论文” / “有哪些领域?”
  • 开始撰写新论文,并希望在动笔前调整工具包。
  • “在各种技能中记住我的写作风格 / 定位。”
  • 其他技能发现缺少 .paper-memory/profile.yml,而你想创建该文件,以便该技能能够个性化地提供帮助。
  • 只要定位发生变化,就可以重新运行(例如,你降低了投稿 venue 的级别,或从系统方向转向实证研究框架)。

输入

  • 用户的论文工作目录(他们希望 .paper-memory/ 存放的位置)。这是用户的论文仓库,而非这个技能仓库。
  • 用户对访谈问题的回答(由你提问;用户选择)。不需要其他任何内容——不会进行网络调用,用户也不必预先创建任何文件。
  • 可选:现有的 .paper-memory/profile.yml,用于更新而非从头开始。

流程

  1. 定位论文目录和记忆目录。 确认用户的论文存放位置;配置文件放在 <paper-dir>/.paper-memory/ 中。 如果已存在配置文件,则加载并显示(profile_io.py show),并询问用户是否希望更新,而不是覆盖。

  2. 显示选项菜单,然后进行访谈。 打印空白模板,让用户了解有哪些选项,然后逐项询问。通过脚本获取确切词汇,避免自行编造取值: python3 scripts/profile_io.py schema。按以下顺序提问,并始终提供选项及每项的一行简介(完整说明见 references/positioning-axes.md):

    • vertical / emphasis(必填):systems | theory | applied | empirical | survey | position。“论文的核心是一个已构建的产物、一项证明、一个领域应用、一项测量研究、一项综合,还是一种论点?”
    • contribution_type(必填):method | system | theory | dataset | empirical | application | survey | position。
    • audience:specialists | broad-field | practitioners | interdisciplinary。
    • venue_tier(必填):top | specialized | regional | journal | workshop | preprint | undecided;以及任何具体的 target_venues(例如 sigspatial-2026)。
    • risk_appetite(必填):safe | balanced | ambitious。“是要捍卫一个稳妥且增量有限的贡献,还是提出大胆主张并接受两极分化的评审意见?”
    • writing_preferences:person(we/I/impersonal/venue-default)、 tone、notation(heavy/light)、british_spelling;以及 preferred_terms 和 avoid_terms。
    • context:prior_papers(路径/ID,用于 match-style)、 constraints(严格截止日期、必须保持匿名、不得开展新实验)。

    为每项提供一个合理的默认值,并允许用户接受。不要强求填写所有字段——只需设置四个必填项。

  3. 写入并验证。 一次调用即可保存答案。脚本会根据封闭词汇表进行验证并写入日期;如果取值不在词汇表中则拒绝写入(因此,拼写错误不会悄悄损坏其他所有技能都依赖的文件):

    python3 scripts/profile_io.py write <paper-dir>/.paper-memory/profile.yml \
        --field vertical=systems --field contribution_type=system \
        --field venue_tier=top --field risk_appetite=ambitious \
        --field audience=broad-field \
        --field wp.person=first-person-we --field wp.tone=assertive \
        --field target_venues="sigspatial-2026, vldb-2027" \
        --field constraints="hard deadline 2026-08-01, no new experiments"
    

    使用 --from <existing> 原地更新,使用重复的 --field 设置各项答案,列表字段的值以逗号分隔,并使用 wp.<key>=... 设置嵌套的写作偏好。对于手动编辑的文件,使用 python3 scripts/profile_io.py validate <path> 重新验证。

  4. 设置 .gitignore(先询问)。 .paper-memory/ 是本地目录,其中保存作者私人的论文定位信息和积累的经验。建议将 .paper-memory/ 添加到论文仓库的 .gitignore,除非用户有意将其纳入版本控制(例如与合著者共享论文定位信息)。说明这一选项,并让用户决定。

  5. 说明下游技能如何使用它。 具体告知用户配置文件建立后有哪些变化(见下表及 references/downstream-consumption.md)。 访谈的目的在于避免之后再次询问用户。

  6. 介绍 .paper-memory/ 的其余内容。 此技能负责管理 profile.yml。 同一目录还会逐渐积累 lessons.md(其他技能发现问题时追加的去重且带日期的经验,并在开始时读取以避免重复给出建议)以及 decisions.md(包含理由的投稿 venue、track 和论文定位决策)。有关文件格式和记忆卫生规则,请参阅 共享的 .paper-memory/ 约定。 此技能不会写入这两个文件;它只会建立目录并解释它们的用途。

下游技能如何使用配置文件

技能读取内容影响
benchmark-papervertical、contribution_type重新调整评分卡各维度的权重(theory 论文不会因评估单薄而受罚;system 论文则会)。
simulate-reviewersvertical、venue_tier、risk_appetite校准审稿人角色设定和严苛程度;在 top 级别的 venue 上提出 ambitious 主张,会遇到持怀疑态度的审稿人,而不是一路放行。
polish-prosewriting_preferences、avoid_terms根据作者的身份、语气、拼写习惯和禁用词,调整去除 AI 痕迹和语域的处理。
match-stylewriting_preferences、prior_papers、preferred_terms提供目标文风和术语,让文风匹配符合作者的风格。
tailor-to-venue / select-venuevenue_tier、target_venues、contribution_type围绕指定目标来组织贡献描述和候选 venue 列表。
write-abstractvertical、key_claim、audience开篇突出目标读者最关心的主张。

这些技能应当平稳降级:如果没有 profile.yml,就像现在一样询问用户(或采用 venue 默认值)。配置文件可避免重复询问,但绝不是硬性依赖。

输出

  • <paper-dir>/.paper-memory/profile.yml — 一个经过验证的小型 YAML 文件 (schema v1)。必填项:vertical、contribution_type、venue_tier、 risk_appetite。其他均为可选项。
  • 一段简短的通俗英语总结,说明研究定位,以及用户接下来可能使用的技能会有哪些具体行为变化。

适配你的学科

这些定位维度偏向 CS(系统/理论/实证、会议级别、双盲限制)。对于其他领域,可编辑 scripts/profile_io.py 顶部的词汇表(例如添加 clinical-trial 或 humanities-essay 领域,或将 venue 级别替换为期刊分区)——验证器和生成器由数据驱动,因此新学科需要的是新词条,而不是新代码。更改必填字段时,请递增 SCHEMA_VERSION。

护栏

  • 绝不编造词汇表中的值。 从 profile_io.py schema 中获取允许的值;写入器会拒绝其他值,确保其他技能信任的文件不会在无提示的情况下被破坏。
  • 绝不替用户做决定。 提供选项和默认值;由作者自行选择研究定位和风险偏好。不要因为主题听起来令人兴奋,就推断其选择了“ambitious”。
  • 本地且私密。 .paper-memory/ 绝不会上传到任何地方;务必提供 .gitignore 条目,并尊重用户对版本控制的选择。
  • 此技能用于配置,而非创作。 它记录意图,不撰写论文内容、不预测录用结果,也不提交任何内容。
  • 此文件不得超过 500 行;references/ 只能深入一层。

评论

支持 Markdown