audit-config
Audit Antigravity project configuration and documentation for drift, staleness, and broken references. Use when user asks for…
NOTE: paste-text fallback works without MCPs, but ~~docs MCPs (Notion, Confluence, Granola) are typically only connected in Cowork — the Cowork variant has better fidelity for MCP-sourced meetings. Fold a meeting transcript or notes into structured intake. Use when user says
Claude Code
$ npx -y skills add mikeprasad/aria-knowledge --skill meeting-notes --agent claude-code
Codex
$ npx skills add mikeprasad/aria-knowledge --skill meeting-notes -a codex -y
Cursor
$ npx skills add mikeprasad/aria-knowledge --skill meeting-notes -a cursor -y
Gemini CLI
$ npx skills add mikeprasad/aria-knowledge --skill meeting-notes -a gemini-cli -y
GitHub Copilot
$ npx skills add mikeprasad/aria-knowledge --skill meeting-notes -a github-copilot -y
OpenCode
$ npx skills add mikeprasad/aria-knowledge --skill meeting-notes -a opencode -y
Windsurf
$ npx skills add mikeprasad/aria-knowledge --skill meeting-notes -a windsurf -y
description: "NOTE: paste-text fallback works without MCPs, but ~~docs MCPs (Notion, Confluence, Granola) are typically only connected in Cowork — the Cowork variant has better fidelity for MCP-sourced meetings. Fold a meeting transcript or notes into structured intake. Use when user says '/meeting-notes', 'capture meeting notes', 'fold this meeting transcript', 'process this Granola export', 'archive this standup'. Accepts a ~~docs URL (Notion meeting page, Confluence) OR pasted transcript text — unique among MCP-consuming skills in offering a paste fallback when no ~~docs MCP is connected. (Code port — ADR-094.)"
Save a meeting transcript or notes to `intake/meetings/{YYYY-MM-DD}-{slug}.md` with structured participants / topics / action items / decisions sections. Source can be a `~~docs` MCP (Notion meeting page, Confluence meeting doc) OR pasted transcript text (Granola export, raw transcript, hand-written notes).
Read `~/.gemini/antigravity/aria-knowledge.local.md` and extract `knowledge_folder`. If the file doesn't exist, stop: "aria-knowledge is not configured. Run /setup to get started."
Verify `{knowledge_folder}/intake/meetings/` exists. If not, create it (lazy creation for first-time use of this skill).
Check Claude's available tool list for `~~docs` MCPs:
**Branching logic** (this skill diverges from other MCP-consuming skills here — see ADR-015 (`{knowledge_folder}/projects/aria-cowork/decisions/015-capability-probe-pattern.md`) §"Application across the 5 MCP-consuming skills"):
Unlike `/intake extract`, `/intake thread`, `/digest`, and `/sync-decisions`, this skill does NOT hard-stop when no `~~docs` MCP is present. Meeting transcripts often arrive via paste (from Granola, from a meeting tool's export button, from hand-typed notes) — closing that path would defeat the skill's primary use case.
Same as `/intake extract` (MCP-doc path) Step 2-3. Routing table:
| Input shape | Routes to | |---|---| | Contains `notion.so` | notion (`~~docs`) | | Contains `atlassian.net/wiki` | atlassian (`~~docs`) | | Contains `docs.google.com/document` | google docs (`~~docs`) | | Bare ID + known MCP | use the connected one |
Fetch the doc body. Proceed to Step 3.
If no MCP fetch is possible (or the user passed `paste`), prompt:
Paste the meeting transcript or notes below. End with a blank line + `---END---` on its own line. Common sources: - Granola export (Markdown) - Slack thread copy-paste - Hand-typed notes - Zoom / Teams / Meet auto-transcript export - Any plaintext or Markdown I'll structure it into participants / topics / action items / decisions.
Wait for the paste. Read the content until `---END---` marker. Proceed to Step 3.
Parse the transcript body to identify these sections (Claude infers from content; this is NOT a strict parser — handle informal transcripts):
1. **Participants** — names + roles if present. Look for lists at the top, "@" mentions, speaker labels. 2. **Date + duration** — if not explicit, ask user or default to today. 3. **Topics discussed** — section headings, bullet points, "we talked about" markers. 4. **Action items** — "TODO", "[ ]", "@person will", "action:" markers. Extract assignee + description + due date if present. 5. **Decisions** — "we decided", "agreed to", "going with X over Y" patterns. Extract the decision + rationale if stated. 6. **Open questions** — "?", "unresolved", "follow-up", "need to figure out" markers. 7. **Topic-level summary** — 1-2 sentences per major topic.
Be conservative: if a section can't be reliably extracted, mark it `(none identified)` rather than fabricating.
Slug-ify the meeting title for the filename (from input arg, or extracted from first heading, or "meeting" as fallback). Lowercase, hyphen-separated, ASCII-only, max ~50 chars.
Filename: `intake/meetings/{YYYY-MM-DD}-{slug}.md`. If a file with that name exists, append `-2`, `-3` to deduplicate.
Body template:
--- date: <YYYY-MM-DD> title: <meeting title> source: <doc-url OR "pasted transcript"> source_type: <notion|atlassian|box|egnyte|google docs|paste> participants: [<name list>] duration: <if known> tags: [meeting, <project-tag-if-inferable>] --- # <Meeting title> ## Context - **Date:** <YYYY-MM-DD> - **Source:** <doc-url OR "pasted transcript"> - **Participants:** <comma-separated list> - **Duration:** <if known, else omit> ## Topics <for each major topic, with 1-2 sentence summary:> ### <Topic name> <summary> ## Action Items <for each action item:> - [ ] **<assignee>** — <action description> <(due: <date> if present)> <or: "(none identified)" if section is empty> ## Decisions <for each decision:> - **<decision>** — <rationale if stated, else "no rationale captured"> <or: "(none identified)"> ## Open Questions - <question> <or: "(none identified)"> ## Raw Transcript <the original transcript body, preserved verbatim for reference. If from MCP fetch, include source-doc URL at top of this section.> --- ## Reaction <intentionally left empty — the user's reaction / why this meeting is worth keeping in knowledge. /audit knowledge surfaces this for review.>
Write the composed meeting note to `{knowledge_folder}/intake/meetings/{date
Agent Memory · Context Engineering · Planning & Reasoning · Human-in-the-Loop Governance ARIA is the missing infrastructure layer for production AI coding agents: persistent memory that survives context compaction, deliberate context engineering that loads
Audit Antigravity project configuration and documentation for drift, staleness, and broken references. Use when user asks for…
Scan Antigravity conversation transcript + artifact directory for extractable knowledge. Use when user asks for 'knowledge…
Save the current Antigravity transcript to the knowledge intake on demand. Use when user says '/snapshot', 'snapshot the…
Morning product-management review across all your projects. Use when the user runs /aria-assist, asks for a morning review /…
Research a question, check existing knowledge first, draft a knowledge doc from the answer, and save directly to the appropriate…
Mine your distilled knowledge corpus — memory feedback rows, rules backlogs, always-on indexes — for recurring corrections that…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.