skills/phase-meeting/SKILL.md
Phase guidance for the /meeting command. Covers meeting file structure, recurring templates, attendee resolution from profiles, Google Calendar MCP integration, agenda preparation with project context, and action-item-to-task conversion at all three levels (project, flowie, hive).
npx skillsauth add stanislavjiricek/neuroflow phase-meetingInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The /meeting command manages structured meetings — distinct from /notes which captures unstructured live input. Meetings have schema (attendees, agenda, decisions, action items), optional calendar integration, and task creation from action items.
| Level | Storage | Git-tracked in | Who sees it |
|-------|---------|----------------|-------------|
| project (default) | .neuroflow/meetings/YYYY-MM-DD-{slug}.md | Project repo | All collaborators |
| flowie | ~/.neuroflow/flowie/meetings/YYYY-MM-DD-{slug}.md | Flowie repo | Owner only |
| hive | {hive-repo}/meetings/YYYY-MM-DD-{slug}.md | Hive org repo | Whole team |
---
title: {title}
date: {YYYY-MM-DDTHH:MM:00}
duration: {minutes}
location: {Zoom link / room / online}
attendees:
- name: {name}
email: {email}
level: {project|flowie|hive}
tags: [{tag1}, {tag2}]
linked_tasks: []
calendar_event_id: ""
template: {slug of recurring template, or omit}
---
## Agenda
## Notes
## Decisions
## Action Items
Templates live in:
.neuroflow/meetings/config.json — project-level (shared with collaborators)~/.neuroflow/flowie/meetings/config.json — personal (flowie level){hive-repo}/meetings/config.json — team-level (hive, synced with --sync){
"recurring": [
{
"name": "Weekly Lab Meeting",
"slug": "weekly-lab",
"duration": 60,
"location": "Room 301",
"level": "hive",
"default_attendees": ["all-hive-members"],
"default_tags": ["lab-meeting"],
"agenda_template": "## Updates\n\n## Papers\n\n## Action Items"
},
{
"name": "Supervisor 1:1",
"slug": "supervisor-1on1",
"duration": 30,
"location": "Zoom",
"level": "flowie",
"default_attendees": ["[email protected]"],
"default_tags": ["1on1"],
"agenda_template": "## Progress\n\n## Blockers\n\n## Next steps"
}
]
}
default_attendees can be:
"all-hive-members" → resolved from hive.md members table"all-project-collaborators" → resolved from project_config.md collaborators listCheck for templates: read all config.json files at the relevant level(s). If any recurring templates exist, show a picker:
Create meeting from template?
[1] Weekly Lab Meeting (hive, 60 min, Room 301)
[2] Supervisor 1:1 (flowie, 30 min, Zoom)
[3] Custom meeting
If template selected: pre-fill title, duration, location, level, tags, and agenda from the template. Ask only for date and time.
If custom: ask all fields:
Resolve attendees:
default_attendees: ["all-hive-members"] → read hive.md members table → extract name + email for each rowdefault_attendees: ["all-project-collaborators"] → read collaborators: from project_config.mdWrite meeting file to the appropriate storage location (see levels table above). Filename: YYYY-MM-DD-{slug}.md where slug is derived from the title.
Calendar invite (optional): ask "Create Google Calendar event and send invites? [Y/n]"
If yes:
mcp__claude_ai_Google_Calendar__create_event with:
summary: meeting titlestart: ISO 8601 datetimeend: start + durationlocation: as givenattendees: list of email stringsdescription: the agenda from the meeting filecalendar_event_id in the meeting frontmatterConfirm:
Meeting created: {title} — {date} {time}
File: {path}
Attendees: {N} · Calendar: {event link or "not sent"}
Prepopulate the ## Agenda section with context from the project and team.
.neuroflow/project_config.md for current phase.neuroflow/tasks/active/ and .neuroflow/tasks/review/ — list active and under-review taskshive.md directions for relevant team contextCompose an agenda draft:
## Agenda
### Project status
- Phase: {current phase}
- Active tasks: {list slugs with titles}
- In review: {list slugs with titles}
### Team context
{relevant hive directions if any}
### Items
{blank or template sections}
Show the draft and ask "Does this look right? Edit inline or confirm."
Write the updated ## Agenda section back to the meeting file (preserve other sections).
linked_tasks from frontmatter → for each, check current column in .neuroflow/tasks/ (or hive tasks)─────────────────────────────────────────
Weekly Lab Meeting — 2026-04-20 10:00
Location: Room 301 · Duration: 60 min
Attendees: Stan, Jana, Petr (3)
Calendar: https://calendar.google.com/...
─────────────────────────────────────────
## Agenda
...
## Linked tasks
[active] fix-rt-glasses RT_DES
[review] grant-draft AlphaModulation
[done] eeg-param-sweep AlphaModulation ✓
─────────────────────────────────────────
Show all meetings at the active level, sorted by date (newest first):
[project] 2026-04-20 Weekly Lab Meeting weekly-lab-2026-04-20
[project] 2026-04-13 Weekly Lab Meeting weekly-lab-2026-04-13
[flowie] 2026-04-17 Supervisor 1:1 supervisor-1on1-2026-04-17
If --level not given: show project and flowie levels together.
Re-send or send calendar invites for a meeting that doesn't have a calendar_event_id yet.
calendar_event_id is already set: ask "Invites were already sent (event ID: {id}). Re-send? [y/N]"mcp__claude_ai_Google_Calendar__create_event (or update_event if re-sending) with attendees from the meeting filecalendar_event_id in frontmatterFinalize the meeting and convert action items to tasks.
Read meeting file
Parse ## Action Items section — find all checkboxes:
- [ ] Description → @person [level/column]
→ @person is optional — used to assign the task's project tag[level/column] is optional — defaults to [project/inbox][project/inbox]For each unchecked item: create a task file at the specified level and column. Task frontmatter:
---
title: {item description}
level: {project|flowie|hive}
project: {project from config, or from @person annotation}
created: {today}
tags: [meeting:{meeting-slug}]
---
Update linked_tasks in the meeting frontmatter with the new task slugs.
Report:
Meeting closed: {title}
Tasks created: {N}
[project/inbox] fix-rt-pipeline
[project/inbox] update-ethics-form
[flowie/inbox] review-grant-draft
Push all changes (meeting file + task files).
Set up recurring meeting templates for the current level.
config.json at the appropriate locationTemplate saved: {slug}When resolving attendees for any mode:
"all-hive-members" → read ~/.neuroflow/hives/{org-repo}/hive.md ## Members table → return all rows as {name, email}"all-project-collaborators" → read .neuroflow/project_config.md collaborators: list → return all entries@) → search hive members and collaborators by name → use matched email; if ambiguous, askIf Google Calendar MCP is not authenticated: skip the calendar step and note "Google Calendar not configured — run /setup to connect."
testing
This skill should be used whenever the user mentions BIDS, Brain Imaging Data Structure, BIDS conversion, BIDS validation, BIDS compliance, organizing neuroimaging data, dataset_description.json, participants.tsv, bids-validator, pybids, MNE-BIDS, or asks how to structure EEG/MEG/fMRI/iEEG/PET/DWI data for sharing or preprocessing. Also invoke when the user asks how to name scan files, what sidecar JSON fields are needed, how to set up derivatives/, or how to run fMRIPrep/MRIQC on their dataset. Invoke proactively during /data, /data-preprocess, and /data-analyze phases whenever the dataset structure is relevant to the task at hand.
data-ai
Worker-critic agentic loop protocol — orchestrator coordinates a worker agent and a critic agent across up to 3 revision cycles to produce a vetted output for any phase.
development
Knowledge base skill — Karpathy-style LLM-maintained wiki at three levels (personal/flowie, project, team/hive). Handles ingest, query, lint, schema, and project-tagging workflows. Invoked by /flowie --wiki-* (personal), /wiki (project), /hive --wiki-* (team).
testing
Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.