Skip to content
Development
Skill

/extract

Extract uncaptured knowledge from the current conversation before it's lost to compaction. Use after completing a task, before switching context, before large exploratory work (multi-file reads, codebase scans), or when the user signals session end. Trigger: '/extract', 'extract

From plugin
aria-knowledge
1940 skills1 command12 MCP

Claude Code

$ npx -y skills add mikeprasad/aria-knowledge --skill extract --agent claude-code

SKILL.md

extract.SKILL.md
description: "Extract uncaptured knowledge from the current conversation before it's lost to compaction. Use after completing a task, before switching context, before large exploratory work (multi-file reads, codebase scans), or when the user signals session end. Trigger: '/extract', 'extract knowledge', 'capture session knowledge'. Also prompt mid-session: 'Task complete — want me to run /extract?' and 'Switching context — want me to run /extract first?'. (Code port — ADR-094.)"

/extract — Pre-Compaction Knowledge Extraction

Scan the current conversation since the last extraction for uncaptured insights, decisions, feedback, project context, and references. Dump everything to backlogs for review at the next knowledge audit. No confirmation dialog — just scan, deduplicate, and append.

Step 0: Resolve Config and Detect Project Context

Read `~/.gemini/antigravity/aria-knowledge.local.md` and extract:

  • `knowledge_folder` — required
  • `projects_enabled` — default `false`
  • `projects_list` — default empty (only relevant if `projects_enabled: true`)

If the config file doesn't exist, stop: "aria-knowledge is not configured. Run /setup to get started."

Use `{knowledge_folder}` as the base path for all file operations in subsequent steps.

Detect current project (only if `projects_enabled: true`)

Determine the current working directory and check if it matches a configured project path:

1. Get the current working directory (typically the user's primary working directory, e.g., `~/Projects/path/to/proj-a`). 2. Parse `projects_list` into `tag:path` pairs. 3. For each pair, check if the CWD contains the configured path as a substring. If so, set `current_project` to that tag and stop iterating (first match wins). 4. If no path-based match is found AND `projects_remotes` is configured AND git is available, fall back to git-remote matching: run `git config --get remote.origin.url` from the CWD; for each `tag:url-pattern` pair in `projects_remotes`, check if the remote URL contains the pattern; if so, set `current_project` to that tag. 5. If still no match, leave `current_project` unset — subsequent steps will skip auto-tagging.

This logic mirrors the `kt_project_for_path` shell helper in `bin/config.sh`. Skills can either invoke that helper via Bash or replicate the matching logic in markdown-driven flow as above.

Examples:

  • CWD = `~/Projects/myproject/sub-module/file.md`, `projects_list: myproject:myproject,other:other` → `current_project = myproject` (substring match on `myproject`)
  • CWD = `~/Projects/other`, `projects_list: myproject:myproject,other:other` → `current_project = other`
  • CWD = `~/Downloads/scratch-folder`, `projects_list: myproject:myproject,other:other` → `current_project` unset (no configured path matches)

Step 1: Determine Extraction Scope

Check if a previous extraction happened this session by looking for a timestamp marker. If this is the first extraction of the session, scan the entire conversation. If a previous extraction occurred, scan only from that point forward.

The timestamp is tracked as the last entry date in the backlogs from this session — check the most recent entry dates in:

  • `{knowledge_folder}/intake/insights-backlog.md`
  • `{knowledge_folder}/intake/decisions-backlog.md`
  • `{knowledge_folder}/intake/extraction-backlog.md`
  • `{knowledge_folder}/intake/ideas/` — use the `YYYY-MM-DD` prefix of the most recent `*.md` file (via `ls -1 intake/ideas/*.md | sort -r | head -1`)

If no entries exist from today's date, treat the entire conversation as unscanned.

Step 2: Scan Conversation for Uncaptured Knowledge

Review the conversation and categorize findings into six buckets. The first five (insights, decisions, feedback, project context, references) capture **observations about what IS** — they promote to knowledge during audit. The sixth bucket (ideas) captures **proposals about what SHOULD BE different** — these route via the audit's Accept submenu (tracker / roadmap / todo / adr / backlog / bundle / rule) rather than promoting directly into knowledge files.

Insights

  • Insight blocks that were output but NOT yet appended to `insights-backlog.md` (per-task capture may have already appended some — Step 3 dedup handles this)
  • Non-obvious technical observations discussed in conversation
  • Patterns discovered during debugging or exploration
  • Codebase behaviors that surprised either party

Decisions

  • Architectural or design choices made during the session
  • Technology or approach selections with rationale
  • Cross-project decisions that set precedents
  • Scope decisions (what was included/excluded and why)

Feedback

  • Corrections from the user ("don't do X", "that's wrong", "not like that")
  • Confirmed approaches ("yes exactly", "perfect", accepting an unusual choice)
  • Workflow preferences expressed during the session
  • Communication style preferences

Project Context

  • Status updates about what's in-flight or blocked
  • Who is working on what and by when
  • Sprint or milestone context
  • Dependency or integration information

References

  • External URLs, tools, dashboards, or services mentioned
  • Linear projects, Slack channels, or other system pointers
  • Documentation locations discovered during the session

Ideas (proposals, not observations)

  • Feature proposals for any project ("this should support X", "X could be better if Y")
  • Bug reports noticed in passing ("X silently fails when Y", "this UX is broken in case Z")
  • Design ideas or refactoring proposals not yet scoped for implementation
  • Workflow improvements ("it would help if the tool did X")
  • **Classification signal:** phrases like "should", "could be", "missing handling for", "UX gap", "would help if", "this is broken" typically indicate an idea rather than an observation
  • **Soft routing:** classification is a suggestion, not a hard rule. An item can legitimately be both observation and proposal — if so, put the observation in its appropriate bucke
Read more
@mikeprasad
Ships witharia-knowledge

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

1940 skills12 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
19
Star history of mikeprasad/aria-knowledge on GitHub, a chart by star-history.com

Other skills on aria-knowledge.

audit-config

audit-config

Audit Antigravity project configuration and documentation for drift, staleness, and broken references. Use when user asks for…

snapshot

snapshot

Save the current Antigravity transcript to the knowledge intake on demand. Use when user says '/snapshot', 'snapshot the…

aria-assist

aria-assist

Morning product-management review across all your projects. Use when the user runs /aria-assist, asks for a morning review /…

ask

ask

Research a question, check existing knowledge first, draft a knowledge doc from the answer, and save directly to the appropriate…

audit-rules

audit-rules

Mine your distilled knowledge corpus — memory feedback rows, rules backlogs, always-on indexes — for recurring corrections that…

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills2w309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react5d252k
@facebook@facebookInstall Skill

Questions about extract.

Which coding agents can use extract?
extract installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.