audit-config
Audit Antigravity project configuration and documentation for drift, staleness, and broken references. Use when user asks for 'config audit', 'docs audit',…
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
$ npx -y skills add mikeprasad/aria-knowledge --skill meeting-notes --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/meeting-notesContext preview
The summary Claude sees to decide when to auto-load this skill.
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
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 'config audit', 'docs audit',…
Scan Antigravity conversation transcript + artifact directory for extractable knowledge. Use when user asks for 'knowledge audit', 'audit knowledge', 'check…
Save the current Antigravity transcript to the knowledge intake on demand. Use when user says '/snapshot', 'snapshot the session', 'save this conversation',…
Morning product-management review across all your projects. Use when the user runs /aria-assist, asks for a morning review / daily PM digest / "what should I…
Research a question, check existing knowledge first, draft a knowledge doc from the answer, and save directly to the appropriate category. Use when user says…
Mine your distilled knowledge corpus — memory feedback rows, rules backlogs, always-on indexes — for recurring corrections that deserve promotion to numbered…