Research Project logo

Research Project

Community
HughYau
research-project

Set up, take over, reorganize, and maintain a research project directory so the work stays iterable across months and across agent sessions. Ships four scripts — explore_project.py (read-only survey of an unfamiliar messy project: what it is, what's active, what's stale, versioned duplicates, and the questions to ask the user), migrate.py (applies a user-approved reorganization plan; dry-run by default, moves and archives only, has no delete operation, writes an undo script), init_project.py (canonical layout + PROJECT.md single source of truth, and the dated submission schedule when given a deadline), and project_status.py (audits any directory for unfilled decisions, stale state, deadline vs. writing progress, experiment-log health, and stops hard when the topic scores as already-solved). Use whenever a user starts a project, hands you an existing research folder that wasn't built to this structure, asks to tidy or restructure a project, asks where things stand or what to do next, resumes after a break, mentions a submission deadline or wants a writing schedule, or when you are an agent picking up work you did not start. Taking over is a multi-turn conversation — survey first, report what you found, ask before moving anything, and never delete: anything judged unneeded goes to archive/ with a recorded reason. 中文触发:新建项目、项目结构、整理项目、项目太乱、重新组织、项目进展、现在做到哪了、接手项目、下一步做什么、管理科研项目、投稿倒计时、投稿计划、写作排期、归档。

Overview

PublisherHughYau
Repositorypengsida-learning-research-skills
Skill nameresearch-project
Stars
52
Forks
4
Bundled files
6
Links
  • Markdown instructions

    A SKILL.md file the model loads on demand, so it only costs tokens when a request actually matches.

  • Works with any LLM

    AI skills are plain Markdown, not provider-specific code, so this works with GPT, Claude, Gemini, Grok, or a local model.

  • 6 bundled files

    Scripts, templates, and references the model can read while it works. Files are read-only and never executed.

  • Open source

    Published by HughYau on GitHub. Read the source before you install it.

Installation

Install the Research Project AI skill in TypingMind to use it with any LLM, or drop it into another agent that reads SKILL.md.

1

Install in TypingMind

TypingMind installs a skill straight from its GitHub folder — it reads SKILL.md, bundles the resource files, and stores the result locally.

  1. Open the app and go to Plugins → Skills.
  2. Choose "Install from GitHub".
  3. Paste the skill folder URL below and confirm.
    https://github.com/HughYau/pengsida-learning-research-skills/tree/main/research-project
  4. Enable the skill in any chat where you want it available.
Plugins → Skills → Add skill → From GitHub URL, then paste the folder URL and press Continue.
2

Install in another agent

Any agent that reads the Agent Skills format can use this skill — copy the folder into that agent's skills directory.

Claude Code — .claude/skills
git clone --depth 1 https://github.com/HughYau/pengsida-learning-research-skills.git /tmp/pengsida-learning-research-skills
mkdir -p .claude/skills
cp -r /tmp/pengsida-learning-research-skills/research-project .claude/skills/research-project
Restart Claude Code after copying so it picks up the new skill.

Use it in TypingMind

Enable Research Project in any TypingMind chat and the model takes it from there. Its name and description sit in the system prompt, and the moment a request matches, the model loads the full instructions itself — you never invoke it by hand, and it costs no tokens until it is actually used.

The model loads Research Project on its own as soon as a request matches it.

Works with any AI model

AI skills are plain Markdown instructions rather than provider-specific code, so Research Project is not tied to the model it was written for. Install it once in TypingMind and use it with GPT-5, Claude, Gemini, Grok, DeepSeek, Mistral, Llama, or a local model you run yourself — all on your own API keys.

  • Loaded only when it is needed

    The system prompt carries just the name and description. The instructions are fetched on the first matching request, so an idle skill costs nothing.

  • Switch models mid-chat

    Because the skill is instructions rather than code, changing model does not break it — the next model reads the same SKILL.md.

Skill instructions

This is the SKILL.md content the model loads. Read it before installing — a skill is instructions your model will follow.

研究项目的建立、接管与维护

一个 research project 跨越几个月、几十次实验循环、多次 agent 会话。 **Agent 没有跨会话记忆,人也会忘。**没有单一事实源时,每次接手都要重新考古: 当初为什么选这个题?这个实验为什么失败的?下一步本来打算做什么?

这个 skill 建立并维护那个事实源。核心约定只有一条:

PROJECT.md 是唯一入口。接手任何项目,先读它;做完任何一轮工作,回写它。

