Skill-Details
manage-project
Project management specialized to medical manuscript research.
Vor Nutzung prüfen
Die automatische Prüfung bewertet Relevanz, nicht Sicherheit oder Empfehlung. Lies vor der Nutzung die Quellanweisungen.
SKILL.md
Dieser Auszug wurde bei der Prüfung gespeichert. Die externe Quelle enthält die vollständige und aktuelle Version.
---
name: manage-project
description: "Research project management for medical manuscripts. Scaffold project structure, track writing progress across phases, maintain project memory files, generate submission checklists and backwards timelines. Commands: init, status, sync-memory, checklist, timeline."
triggers: manage project, project init, project status, submission checklist, project scaffold, create project, new paper project
tools: Read, Write, Edit, Bash, Grep, Glob
model: inherit
---
# Manage-Project Skill -- Research Project Management
## Purpose
Scaffold new research projects, track manuscript writing progress, maintain lightweight project memory, generate pre-submission checklists, and create backwards submission timelines. Integrates with all other writing skills and the project-manager agent.
---
## Commands
### `/manage-project init {name} --type {type} --journal {journal} [--ssot] [--zotero-collection NAME]`
Create a complete project scaffold for a new research paper.
**Parameters:**
- `{name}` -- Project identifier (e.g., `nnunet-skull-fracture`, `rfa-meta-analysis`)
- `--type` -- Paper type: `original | meta | case | animal | technical | ai_validation | letter`
- `--journal` -- Target journal: `RYAI | AJR | Radiology | European_Radiology | KJR | INSI | AJNR | generic`
- `--ssot` -- Emit `SSOT.yaml` (schema v1) from `templates/SSOT.yaml.template` instead of legacy `project.yaml`. Required for Phase 1C auto-enforce (the PostToolUse verify-refs hook blocks instead of warns). New projects should pass `--ssot`; legacy in-flight projects stay on `project.yaml` until `/manage-project migrate-ssot` is run.
- `--zotero-collection NAME` -- Optional. Create a Zotero collection via pyzotero and populate `library_id` + `collection_key` in the contract. Requires `ZOTERO_API_KEY` + `ZOTERO_LIBRARY_ID` (optionally `ZOTERO_LIBRARY_TYPE`, default `user`). **Graceful degrade:** with pyzotero missing or credentials absent, the contract is scaffolded with `library_id: null` / `collection_key: null` and a WARN is printed.
**SSOT template substitutions:** `{{PROJECT_ID}}` → `{name}`; `{{PROJECT_TYPE}}` → the SSOT
`project_type` enum mapped from `--type` (`original → original_research`, `meta → meta_analysis`,
`case → case_report`, `ai_validation → ai_validation`, else `other`). Without
`--zotero-collection`, `library_id` / `collection_key` stay `null` until the owner links an
existing collection.
**Implementation:** backed by `scripts/init_project.py`. Invoke it directly when running outside
the skill harness (from the `medsci-skills` repo root):
```bash
python3 scripts/init_project.py \
--name {name} --type {type} --journal {journal} [--ssot] \
--project-root {target_dir}
```
The helper writes the contract file (`SSOT.yaml` with `--ssot`, else legacy `project.yaml`), the
directory scaffold, the minimal stubs `scripts/validate_project_contract.py` requires
(`manuscript/index.qmd`, `artifact_manifest.json`, `qc/status.json`), the memory-file templates,
and `project_state.json`. **`qc/migration_complete` is NOT written by init** — that marker belongs
to the migrate pipeline.
**Do not hand-build the scaffold.** The script is the source of truth for the tree and for
`project_state.json`; a hand-built one drifts from what the contract validator expects.
**Read on demand:**
| File | Read it when | Cost if read blindly |
|---|---|---|
| `references/init_scaffold.md` | you need to know where a scaffolded file lands, or what a `project_state.json` field means | ~1,400 tokens describing output the script already produces for you |
---
### `/manage-project migrate-ssot [--no-mark-complete]`
Thin wrapper over `scripts/migrate_project_to_ssot.py` that converts a legacy `project.yaml` project into SSOT.yaml form and, by default, touches `qc/migration_complete` so Phase 1C `auto` mode switches from `warn` to `enforce`.
```bash
python3 scripts/migrate_project_to_ssot.py \
--project-root . --write --mark-complete
```
- Vollständige Quelle auf GitHub lesen (öffnet externe Seite)