academic-army 0.3.9 → 0.3.11
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 +7 -7
- package/README.zh-CN.md +7 -7
- package/agent-forge.yaml +2 -2
- package/mcp-server/writing_master/tools.py +1 -0
- package/metaskills/academic-army-architect/envolve.sh +1 -1
- package/metaskills/academic-army-coding-plan/ENVOLVETASK.md +1 -1
- package/metaskills/academic-army-coding-plan/envolve.sh +1 -1
- package/metaskills/academic-army-experiment-plan/ENVOLVETASK.md +1 -1
- package/metaskills/academic-army-experiment-plan/envolve.sh +1 -1
- package/package.json +2 -2
- package/runs/develop-skill.sh +5 -5
- package/runs/develop.sh +5 -5
- package/skills/academic-army-coding-plan/SKILL.md +6 -6
- package/skills/academic-army-coding-plan/agents/openai.yaml +1 -1
- package/skills/academic-army-coding-style/SKILL.md +676 -103
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
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
|
-
> Status: experimental workflow infrastructure. The generated project lives under `
|
|
5
|
+
> Status: experimental workflow infrastructure. The generated project lives under `workspace/`, which is ignored by git.
|
|
6
6
|
|
|
7
7
|
[中文说明](README.zh-CN.md)
|
|
8
8
|
|
|
@@ -70,16 +70,16 @@ Once you are satisfied with the paper blueprint, continue with the next planning
|
|
|
70
70
|
|
|
71
71
|
### 4. Run the development loop
|
|
72
72
|
|
|
73
|
-
After the planning artifacts are ready, write the next high-level development objective into `
|
|
73
|
+
After the planning artifacts are ready, write the next high-level development objective into `workspace/goal.md`, then run:
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
$EDITOR
|
|
76
|
+
$EDITOR workspace/goal.md
|
|
77
77
|
bash runs/develop.sh
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
Run [`runs/develop.sh`](runs/develop.sh) to call the `developing-agent-forge` development pipeline, which reads the three planning artifacts plus the current `--goal-path` file and iteratively writes code under `
|
|
80
|
+
Run [`runs/develop.sh`](runs/develop.sh) to call the `developing-agent-forge` development pipeline, which reads the three planning artifacts plus the current `--goal-path` file and iteratively writes code under `workspace/codebase`. Each time you want the next new task, update `workspace/goal.md` before rerunning the wrapper.
|
|
81
81
|
|
|
82
|
-
The development loop stores project progress memory under `
|
|
82
|
+
The development loop stores project progress memory under `workspace/developing-memory/project-progress-memory` and code design memory under `workspace/developing-memory/code-design-memory`. If a new goal starts inheriting old context, edit or delete stale memory files in those directories before rerunning.
|
|
83
83
|
|
|
84
84
|
See [`src/README.md`](src/README.md) for the local TypeScript entry points. The development loop implementation lives in the `developing-agent-forge` package.
|
|
85
85
|
|
|
@@ -103,7 +103,7 @@ npm run evolve-skill
|
|
|
103
103
|
|
|
104
104
|
For the shared CLI and pipeline structure, see [`src/README.md`](src/README.md).
|
|
105
105
|
|
|
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 `
|
|
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 `workspace/goal.md`. The base development loop comes from `developing-agent-forge`; this repository provides the `developing-skill` trajectory optimizer locally.
|
|
107
107
|
|
|
108
108
|
### Call MCP Tools
|
|
109
109
|
|
|
@@ -130,7 +130,7 @@ Find the closest papers to this research idea, compare their methods, and return
|
|
|
130
130
|
| `metaskills/` | Matching metaskill design/evolution files. |
|
|
131
131
|
| `runs/` | Convenience wrappers around TypeScript pipelines. |
|
|
132
132
|
| `src/` | TypeScript pipeline structure and implementation notes. |
|
|
133
|
-
| `
|
|
133
|
+
| `workspace/` | Generated planning artifacts, codebase workspace, memory, and archives. |
|
|
134
134
|
|
|
135
135
|
Agent and team wiring lives in [`agent-forge.yaml`](agent-forge.yaml). The local TypeScript agents are implemented under [`src/evolve-skill/agents`](src/evolve-skill/agents); developing agents come from `developing-agent-forge`.
|
|
136
136
|
|
package/README.zh-CN.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
AcademicArmy 是一个基于 Codex 的研究工作流,用来把研究想法转成结构化论文规划产物和可持续开发的实现代码库。当前核心由一组规划类 skills,以及驱动开发和 skill evolution agents 的 TypeScript pipelines 组成。
|
|
4
4
|
|
|
5
|
-
> 当前状态:实验性工作流基础设施。生成的项目和运行产物位于 `
|
|
5
|
+
> 当前状态:实验性工作流基础设施。生成的项目和运行产物位于 `workspace/`,该目录被 git 忽略。
|
|
6
6
|
|
|
7
7
|
[English README](README.md)
|
|
8
8
|
|
|
@@ -70,16 +70,16 @@ python install_mcp.py
|
|
|
70
70
|
|
|
71
71
|
### 4. 运行开发循环
|
|
72
72
|
|
|
73
|
-
三份规划产物准备好后,先把下一轮高层开发目标写进 `
|
|
73
|
+
三份规划产物准备好后,先把下一轮高层开发目标写进 `workspace/goal.md`,然后运行:
|
|
74
74
|
|
|
75
75
|
```bash
|
|
76
|
-
$EDITOR
|
|
76
|
+
$EDITOR workspace/goal.md
|
|
77
77
|
bash runs/develop.sh
|
|
78
78
|
```
|
|
79
79
|
|
|
80
|
-
运行 [`runs/develop.sh`](runs/develop.sh) 来调用 `developing-agent-forge` 提供的 `developing` pipeline,读取三份规划产物和当前 `--goal-path` 文件,并在 `
|
|
80
|
+
运行 [`runs/develop.sh`](runs/develop.sh) 来调用 `developing-agent-forge` 提供的 `developing` pipeline,读取三份规划产物和当前 `--goal-path` 文件,并在 `workspace/codebase` 下迭代写代码。每次想执行下一个新任务时,先更新 `workspace/goal.md`,再重新运行 wrapper。
|
|
81
81
|
|
|
82
|
-
开发循环会把项目进度记忆放在 `
|
|
82
|
+
开发循环会把项目进度记忆放在 `workspace/developing-memory/project-progress-memory`,把代码设计记忆放在 `workspace/developing-memory/code-design-memory`。如果新 goal 开始继承旧上下文,可以在重新运行前编辑或删除这些目录里的过期 memory 文件。
|
|
83
83
|
|
|
84
84
|
本仓库的 TypeScript 入口和目录结构见 [`src/README.zh-CN.md`](src/README.zh-CN.md)。开发循环实现来自 `developing-agent-forge` 包。
|
|
85
85
|
|
|
@@ -103,7 +103,7 @@ npm run evolve-skill
|
|
|
103
103
|
|
|
104
104
|
TypeScript pipeline 的目录结构和实现说明见 [`src/README.zh-CN.md`](src/README.zh-CN.md)。
|
|
105
105
|
|
|
106
|
-
对于 `developing` 和 `developing-skill`,每次想切换到新的任务重点时,更新传给 `--goal-path` 的文件即可。预设 wrappers 使用的是 `
|
|
106
|
+
对于 `developing` 和 `developing-skill`,每次想切换到新的任务重点时,更新传给 `--goal-path` 的文件即可。预设 wrappers 使用的是 `workspace/goal.md`。基础开发循环来自 `developing-agent-forge`;本仓库在本地提供 `developing-skill` trajectory optimizer。
|
|
107
107
|
|
|
108
108
|
### 调用 MCP 工具
|
|
109
109
|
|
|
@@ -130,7 +130,7 @@ Find the closest papers to this research idea, compare their methods, and return
|
|
|
130
130
|
| `metaskills/` | 对应的 metaskill 设计与 evolution 文件。 |
|
|
131
131
|
| `runs/` | TypeScript pipelines 的便捷 wrappers。 |
|
|
132
132
|
| `src/` | TypeScript pipeline 的目录结构和实现说明。 |
|
|
133
|
-
| `
|
|
133
|
+
| `workspace/` | 生成的规划产物、代码库工作区、记忆和归档。 |
|
|
134
134
|
|
|
135
135
|
Agent 和团队 wiring 位于 [`agent-forge.yaml`](agent-forge.yaml)。本仓库内的 TypeScript agents 实现于 [`src/evolve-skill/agents`](src/evolve-skill/agents);developing agents 来自 `developing-agent-forge`。
|
|
136
136
|
|
package/agent-forge.yaml
CHANGED
|
@@ -85,7 +85,7 @@ threads:
|
|
|
85
85
|
develop-manager:
|
|
86
86
|
runtime: glm-5.2
|
|
87
87
|
options:
|
|
88
|
-
cwd: &developerWorkspacePath
|
|
88
|
+
cwd: &developerWorkspacePath workspace/codebase
|
|
89
89
|
permissionMode: dontAsk
|
|
90
90
|
allowedTools: *cwdReadWriteBashAllowedTools
|
|
91
91
|
develop-coding:
|
|
@@ -97,7 +97,7 @@ threads:
|
|
|
97
97
|
memory:
|
|
98
98
|
runtime: deepseek-v4-flash
|
|
99
99
|
options:
|
|
100
|
-
cwd: &memoryWorkingDir
|
|
100
|
+
cwd: &memoryWorkingDir workspace/developing-memory
|
|
101
101
|
permissionMode: dontAsk
|
|
102
102
|
allowedTools:
|
|
103
103
|
- Read
|
|
@@ -4,6 +4,6 @@ set -euo pipefail
|
|
|
4
4
|
npm run evolve-skill -- \
|
|
5
5
|
--config agent-forge.yaml \
|
|
6
6
|
--skill-path skills/academic-army-architect \
|
|
7
|
-
--artifact-path
|
|
7
|
+
--artifact-path workspace/evolve-academic-army-architect \
|
|
8
8
|
--metaskill-path metaskills/academic-army-architect/METASKILL.md \
|
|
9
9
|
--task-path metaskills/academic-army-architect/ENVOLVETASK.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Create a coding plan based on the paper blueprint in
|
|
1
|
+
Create a coding plan based on the paper blueprint in workspace/paper_blueprint.md and the experiment plan in workspace/experiment_plan.md.
|
|
@@ -4,6 +4,6 @@ set -euo pipefail
|
|
|
4
4
|
npm run evolve-skill -- \
|
|
5
5
|
--config agent-forge.yaml \
|
|
6
6
|
--skill-path skills/academic-army-coding-plan \
|
|
7
|
-
--artifact-path
|
|
7
|
+
--artifact-path workspace/evolve-academic-army-coding-plan \
|
|
8
8
|
--metaskill-path metaskills/academic-army-coding-plan/METASKILL.md \
|
|
9
9
|
--task-path metaskills/academic-army-coding-plan/ENVOLVETASK.md
|
|
@@ -1 +1 @@
|
|
|
1
|
-
Create an experiment plan based on the paper blueprint in
|
|
1
|
+
Create an experiment plan based on the paper blueprint in workspace/paper_blueprint.md.
|
|
@@ -4,6 +4,6 @@ set -euo pipefail
|
|
|
4
4
|
npm run evolve-skill -- \
|
|
5
5
|
--config agent-forge.yaml \
|
|
6
6
|
--skill-path skills/academic-army-experiment-plan \
|
|
7
|
-
--artifact-path
|
|
7
|
+
--artifact-path workspace/evolve-academic-army-experiment-plan \
|
|
8
8
|
--metaskill-path metaskills/academic-army-experiment-plan/METASKILL.md \
|
|
9
9
|
--task-path metaskills/academic-army-experiment-plan/ENVOLVETASK.md
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "academic-army",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.11",
|
|
4
4
|
"description": "Agent workflows and skills for AcademicArmy.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"repository": {
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
},
|
|
49
49
|
"dependencies": {
|
|
50
50
|
"coding-agent-forge": ">=1.3.5",
|
|
51
|
-
"developing-agent-forge": ">=2.7.
|
|
51
|
+
"developing-agent-forge": ">=2.7.5"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@eslint/js": "^10.0.1",
|
package/runs/develop-skill.sh
CHANGED
|
@@ -4,13 +4,13 @@ set -euo pipefail
|
|
|
4
4
|
npm run developing-skill -- \
|
|
5
5
|
--config "agent-forge.yaml" \
|
|
6
6
|
--config "secret.yaml" \
|
|
7
|
-
--target-path "
|
|
8
|
-
--achive-dir "
|
|
9
|
-
--project-progress-memory-path "
|
|
10
|
-
--code-design-memory-path "
|
|
7
|
+
--target-path "workspace/codebase" \
|
|
8
|
+
--achive-dir "workspace/developing-archives" \
|
|
9
|
+
--project-progress-memory-path "workspace/developing-memory/project-progress-memory" \
|
|
10
|
+
--code-design-memory-path "workspace/developing-memory/code-design-memory" \
|
|
11
11
|
--coding-style-skill-path "skills/academic-army-coding-style" \
|
|
12
12
|
--metaskill-path "metaskills/academic-army-coding-style/METASKILL.md" \
|
|
13
|
-
--goal-path "
|
|
13
|
+
--goal-path "workspace/goal.md" \
|
|
14
14
|
--max-iterations "100" \
|
|
15
15
|
--max-task-devloop-iterations "10" \
|
|
16
16
|
--max-memory-rounds "3"
|
package/runs/develop.sh
CHANGED
|
@@ -4,11 +4,11 @@ set -euo pipefail
|
|
|
4
4
|
npm run developing -- \
|
|
5
5
|
--config "agent-forge.yaml" \
|
|
6
6
|
--config "secret.yaml" \
|
|
7
|
-
--target-path "
|
|
8
|
-
--achive-dir "
|
|
9
|
-
--project-progress-memory-path "
|
|
10
|
-
--code-design-memory-path "
|
|
11
|
-
--goal-path "
|
|
7
|
+
--target-path "workspace/codebase" \
|
|
8
|
+
--achive-dir "workspace/developing-archives" \
|
|
9
|
+
--project-progress-memory-path "workspace/developing-memory/project-progress-memory" \
|
|
10
|
+
--code-design-memory-path "workspace/developing-memory/code-design-memory" \
|
|
11
|
+
--goal-path "workspace/goal.md" \
|
|
12
12
|
--max-iterations "100" \
|
|
13
13
|
--max-task-devloop-iterations "10" \
|
|
14
14
|
--max-memory-rounds "3"
|
|
@@ -36,7 +36,7 @@ When the only feedback is access feedback, do not invent content critiques, redu
|
|
|
36
36
|
|
|
37
37
|
Write both files to the requested output directory and read them back before responding.
|
|
38
38
|
|
|
39
|
-
For `
|
|
39
|
+
For `workspace/evolve-*` outputs, or whenever artifact-access feedback is active or sticky in the thread, the final response must be directly reviewable without local filesystem access:
|
|
40
40
|
|
|
41
41
|
1. Start with one concise validation sentence.
|
|
42
42
|
2. Add `Review Handoff` immediately after that sentence.
|
|
@@ -46,14 +46,14 @@ For `output/evolve-*` outputs, or whenever artifact-access feedback is active or
|
|
|
46
46
|
Use five-backtick fences for full-file handoffs so embedded command fences remain readable:
|
|
47
47
|
|
|
48
48
|
``````markdown
|
|
49
|
-
##
|
|
49
|
+
## workspace/evolve-.../coding_plan.md
|
|
50
50
|
|
|
51
51
|
```markdown
|
|
52
52
|
<full coding_plan.md content>
|
|
53
53
|
```
|
|
54
54
|
``````
|
|
55
55
|
|
|
56
|
-
##
|
|
56
|
+
## workspace/evolve-.../coding_plan.explain.md
|
|
57
57
|
|
|
58
58
|
```markdown
|
|
59
59
|
<full coding_plan.explain.md content>
|
|
@@ -65,7 +65,7 @@ When files are long, read each file with a complete read method or bounded chunk
|
|
|
65
65
|
|
|
66
66
|
When a reviewer reports repeated sandbox, PowerShell, Node REPL, connector, mounted-path, browser-open, or `file://` failures, keep the final response concise before `Review Handoff`; do not ask the reviewer to retry local access as the main remedy after producing the artifacts.
|
|
67
67
|
|
|
68
|
-
If the generated artifact is too long for a comfortable final response, still prefer the complete read-back handoff for `
|
|
68
|
+
If the generated artifact is too long for a comfortable final response, still prefer the complete read-back handoff for `workspace/evolve-*` or active access-feedback tasks. If a platform limit prevents pasting both files, paste as much as possible, clearly mark the truncation point, and state that review is blocked until the remaining read-back content can be provided.
|
|
69
69
|
|
|
70
70
|
## Output Style
|
|
71
71
|
|
|
@@ -478,7 +478,7 @@ Before the final response, confirm:
|
|
|
478
478
|
- Every test capability has a semantic name, small fixture or mock input, expected behavior, pass/fail criteria, and debug-output behavior separated from paper results.
|
|
479
479
|
- Paper outputs can be derived from raw and metric artifacts without rerunning experiments.
|
|
480
480
|
- The readability and path hygiene pass succeeds.
|
|
481
|
-
- For `
|
|
481
|
+
- For `workspace/evolve-*` outputs or artifact-access feedback, the final response includes a `Review Handoff` section with both complete read-back files under relative path headings.
|
|
482
482
|
- For repeated artifact-access feedback, the handoff is self-contained enough for a reviewer to evaluate language, content boundaries, path hygiene, harness/testing separation, result artifact schema quality, redundancy, and defensive wording without opening local files.
|
|
483
483
|
|
|
484
484
|
## Final Response
|
|
@@ -490,5 +490,5 @@ After writing and validating the files, summarize:
|
|
|
490
490
|
- high-blocking open questions
|
|
491
491
|
- validation performed, including read-back result
|
|
492
492
|
|
|
493
|
-
For `
|
|
493
|
+
For `workspace/evolve-*` outputs or when artifact-access feedback requests pasted contents, add a `Review Handoff` heading immediately after the concise validation sentence and paste the complete read-back contents of both files using the five-backtick handoff format. A path-only response is incomplete for access-limited review.
|
|
494
494
|
````
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
interface:
|
|
2
2
|
display_name: "Academic Army Coding Plan"
|
|
3
3
|
short_description: "Readable coding plan with semantic harnesses, tests, and raw exports"
|
|
4
|
-
default_prompt: "Create an English coding_plan.md and Chinese coding_plan.explain.md with $academic-army-coding-plan from the paper blueprint, experiment plan, and mandatory pre-planning deepresearch. Use only those local task inputs unless they explicitly reference another required file. Use project-relative paths, semantic module/method/harness/test names, natural cross-references instead of abstract global IDs, separate paper-goal harness structure from functional testing structure, include a Chinese decision-rationale explanation, separate raw, metadata, metric, analysis, and summary outputs, and read both artifacts back before the final response. If the request writes to
|
|
4
|
+
default_prompt: "Create an English coding_plan.md and Chinese coding_plan.explain.md with $academic-army-coding-plan from the paper blueprint, experiment plan, and mandatory pre-planning deepresearch. Use only those local task inputs unless they explicitly reference another required file. Use project-relative paths, semantic module/method/harness/test names, natural cross-references instead of abstract global IDs, separate paper-goal harness structure from functional testing structure, include a Chinese decision-rationale explanation, separate raw, metadata, metric, analysis, and summary outputs, and read both artifacts back before the final response. If the request writes to workspace/evolve-* or prior feedback says a reviewer cannot read local artifacts, add a Review Handoff section and paste the complete read-back contents of both generated files under clear path headings after the validation summary; paths-only, summary-only, or partial-excerpt final responses are incomplete."
|
|
5
5
|
|
|
6
6
|
dependencies:
|
|
7
7
|
tools:
|