三条不可越过的红线

接管别人的项目时,你面对的是一个你不了解、但对用户很重要的工作区。

  1. 不删除任何东西。 这个 skill 的工具里根本没有删除操作。 判断没用的东西移进 archive/,附上理由,随时可以移回来。 你对"这个文件没用"的判断有可能是错的,而代价不对称。
  2. 没得到明确同意前不移动任何文件。 先探查、先汇报、先问。 用户可能正在跑依赖当前路径的脚本。
  3. 保证可回滚。 动手前先让工作区进入 git 干净状态; 迁移工具默认 dry-run,执行后生成撤销脚本。

工具

bash
SK=<这个 skill 的目录>

# 新建项目
python3 $SK/scripts/init_project.py <path> --name "<一句话主题>" \
        [--deadline 2026-11-14] [--venue "CVPR 2027"] [--force]

# 探查一个陌生项目(只读,不改动任何文件)
python3 $SK/scripts/explore_project.py <path> [--json] [--stale-days 60]

# 执行用户已确认的整理方案(默认 dry-run,--apply 才动手;只移动和归档,无删除)
python3 $SK/scripts/migrate.py <path> --plan plan.json [--apply]

# 审计(初始化与否都能跑)
python3 $SK/scripts/project_status.py <path> [--json]

init_project.py 是幂等的——已存在的文件默认跳过并列出来。 --force 会重置模板,但不会直接覆盖:原件先移进 archive/<日期>/ 并记进 archive/MANIFEST.md,再写新模板。

投稿排期归这个 skill 管。 用户给出截稿日期时,直接生成带真实日期的时间表, 不要在对话里复述节奏:--deadline 会按方法论的四周节奏写出 docs/writing/schedule.md(每行具体日期 + 勾选框),之后 project_status.py 持续对照倒计时与章节进度。写作本身怎么做是 paper-writing 的事。

project_status.py 检查什么

它不只是列文件,它执行方法论里的判据:

它检查什么为什么这条值得自动检查
选题落在四种情况的哪一种情况 1/2 = 已有 well-established solution。这时候继续往下做是纯浪费,越早停损越好,所以报 阻塞 而不是警告
PROJECT.md 多久没更新>14 天意味着接手者会拿到过期状态,比没有状态更危险
距截稿天数 vs 章节进度方法论要求截稿前一个月启动写作。倒计时进入 30 天而章节全空 → 阻塞
实验日志里有多少条没写"本质技术原因"这些循环没拿到梯度,下一次改动是随机的。这是项目速度的头号杀手,比实验做得慢更致命
最近一条实验记录距今多久>7 天说明循环频率掉了,要找原因
§6 下一步是否为空没有明确下一个动作的项目会静默停摆

走哪条流程

情况流程
全新项目流程 A(下面,一条命令 + 填 §1 §2)
已有的乱项目,用户要整理流程 B:五阶段多轮对话,全文见 references/takeover.md
项目已是这套结构Agent 交接协议(下面)
用户想干别的活、项目恰好很乱先把活干了,收尾时提一句可以整理,不要中途自作主张搬文件

最后一行是刻意的:整理是一件需要用户投入注意力的事, 挑他没准备好的时候做只会添乱。

流程 A:新建项目

bash
python3 $SK/scripts/init_project.py ~/work/sparse4d \
        --name "稀疏视角下的动态场景重建" --deadline 2026-11-14 --venue "CVPR 2027"

然后先只填 PROJECT.md 的 §1 和 §2,配合 research-ideation。

§2 的"四种情况判定"是闸门:判定为情况 1 或 2 就停下来换 failure case, 不要开始写代码。这一步花半天,能省掉半年。判定完跑一次 project_status.py 确认没有阻塞项,再进 §3。

流程 B:接管一个已有的乱项目

用户丢过来的是一个跑了几个月、不是按这套结构建立的文件夹。 这是多轮对话,不是一条命令——五个阶段,每个阶段结束都停下来等用户:

1 探查(只读,一个文件都不动)  → explore_project.py
2 汇报画像,问要不要整理        → 先证明你看懂了,再提整理;给 A/B/C 三档
3 拟迁移方案,逐条对齐(多轮)  → migrate.py dry-run,用户几乎一定会改几条
4 执行,然后补骨架              → migrate.py --apply,再 init_project.py 补空缺
5 考古式回填 PROJECT.md         → 找不到的留空,留空比编造好

