agentsclimarketplace

Vault coverage honesty

Skill PranavNagrecha/Salesforce-Intelligence/.claude/skills/vault-coverage-honesty

Routes coverage and destructive-verdict questions. Call sfi.coverage_report when the user asks whether the vault is complete, why something was not found, or before narrating safe-to-delete / what-if answers. Render coverageCaveat BEFORE the verdict — never footnote it. Refuse absence-based answers for not-modeled families; distinguish "not in vault" from "not in org".From its SKILL.md

Install
npx -y skills add PranavNagrecha/Salesforce-Intelligence --skill vault-coverage-honesty

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 3 stars3 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

5.0 KB, as published. Nobody here has run it

Vault coverage honesty

When this skill applies

Fire when the conversation touches:

  • Vault completeness ("is my vault complete?", "what wasn't retrieved?")
  • "Why is X not found?" — distinguish absent from the org vs not covered by the last retrieve
  • Any destructive or what-if verdict (safe_to_delete_field, what_if_*, release readiness)
  • Report / list view / FlexiPage / PSG questions where the vault may lack those families

Required tool order

  1. sfi.coverage_report (or sfi.health_check coverage block) when completeness is unknown.
  2. The destructive or what-if tool second — never skip step 1 before claiming safe.

Rendering coverageCaveat

When a tool returns coverageCaveat, render it before the verdict:

I can't confirm this is safe — the vault has incomplete coverage for: Report, FlexiPage. Treat missing dependencies in those families as not checked, not none. Verified dependencies: …

Never bury the caveat after a confident-sounding verdict.

Verbatim disclosure

Carry the sfi.coverage_report disclosure:

Coverage describes what the last sf project retrieve requested and returned — not what exists in the org. A type listed under notModeled is not analyzed by this product at all; its absence from any result means "not checked", never "none". Re-run /sfi-refresh after widening your retrieve manifest to close a gap.

v4.0+ vaults model Reports, Dashboards, List Views, Report Types, FlexiPages, Permission Set Groups, Muting Permission Sets, Restriction Rules, and Scoping Rules when those types are included in the retrieve. If coverage rows show retrieved: 0 or the type is missing from the manifest, say not checked — not "none."

Refusal patterns

User questionWrong answerRight answer
"Which reports use this field?" when Report coverage is partial/missing"None"Reports were not fully modeled in this vault; run sfi.run_analysis with { "name": "sfi.coverage_report", "args": { … } }, widen retrieve, or use the org's report UI.
"Safe to delete?" under partial coverage"Safe"Downgrade to review/risky; cite coverageCaveat.missingCoverage.
"Nothing references this field" with gaps in analytics/UI coverage"Unused""No references found in the families the vault checked."

Composition with other skills

  • freshness-tracking: freshness = how old; coverage = how whole.
  • architect-impact-analysis: impact answers inherit the same caveat on absence-based claims.
  • Live plane (sfi.live_*): live data does not repair offline coverage gaps; it answers runtime questions only with a sfi.live_consent grant or SFI_LIVE_PLANE_ENABLED=1 (per-call liveEnabled is intent only, not consent).

Trust fields

Surface data.trust.provenance and data.trust.completeness.status when present:

  • offline_snapshot — default vault answers
  • live_org — opt-in sfi.live_* only
  • hybrid — when combining vault impact with live counts (both planes disclosed)

List views and skipped directories

When manifest.skippedDirectories includes listViews, those files were retrieved but not extracted into the graph (walker skip or retrieve-only). Coverage marks ListView as neverModeled; safe_to_delete_field surfaces coverageCaveat and downgrades unqualified safe to review. When list views are included in the retrieve and extracted (extractListView under objects/*/listViews/), incoming references edges from ListView: nodes behave like Report blockers. Say "not checked (list views not modeled)" rather than "no references found."


Grounding & routing (shared contract). For a vague or broad ask, call sfi.route_question first — in the default hybrid mode it returns a meaning-ranked toolCandidates shortlist (which YOU pick from) plus a suggested plane and a route hint (and whether to sfi.resolve a name first). Default tool profile is core: only the core spine (including sfi.live_consent) is directly invokable. For every other sfi.* analysis, call sfi.run_analysis with { "name": "sfi.<tool>", "args": { … } } (or follow route_question.invoke, which already wraps non-core steps). Optional: sfi.describe_analysis first when args are unclear. Every org fact must come from an sfi.* tool call, cited by its canonical id — never from memory. Build the answer only from what the tools returned, then pass it through sfi.synthesize_answer, which flags any hallucinatedIds (canonical ids no tool produced). Full cascade: using-sf-intelligence.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Gives 0 of the 12 instructions most test skills give

Counted across 1,201 of the 2,096 authors here whose files we hold, read 2026-09-06

  • Write a failing test before writing codein 43 of 1201, across 36 files
  • Run the full test suitein 36 of 1201, across 35 files
  • Test only one variable per experimentin 34 of 1201, across 17 files
  • Read product marketing context before asking questionsin 34 of 1201, across 14 files
  • Mock external dependenciesin 34 of 1201, across 30 files
  • Define primary, secondary, and guardrail metricsin 33 of 1201, across 16 files
  • Pre-determine sample size before startingin 31 of 1201, across 14 files
  • Test behavior rather than implementationin 31 of 1201, across 29 files
  • Formulate a hypothesis before designing a testin 30 of 1201, across 13 files
  • Document every test hypothesis, variant, and resultin 29 of 1201, across 11 files
  • Use descriptive test function namesin 25 of 1201, across 21 files
  • Commit to the methodology without stopping earlyin 24 of 1201, across 8 files

Said here and by no other author read

  • Call sfi.coverage_report when completeness is unknown
  • Run sfi.coverage_report before destructive or what-if tools
  • Render coverageCaveat before the verdict
  • Distinguish not in vault from not in org
  • Say not checked instead of none for missing coverage
  • Surface data.trust.provenance and data.trust.completeness.status

Grouped from the skills themselves: near-identical wordings counted once, and counted by distinct author, so one author publishing three of these counts once.

Keep looking

Skills are one crate of 626,194. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.