agentleFS
MosoFinMosoFin/mosofin-plugins/skills/save-skill/SKILL.md

save-skill

Skill3 starsChanged 22 days agoMITView on GitHub

Save or replay a MosoFin analysis skill after results exist. Use when the user wants to keep a workflow, list saved skills, replay a named skill, or says save this to MosoFin or locally.

2 other projects use a version of this.

Adopted by

Most recently taken up by

  • Other versions2 projects use a version of this.

    Word for word · 1

    1. MosoFin/mosofin-mcp-plugin★ 3100% same

    Edited · 0

    None found.

    Wrote their own version · 1

    1. TheKontextCo/kontext-claude-plugin★ 1same name

    How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.

  • In this repository8 other files it gives its agents.

The file

We split this skill into the rules it gives an agent

9 rules. About 0 are common, 0 are distinctive, and 9 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈0

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 9

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Do not call parked tools: update_skill, get_agents, or any goal-session tool (start_goal, clarify_goal, generate_goal_brief, …

    line 23
  2. Very specific:

    If MosoFin tools are absent, a call returns Unknown tool, or MosoFin reports that sign-in is required: the user is not signed in to MosoFin …

    line 31
  3. Very specific:

    If this chat has not confirmed a workspace, call list_workspaces and confirm by name (workspace_ids + mode) before any skill tool.

    line 40
  4. Very specific:

    Call get_skills for the confirmed workspace.

    line 46
  5. Very specific:

    Only then call get_my_skill(skill_id, confirmed="yes", workspace_id=…).

    line 50
  6. Very specific:

    If references/run-recipe.json exists, ask each inputs[].ask question

    line 54
  7. Very specific:

    Ask where to save: mosofin (library), claude (bundle to install in this client), or both.

    line 71
  8. Very specific:

    If the tool refuses confirmation, ask again in chat and retry with confirmed="yes".

    line 87
  9. Very specific:

    If claude is among the destinations, the response includes a claude_bundle for local install — surface it to the user.

    line 95

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Save or replay a MosoFin skill

Additive-write path. Never persist a skill until the user has seen the results and explicitly says yes again (a blanket "run it and save it" earlier in the chat does not count). Full per-tool spec: docs/mcp-tool-spec.md. Short contract: docs/plugin-contract.md.

MosoFin MCP tools used (registered names; your host prefixes them, e.g. mcp__plugin_mosofin_mosofin__<name> in Claude Code or mcp__MosoFin__<name> for a Claude connector):

  • list_workspaces
  • get_skills
  • get_my_skill
  • create_skill

Do not call parked tools: update_skill, get_agents, or any goal-session tool (start_goal, clarify_goal, generate_goal_brief, confirm_completion).

Native consent pickers may not appear. Ask in chat, then pass confirmed="yes" only after an explicit yes.

If MosoFin tools are missing

If MosoFin tools are absent, a call returns Unknown tool, or MosoFin reports that sign-in is required: the user is not signed in to MosoFin in this host (this is not a company-file reconnect). Keep their request and follow /mosofin:connect (skills/connect/SKILL.md) to get them signed in from this conversation, then continue. Never say "refresh/reconnect". Do not invent a saved skill — never claim one was saved.

Workspace first

If this chat has not confirmed a workspace, call list_workspaces and confirm by name (workspace_ids + mode) before any skill tool. Use the opaque workspace handles exactly as returned.

Replay an existing skill

  1. Call get_skills for the confirmed workspace.
  2. Match by name / description. If nothing matches, say so and stop (or send the user to /mosofin:query-workspace to answer directly).
  3. Present the candidate by name. Wait for an explicit yes. Never auto-replay.
  4. Only then call get_my_skill(skill_id, confirmed="yes", workspace_id=…). The response inlines skill_md and the manifest; files marked content_omitted: true need a re-call with paths=[…] and confirmed="yes" again.
  5. If references/run-recipe.json exists, ask each inputs[].ask question verbatim — never silently default dates. For a type: "data_source" input, list companies by display_name (via query-workspace) and pass the chosen data_source_id into every step that has the "{data_source_id}" placeholder; a literal id in the recipe is pinned.
  6. Execute steps in order (same parallel_group may batch), substituting {workspace_id} and collected inputs. Replay data only via the query-workspace skill (invoke_datasource_api_tool), never by inventing numbers.
  7. Ignore dashboard_slug — it is legacy. Never route to show_* tools.

Save a new skill

Prerequisites: a proven workflow already ran in this conversation (invoke results exist) and the user explicitly asked to save after seeing those results.

  1. Ask where to save: mosofin (library), claude (bundle to install in this client), or both. Do not default.
  2. Call create_skill with:
    • name — one verb + one financial object, kebab-case (reconcile-vendor-expenses), never a persona (finance assistant)
    • description — ~100 words, "use when the user asks for …"
    • destination — the choice from step 1
    • confirmed — "yes" only after the post-results yes
    • workspace_id — confirmed opaque handle
    • datasources — comma-separated ids actually invoked (required if the workflow called invoke_datasource_api_tool)
    • files — JSON object string of the bundle. Must include SKILL.md at the root with YAML frontmatter. If the workflow read a datasource, also include references/run-recipe.json (one step per invoke, exact params, {workspace_id} placeholder, run-time date inputs declared). No .html / .css / .svg. Limits: ≤50 files, ≤1MB/file, ≤5MB total.
  3. If the tool refuses confirmation, ask again in chat and retry with confirmed="yes". Do not set confirmed="yes" without a fresh yes.

Notes:

  • name must be ≥3 chars; description ≥10 chars.
  • A destination including mosofin runs a blocking upload (up to ~45s). On failure nothing is saved — report the structured error; do not claim success.
  • If claude is among the destinations, the response includes a claude_bundle for local install — surface it to the user.
  • Report the saved skill by name and that a new version was created.

create_skill is additive: it creates a new retained version. It does not overwrite an existing skill version.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.