开始阶段 1 之前先读 references/takeover.md: 每个阶段的话术、迁移方案的 to 语义、--apply 的安全保证、archive/ 的约定都在那里。 有两处顺序陷阱不看会踩:先迁移再建骨架(反了的话用户真实的 notes.md 就迁不进 docs/topic.md),以及动手前先让 git 进入干净状态。

文件格式

目录结构、PROJECT.md 六节各自何时回写、实验日志一条记录的合格标准 (含一个不合格→合格的改写实例):references/files.md。

需要建目录、回写 PROJECT.md、或判断一条实验记录合不合格时读它。 其中一条判据值得先知道:实验日志的目的不是记录做了什么,是记录拿到了什么梯度—— 只写到"表面原因"就停的记录不合格,project_status.py 会报警。

Agent 交接协议

项目已经是这套结构时:

  1. project_status.py <path> —— 30 秒拿到全局状态和阻塞项
  2. 读 PROJECT.md —— 完整上下文
  3. 只在需要时按 §6 的下一步深入对应的 docs/ 或 experiments/
  4. 干完活回写 §4/§5/§6 和"最后更新"日期,再结束会话

不要在没读 PROJECT.md 的情况下就开始改代码或写论文—— 你会重复项目已经排除过的路径,这正是实验日志存在的意义。

**项目不是这套结构时:**走流程 B,从 explore_project.py 开始, 先看懂、再汇报、再问、再动。

与其他 skill 的关系

这个 skill 管状态与结构,具体每一步怎么做在别处:

PROJECT.md 的节卡住时读哪个 skill
§2 选题状态research-ideation
§3 技术方案research-ideation
§4 实验状态research-experiment
§5 论文状态paper-writing → paper-revision → paper-self-review
docs/literature/research-ideation/references/literature-tree.md;检索用 literature-review,读论文用 pdf-explore
paper/figures/figure-style → figure-composer → paper-narrative

整体流程图见 research-methodology。

Bundled files

The model reads these on demand while the skill is loaded. They are exposed as readable files and are never executed.

Frequently asked questions

What does the Research Project AI skill do?

Set up, take over, reorganize, and maintain a research project directory so the work stays iterable across months and across agent sessions. Ships four scripts — explore_project.py (read-only survey of an unfamiliar messy project: what it is, what's active, what's stale, versioned duplicates, and the questions to ask the user), migrate.py (applies a user-approved reorganization plan; dry-run by default, moves and archives only, has no delete operation, writes an undo script), init_project.py (canonical layout + PROJECT.md single source of truth, and the dated submission schedule when given...

Why use Research Project on TypingMind?

Because you install it once and use it with any model. Research Project is plain Markdown rather than provider-specific code, so the same skill runs on GPT-5, Claude, Gemini, Grok, or a local model — and you can switch model mid-chat without it breaking. TypingMind runs on your own API keys, so you pay providers directly instead of a per-seat subscription, and your skills and chats stay in your own storage.

How do I install Research Project in TypingMind?

Open Plugins → Skills → Install from GitHub in TypingMind and paste https://github.com/HughYau/pengsida-learning-research-skills/tree/main/research-project. TypingMind reads its SKILL.md and bundles its files and installs it as a skill you can enable per chat.

Which AI models can use Research Project?

Any model you connect in TypingMind. AI skills are plain Markdown instructions rather than provider-specific code, so GPT, Claude, Gemini, Grok, and local models can all load this skill when a request matches it.

How many AI models can I use with Research Project?

As many as you like. As long as a model supports skills, you can use Research Project with it — GPT, Claude, Gemini, Grok, DeepSeek, Mistral, Llama and more — all on TypingMind with your own API keys.

Is the Research Project AI skill free?

It is published on GitHub by HughYau. Check the repository for licensing terms. You only pay your own AI provider for the tokens you use.

What are AI skills?

An AI skill is a reusable instruction bundle that teaches an AI model how to do one specific task. It follows the open Agent Skills format: a SKILL.md file with a name and description, plus any scripts, templates or reference files the model may need. The model reads the instructions only when your request matches the skill, so an installed skill costs nothing until it is used.

How are AI skills different from plugins or MCP servers?

A plugin or MCP server gives a model new tools to call — code that runs somewhere and returns a result. An AI skill gives the model knowledge and process instead: how to approach a task, which steps to follow, what good output looks like. Skills are plain Markdown, so they need no server, no API key and no runtime, and they work with any model.

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