academic-army 0.2.1 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -16
- package/README.zh-CN.md +11 -16
- package/agent-forge.yaml +28 -17
- package/mcp-server/__main__.py +2 -0
- package/mcp-server/writing_master/__init__.py +3 -0
- package/mcp-server/writing_master/tools.py +33 -0
- package/metaskills/README.md +0 -3
- package/metaskills/README.zh-CN.md +0 -3
- package/package.json +3 -2
- package/skills/academic-army-coding-style/SKILL.md +668 -6
- package/skills/academic-army-literate-latex-writing/SKILL.md +61 -0
- package/skills/academic-army-literate-latex-writing/agents/openai.yaml +11 -0
- package/metaskills/academic-army-repo-scaffold/ENVOLVETASK.md +0 -1
- package/metaskills/academic-army-repo-scaffold/METASKILL.md +0 -223
- package/metaskills/academic-army-repo-scaffold/envolve.sh +0 -9
- package/skills/academic-army-repo-scaffold/SKILL.md +0 -756
- package/skills/academic-army-repo-scaffold/agents/openai.yaml +0 -10
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AcademicArmy
|
|
2
2
|
|
|
3
|
-
AcademicArmy is a Codex-based workflow for turning research ideas into structured paper-planning artifacts and an implementation codebase. Its current core is a sequence of planning skills
|
|
3
|
+
AcademicArmy is a Codex-based workflow for turning research ideas into structured paper-planning artifacts and an implementation codebase. Its current core is a sequence of planning skills and TypeScript pipelines that run development and skill-evolution agents from those artifacts.
|
|
4
4
|
|
|
5
5
|
> Status: experimental workflow infrastructure. The generated project lives under `output/`, which is ignored by git.
|
|
6
6
|
|
|
@@ -44,7 +44,7 @@ Install MCP server dependencies from [`mcp-server/requirements.txt`](mcp-server/
|
|
|
44
44
|
python -m pip install -r ./mcp-server/requirements.txt
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
### 2. Configure
|
|
47
|
+
### 2. Configure AcademicArmy MCP
|
|
48
48
|
|
|
49
49
|
Create `.env` in the repository root:
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ OPENAI_API_KEY=your_api_key_here
|
|
|
54
54
|
|
|
55
55
|
For project pipeline runs, use the `academic_army_mcp_tools` server through [`agent-forge.yaml`](agent-forge.yaml). That config launches the server as `python -m mcp-server` with `PYTHONPATH=.` and `cwd=.` from the repository root, so the evolve/developing runners do not need a separate Codex MCP installation step.
|
|
56
56
|
|
|
57
|
-
When running AcademicArmy skills directly in Codex, use [`install_mcp.py`](install_mcp.py) to install the same MCP server into Codex so the
|
|
57
|
+
When running AcademicArmy skills directly in Codex, use [`install_mcp.py`](install_mcp.py) to install the same MCP server into Codex so the skills can call `academic_army_mcp_tools.deepresearch` and `academic_army_mcp_tools.writing_master` outside the project pipeline:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
60
|
python install_mcp.py
|
|
@@ -66,15 +66,9 @@ Start with an idea. The idea can be rough or detailed; it does not need to be a
|
|
|
66
66
|
|
|
67
67
|
Use `academic-army-architect` to turn the idea into `paper_blueprint.md`. Because an early idea is usually underspecified, this step may involve multiple rounds of clarification and revision before the blueprint is specific enough to guide downstream work.
|
|
68
68
|
|
|
69
|
-
Once you are satisfied with the paper blueprint, continue with the next planning skills to derive `experiment_plan.md` and `coding_plan.md`. Those three artifacts become the project starting point for
|
|
69
|
+
Once you are satisfied with the paper blueprint, continue with the next planning skills to derive `experiment_plan.md` and `coding_plan.md`. Those three artifacts become the project starting point for iterative code development.
|
|
70
70
|
|
|
71
|
-
### 4.
|
|
72
|
-
|
|
73
|
-
After the three planning artifacts are ready, use `academic-army-repo-scaffold` to initialize a real starter repository for the codebase. It uses DeepResearch to choose a template, official initializer, or high-quality template repository, generates the starter repository, then adds the fixed experiment directories `data/`, `output/`, `results/`, and `harness/`. It writes dependency declarations and repo-local installation instructions, records installable dependencies and reference-only sources in `REFERENCES.md` and `REFERENCES.zh-CN.md`, preserves the template's test layout, and keeps README text focused on the current repository structure and usage.
|
|
74
|
-
|
|
75
|
-
The repo scaffold skill does not implement paper methods, harness logic, tests, metrics, loaders, exporters, or experiment runners. Those belong to later implementation work.
|
|
76
|
-
|
|
77
|
-
### 5. Run the development loop
|
|
71
|
+
### 4. Run the development loop
|
|
78
72
|
|
|
79
73
|
After the planning artifacts are ready, write the next high-level development objective into `output/goal.md`, then run:
|
|
80
74
|
|
|
@@ -111,13 +105,14 @@ For the shared CLI and pipeline structure, see [`src/README.md`](src/README.md).
|
|
|
111
105
|
|
|
112
106
|
For `developing` and `developing-skill`, update the file passed to `--goal-path` when you want to run a new task focus. The prepared wrappers use `output/goal.md`.
|
|
113
107
|
|
|
114
|
-
### Call
|
|
108
|
+
### Call MCP Tools
|
|
115
109
|
|
|
116
|
-
AcademicArmy includes a local stdio MCP implementation in the [`mcp-server`](mcp-server) directory. It exposes
|
|
110
|
+
AcademicArmy includes a local stdio MCP implementation in the [`mcp-server`](mcp-server) directory. It exposes these tools:
|
|
117
111
|
|
|
118
112
|
- `deepresearch(prompt: str)`: runs the prompt with OpenAI Responses using `gpt-5.5`, high reasoning, web search, background mode, and source inclusion.
|
|
113
|
+
- `writing_master(prompt: str)`: runs the prompt with OpenAI Responses using `gpt-5.5-pro`, high reasoning, web search, background mode, and source inclusion for high-end academic writing review.
|
|
119
114
|
|
|
120
|
-
Agents should call
|
|
115
|
+
Agents should call these tools with a single self-contained prompt. For example:
|
|
121
116
|
|
|
122
117
|
```text
|
|
123
118
|
Use deepresearch with prompt:
|
|
@@ -130,7 +125,7 @@ Find the closest papers to this research idea, compare their methods, and return
|
|
|
130
125
|
| ------------------ | ----------------------------------------------------------------- |
|
|
131
126
|
| `agent-forge.yaml` | Agent and team wiring. |
|
|
132
127
|
| `install_mcp.py` | Installs the project MCP server into Codex for direct skill runs. |
|
|
133
|
-
| `mcp-server/` | Local stdio MCP implementation that exposes `deepresearch`.
|
|
128
|
+
| `mcp-server/` | Local stdio MCP implementation that exposes `deepresearch` and `writing_master`. |
|
|
134
129
|
| `skills/` | Prepared AcademicArmy skills. |
|
|
135
130
|
| `metaskills/` | Matching metaskill design/evolution files. |
|
|
136
131
|
| `runs/` | Convenience wrappers around TypeScript pipelines. |
|
|
@@ -145,7 +140,7 @@ Prepared AcademicArmy skills live under [`skills/`](skills/), and their matching
|
|
|
145
140
|
|
|
146
141
|
| File or variable | Required for | Notes |
|
|
147
142
|
| ------------------------- | ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
148
|
-
| `.env` / `OPENAI_API_KEY` |
|
|
143
|
+
| `.env` / `OPENAI_API_KEY` | AcademicArmy MCP | Read by the MCP server and by `install_mcp.py`. |
|
|
149
144
|
| `agent-forge.yaml` | Project pipelines | Launches `academic_army_mcp_tools` as `python -m mcp-server` with `PYTHONPATH=.` and `cwd=.`. |
|
|
150
145
|
| `secret.yaml` | Prepared shell scripts | Local ignored config overlay used by the prepared wrappers. It may contain passwords, API keys, runtime credentials, or other private values that must not be committed or uploaded to GitHub. |
|
|
151
146
|
|
package/README.zh-CN.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AcademicArmy
|
|
2
2
|
|
|
3
|
-
AcademicArmy 是一个基于 Codex 的研究工作流,用来把研究想法转成结构化论文规划产物和可持续开发的实现代码库。当前核心由一组规划类 skills
|
|
3
|
+
AcademicArmy 是一个基于 Codex 的研究工作流,用来把研究想法转成结构化论文规划产物和可持续开发的实现代码库。当前核心由一组规划类 skills,以及驱动开发和 skill evolution agents 的 TypeScript pipelines 组成。
|
|
4
4
|
|
|
5
5
|
> 当前状态:实验性工作流基础设施。生成的项目和运行产物位于 `output/`,该目录被 git 忽略。
|
|
6
6
|
|
|
@@ -44,7 +44,7 @@ npm install
|
|
|
44
44
|
python -m pip install -r ./mcp-server/requirements.txt
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
### 2. 配置
|
|
47
|
+
### 2. 配置 AcademicArmy MCP
|
|
48
48
|
|
|
49
49
|
先在仓库根目录创建 `.env`:
|
|
50
50
|
|
|
@@ -54,7 +54,7 @@ OPENAI_API_KEY=your_api_key_here
|
|
|
54
54
|
|
|
55
55
|
运行项目 pipeline 时,通过 [`agent-forge.yaml`](agent-forge.yaml) 使用 `academic_army_mcp_tools`。该配置会在仓库根目录以 `PYTHONPATH=.` 和 `cwd=.` 运行 `python -m mcp-server`,因此 evolve/developing runner 不需要额外执行 Codex MCP 安装步骤。
|
|
56
56
|
|
|
57
|
-
如果直接在 Codex 中运行 AcademicArmy skills,需要用 [`install_mcp.py`](install_mcp.py) 把同一个 MCP server 安装到 Codex 里,这样 skill 才能在项目 pipeline 之外调用 `academic_army_mcp_tools.deepresearch`:
|
|
57
|
+
如果直接在 Codex 中运行 AcademicArmy skills,需要用 [`install_mcp.py`](install_mcp.py) 把同一个 MCP server 安装到 Codex 里,这样 skill 才能在项目 pipeline 之外调用 `academic_army_mcp_tools.deepresearch` 和 `academic_army_mcp_tools.writing_master`:
|
|
58
58
|
|
|
59
59
|
```bash
|
|
60
60
|
python install_mcp.py
|
|
@@ -66,15 +66,9 @@ python install_mcp.py
|
|
|
66
66
|
|
|
67
67
|
使用 `academic-army-architect` 把这个想法整理成 `paper_blueprint.md`,也就是后续执行用的核心“施工图”。由于最初的想法通常还不够收敛,这一步可以通过多轮澄清和修改,把论文蓝图逐步调整到足够支撑下游工作的状态。
|
|
68
68
|
|
|
69
|
-
当你对论文蓝图满意后,继续使用后续规划类 skills 生成 `experiment_plan.md` 和 `coding_plan.md`。这三份规划产物共同构成 AcademicArmy
|
|
69
|
+
当你对论文蓝图满意后,继续使用后续规划类 skills 生成 `experiment_plan.md` 和 `coding_plan.md`。这三份规划产物共同构成 AcademicArmy 的施工图,成为迭代代码开发的项目起点。
|
|
70
70
|
|
|
71
|
-
### 4.
|
|
72
|
-
|
|
73
|
-
三份规划产物准备好后,使用 `academic-army-repo-scaffold` 为代码库初始化一个真实 starter repository。它会使用 DeepResearch 选择合适的 template、官方 initializer 或高质量 template repository,生成 starter repository,然后叠加固定实验目录 `data/`、`output/`、`results/` 和 `harness/`。它会写入依赖声明和 repo-local 安装说明,在 `REFERENCES.md` 和 `REFERENCES.zh-CN.md` 中记录可安装依赖和仅作参考的外部来源,保留模板决定的测试结构,并让 README 聚焦当前仓库结构和用法。
|
|
74
|
-
|
|
75
|
-
repo scaffold skill 不实现论文方法、harness 逻辑、测试、metric、loader、exporter 或实验 runner;这些属于后续实现工作。
|
|
76
|
-
|
|
77
|
-
### 5. 运行开发循环
|
|
71
|
+
### 4. 运行开发循环
|
|
78
72
|
|
|
79
73
|
三份规划产物准备好后,先把下一轮高层开发目标写进 `output/goal.md`,然后运行:
|
|
80
74
|
|
|
@@ -111,13 +105,14 @@ TypeScript pipeline 的目录结构和实现说明见 [`src/README.zh-CN.md`](sr
|
|
|
111
105
|
|
|
112
106
|
对于 `developing` 和 `developing-skill`,每次想切换到新的任务重点时,更新传给 `--goal-path` 的文件即可。预设 wrappers 使用的是 `output/goal.md`。
|
|
113
107
|
|
|
114
|
-
### 调用
|
|
108
|
+
### 调用 MCP 工具
|
|
115
109
|
|
|
116
|
-
AcademicArmy 在 [`mcp-server`](mcp-server) 目录下提供了本地 stdio MCP
|
|
110
|
+
AcademicArmy 在 [`mcp-server`](mcp-server) 目录下提供了本地 stdio MCP 实现。它暴露这些工具:
|
|
117
111
|
|
|
118
112
|
- `deepresearch(prompt: str)`:把 prompt 交给 OpenAI Responses,以 `gpt-5.5`、high reasoning、web search、background mode 和 source inclusion 的固定配置运行。
|
|
113
|
+
- `writing_master(prompt: str)`:把 prompt 交给 OpenAI Responses,以 `gpt-5.5-pro`、high reasoning、web search、background mode 和 source inclusion 的固定配置运行,用于高阶学术写作咨询。
|
|
119
114
|
|
|
120
|
-
使用时只需要让 agent
|
|
115
|
+
使用时只需要让 agent 给工具传入一个自包含 prompt,例如:
|
|
121
116
|
|
|
122
117
|
```text
|
|
123
118
|
Use deepresearch with prompt:
|
|
@@ -130,7 +125,7 @@ Find the closest papers to this research idea, compare their methods, and return
|
|
|
130
125
|
| ------------------ | --------------------------------------------------------- |
|
|
131
126
|
| `agent-forge.yaml` | Agent 和团队 wiring。 |
|
|
132
127
|
| `install_mcp.py` | 把项目 MCP server 安装到 Codex,供直接运行 skill 时使用。 |
|
|
133
|
-
| `mcp-server/` | 本地 stdio MCP 实现,暴露 `deepresearch`。
|
|
128
|
+
| `mcp-server/` | 本地 stdio MCP 实现,暴露 `deepresearch` 和 `writing_master`。 |
|
|
134
129
|
| `skills/` | 已准备的 AcademicArmy skills。 |
|
|
135
130
|
| `metaskills/` | 对应的 metaskill 设计与 evolution 文件。 |
|
|
136
131
|
| `runs/` | TypeScript pipelines 的便捷 wrappers。 |
|
|
@@ -145,7 +140,7 @@ Agent 和团队 wiring 位于 [`agent-forge.yaml`](agent-forge.yaml)。本仓库
|
|
|
145
140
|
|
|
146
141
|
| 文件或变量 | 用于 | 说明 |
|
|
147
142
|
| ------------------------- | ------------------ | ------------------------------------------------------------------------------------------------------------------------ |
|
|
148
|
-
| `.env` / `OPENAI_API_KEY` |
|
|
143
|
+
| `.env` / `OPENAI_API_KEY` | AcademicArmy MCP | MCP server 和 `install_mcp.py` 会读取。 |
|
|
149
144
|
| `agent-forge.yaml` | 项目 pipelines | 以 `PYTHONPATH=.` 和 `cwd=.` 运行 `python -m mcp-server`。 |
|
|
150
145
|
| `secret.yaml` | 预设 shell scripts | 预设 wrappers 使用的本地忽略 config overlay。它可以包含密码、API key、runtime 凭据等不能提交或上传到 GitHub 的隐私内容。 |
|
|
151
146
|
|
package/agent-forge.yaml
CHANGED
|
@@ -36,41 +36,41 @@ runtimes:
|
|
|
36
36
|
env:
|
|
37
37
|
PYTHONPATH: .
|
|
38
38
|
timeout: 3600000
|
|
39
|
-
|
|
39
|
+
deepseek-v4-flash:
|
|
40
40
|
kind: claude
|
|
41
41
|
options:
|
|
42
|
-
model:
|
|
43
|
-
effort: xhigh
|
|
42
|
+
model: deepseek/deepseek-v4-flash
|
|
44
43
|
settings:
|
|
45
44
|
env:
|
|
46
45
|
ANTHROPIC_BASE_URL: https://ai-gateway.vercel.sh
|
|
47
46
|
ANTHROPIC_API_KEY: ""
|
|
48
47
|
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1"
|
|
49
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL:
|
|
50
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL:
|
|
51
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL:
|
|
48
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: deepseek/deepseek-v4-flash
|
|
49
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: deepseek/deepseek-v4-flash
|
|
50
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: deepseek/deepseek-v4-flash
|
|
52
51
|
mcpServers: *academicArmyMcpServers
|
|
53
|
-
|
|
52
|
+
glm-5.2:
|
|
54
53
|
kind: claude
|
|
55
54
|
options:
|
|
56
|
-
model:
|
|
55
|
+
model: zai/glm-5.2
|
|
56
|
+
effort: xhigh
|
|
57
57
|
settings:
|
|
58
58
|
env:
|
|
59
59
|
ANTHROPIC_BASE_URL: https://ai-gateway.vercel.sh
|
|
60
60
|
ANTHROPIC_API_KEY: ""
|
|
61
61
|
CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC: "1"
|
|
62
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL:
|
|
63
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL:
|
|
64
|
-
ANTHROPIC_DEFAULT_OPUS_MODEL:
|
|
62
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: zai/glm-5.2
|
|
63
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: zai/glm-5.2
|
|
64
|
+
ANTHROPIC_DEFAULT_OPUS_MODEL: zai/glm-5.2
|
|
65
65
|
mcpServers: *academicArmyMcpServers
|
|
66
66
|
|
|
67
67
|
threads:
|
|
68
68
|
skill:
|
|
69
|
-
runtime:
|
|
69
|
+
runtime: deepseek-v4-pro
|
|
70
70
|
options:
|
|
71
71
|
cwd: .
|
|
72
72
|
permissionMode: dontAsk
|
|
73
|
-
allowedTools: &
|
|
73
|
+
allowedTools: &cwdReadWriteBashAllowedTools
|
|
74
74
|
- Read
|
|
75
75
|
- Grep
|
|
76
76
|
- Glob
|
|
@@ -81,24 +81,35 @@ threads:
|
|
|
81
81
|
- Edit(./**)
|
|
82
82
|
- Write(./**)
|
|
83
83
|
- NotebookEdit(./**)
|
|
84
|
+
- Bash
|
|
84
85
|
develop-manager:
|
|
85
86
|
runtime: glm-5.2
|
|
86
87
|
options:
|
|
87
88
|
cwd: &developerWorkspacePath output/codebase
|
|
88
89
|
permissionMode: dontAsk
|
|
89
|
-
allowedTools: *
|
|
90
|
+
allowedTools: *cwdReadWriteBashAllowedTools
|
|
90
91
|
develop-coding:
|
|
91
92
|
runtime: deepseek-v4-pro
|
|
92
93
|
options:
|
|
93
94
|
cwd: *developerWorkspacePath
|
|
94
95
|
permissionMode: dontAsk
|
|
95
|
-
allowedTools: *
|
|
96
|
+
allowedTools: *cwdReadWriteBashAllowedTools
|
|
96
97
|
memory:
|
|
97
|
-
runtime: deepseek-v4-
|
|
98
|
+
runtime: deepseek-v4-flash
|
|
98
99
|
options:
|
|
99
100
|
cwd: &memoryWorkingDir output/developing-memory
|
|
100
101
|
permissionMode: dontAsk
|
|
101
|
-
allowedTools:
|
|
102
|
+
allowedTools:
|
|
103
|
+
- Read
|
|
104
|
+
- Grep
|
|
105
|
+
- Glob
|
|
106
|
+
- LS
|
|
107
|
+
- LSP
|
|
108
|
+
- WebFetch
|
|
109
|
+
- WebSearch
|
|
110
|
+
- Edit(./**)
|
|
111
|
+
- Write(./**)
|
|
112
|
+
- NotebookEdit(./**)
|
|
102
113
|
|
|
103
114
|
agents:
|
|
104
115
|
skill-runner:
|
package/mcp-server/__main__.py
CHANGED
|
@@ -5,6 +5,7 @@ from dotenv import load_dotenv
|
|
|
5
5
|
from mcp.server.fastmcp import FastMCP
|
|
6
6
|
|
|
7
7
|
from .deepresearch import register_deepresearch
|
|
8
|
+
from .writing_master import register_writing_master
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
mcp = FastMCP(
|
|
@@ -30,4 +31,5 @@ if __name__ == "__main__":
|
|
|
30
31
|
os.environ[name] = value
|
|
31
32
|
|
|
32
33
|
register_deepresearch(mcp)
|
|
34
|
+
register_writing_master(mcp)
|
|
33
35
|
mcp.run(transport="stdio")
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import os
|
|
2
|
+
import time
|
|
3
|
+
|
|
4
|
+
from openai import OpenAI
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def writing_master(prompt: str) -> dict:
|
|
8
|
+
client = OpenAI()
|
|
9
|
+
response = client.responses.create(
|
|
10
|
+
model="gpt-5.5-pro",
|
|
11
|
+
reasoning={"effort": "high"},
|
|
12
|
+
tools=[{"type": "web_search"}],
|
|
13
|
+
tool_choice="auto",
|
|
14
|
+
include=["web_search_call.action.sources"],
|
|
15
|
+
background=True,
|
|
16
|
+
input=prompt,
|
|
17
|
+
)
|
|
18
|
+
deadline = time.monotonic() + 3600
|
|
19
|
+
|
|
20
|
+
while response.status in {"queued", "in_progress"}:
|
|
21
|
+
if time.monotonic() > deadline:
|
|
22
|
+
raise TimeoutError(f"OpenAI response did not complete within 3600 seconds; response_id={response.id}")
|
|
23
|
+
time.sleep(1)
|
|
24
|
+
response = client.responses.retrieve(response.id)
|
|
25
|
+
|
|
26
|
+
return response.model_dump(mode="json")
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def register_writing_master(mcp) -> None:
|
|
30
|
+
if not os.environ.get("OPENAI_API_KEY"):
|
|
31
|
+
raise RuntimeError("WritingMaster MCP startup validation failed: OPENAI_API_KEY is not set in the environment or current .env")
|
|
32
|
+
OpenAI()
|
|
33
|
+
mcp.tool()(writing_master)
|
package/metaskills/README.md
CHANGED
|
@@ -27,13 +27,10 @@ Prepared AcademicArmy skill metaskills:
|
|
|
27
27
|
| `academic-army-architect` | [`academic-army-architect/METASKILL.md`](academic-army-architect/METASKILL.md) | [`academic-army-architect/envolve.sh`](academic-army-architect/envolve.sh) with `bash` |
|
|
28
28
|
| `academic-army-experiment-plan` | [`academic-army-experiment-plan/METASKILL.md`](academic-army-experiment-plan/METASKILL.md) | [`academic-army-experiment-plan/envolve.sh`](academic-army-experiment-plan/envolve.sh) with `bash` |
|
|
29
29
|
| `academic-army-coding-plan` | [`academic-army-coding-plan/METASKILL.md`](academic-army-coding-plan/METASKILL.md) | [`academic-army-coding-plan/envolve.sh`](academic-army-coding-plan/envolve.sh) with `bash` |
|
|
30
|
-
| `academic-army-repo-scaffold` | [`academic-army-repo-scaffold/METASKILL.md`](academic-army-repo-scaffold/METASKILL.md) | [`academic-army-repo-scaffold/envolve.sh`](academic-army-repo-scaffold/envolve.sh) with `bash` |
|
|
31
30
|
| `academic-army-coding-style` | [`academic-army-coding-style/METASKILL.md`](academic-army-coding-style/METASKILL.md) | [`../runs/develop-skill.sh`](../runs/develop-skill.sh) with `bash` |
|
|
32
31
|
|
|
33
32
|
Before calling `evolve-skill` for `academic-army-architect`, create or confirm [`academic-army-architect/ENVOLVETASK.md`](academic-army-architect/ENVOLVETASK.md). This fixed task is what the runner uses to test the architect skill across evolution rounds.
|
|
34
33
|
|
|
35
|
-
The `academic-army-repo-scaffold` metaskill defines the template-first repository initialization skill: generate a real starter repo from a selected initializer or template, overlay `data/`, `output/`, `results/`, and `harness/`, write repo-local installation instructions, configure installable dependencies without running installation, record reference-only sources, preserve the template's test layout, and keep README text objective and present-state.
|
|
36
|
-
|
|
37
34
|
The `academic-army-coding-style` metaskill defines the code structure and style preferences used by code-writing agents. Add any durable preference about concise code, module boundaries, dependency choices, review standards, naming, or repository-local style to [`academic-army-coding-style/METASKILL.md`](academic-army-coding-style/METASKILL.md), then use [`runs/develop-skill.sh`](../runs/develop-skill.sh) to update [`skills/academic-army-coding-style/SKILL.md`](../skills/academic-army-coding-style/SKILL.md) from real developing trajectories.
|
|
38
35
|
|
|
39
36
|
### 2. Add concrete tips
|
|
@@ -27,13 +27,10 @@
|
|
|
27
27
|
| `academic-army-architect` | [`academic-army-architect/METASKILL.md`](academic-army-architect/METASKILL.md) | 用 `bash` 运行 [`academic-army-architect/envolve.sh`](academic-army-architect/envolve.sh) |
|
|
28
28
|
| `academic-army-experiment-plan` | [`academic-army-experiment-plan/METASKILL.md`](academic-army-experiment-plan/METASKILL.md) | 用 `bash` 运行 [`academic-army-experiment-plan/envolve.sh`](academic-army-experiment-plan/envolve.sh) |
|
|
29
29
|
| `academic-army-coding-plan` | [`academic-army-coding-plan/METASKILL.md`](academic-army-coding-plan/METASKILL.md) | 用 `bash` 运行 [`academic-army-coding-plan/envolve.sh`](academic-army-coding-plan/envolve.sh) |
|
|
30
|
-
| `academic-army-repo-scaffold` | [`academic-army-repo-scaffold/METASKILL.md`](academic-army-repo-scaffold/METASKILL.md) | 用 `bash` 运行 [`academic-army-repo-scaffold/envolve.sh`](academic-army-repo-scaffold/envolve.sh) |
|
|
31
30
|
| `academic-army-coding-style` | [`academic-army-coding-style/METASKILL.md`](academic-army-coding-style/METASKILL.md) | 用 `bash` 运行 [`../runs/develop-skill.sh`](../runs/develop-skill.sh) |
|
|
32
31
|
|
|
33
32
|
对 `academic-army-architect` 调用 `evolve-skill` 前,先创建或确认 [`academic-army-architect/ENVOLVETASK.md`](academic-army-architect/ENVOLVETASK.md)(Windows 路径:`metaskills\academic-army-architect\ENVOLVETASK.md`)。这个固定任务是 runner 在 evolution 轮次中测试 architect skill 的输入。
|
|
34
33
|
|
|
35
|
-
`academic-army-repo-scaffold` 这个 metaskill 定义 template-first 的仓库初始化 skill:先用选定 initializer 或 template 生成真实 starter repo,再叠加 `data/`、`output/`、`results/` 和 `harness/`;写出 repo-local 安装说明;配置可安装依赖但不执行安装;记录只能作为参考的外部来源;保留模板决定的测试结构;README 只客观说明当前仓库结构和用法。
|
|
36
|
-
|
|
37
34
|
`academic-army-coding-style` 这个 metaskill 定义写代码 agent 使用的代码结构和代码风格偏好。任何关于 concise code、module boundaries、dependency choices、review standards、naming 或 repo-local style 的长期偏好,都写进 [`academic-army-coding-style/METASKILL.md`](academic-army-coding-style/METASKILL.md),然后用 [`runs/develop-skill.sh`](../runs/develop-skill.sh) 根据真实 developing trajectories 更新 [`skills/academic-army-coding-style/SKILL.md`](../skills/academic-army-coding-style/SKILL.md)。
|
|
38
35
|
|
|
39
36
|
### 2. 补充具体 tips
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "academic-army",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Agent workflows and skills for AcademicArmy.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"mcp-server/__main__.py",
|
|
27
27
|
"mcp-server/requirements.txt",
|
|
28
28
|
"mcp-server/deepresearch/*.py",
|
|
29
|
+
"mcp-server/writing_master/*.py",
|
|
29
30
|
"install_mcp.py",
|
|
30
31
|
"README.md",
|
|
31
32
|
"README.zh-CN.md",
|
|
@@ -48,7 +49,7 @@
|
|
|
48
49
|
"dependencies": {
|
|
49
50
|
"@openai/codex-sdk": "^0.134.0",
|
|
50
51
|
"coding-agent-forge": "^1.3.2",
|
|
51
|
-
"developing-agent-forge": "^2.
|
|
52
|
+
"developing-agent-forge": "^2.3.1"
|
|
52
53
|
},
|
|
53
54
|
"devDependencies": {
|
|
54
55
|
"@eslint/js": "^10.0.1",
|