ai-research-toolkit 1.1.0__tar.gz

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.
Files changed (32) hide show
  1. ai_research_toolkit-1.1.0/LICENSE +29 -0
  2. ai_research_toolkit-1.1.0/PKG-INFO +237 -0
  3. ai_research_toolkit-1.1.0/README.md +206 -0
  4. ai_research_toolkit-1.1.0/ai_research_toolkit.egg-info/PKG-INFO +237 -0
  5. ai_research_toolkit-1.1.0/ai_research_toolkit.egg-info/SOURCES.txt +30 -0
  6. ai_research_toolkit-1.1.0/ai_research_toolkit.egg-info/dependency_links.txt +1 -0
  7. ai_research_toolkit-1.1.0/ai_research_toolkit.egg-info/entry_points.txt +2 -0
  8. ai_research_toolkit-1.1.0/ai_research_toolkit.egg-info/requires.txt +13 -0
  9. ai_research_toolkit-1.1.0/ai_research_toolkit.egg-info/top_level.txt +1 -0
  10. ai_research_toolkit-1.1.0/pyproject.toml +60 -0
  11. ai_research_toolkit-1.1.0/research_toolkit/__init__.py +22 -0
  12. ai_research_toolkit-1.1.0/research_toolkit/__main__.py +4 -0
  13. ai_research_toolkit-1.1.0/research_toolkit/cli.py +565 -0
  14. ai_research_toolkit-1.1.0/research_toolkit/documents.py +95 -0
  15. ai_research_toolkit-1.1.0/research_toolkit/evidence_store.py +46 -0
  16. ai_research_toolkit-1.1.0/research_toolkit/exporters.py +161 -0
  17. ai_research_toolkit-1.1.0/research_toolkit/orchestrator.py +304 -0
  18. ai_research_toolkit-1.1.0/research_toolkit/paths.py +49 -0
  19. ai_research_toolkit-1.1.0/research_toolkit/pipelines.py +697 -0
  20. ai_research_toolkit-1.1.0/research_toolkit/progress.py +119 -0
  21. ai_research_toolkit-1.1.0/research_toolkit/project_manager.py +214 -0
  22. ai_research_toolkit-1.1.0/research_toolkit/providers/__init__.py +43 -0
  23. ai_research_toolkit-1.1.0/research_toolkit/providers/base.py +88 -0
  24. ai_research_toolkit-1.1.0/research_toolkit/providers/crossref.py +80 -0
  25. ai_research_toolkit-1.1.0/research_toolkit/providers/openalex.py +82 -0
  26. ai_research_toolkit-1.1.0/research_toolkit/providers/semantic_scholar.py +68 -0
  27. ai_research_toolkit-1.1.0/research_toolkit/schemas.py +324 -0
  28. ai_research_toolkit-1.1.0/research_toolkit/skill_contracts.py +65 -0
  29. ai_research_toolkit-1.1.0/research_toolkit/source_registry.py +253 -0
  30. ai_research_toolkit-1.1.0/research_toolkit/validation.py +141 -0
  31. ai_research_toolkit-1.1.0/research_toolkit/workflow_state.py +252 -0
  32. ai_research_toolkit-1.1.0/setup.cfg +4 -0
