academic-army 0.2.1 → 0.3.0

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 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, a repository scaffold skill, and TypeScript pipelines that run development and skill-evolution agents from those artifacts.
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 DeepResearch MCP
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 skill can call `academic_army_mcp_tools.deepresearch` outside the project pipeline:
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 repository scaffolding and iterative code development.
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. Initialize the codebase scaffold
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 DeepResearch
108
+ ### Call MCP Tools
115
109
 
116
- AcademicArmy includes a local stdio MCP implementation in the [`mcp-server`](mcp-server) directory. It exposes one tool:
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 the `deepresearch` tool with a single self-contained prompt. For example:
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` | DeepResearch MCP | Read by the MCP server and by `install_mcp.py`. |
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、一个仓库 scaffold skill,以及驱动开发和 skill evolution agents 的 TypeScript pipelines 组成。
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. 配置 DeepResearch MCP
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. 初始化代码库 Scaffold
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
- ### 调用 DeepResearch
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 `deepresearch` 传入一个自包含 prompt,例如:
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` | DeepResearch MCP | MCP server 和 `install_mcp.py` 会读取。 |
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
- glm-5.2:
39
+ deepseek-v4-flash:
40
40
  kind: claude
41
41
  options:
42
- model: zai/glm-5.2
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: zai/glm-5.2
50
- ANTHROPIC_DEFAULT_SONNET_MODEL: zai/glm-5.2
51
- ANTHROPIC_DEFAULT_OPUS_MODEL: zai/glm-5.2
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
- kimi-k2.7-code:
52
+ glm-5.2:
54
53
  kind: claude
55
54
  options:
56
- model: moonshotai/kimi-k2.7-code
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: moonshotai/kimi-k2.7-code
63
- ANTHROPIC_DEFAULT_SONNET_MODEL: moonshotai/kimi-k2.7-code
64
- ANTHROPIC_DEFAULT_OPUS_MODEL: moonshotai/kimi-k2.7-code
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: glm-5.2
69
+ runtime: deepseek-v4-pro
70
70
  options:
71
71
  cwd: .
72
72
  permissionMode: dontAsk
73
- allowedTools: &cwdReadWriteAllowedTools
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: *cwdReadWriteAllowedTools
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: *cwdReadWriteAllowedTools
96
+ allowedTools: *cwdReadWriteBashAllowedTools
96
97
  memory:
97
- runtime: deepseek-v4-pro
98
+ runtime: deepseek-v4-flash
98
99
  options:
99
100
  cwd: &memoryWorkingDir output/developing-memory
100
101
  permissionMode: dontAsk
101
- allowedTools: *cwdReadWriteAllowedTools
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:
@@ -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,3 @@
1
+ from .tools import register_writing_master, writing_master
2
+
3
+ __all__ = ["register_writing_master", "writing_master"]
@@ -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)
@@ -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.2.1",
3
+ "version": "0.3.0",
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.2.3"
52
+ "developing-agent-forge": "^2.3.0"
52
53
  },
53
54
  "devDependencies": {
54
55
  "@eslint/js": "^10.0.1",