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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "scientify",
3
- "version": "1.2.2",
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 -> literature search -> survey -> plan -> implement -> review -> iterate.
16
+ Automate an end-to-end ML research workflow: idea literature survey plan implement review iterate.
17
17
 
18
- All intermediate results live in a project-based workspace directory. **File existence = step completion.** If a step's output file already exists, skip that step and move on. This enables crash recovery and incremental progress.
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
- ## Workspace Convention (Project-based)
22
+ ---
23
23
 
24
- **IMPORTANT**: This skill uses the same project-based workspace as `idea-generation`. Check or set the active project first.
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 a project is active, set `$WORKSPACE = ~/.openclaw/workspace/projects/{project_id}/`.
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 Directory Specification
1
+ # Workspace Specification
2
2
 
3
- All research pipeline artifacts live in a `workspace/` directory. The location is either specified by the user or defaults to the current working directory plus `workspace/`.
3
+ **This file has moved to the shared location.**
4
4
 
5
- ## Directory Layout
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: