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日