scientify 1.2.2 → 1.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/package.json +1 -1
- package/skills/_shared/workspace-spec.md +129 -0
- package/skills/idea-generation/SKILL.md +2 -0
- package/skills/literature-survey/SKILL.md +2 -0
- package/skills/research-pipeline/SKILL.md +7 -29
- package/skills/research-pipeline/references/workspace-spec.md +3 -79
- package/skills/write-review-paper/SKILL.md +2 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "scientify",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Scientify - AI-powered research workflow automation for OpenClaw. Includes idea generation, literature review, research pipeline skills, and arxiv tool.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# Workspace Directory Specification
|
|
2
|
+
|
|
3
|
+
All Scientify skills share a unified project-based workspace structure.
|
|
4
|
+
|
|
5
|
+
## Base Path
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
~/.openclaw/workspace/projects/
|
|
9
|
+
├── .active # Current project ID (plain text)
|
|
10
|
+
├── {project-id}/ # Each research topic has its own project
|
|
11
|
+
│ └── ...
|
|
12
|
+
└── {another-project}/
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## Project Structure
|
|
16
|
+
|
|
17
|
+
```
|
|
18
|
+
~/.openclaw/workspace/projects/{project-id}/
|
|
19
|
+
├── project.json # Project metadata
|
|
20
|
+
├── task.json # Research task definition
|
|
21
|
+
│
|
|
22
|
+
├── survey/ # /literature-survey outputs
|
|
23
|
+
│ ├── search_terms.json # Generated search keywords
|
|
24
|
+
│ ├── raw_results.json # All search results
|
|
25
|
+
│ ├── filtered_papers.json # Papers with relevance scores
|
|
26
|
+
│ ├── clusters.json # Clustered by research direction
|
|
27
|
+
│ └── report.md # Final survey report
|
|
28
|
+
│
|
|
29
|
+
├── papers/ # Downloaded paper sources
|
|
30
|
+
│ ├── {direction-1}/ # Organized by cluster
|
|
31
|
+
│ │ ├── paper_list.md
|
|
32
|
+
│ │ └── {arxiv_id}/ # .tex source files
|
|
33
|
+
│ ├── {direction-2}/
|
|
34
|
+
│ └── uncategorized/
|
|
35
|
+
│
|
|
36
|
+
├── repos/ # Cloned reference repositories
|
|
37
|
+
│ ├── {repo-name-1}/
|
|
38
|
+
│ └── {repo-name-2}/
|
|
39
|
+
│
|
|
40
|
+
├── ideas/ # /idea-generation outputs
|
|
41
|
+
│ ├── gaps.md # Identified research gaps
|
|
42
|
+
│ ├── idea_1.md ... idea_5.md # Generated ideas
|
|
43
|
+
│ ├── selected_idea.md # Enhanced best idea
|
|
44
|
+
│ ├── implementation_report.md # Code mapping
|
|
45
|
+
│ └── summary.md # Final summary
|
|
46
|
+
│
|
|
47
|
+
├── review/ # /write-review-paper outputs
|
|
48
|
+
│ ├── reading_plan.md # Prioritized reading list
|
|
49
|
+
│ ├── notes/ # Per-paper reading notes
|
|
50
|
+
│ │ └── {paper_id}.md
|
|
51
|
+
│ ├── comparison.md # Method comparison table
|
|
52
|
+
│ ├── timeline.md # Research timeline
|
|
53
|
+
│ ├── taxonomy.md # Classification system
|
|
54
|
+
│ ├── draft.md # Survey paper draft
|
|
55
|
+
│ └── bibliography.bib # References
|
|
56
|
+
│
|
|
57
|
+
├── plan_res.md # /research-pipeline: implementation plan
|
|
58
|
+
├── project/ # /research-pipeline: code implementation
|
|
59
|
+
│ ├── model/
|
|
60
|
+
│ ├── data/
|
|
61
|
+
│ ├── training/
|
|
62
|
+
│ ├── testing/
|
|
63
|
+
│ ├── run.py
|
|
64
|
+
│ └── requirements.txt
|
|
65
|
+
├── iterations/ # Review iterations
|
|
66
|
+
│ ├── judge_v1.md
|
|
67
|
+
│ └── judge_v2.md
|
|
68
|
+
└── experiment_res.md # Final results
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Conventions
|
|
72
|
+
|
|
73
|
+
### File Existence = Step Completion
|
|
74
|
+
|
|
75
|
+
Check output file before executing any step. If exists, skip.
|
|
76
|
+
|
|
77
|
+
Enables:
|
|
78
|
+
- **Crash recovery**: resume from last completed step
|
|
79
|
+
- **Incremental progress**: rerunning skips completed work
|
|
80
|
+
- **Transparency**: inspect progress by listing directory
|
|
81
|
+
|
|
82
|
+
### Project Metadata
|
|
83
|
+
|
|
84
|
+
**project.json:**
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"id": "battery-rul-prediction",
|
|
88
|
+
"name": "Battery RUL Prediction",
|
|
89
|
+
"created": "2024-01-15T10:00:00Z",
|
|
90
|
+
"topics": ["battery", "remaining useful life", "prediction"]
|
|
91
|
+
}
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**task.json:**
|
|
95
|
+
```json
|
|
96
|
+
{
|
|
97
|
+
"domain": "battery health",
|
|
98
|
+
"focus": "RUL prediction using transformer",
|
|
99
|
+
"date_limit": "2024-01-01",
|
|
100
|
+
"created": "2024-01-15"
|
|
101
|
+
}
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Immutability
|
|
105
|
+
|
|
106
|
+
Once written, do NOT modify outputs unless user explicitly asks.
|
|
107
|
+
Exception: `project/` is mutable during implement-review-iterate loop.
|
|
108
|
+
|
|
109
|
+
### Active Project
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Read active project
|
|
113
|
+
cat ~/.openclaw/workspace/projects/.active
|
|
114
|
+
|
|
115
|
+
# Set active project
|
|
116
|
+
echo "battery-rul-prediction" > ~/.openclaw/workspace/projects/.active
|
|
117
|
+
|
|
118
|
+
# Set $WORKSPACE variable
|
|
119
|
+
WORKSPACE=~/.openclaw/workspace/projects/$(cat ~/.openclaw/workspace/projects/.active)
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
## Skill Outputs Summary
|
|
123
|
+
|
|
124
|
+
| Skill | Primary Outputs |
|
|
125
|
+
|-------|-----------------|
|
|
126
|
+
| `/literature-survey` | `survey/`, `papers/` |
|
|
127
|
+
| `/idea-generation` | `ideas/` |
|
|
128
|
+
| `/write-review-paper` | `review/` |
|
|
129
|
+
| `/research-pipeline` | `project/`, `iterations/`, `experiment_res.md` |
|
|
@@ -17,6 +17,8 @@ Generate innovative research ideas grounded in literature analysis. This skill r
|
|
|
17
17
|
|
|
18
18
|
**Core principle:** Ideas MUST be grounded in actual papers, not generated from model knowledge.
|
|
19
19
|
|
|
20
|
+
**Workspace:** See `../_shared/workspace-spec.md` for directory structure. Outputs go to `$WORKSPACE/ideas/`.
|
|
21
|
+
|
|
20
22
|
---
|
|
21
23
|
|
|
22
24
|
## Step 1: Check Workspace Resources
|
|
@@ -14,6 +14,8 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
Comprehensive literature discovery workflow for a research domain. This skill searches broadly, filters by relevance, clusters by direction, and iterates to ensure complete coverage.
|
|
16
16
|
|
|
17
|
+
**Workspace:** See `../_shared/workspace-spec.md` for directory structure. Outputs go to `$WORKSPACE/survey/` and `$WORKSPACE/papers/`.
|
|
18
|
+
|
|
17
19
|
## Architecture: Isolated Sub-agent
|
|
18
20
|
|
|
19
21
|
This survey runs in an **isolated sub-session** to avoid context pollution. The main session only receives the final report.
|
|
@@ -13,44 +13,22 @@ metadata:
|
|
|
13
13
|
|
|
14
14
|
# Research Pipeline
|
|
15
15
|
|
|
16
|
-
Automate an end-to-end ML research workflow: idea
|
|
16
|
+
Automate an end-to-end ML research workflow: idea → literature → survey → plan → implement → review → iterate.
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
**Workspace:** See `../_shared/workspace-spec.md` for directory structure. Outputs go to `$WORKSPACE/project/`, `$WORKSPACE/iterations/`.
|
|
19
19
|
|
|
20
|
-
|
|
20
|
+
**File existence = step completion.** Skip steps whose output already exists.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
---
|
|
23
23
|
|
|
24
|
-
|
|
24
|
+
## Step 0: Check Active Project
|
|
25
25
|
|
|
26
|
-
### Check Active Project
|
|
27
26
|
```bash
|
|
28
27
|
cat ~/.openclaw/workspace/projects/.active 2>/dev/null
|
|
29
28
|
```
|
|
30
29
|
|
|
31
|
-
If
|
|
32
|
-
|
|
33
|
-
If no active project exists, create one based on the research idea (see Step 1).
|
|
34
|
-
|
|
35
|
-
### Directory Structure
|
|
36
|
-
```
|
|
37
|
-
$WORKSPACE/
|
|
38
|
-
├── project.json # Project metadata
|
|
39
|
-
├── task.json # Research task/idea definition
|
|
40
|
-
├── search_results.md # Search results (Step 2)
|
|
41
|
-
├── prepare_res.md # Selected repos (Step 3)
|
|
42
|
-
├── papers/ # Downloaded papers (Step 4)
|
|
43
|
-
├── repos/ # Cloned repositories (Step 3)
|
|
44
|
-
├── notes/ # Paper notes (Step 5)
|
|
45
|
-
├── survey_res.md # Literature survey (Step 5)
|
|
46
|
-
├── plan_res.md # Implementation plan (Step 6)
|
|
47
|
-
├── project/ # Code implementation (Step 7)
|
|
48
|
-
├── ml_res.md # Implementation report (Step 7)
|
|
49
|
-
├── iterations/ # Review iterations (Step 8-9)
|
|
50
|
-
│ ├── judge_v1.md
|
|
51
|
-
│ └── ...
|
|
52
|
-
└── experiment_res.md # Final results (Step 10)
|
|
53
|
-
```
|
|
30
|
+
If active, set `$WORKSPACE = ~/.openclaw/workspace/projects/{project_id}/`.
|
|
31
|
+
If none, create based on research idea in Step 1.
|
|
54
32
|
|
|
55
33
|
---
|
|
56
34
|
|
|
@@ -1,81 +1,5 @@
|
|
|
1
|
-
# Workspace
|
|
1
|
+
# Workspace Specification
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**This file has moved to the shared location.**
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
```
|
|
8
|
-
workspace/
|
|
9
|
-
task.json # Input: research task definition
|
|
10
|
-
search_results.md # Step 2: arxiv + github search results
|
|
11
|
-
prepare_res.md # Step 3: selected repos and rationale
|
|
12
|
-
survey_res.md # Step 5: synthesized literature survey
|
|
13
|
-
plan_res.md # Step 6: four-part implementation plan
|
|
14
|
-
ml_res.md # Step 7: implementation report
|
|
15
|
-
experiment_res.md # Step 10: full training results
|
|
16
|
-
|
|
17
|
-
repos/ # Step 3: cloned reference repositories
|
|
18
|
-
repo-name-1/
|
|
19
|
-
repo-name-2/
|
|
20
|
-
|
|
21
|
-
papers/ # Step 4: downloaded paper sources
|
|
22
|
-
2401.12345.tex
|
|
23
|
-
2401.67890.tex
|
|
24
|
-
|
|
25
|
-
notes/ # Step 5: per-paper survey notes
|
|
26
|
-
paper_001.md
|
|
27
|
-
paper_002.md
|
|
28
|
-
|
|
29
|
-
iterations/ # Steps 8-9: review history
|
|
30
|
-
judge_v1.md
|
|
31
|
-
judge_v2.md
|
|
32
|
-
|
|
33
|
-
project/ # Step 7: implementation code
|
|
34
|
-
model/
|
|
35
|
-
data/
|
|
36
|
-
training/
|
|
37
|
-
testing/
|
|
38
|
-
utils/
|
|
39
|
-
run.py
|
|
40
|
-
requirements.txt
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Conventions
|
|
44
|
-
|
|
45
|
-
### File Existence = Step Completion
|
|
46
|
-
|
|
47
|
-
The research pipeline uses file existence as the checkpoint mechanism. Before executing any step, check whether its output file already exists. If it does, skip the step.
|
|
48
|
-
|
|
49
|
-
This enables:
|
|
50
|
-
- **Crash recovery**: resume from the last completed step.
|
|
51
|
-
- **Incremental progress**: re-running the pipeline skips completed work.
|
|
52
|
-
- **Transparency**: a human can inspect progress by listing the directory.
|
|
53
|
-
|
|
54
|
-
### Naming Rules
|
|
55
|
-
|
|
56
|
-
- Markdown files (`.md`) for human-readable outputs.
|
|
57
|
-
- JSON files (`.json`) for structured data (task definition).
|
|
58
|
-
- Paper notes use sequential numbering: `paper_001.md`, `paper_002.md`.
|
|
59
|
-
- Review iterations use version numbering: `judge_v1.md`, `judge_v2.md`.
|
|
60
|
-
|
|
61
|
-
### Immutability
|
|
62
|
-
|
|
63
|
-
Once a step's output is written, do NOT modify it unless the user explicitly asks. If a step needs to be re-done, delete the output file first, then re-execute.
|
|
64
|
-
|
|
65
|
-
Exception: `workspace/project/` is mutable during the implement-review-iterate loop (Steps 7-9).
|
|
66
|
-
|
|
67
|
-
### task.json Schema
|
|
68
|
-
|
|
69
|
-
```json
|
|
70
|
-
{
|
|
71
|
-
"idea": "A 1-3 sentence description of the research idea",
|
|
72
|
-
"references": ["2401.12345", "paper title string"],
|
|
73
|
-
"domain": "recommendation systems",
|
|
74
|
-
"date_limit": "2024-01-01"
|
|
75
|
-
}
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
- `idea` (required): The core research idea to implement.
|
|
79
|
-
- `references` (optional): ArXiv IDs or paper titles as starting points.
|
|
80
|
-
- `domain` (optional): Research domain for focused searching.
|
|
81
|
-
- `date_limit` (optional): Only consider papers published after this date.
|
|
5
|
+
See: `../../_shared/workspace-spec.md` for the unified workspace specification used by all Scientify skills.
|
|
@@ -14,6 +14,8 @@ metadata:
|
|
|
14
14
|
|
|
15
15
|
Guide for writing a structured literature review or survey paper from papers you've already collected. This skill helps with reading strategy, note organization, and academic writing.
|
|
16
16
|
|
|
17
|
+
**Workspace:** See `../_shared/workspace-spec.md` for directory structure. Outputs go to `$WORKSPACE/review/`.
|
|
18
|
+
|
|
17
19
|
## Prerequisites
|
|
18
20
|
|
|
19
21
|
Before starting, ensure you have:
|