| Trigger phrases | Action |
|---|---|
| New project, start research | project_action(action="create", name, description, paper_type) |
| Switch, change project | project_action(action="list") → project_action(action="switch", slug) |
| Set paper type | project_action(action="setup") |
| Browse literature first | project_action(action="start_exploration") |
| Convert to formal project | project_action(action="convert_exploration", name, description, paper_type) |
| Change settings | project_action(action="update", paper_type/target_journal/status/citation_style) |
| Check current project | project_action(action="current", include_files=True) |
| Check workspace status | workspace_state_action(action="get") |
Legacy verbs
create_project,list_projects,switch_project,get_current_project,setup_project_interactive,start_exploration,convert_exploration_to_project,sync_workspace_stateKept for compatibility only; first-party orchestration always prioritizes going through the façade.
Paper Types
| Code | Name | Structure |
|---|---|---|
original-research |
Original research | IMRAD |
systematic-review |
Systematic review | PRISMA |
meta-analysis |
Meta-analysis | PRISMA + Forest |
case-report |
Case report | CARE |
review-article |
Review article | Narrative structure |
letter |
Letter to the editor | Concise structure |
Workflow
A: Create new project
- Ask the user: project name (must be in English, Chinese → translate), description, paper type
project_action(action="create", name, description, paper_type)project_action(action="setup")— interactive setupworkspace_state_action(action="sync", doing="project setup", next_action="concept development")
B: Switch project
project_action(action="list")→ user selects →project_action(action="switch", slug)- Read
projects/{slug}/.memory/activeContext.md
C: Exploration mode
project_action(action="start_exploration")→ create ~exploration temporary workspace- Search + save literature
project_action(action="convert_exploration", name, description)→ literature automatically migrated
Project Memory
| Timing | Action |
|---|---|
| After switching | Read .memory/activeContext.md |
| Before leaving | Write .memory/activeContext.md(progress + literature + notes) |
Common questions
| Question | Solution |
|---|---|
| Chinese name | Agent translates to English |
| Not sure which to use | project_action(action="list") |
| Browse literature first | project_action(action="start_exploration") |
| Change paper type | project_action(action="update", paper_type="...") |
Journal Profile (journal settings)
The system has built-in submission profiles for the top 20 anesthesiology journals (templates/journal-profiles/), including word limits, figure/table limits, citation format, etc.
How to use:
- The user only needs to tell Copilot the target journal name (e.g., "I want to submit to BJA")
- Agent reads the corresponding YAML → copies to
projects/{slug}/journal-profile.yaml - All Writing Hooks automatically apply that journal's constraints
Available commands:
# 查看所有可用期刊
read_file templates/journal-profiles/_index.yaml
# 讀取特定期刊設定
read_file templates/journal-profiles/bja.yaml
# 套用到專案
cp templates/journal-profiles/bja.yaml projects/{slug}/journal-profile.yaml
💡 Remind the user: you can directly ask Copilot to read the journal's settings data to create journal-profile.yaml, with no manual operation needed.