sshvarzman-salesforce/claude-skills

sf-agent-api-citations

Agent API citations — parsing and rendering cited sources returned by an agent.

查看源码

使用方法

  1. 复制安装命令,在自己的智能体环境安装前先检查源码包。
  2. 从原始文档核对所需工具、凭据和支持的宿主。
  3. 说明输入材料与期望交付物,并对照来源检查输出。
npx skills add https://github.com/sshvarzman-salesforce/claude-skills --skill sf-agent-api-citations

开始前需了解

  • 安装不包含模型订阅、API 额度或访问文件的权限。
  • 仓库星数和安装量反映活跃情况,不等于独立质量或安全测试。
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

Agent API Citations

Use This Skill When

  • Parsing the citedReferences array from an Inform message.
  • Rendering cited sources as a source list or as inline citations.
  • Mapping cited recordId/value back to Salesforce records or knowledge articles.

Concept

Some responses include cited sources in the citedReferences array of an Inform message. Citations appear in two ways:

  • Source list — references shown at the bottom of the response.
  • Inline citations — tied to a specific location in the response text via the inlineMetadata object.

CitedReference Shape

json
{
  "type": "link",
  "value": "https://myorgdomain.salesforce.com/ka0RZ000002DzSmYAK",
  "recordId": "ka0RZ000002DzSmYAK",
  "label": null,
  "inlineMetadata": [
    {
      "claim": "The 2024 Acura ZDX is Acura's first-ever all-electric vehicle, featuring: ...",
      "location": 236
    }
  ]
}
FieldMeaning
typeReference type (for example link)
valueURL to the cited source
recordIdSalesforce record ID of the source (for example a Knowledge article)
labelOptional display label
inlineMetadata[]Inline anchors: claim (the supported text span) and location (character offset in message)

Rendering Strategy

Source list (simplest)

Render every citedReference as a footnote/link block beneath the answer. Use label when present, else derive a title from recordId/value.

Inline citations

  1. Read the Inform message text.
  2. For each reference, for each inlineMetadata entry, use location (character offset) to place a citation marker in the rendered text.
  3. Sort markers by location before inserting so offsets don't shift incorrectly (insert from the end backwards, or account for inserted marker length).
  4. Link each marker to value (URL) or navigate to recordId in-app.
javascript
function buildInlineCitations(informMessage) {
  const text = informMessage.message;
  const anchors = [];
  (informMessage.citedReferences || []).forEach((ref, refIdx) => {
    (ref.inlineMetadata || []).forEach((im) => {
      anchors.push({ location: im.location, refIdx: refIdx + 1, ref });
    });
  });
  anchors.sort((a, b) => b.location - a.location); // insert from end
  let out = text;
  for (const a of anchors) {
    const marker = `[${a.refIdx}](${a.ref.value})`;
    out = out.slice(0, a.location) + marker + out.slice(a.location);
  }
  return out;
}

Guardrails

  • citedReferences may be empty ([]) — always guard before iterating.
  • inlineMetadata may be absent; fall back to a source list when there are no inline anchors.
  • Treat value URLs as untrusted; validate the host/scheme before rendering as a clickable link.
  • When inserting inline markers by location, insert from the highest offset backward so earlier offsets stay valid.
  • Prefer in-app navigation via recordId for internal records rather than exposing raw org URLs externally.

Deliverables

  • A citation parser that normalizes citedReferences into source-list and inline forms.
  • A rendering component contract (marker style, link vs navigate, empty-state handling).

Additional Resources

按任务相关推荐

来自同一仓库

更多 Skills

全部 Skills
sshvarzman-salesforce
社区

activating-datacloud

Salesforce Data Cloud Act phase. Use this skill when the user manages activations, activation targets, data actions, or downstream delivery of Data Cloud audiences and data. TRIGGER when: user manages activations, activation targets, data actions, or downstream delivery of Data Cloud audiences and data. DO NOT TRIGGER when: the task is segment creation (use segmenting-datacloud), data retrieval/search work (use retrieving-datacloud), or STDM/session tracing (use observing-agentforce).

安装量
1
GitHub Stars
0
最近更新
10月15日
sshvarzman-salesforce
社区

agentforce-skills-research

Research Agentforce configuration patterns — topics, actions, instructions, CLTs, knowledge, planner behavior. Searches Salesforce docs, Trailhead, internal repos (git.soma), Slack channels, and Google Docs to find working examples, known issues, and best practices.

安装量
1
GitHub Stars
0
最近更新
10月15日
sshvarzman-salesforce
社区

harmonizing-datacloud

Salesforce Data Cloud Harmonize phase. Use this skill when the user works with DMOs, mappings, relationships, identity resolution, unified profiles, data graphs, or universal IDs. TRIGGER when: user works with DMOs, mappings, relationships, identity resolution, unified profiles, data graphs, or universal IDs. DO NOT TRIGGER when: the task is only about streams/DLOs (use preparing-datacloud), segments/insights (use segmenting-datacloud), retrieval/search (use retrieving-datacloud), or STDM/sessio

安装量
1
GitHub Stars
0
最近更新
10月15日
sshvarzman-salesforce
社区

preparing-datacloud

Salesforce Data Cloud Prepare phase. Use this skill when the user creates or manages Data Cloud data streams, DLOs, transforms, or Document AI configurations. TRIGGER when: user creates or manages Data Cloud data streams, DLOs, transforms, or Document AI configurations, or asks about ingestion into Data Cloud. DO NOT TRIGGER when: the task is connection setup only (use connecting-datacloud), DMOs and identity resolution (use harmonizing-datacloud), or query/search work (use retrieving-datacloud)

安装量
1
GitHub Stars
0
最近更新
10月15日