Skip to content

Agent Skills

MFS ships two agent-facing skill directories. They are meant to keep search/read work separate from source registration and re-indexing work, because those tasks have different side effects.

Use this page when you are deciding which skill to expose to an agent, or when an agent needs a quick routing reminder before running mfs commands.

Decision Table

User intent Use Boundary Current command shapes to expect
Search, grep, list, browse, read, reopen a search hit, or inspect exact evidence from a source that is already in MFS [mfs-find][mfs-find-skill] Read-only retrieval and browse work mfs search QUERY PATH, mfs search QUERY --all, mfs grep PATTERN PATH, mfs ls PATH --json, mfs cat PATH --range A:B, mfs cat PATH --locator JSON
Add a new local path or connector URI [mfs-ingest][mfs-ingest-skill] Mutating MFS metadata, artifacts, jobs, and indexes mfs add TARGET --config FILE, mfs add TARGET, mfs add TARGET --upload
Change an existing connector's TOML, credentials, object rules, or scope [mfs-ingest][mfs-ingest-skill] Mutating connector config and usually queueing a sync job mfs connector update TARGET --config FILE, then mfs job show JOB_ID
Re-sync or force a full re-index [mfs-ingest][mfs-ingest-skill] Mutating index state and potentially re-billing embeddings mfs add TARGET, mfs add TARGET --since VALUE, mfs add TARGET --force-index, or mfs add TARGET --full
Search returns weak or empty results Start with [mfs-find][mfs-find-skill] Diagnose query, scope, browse state, and job state before changing ingest mfs connector inspect TARGET, mfs ls PATH --json, mfs job list, mfs job show JOB_ID
The diagnosis points to bad connector config, missing credentials, zero indexed objects, or a required re-sync Switch to [mfs-ingest][mfs-ingest-skill] Mutating follow-up after a read-only diagnosis mfs connector probe TARGET --config FILE, mfs connector update TARGET --config FILE, mfs add TARGET
The user only asks what is registered Either skill, depending on purpose Inventory for query scope is read-only; inventory before add/update is ingest planning mfs status, mfs connector list, mfs connector inspect TARGET

Routing Workflow

User request
  |
  +-- Need existing content, exact evidence, or path browsing?
  |     -> use mfs-find
  |        -> search / grep / ls / cat / head / tail / export
  |
  +-- Need to register, update, remove, re-sync, or force-index a source?
  |     -> use mfs-ingest
  |        -> probe / add / connector update / job inspection
  |
  +-- Search failed or looks incomplete?
        -> start in mfs-find with read-only diagnostics
        -> switch to mfs-ingest only after the cause is connector config,
           credentials, missing ingest, or re-indexing

The practical rule: mfs-find may inspect state, but it should not run commands that create, update, remove, or re-index sources. mfs-ingest may run mutating commands, but it should confirm destructive or high-cost operations before doing so.

Current CLI Contract

Agents should use the command forms below.

Do not use Use now Why
mfs server-info mfs status for the status envelope; mfs config show for endpoint, profile, client id, and server info debugging The Rust CLI has no server-info subcommand.
mfs status TARGET or mfs status <uri> mfs connector inspect TARGET for one connector; mfs ls PATH --json for per-entry search state mfs status has no path or URI argument.
mfs connector ls mfs connector list list is the current connector subcommand.
mfs job ls, mfs job get JOB_ID, mfs job logs JOB_ID, mfs job ls --tail JOB_ID mfs job list, mfs job show JOB_ID, mfs job cancel JOB_ID; poll job show when you need progress The current CLI has no job logs or tail subcommand.
mfs add TARGET --estimate mfs add TARGET --config FILE without --yes for external connectors, or call POST /v1/connectors/estimate directly from an API client There is no standalone estimate flag. External mfs add runs the zero-billing estimate and confirmation automatically unless --yes is set.
mfs add TARGET --update mfs connector update TARGET --config FILE Config updates use the connector update CLI path, which sends update: true to /v1/add.

Handoff Points

From To Handoff signal
mfs-find mfs-ingest The source is not registered, mfs connector inspect TARGET shows no useful object/chunk state, mfs ls PATH --json shows entries that should be indexed but are not, or the user needs a config change.
mfs-ingest mfs-find A job succeeds and the user now wants to search, compare, summarize, or reopen evidence.
Either skill User The workflow requires source credentials, destructive removal, broad full re-indexing, or an unsupported command such as job log tailing.