@@ -0,0 +1,29 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 AI Research Toolkit contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
22
+
23
+ ---
24
+ Upstream asset audit (2026-11-07): this repository contains no copied third-party
25
+ code or assets. Runtime dependencies are used under their own licenses
26
+ (pydantic MIT, PyYAML MIT, httpx BSD-3, pandas BSD-3, openpyxl MIT,
27
+ python-docx MIT, PyMuPDF AGPL-3.0 / commercial, jinja2 BSD-3, pytest MIT).
28
+ NOTE: PyMuPDF is AGPL-licensed. If you redistribute a closed-source product
29
+ built on this toolkit, review the PyMuPDF licence or swap the PDF backend.
@@ -0,0 +1,237 @@
1
+ Metadata-Version: 2.4
2
+ Name: ai-research-toolkit
3
+ Version: 1.1.0
4
+ Summary: Local-first, skill-based research workflow toolkit for Claude Code and OpenAI Codex (10 Agent Skills + deterministic Python engine).
5
+ Author: Mrkomiljon
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Mrkomiljon/AI-Research-Toolkit
8
+ Project-URL: Issues, https://github.com/Mrkomiljon/AI-Research-Toolkit/issues
9
+ Keywords: research,agent-skills,claude-code,codex,literature-review
10
+ Classifier: Programming Language :: Python :: 3
11
+ Classifier: Programming Language :: Python :: 3.11
12
+ Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Operating System :: OS Independent
14
+ Classifier: Topic :: Scientific/Engineering
15
+ Requires-Python: >=3.11
16
+ Description-Content-Type: text/markdown
17
+ License-File: LICENSE
18
+ Requires-Dist: pydantic<3,>=2.7
19
+ Requires-Dist: PyYAML<7,>=6.0
20
+ Requires-Dist: httpx<1,>=0.27
21
+ Requires-Dist: pandas<3,>=2.2
22
+ Requires-Dist: openpyxl<4,>=3.1
23
+ Requires-Dist: python-docx<2,>=1.1
24
+ Requires-Dist: pymupdf>=1.24
25
+ Requires-Dist: jinja2<4,>=3.1
26
+ Provides-Extra: dev
27
+ Requires-Dist: pytest>=8.0; extra == "dev"
28
+ Requires-Dist: pytest-cov>=5.0; extra == "dev"
29
+ Requires-Dist: ruff>=0.5; extra == "dev"
30
+ Dynamic: license-file
31
+
32
+ # AI Research Toolkit (v1.1)
33
+
34
+ Local-first, skill-based research workflow toolkit for **Claude Code** and **OpenAI Codex**: nine specialist Agent
35
+ Skills plus a mandatory `research-orchestrator`, backed by a deterministic Python engine (`rtk`). It helps a researcher
36
+ find papers, analyze them with locators, build evidence-linked reviews, shortlist candidate gaps, structure manuscripts,
37
+ audit citations, check integrity, simulate peer review and track progress — **without inventing papers, results or
38
+ completion marks**. It is an assistant, not an autonomous researcher and not a publication guarantee.
39
+
40
+ UI languages: Uzbek, English, Russian (skills are written in English; the agent answers in your language).
41
+
42
+ ## Skills
43
+
44
+ | Skill | Does | Key gate |
45
+ |---|---|---|
46
+ | `research-orchestrator` | plans a dependency-aware workflow, previews it, gets approvals, runs/delegates, checkpoints, reports what is on disk | never fabricates outputs, never bypasses human review |
47
+ | `literature-search` | OpenAlex/Crossref/(Semantic Scholar) search, query log, dedup, ranking, access levels | never invents articles; reports coverage |
48
+ | `paper-analyzer` | objective/methods/sample/outcomes/limitations with page locators and verbatim excerpts | explicit `ABSTRACT_ONLY` if no full text |
49
+ | `literature-review` | comparison matrix + evidence-linked synthesis | every claim linked to `ev-`/`src-` ids |
50
+ | `research-gap-finder` | candidate gaps, hypotheses, feasibility | candidate gap ≠ proven novelty |
51
+ | `manuscript-builder` | IMRaD outline, author-reviewed draft, missing-info list | no fictitious methods/results |
52
+ | `citation-verifier` | DOI format + resolution, mismatches, missing/unused references | metadata check ≠ claim support |
53
+ | `academic-integrity` | attribution/provenance audit, AI-use disclosure draft, submission checklist | no plagiarism-free certificates, no detector evasion |
54
+ | `peer-reviewer` | section-wise major/minor comments, revision plan, response draft | simulated; no acceptance guarantee |
55
+ | `research-progress` | status from artifacts on disk, blockers, next actions | no evidence-free completion marks |
56
+
57
+ ## Requirements
58
+
59
+ Python 3.11+, pip, Claude Code or Codex (authenticated), internet for the free metadata APIs. Node.js only for the
60
+ `npx skills` route. Windows 11 / Linux tested.
61
+
62
+ ## Costs and subscriptions
63
+
64
+ The toolkit itself is free (MIT) and OpenAlex/Crossref need no key or payment. What you pay for is the **agent**:
65
+
66
+ | Agent | What you need | Notes |
67
+ |---|---|---|
68
+ | Claude Code | Claude Pro or Max subscription, **or** an Anthropic API key (pay per token) | Pro has tighter hourly limits; long research sessions fit Max better |
69
+ | Codex | ChatGPT Plus / Pro / Business / Edu / Enterprise, **or** an OpenAI API key | sign in with `codex login` |
70
+
71
+ One agent is enough; the skills behave the same in both. Semantic Scholar is optional (free public tier, rate
72
+ limited; a free API key raises limits). Prices and limits change often: check claude.com/pricing and
73
+ openai.com/chatgpt/pricing before advising users.
74
+
75
+ ## 1-minute quickstart
76
+
77
+ ```bash
78
+ # engine (no clone needed)
79
+ python -m pip install "git+https://github.com/Mrkomiljon/AI-Research-Toolkit.git"
80
+ # skills into your research folder (pick the agent you use; both is fine)
81
+ cd /path/to/your/research-folder
82
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a claude-code
83
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a codex
84
+ rtk --help
85
+ ```
86
+
87
+ Without Node.js, clone and use the Python installer instead:
88
+
89
+ ```bash
90
+ git clone https://github.com/Mrkomiljon/AI-Research-Toolkit.git
91
+ cd AI-Research-Toolkit
92
+ python -m pip install -e .
93
+ python scripts/install.py --agent all --scope project --project-dir /path/to/your/research-folder
94
+ python scripts/doctor.py
95
+ ```
96
+
97
+ Open Claude Code or Codex **in `/path/to/your/research-folder`** and type:
98
+
99
+ > Use research-orchestrator. Initialize my PhD research on machine learning for cotton yield prediction.
100
+
101
+ Then ask for deliverables in plain language: "Find 20 papers since 2021", "Compare these papers", "Find research gaps",
102
+ "Prepare my article", "Audit this manuscript", "Where am I?".
103
+
104
+ ## Install with the Skills CLI (after publishing on GitHub)
105
+
106
+ ```bash
107
+ npx skills add Mrkomiljon/AI-Research-Toolkit # interactive: choose skills and agent(s)
108
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a claude-code # Claude Code only
109
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a codex # Codex only
110
+ npx skills add Mrkomiljon/AI-Research-Toolkit --all -g # all skills, all agents, user-level
111
+ ```
112
+
113
+ Flags checked against `skills` 1.7.6 (`npx skills add --help`, 2026-11-07). The Python engine must still be installed
114
+ (`python -m pip install -e .` from a clone, or the package once published) because every skill calls `rtk`.
115
+ Full details, Windows PowerShell steps, update and uninstall: [docs/installation.md](docs/installation.md).
116
+
117
+ ### Claude Code
118
+
119
+ Skills are read from `<project>/.claude/skills/<skill>/SKILL.md` (or `~/.claude/skills`). `python scripts/install.py
120
+ --agent claude --scope project --project-dir <project>` creates them. Invoke by natural language; `CLAUDE.md` in this
121
+ repo carries the reliability rules.
122
+
123
+ ### Codex
124
+
125
+ Skills are read from `<project>/.agents/skills/<skill>/SKILL.md` (or `~/.codex/skills`). `python scripts/install.py
126
+ --agent codex --scope project --project-dir <project>`. `AGENTS.md` carries the same rules. No vendor-specific slash
127
+ syntax is required by any skill (tested).
128
+
129
+ ## Watching what happens
130
+
131
+ In an interactive session (`claude` or `codex` in a terminal or the VS Code extension) you see every step live: the
132
+ plan preview, approval questions, each `rtk` call and the files it writes. The non-interactive forms (`claude -p`,
133
+ `codex exec`) print only the final answer. Either way everything is written to disk, so a second terminal can follow
134
+ the run:
135
+
136
+ ```bash
137
+ rtk log -p workspace/<slug> --follow # tails workflow/runs.jsonl: step_started, step_completed, blocked, ...
138
+ rtk status -p workspace/<slug> # stage table derived from artifacts
139
+ ```
140
+
141
+ Outputs are ordinary files (`.md`, `.xlsx`, `.docx`, `.json`) under the workspace; open them in VS Code or Excel/Word.
142
+
143
+ ## Sample prompts
144
+
145
+ - `Use research-orchestrator. Find 15 papers on Sentinel-2 wheat yield prediction 2020-2025, then find research gaps.`
146
+ - `Use paper-analyzer. Analyze papers/PDFs/smith2023.pdf for the question "which features drive accuracy?"`
147
+ - `Use citation-verifier. Check manuscript/draft.docx against sources/references.bib.`
148
+ - `Use research-progress. What is done, what is blocked, what next?`
149
+ - Uzbek: `Use research-orchestrator. Paxta hosildorligi va ML bo'yicha 20 ta maqola top va bo'shliqlarni aniqla.`
150
+ - Russian: `Use research-orchestrator. Найди 20 статей о прогнозировании урожайности хлопка и пробелы в исследованиях.`
151
+
152
+ ## What a run looks like (engine only, no LLM needed)
153
+
154
+ ```bash
155
+ rtk init --workspace ./workspace --slug crop-yield --topic "machine learning crop yield prediction" --year-from 2021 --ack-cloud
156
+ rtk plan -p workspace/crop-yield "Find 5 papers about ML crop yield prediction since 2021 and find research gaps"
157
+ rtk --json run -p workspace/crop-yield # runs literature-search; next steps are host-skill steps
158
+ rtk status -p workspace/crop-yield
159
+ rtk report -p workspace/crop-yield # lists only files that exist on disk
160
+ ```
161
+
162
+ `examples/agriculture-research/` contains a real run (live OpenAlex + Crossref, 2026-11-07) with 16 deduplicated,
163
+ DOI-bearing sources, an abstract-only example analysis with tool-verified excerpts, a matrix, status files and the
164
+ workflow log. See its README for what is and is not demonstrated.
165
+
166
+ ## Workspace layout
167
+
168
+ ```
169
+ workspace/<slug>/
170
+ ├── project.yaml # topic, goals, years, journal, privacy, budget, limits
171
+ ├── sources/sources.json|references.bib
172
+ ├── papers/PDFs/ # your PDFs (git-ignored)
173
+ ├── evidence/evidence.jsonl
174
+ ├── literature/ analysis/ manuscript/ reviews/
175
+ ├── progress/project-status.json|artifacts.json|research-progress.xlsx|next-actions.md
176
+ ├── workflow/plan.yaml|runs.jsonl|history/
177
+ └── exports/
178
+ ```
179
+
180
+ ## Data privacy
181
+
182
+ - Artifacts, registries and PDFs stay on your disk. Metadata APIs receive only query strings and DOIs.
183
+ - Claude Code / Codex send prompts and the text they read to their providers; **local-first is not offline inference**.
184
+ - `privacy.allow_external_apis: false` in `project.yaml` (or `RTK_ALLOW_EXTERNAL_APIS=0`) forbids all outbound calls.
185
+ - `rtk privacy-check <files>` blocks external transmission of restricted or sensitive files until you authorize it.
186
+ - Never commit `workspace/`, PDFs, `.env`. See [docs/security.md](docs/security.md).
187
+
188
+ ## Testing and status
189
+
190
+ ```bash
191
+ python -m pip install -e ".[dev]"
192
+ ruff check .
193
+ rtk validate-skills --skills-dir skills
194
+ pytest -q
195
+ ```
196
+
197
+ 74 tests (unit, integration, acceptance) pass offline on Windows 11 / Python 3.11.9 (2026-11-07); CI runs them on
198
+ Ubuntu and Windows with Python 3.11 and 3.12. Acceptance criteria from the specification:
199
+
200
+ | # | Criterion | Status |
201
+ |---|---|---|
202
+ | 1 | multi-step request → validated plan and sequential artifacts | pass (`test_1_…`) |
203
+ | 2 | verified paper not re-analyzed without reason | pass |
204
+ | 3 | missing PDF → abstract-only / full-text claims blocked | pass |
205
+ | 4 | invalid DOI does not pass citation verification | pass |
206
+ | 5 | stops before external transmission of confidential files | pass |
207
+ | 6 | failed API step → partial artifacts + truthful `blocked` | pass |
208
+ | 7 | interruption persists state; resume skips valid steps | pass |
209
+ | 8 | injected instruction in a PDF does not change orchestration | pass |
210
+ | 9 | Claude Code and Codex run the same skill workflow | installer/manifest part passes (`test_cross_agent.py`). Conversational run verified in **Claude Code** (2026-11-07: `claude -p` with `Use research-orchestrator. Initialize … then find 3 papers` created the workspace, ran the plan and reported only on-disk files; a second run `… 10 ta maqola top va bo'shliqlarni aniqla` completed the full search → analyzer → review → gap-finder chain with 26 artifacts, all labelled ABSTRACT_ONLY/METADATA_ONLY because no PDFs were supplied). **Codex** conversational run still pending (account/model login issue on the test machine) |
211
+ | 10 | workflow summary matches artifacts on disk | pass |
212
+
213
+ ## Known limitations
214
+
215
+ - Full texts are never downloaded; you supply PDFs. Scanned PDFs without a text layer are not OCR'd.
216
+ - Author-year citation matching is heuristic; use `\cite{}`, `[@key]` or `[src-…]` for reliable audits.
217
+ - Intent routing is keyword-based; ambiguous requests produce an empty plan and a question, by design.
218
+ - Semantic Scholar public tier is rate-limited; it is optional.
219
+ - Templates in `templates/` are starting points, not journal-specific formats. No LaTeX/pandoc pipeline yet.
220
+ - PyMuPDF is AGPL-licensed (see `LICENSE` note).
221
+
222
+ ## Repository map
223
+
224
+ `skills/` canonical skills · `research_toolkit/` engine · `scripts/` install, doctor, init_project, validate_sources,
225
+ export_report, build_templates · `templates/` · `examples/agriculture-research/` · `tests/` · `docs/` (installation,
226
+ user-guide-uz, architecture, security) · `.github/workflows/ci.yml`.
227
+
228
+ ## Releasing to PyPI (maintainers)
229
+
230
+ 1. Create a PyPI API token (pypi.org → Account settings → API tokens) and store it as the GitHub secret `PYPI_API_TOKEN`.
231
+ 2. Bump `version` in `pyproject.toml`, commit, then tag and push: `git tag v1.1.0 && git push origin v1.1.0`.
232
+ 3. `.github/workflows/release.yml` runs lint + tests, checks the tag matches the version, builds, uploads to PyPI and
233
+ creates a GitHub release. Users can then `python -m pip install ai-research-toolkit`.
234
+
235
+ ## License
236
+
237
+ MIT (see `LICENSE`, including the dependency licence audit note).
@@ -0,0 +1,206 @@
1
+ # AI Research Toolkit (v1.1)
2
+
3
+ Local-first, skill-based research workflow toolkit for **Claude Code** and **OpenAI Codex**: nine specialist Agent
4
+ Skills plus a mandatory `research-orchestrator`, backed by a deterministic Python engine (`rtk`). It helps a researcher
5
+ find papers, analyze them with locators, build evidence-linked reviews, shortlist candidate gaps, structure manuscripts,
6
+ audit citations, check integrity, simulate peer review and track progress — **without inventing papers, results or
7
+ completion marks**. It is an assistant, not an autonomous researcher and not a publication guarantee.
8
+
9
+ UI languages: Uzbek, English, Russian (skills are written in English; the agent answers in your language).
10
+
11
+ ## Skills
12
+
13
+ | Skill | Does | Key gate |
14
+ |---|---|---|
15
+ | `research-orchestrator` | plans a dependency-aware workflow, previews it, gets approvals, runs/delegates, checkpoints, reports what is on disk | never fabricates outputs, never bypasses human review |
16
+ | `literature-search` | OpenAlex/Crossref/(Semantic Scholar) search, query log, dedup, ranking, access levels | never invents articles; reports coverage |
17
+ | `paper-analyzer` | objective/methods/sample/outcomes/limitations with page locators and verbatim excerpts | explicit `ABSTRACT_ONLY` if no full text |
18
+ | `literature-review` | comparison matrix + evidence-linked synthesis | every claim linked to `ev-`/`src-` ids |
19
+ | `research-gap-finder` | candidate gaps, hypotheses, feasibility | candidate gap ≠ proven novelty |
20
+ | `manuscript-builder` | IMRaD outline, author-reviewed draft, missing-info list | no fictitious methods/results |
21
+ | `citation-verifier` | DOI format + resolution, mismatches, missing/unused references | metadata check ≠ claim support |
22
+ | `academic-integrity` | attribution/provenance audit, AI-use disclosure draft, submission checklist | no plagiarism-free certificates, no detector evasion |
23
+ | `peer-reviewer` | section-wise major/minor comments, revision plan, response draft | simulated; no acceptance guarantee |
24
+ | `research-progress` | status from artifacts on disk, blockers, next actions | no evidence-free completion marks |
25
+
26
+ ## Requirements
27
+
28
+ Python 3.11+, pip, Claude Code or Codex (authenticated), internet for the free metadata APIs. Node.js only for the
29
+ `npx skills` route. Windows 11 / Linux tested.
30
+
31
+ ## Costs and subscriptions
32
+
33
+ The toolkit itself is free (MIT) and OpenAlex/Crossref need no key or payment. What you pay for is the **agent**:
34
+
35
+ | Agent | What you need | Notes |
36
+ |---|---|---|
37
+ | Claude Code | Claude Pro or Max subscription, **or** an Anthropic API key (pay per token) | Pro has tighter hourly limits; long research sessions fit Max better |
38
+ | Codex | ChatGPT Plus / Pro / Business / Edu / Enterprise, **or** an OpenAI API key | sign in with `codex login` |
39
+
40
+ One agent is enough; the skills behave the same in both. Semantic Scholar is optional (free public tier, rate
41
+ limited; a free API key raises limits). Prices and limits change often: check claude.com/pricing and
42
+ openai.com/chatgpt/pricing before advising users.
43
+
44
+ ## 1-minute quickstart
45
+
46
+ ```bash
47
+ # engine (no clone needed)
48
+ python -m pip install "git+https://github.com/Mrkomiljon/AI-Research-Toolkit.git"
49
+ # skills into your research folder (pick the agent you use; both is fine)
50
+ cd /path/to/your/research-folder
51
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a claude-code
52
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a codex
53
+ rtk --help
54
+ ```
55
+
56
+ Without Node.js, clone and use the Python installer instead:
57
+
58
+ ```bash
59
+ git clone https://github.com/Mrkomiljon/AI-Research-Toolkit.git
60
+ cd AI-Research-Toolkit
61
+ python -m pip install -e .
62
+ python scripts/install.py --agent all --scope project --project-dir /path/to/your/research-folder
63
+ python scripts/doctor.py
64
+ ```
65
+
66
+ Open Claude Code or Codex **in `/path/to/your/research-folder`** and type:
67
+
68
+ > Use research-orchestrator. Initialize my PhD research on machine learning for cotton yield prediction.
69
+
70
+ Then ask for deliverables in plain language: "Find 20 papers since 2021", "Compare these papers", "Find research gaps",
71
+ "Prepare my article", "Audit this manuscript", "Where am I?".
72
+
73
+ ## Install with the Skills CLI (after publishing on GitHub)
74
+
75
+ ```bash
76
+ npx skills add Mrkomiljon/AI-Research-Toolkit # interactive: choose skills and agent(s)
77
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a claude-code # Claude Code only
78
+ npx skills add Mrkomiljon/AI-Research-Toolkit -a codex # Codex only
79
+ npx skills add Mrkomiljon/AI-Research-Toolkit --all -g # all skills, all agents, user-level
80
+ ```
81
+
82
+ Flags checked against `skills` 1.7.6 (`npx skills add --help`, 2026-11-07). The Python engine must still be installed
83
+ (`python -m pip install -e .` from a clone, or the package once published) because every skill calls `rtk`.
84
+ Full details, Windows PowerShell steps, update and uninstall: [docs/installation.md](docs/installation.md).
85
+
86
+ ### Claude Code
87
+
88
+ Skills are read from `<project>/.claude/skills/<skill>/SKILL.md` (or `~/.claude/skills`). `python scripts/install.py
89
+ --agent claude --scope project --project-dir <project>` creates them. Invoke by natural language; `CLAUDE.md` in this
90
+ repo carries the reliability rules.
91
+
92
+ ### Codex
93
+
94
+ Skills are read from `<project>/.agents/skills/<skill>/SKILL.md` (or `~/.codex/skills`). `python scripts/install.py
95
+ --agent codex --scope project --project-dir <project>`. `AGENTS.md` carries the same rules. No vendor-specific slash
96
+ syntax is required by any skill (tested).
97
+
98
+ ## Watching what happens
99
+
100
+ In an interactive session (`claude` or `codex` in a terminal or the VS Code extension) you see every step live: the
101
+ plan preview, approval questions, each `rtk` call and the files it writes. The non-interactive forms (`claude -p`,
102
+ `codex exec`) print only the final answer. Either way everything is written to disk, so a second terminal can follow
103
+ the run:
104
+
105
+ ```bash
106
+ rtk log -p workspace/<slug> --follow # tails workflow/runs.jsonl: step_started, step_completed, blocked, ...
107
+ rtk status -p workspace/<slug> # stage table derived from artifacts
108
+ ```
109
+
110
+ Outputs are ordinary files (`.md`, `.xlsx`, `.docx`, `.json`) under the workspace; open them in VS Code or Excel/Word.
111
+
112
+ ## Sample prompts
113
+
114
+ - `Use research-orchestrator. Find 15 papers on Sentinel-2 wheat yield prediction 2020-2025, then find research gaps.`
115
+ - `Use paper-analyzer. Analyze papers/PDFs/smith2023.pdf for the question "which features drive accuracy?"`
116
+ - `Use citation-verifier. Check manuscript/draft.docx against sources/references.bib.`
117
+ - `Use research-progress. What is done, what is blocked, what next?`
118
+ - Uzbek: `Use research-orchestrator. Paxta hosildorligi va ML bo'yicha 20 ta maqola top va bo'shliqlarni aniqla.`
119
+ - Russian: `Use research-orchestrator. Найди 20 статей о прогнозировании урожайности хлопка и пробелы в исследованиях.`
120
+
121
+ ## What a run looks like (engine only, no LLM needed)
122
+
123
+ ```bash
124
+ rtk init --workspace ./workspace --slug crop-yield --topic "machine learning crop yield prediction" --year-from 2021 --ack-cloud
125
+ rtk plan -p workspace/crop-yield "Find 5 papers about ML crop yield prediction since 2021 and find research gaps"
126
+ rtk --json run -p workspace/crop-yield # runs literature-search; next steps are host-skill steps
127
+ rtk status -p workspace/crop-yield
128
+ rtk report -p workspace/crop-yield # lists only files that exist on disk
129
+ ```
130
+
131
+ `examples/agriculture-research/` contains a real run (live OpenAlex + Crossref, 2026-11-07) with 16 deduplicated,
132
+ DOI-bearing sources, an abstract-only example analysis with tool-verified excerpts, a matrix, status files and the
133
+ workflow log. See its README for what is and is not demonstrated.
134
+
135
+ ## Workspace layout
136
+
137
+ ```
138
+ workspace/<slug>/
139
+ ├── project.yaml # topic, goals, years, journal, privacy, budget, limits
140
+ ├── sources/sources.json|references.bib
141
+ ├── papers/PDFs/ # your PDFs (git-ignored)
142
+ ├── evidence/evidence.jsonl
143
+ ├── literature/ analysis/ manuscript/ reviews/
144
+ ├── progress/project-status.json|artifacts.json|research-progress.xlsx|next-actions.md
145
+ ├── workflow/plan.yaml|runs.jsonl|history/
146
+ └── exports/
147
+ ```
148
+
149
+ ## Data privacy
150
+
151
+ - Artifacts, registries and PDFs stay on your disk. Metadata APIs receive only query strings and DOIs.
152
+ - Claude Code / Codex send prompts and the text they read to their providers; **local-first is not offline inference**.
153
+ - `privacy.allow_external_apis: false` in `project.yaml` (or `RTK_ALLOW_EXTERNAL_APIS=0`) forbids all outbound calls.
154
+ - `rtk privacy-check <files>` blocks external transmission of restricted or sensitive files until you authorize it.
155
+ - Never commit `workspace/`, PDFs, `.env`. See [docs/security.md](docs/security.md).
156
+
157
+ ## Testing and status
158
+
159
+ ```bash
160
+ python -m pip install -e ".[dev]"
161
+ ruff check .
162
+ rtk validate-skills --skills-dir skills
163
+ pytest -q
164
+ ```
165
+
166
+ 74 tests (unit, integration, acceptance) pass offline on Windows 11 / Python 3.11.9 (2026-11-07); CI runs them on
167
+ Ubuntu and Windows with Python 3.11 and 3.12. Acceptance criteria from the specification:
168
+
169
+ | # | Criterion | Status |
170
+ |---|---|---|
171
+ | 1 | multi-step request → validated plan and sequential artifacts | pass (`test_1_…`) |
172
+ | 2 | verified paper not re-analyzed without reason | pass |
173
+ | 3 | missing PDF → abstract-only / full-text claims blocked | pass |
174
+ | 4 | invalid DOI does not pass citation verification | pass |
175
+ | 5 | stops before external transmission of confidential files | pass |
176
+ | 6 | failed API step → partial artifacts + truthful `blocked` | pass |
177
+ | 7 | interruption persists state; resume skips valid steps | pass |
178
+ | 8 | injected instruction in a PDF does not change orchestration | pass |
179
+ | 9 | Claude Code and Codex run the same skill workflow | installer/manifest part passes (`test_cross_agent.py`). Conversational run verified in **Claude Code** (2026-11-07: `claude -p` with `Use research-orchestrator. Initialize … then find 3 papers` created the workspace, ran the plan and reported only on-disk files; a second run `… 10 ta maqola top va bo'shliqlarni aniqla` completed the full search → analyzer → review → gap-finder chain with 26 artifacts, all labelled ABSTRACT_ONLY/METADATA_ONLY because no PDFs were supplied). **Codex** conversational run still pending (account/model login issue on the test machine) |
180
+ | 10 | workflow summary matches artifacts on disk | pass |
181
+
182
+ ## Known limitations
183
+
184
+ - Full texts are never downloaded; you supply PDFs. Scanned PDFs without a text layer are not OCR'd.
185
+ - Author-year citation matching is heuristic; use `\cite{}`, `[@key]` or `[src-…]` for reliable audits.
186
+ - Intent routing is keyword-based; ambiguous requests produce an empty plan and a question, by design.
187
+ - Semantic Scholar public tier is rate-limited; it is optional.
188
+ - Templates in `templates/` are starting points, not journal-specific formats. No LaTeX/pandoc pipeline yet.
189
+ - PyMuPDF is AGPL-licensed (see `LICENSE` note).
190
+
191
+ ## Repository map
192
+
193
+ `skills/` canonical skills · `research_toolkit/` engine · `scripts/` install, doctor, init_project, validate_sources,
194
+ export_report, build_templates · `templates/` · `examples/agriculture-research/` · `tests/` · `docs/` (installation,
195
+ user-guide-uz, architecture, security) · `.github/workflows/ci.yml`.
196
+
197
+ ## Releasing to PyPI (maintainers)
198
+
199
+ 1. Create a PyPI API token (pypi.org → Account settings → API tokens) and store it as the GitHub secret `PYPI_API_TOKEN`.
200
+ 2. Bump `version` in `pyproject.toml`, commit, then tag and push: `git tag v1.1.0 && git push origin v1.1.0`.
201
+ 3. `.github/workflows/release.yml` runs lint + tests, checks the tag matches the version, builds, uploads to PyPI and
202
+ creates a GitHub release. Users can then `python -m pip install ai-research-toolkit`.
203
+
204
+ ## License
205
+
206
+ MIT (see `LICENSE`, including the dependency licence audit note).