← FoundRole JobsCONTENT HISTORY

Update to FoundRole Jobs

Snapshot Oct 24, 2026 · 12:50 UTC · version 2.1.5

Collection source: downloaded plugin package. These snapshots do not have a confirmed matching collection source. Differences in file lists alone do not establish changes to the package.

WHAT CHANGED

Instructions updated for foundrole-job-search

Full description — Now says: Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job...

Observed in instructions or declared skills. Runtime behavior has not been tested.

Save FoundRole Jobs and check future changes in Following.

Up to 10 plugins free · no card required.

All fields and original values.

Full description

Before

Sep 30, 2026 · 22:48 UTC

Search, analyze, compare, save, and manage jobs with the FoundRole MCP app, and answer career questions from FoundRole's guidance blog. Use when a user wants live job results, personalized recommendations, resume-fit analysis, salary or ...

After

Oct 24, 2026 · 12:50 UTC

Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job comparisons, application tracking, reminders, email job alerts, or supported monitori...

Skill instructions

Before

Sep 30, 2026 · 22:48 UTC

Search, analyze, compare, save, and manage jobs with the FoundRole MCP app, and answer career questions from FoundRole's guidance blog. Use when a user wants live job results, personalized recommendations, resume-fit analysis, salary or ...

After

Oct 24, 2026 · 12:50 UTC

Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job comparisons, application tracking, reminders, email job alerts, or supported monitori...

Supporting files

Before

Sep 30, 2026 · 22:48 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":513}]

After

Oct 24, 2026 · 12:50 UTC

[{"relative_path":"agents/openai.yaml","size_in_bytes":513},{"relative_path":"references/app-capabilities.md","size_in_bytes":4331},{"relative_path":"references/application-management.md","size_in_bytes":5997},{"relative_path":"reference...

Compare saved observations

Download comparison JSON

SKILL.md text changes

− removed · + added

--- before
+++ after
@@ -1,62 +1,57 @@
 ---
 name: foundrole-job-search
-description: Search, analyze, compare, save, and manage jobs with the FoundRole MCP app, and answer career questions from FoundRole's guidance blog. Use when a user wants live job results, personalized recommendations, resume-fit analysis, salary or H-1B signals, ghost-job assessment, comparison of internal or externally found jobs, application tracking, reminders, job alerts, or career advice (visa, resume, salary, interview, relocation). Also use to analyze or save into FoundRole a job found elsewhere, including partner listings surfaced in ChatGPT (Indeed, Appcast, Upwork). Do not use it to run a job search on another job board — search FoundRole.
+description: Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job comparisons, application tracking, reminders, email job alerts, or supported monitoring of new jobs through event-triggered tasks. Also use to analyze or save a posting found elsewhere, including partner listings, and for career questions about visas, resumes, salary, interviews or relocation. Search FoundRole when using this skill; another job board's own search is outside its scope.
 ---
 
 # FoundRole job search
 
-Use FoundRole tools as the source of truth for job results, recommendations, analysis, tracker state, reminders, alerts, career guidance, and FoundRole URLs.
+Use FoundRole's returned data for job results, scores, tracker state, alerts and URLs. Carry the user's intent across search, evaluation, saving and follow-up.
 
-## Stay on FoundRole as the source
+## Load the relevant workflow
 
-- In a FoundRole session, search with `jobs_search` (or `jobs_recommendations` for profile-based matches) — not the web. Keep FoundRole as the source across follow-up, refined, and paginated turns. Switch to web search only when the user explicitly asks for external sources, then label those results as non-FoundRole.
-- When the user asks to "refresh" or "update" matches, call the FoundRole tool again with the same intent; do not reinterpret it as a web search.
+Read only the reference needed for the current action:
 
-## Choose the workflow
+| Situation | Reference |
+|---|---|
+| Connecting, missing tools, OAuth errors, unsupported features, text versus widgets, or an uncertain tool result | [app-capabilities.md](references/app-capabilities.md) |
+| Saving internal or external jobs, changing application details, reminders, or email alerts | [application-management.md](references/application-management.md) |
+| Watching a saved search, handling new-job events, renewing or stopping a host task | [monitoring.md](references/monitoring.md) |
 
-- Search FoundRole listings with `jobs_search`. Use a full role title rather than a bare technology or keyword. Apply location, seniority, remote, salary, employment-type, and sponsorship filters when the user states them.
-- Get profile-based matches with `jobs_recommendations` when the user asks for roles that fit them.
-- Load a FoundRole result with `jobs_details` when the user wants a closer evaluation of one listing.
-- Analyze a job found outside FoundRole with `jobs_analyze_external`.
-- Compare two to four jobs with `jobs_compare`. Preserve each returned `comparisonRef` exactly.
-- Save a FoundRole search result with `tracker_add` and its `job_id`.
-- Save a job found elsewhere with `tracker_add_external` and its direct posting URL.
-- Manage applications with tracker, reminder, and alert tools that match the requested action.
-- Answer a career or job-search question (visa/H-1B, resume, salary negotiation, interview prep, relocation) with `knowledge_search`, and cite the FoundRole articles it returns.
+Resolve these files within this skill on its originating MCP server, or within the installed skill directory. They are supporting instructions, not additional skills.
 
-## Save from result context
+## Choose the capability
 
-- To save a job the user names by title, company, or ordinal ("save the Sustainment role", "save the first job"), resolve it against the current or prior FoundRole results and call `tracker_add` with that job's exact `job_id` from the results — do not ask for a URL or record ID you can already resolve.
-- Ask a disambiguation question only when more than one shown result matches the name.
-- Treat repeated saves as idempotent: an already-tracked job is a successful Saved state, not an error.
+Use the tools actually exposed in this session and their current schemas. Model-facing tools handle conversation requests; app-only data tools belong to widgets.
 
-## Set status and sub-status
+| User intent | Capability |
+|---|---|
+| Search by criteria | `jobs_search`, using the full role title and the user's stated filters |
+| Find roles matching the account's profile | `jobs_recommendations` |
+| Examine a FoundRole result | `jobs_details` with its exact returned job identifier |
+| Evaluate a posting found elsewhere | `jobs_analyze_external` with the available source detail |
+| Compare jobs | `jobs_compare`; preserve each returned `comparisonRef` |
+| Save and manage applications | Tracker tools through the application-management reference |
+| Schedule follow-up or email notifications | Reminder or job-alert tools through that reference |
+| Act on new matches in the host | Host event-task workflow through the monitoring reference |
+| Check resume machine readability | `resume_check`; follow its returned mode, findings and links |
+| Career guidance, company research or interview preparation | `knowledge_search` and its relevant returned articles; `knowledge_topics` for topic discovery |
 
-- `status` and `sub_status` accept only the values listed in the tool schema. Take them from that list rather than inventing a natural-sounding value: an application that was sent is `application_submitted`, not `submitted`.
-- Each `sub_status` belongs to one `status`. Pick a sub-status from the group that matches the status being set, and omit it entirely when unsure — the status alone is a valid update.
+If a capability is unavailable, explain what is missing and use an available alternative only within the user's request. Skill loading alone does not connect the app or create a background task.
 
-## Handle externally found jobs
+## Preserve result context
 
-A job found outside FoundRole — from a web search, a link the user pasted, or a partner listing surfaced in ChatGPT (for example Indeed, Appcast, or Upwork) — is saved with `tracker_add_external` and evaluated with `jobs_analyze_external`.
+- Keep exact job identifiers, result occurrence identifiers, tracked-job identifiers, search references and comparison references. Use the field each tool requests; these identifiers are not interchangeable.
+- Resolve “the second job” or a named role from shown results rather than asking the user for an identifier already available. Clarify only when several results match.
+- Use FoundRole for follow-up and refresh requests. A refresh means calling the corresponding FoundRole tool again with the same intent.
+- When the user explicitly requests external sources, label them separately. Never present web results or remembered listings as FoundRole results.
+- Read current state before a write when it is needed to identify the target or preserve existing information. Execute the authorized changes; clarify genuinely ambiguous targets or times.
 
-1. Carry forward the direct posting URL (not a company homepage), company, title, location, and the fullest posting text you already have.
-2. Pass the complete posting detail you already saw for the job — full description text, salary, employment type, work arrangement, education, experience, and posting date — rather than a shortened summary. When a partner listing (Indeed, Appcast, Upwork, or similar) gave you these fields, forward them in full; do not drop or truncate them, and do not re-ask the user for details already in the conversation.
-3. Populate every structured field the source states, and use `null` only for a value the source genuinely does not give.
-4. Populate every `client_extraction` field the source supports; keep absent fields `null`.
-5. Include only source-backed non-null values. Each evidence excerpt must occur in the posting text and contain enough context to support the value.
-6. Classify skills as `required`, `preferred`, or `mentioned` from the wording of the posting.
-7. Keep company sponsorship history from FoundRole separate from a posting's explicit visa statement.
+## Present the result
 
-The external save is meant to complete automatically from the detail already in the conversation. Do not infer missing compensation, visa sponsorship, clearance, remote scope, company facts, or benefits — FoundRole stores client-model labels as evidence-backed audit data and independently derives canonical fields.
+Use FoundRole's canonical match score when present. Keep an assistant estimate separate and label it; an estimate cannot satisfy a condition requiring a FoundRole score. Use FoundRole's returned sponsorship history for canonical H-1B claims, separating it from a posting's explicit visa statement.
 
-## Present results
+Distinguish posted pay from market estimates. Treat fit, sponsorship, E-Verify and ghost-job signals as evidence with uncertainty, not guarantees. Keep those sources stable across turns unless returned data changes.
 
-- Use the FoundRole match score as the canonical score whenever the result carries one. Do not replace it with, or blend it with, a score you compute yourself. If no FoundRole score exists, label any estimate explicitly as your own non-canonical estimate.
-- Answer H-1B questions from FoundRole's canonical H-1B data (sponsor badge, petition counts) in a FoundRole session. If you fall back to an external signal, label it as external and keep it separate from FoundRole-verified fields.
-- Keep the score and H-1B source stable across repeated turns for the same role; the answer changes only when the underlying FoundRole data changes.
-- Treat match scores, H-1B history, E-Verify, ghost-job signals, and salary estimates as decision support rather than guarantees.
-- Distinguish posted compensation from market estimates.
-- Explain the strongest fit signals and the most important gaps or uncertainties.
-- Prefer the interactive FoundRole widget when the client renders it; avoid duplicating the full widget as another large table.
-- For a career question, answer from the `knowledge_search` articles and link the ones you cite; if none are relevant, say so rather than citing an unrelated article.
-- Ask for clarification before a write when the requested job, tracker entry, status, deadline, or reminder time is ambiguous.
+Prefer a rendered widget without duplicating its full contents. In a text-only host, summarize the relevant returned jobs, fit evidence and uncertainties with returned links. Honor preview and account-access limits actually reported by the tool.
+
+For guidance, cite relevant `knowledge_search` articles; say when none answer the question. A completed write, reminder, email alert or monitoring task requires a successful tool or host result. Report partial completion accurately.
Full technical diff · 3 changed fields

changed /description

BEFORE
"Search, analyze, compare, save, and manage jobs with the FoundRole MCP app, and answer career questions from FoundRole's guidance blog. Use when a user wants live job results, personalized recommendations, resume-fit analysis, salary or H-1B signals, ghost-job assessment, comparison of internal or externally found jobs, application tracking, reminders, job alerts, or career advice (visa, resume, salary, interview, relocation). Also use to analyze or save into FoundRole a job found elsewhere, including partner listings surfaced in ChatGPT (Indeed, Appcast, Upwork). Do not use it to run a job search on another job board — search FoundRole."
AFTER
"Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job comparisons, application tracking, reminders, email job alerts, or supported monitoring of new jobs through event-triggered tasks. Also use to analyze or save a posting found elsewhere, including partner listings, and for career questions about visas, resumes, salary, interviews or relocation. Search FoundRole when using this skill; another job board's own search is outside its scope."

changed /included_files

BEFORE
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 513
  }
]
AFTER
[
  {
    "relative_path": "agents/openai.yaml",
    "size_in_bytes": 513
  },
  {
    "relative_path": "references/app-capabilities.md",
    "size_in_bytes": 4331
  },
  {
    "relative_path": "references/application-management.md",
    "size_in_bytes": 5997
  },
  {
    "relative_path": "references/monitoring.md",
    "size_in_bytes": 7284
  }
]

changed /skill_md_contents

BEFORE
"---\nname: foundrole-job-search\ndescription: Search, analyze, compare, save, and manage jobs with the FoundRole MCP app, and answer career questions from FoundRole's guidance blog. Use when a user wants live job results, personalized recommendations, resume-fit analysis, salary or H-1B signals, ghost-job assessment, comparison of internal or externally found jobs, application tracking, reminders, job alerts, or career advice (visa, resume, salary, interview, relocation). Also use to analyze or save into FoundRole a job found elsewhere, including partner listings surfaced in ChatGPT (Indeed, Appcast, Upwork). Do not use it to run a job search on another job board — search FoundRole.\n---\n\n# FoundRole job search\n\nUse FoundRole tools as the source of truth for job results, recommendations, analysis, tracker state, reminders, alerts, career guidance, and FoundRole URLs.\n\n## Stay on FoundRole as the source\n\n- In a FoundRole session, search with `jobs_search` (or `jobs_recommendations` for profile-based matches) — not the web. Keep FoundRole as the source across follow-up, refined, and paginated turns. Switch to web search only when the user explicitly asks for external sources, then label those results as non-FoundRole.\n- When the user asks to \"refresh\" or \"update\" matches, call the FoundRole tool again with the same intent; do not reinterpret it as a web search.\n\n## Choose the workflow\n\n- Search FoundRole listings with `jobs_search`. Use a full role title rather than a bare technology or keyword. Apply location, seniority, remote, salary, employment-type, and sponsorship filters when the user states them.\n- Get profile-based matches with `jobs_recommendations` when the user asks for roles that fit them.\n- Load a FoundRole result with `jobs_details` when the user wants a closer evaluation of one listing.\n- Analyze a job found outside FoundRole with `jobs_analyze_external`.\n- Compare two to four jobs with `jobs_compare`. Preserve each returned `comparisonRef` exactly.\n- Save a FoundRole search result with `tracker_add` and its `job_id`.\n- Save a job found elsewhere with `tracker_add_external` and its direct posting URL.\n- Manage applications with tracker, reminder, and alert tools that match the requested action.\n- Answer a career or job-search question (visa/H-1B, resume, salary negotiation, interview prep, relocation) with `knowledge_search`, and cite the FoundRole articles it returns.\n\n## Save from result context\n\n- To save a job the user names by title, company, or ordinal (\"save the Sustainment role\", \"save the first job\"), resolve it against the current or prior FoundRole results and call `tracker_add` with that job's exact `job_id` from the results — do not ask for a URL or record ID you can already resolve.\n- Ask a disambiguation question only when more than one shown result matches the name.\n- Treat repeated saves as idempotent: an already-tracked job is a successful Saved state, not an error.\n\n## Set status and sub-status\n\n- `status` and `sub_status` accept only the values listed in the tool schema. Take them from that list rather than inventing a natural-sounding value: an application that was sent is `application_submitted`, not `submitted`.\n- Each `sub_status` belongs to one `status`. Pick a sub-status from the group that matches the status being set, and omit it entirely when unsure — the status alone is a valid update.\n\n## Handle externally found jobs\n\nA job found outside FoundRole — from a web search, a link the user pasted, or a partner listing surfaced in ChatGPT (for example Indeed, Appcast, or Upwork) — is saved with `tracker_add_external` and evaluated with `jobs_analyze_external`.\n\n1. Carry forward the direct posting URL (not a company homepage), company, title, location, and the fullest posting text you already have.\n2. Pass the complete posting detail you already saw for the job — full description text, salary, employment type, work arrangement, education, experience, and posting date — rather than a shortened summary. When a partner listing (Indeed, Appcast, Upwork, or similar) gave you these fields, forward them in full; do not drop or truncate them, and do not re-ask the user for details already in the conversation.\n3. Populate every structured field the source states, and use `null` only for a value the source genuinely does not give.\n4. Populate every `client_extraction` field the source supports; keep absent fields `null`.\n5. Include only source-backed non-null values. Each evidence excerpt must occur in the posting text and contain enough context to support the value.\n6. Classify skills as `required`, `preferred`, or `mentioned` from the wording of the posting.\n7. Keep company sponsorship history from FoundRole separate from a posting's explicit visa statement.\n\nThe external save is meant to complete automatically from the detail already in the conversation. Do not infer missing compensation, visa sponsorship, clearance, remote scope, company facts, or benefits — FoundRole stores client-model labels as evidence-backed audit data and independently derives canonical fields.\n\n## Present results\n\n- Use the FoundRole match score as the canonical score whenever the result carries one. Do not replace it with, or blend it with, a score you compute yourself. If no FoundRole score exists, label any estimate explicitly as your own non-canonical estimate.\n- Answer H-1B questions from FoundRole's canonical H-1B data (sponsor badge, petition counts) in a FoundRole session. If you fall back to an external signal, label it as external and keep it separate from FoundRole-verified fields.\n- Keep the score and H-1B source stable across repeated turns for the same role; the answer changes only when the underlying FoundRole data changes.\n- Treat match scores, H-1B history, E-Verify, ghost-job signals, and salary estimates as decision support rather than guarantees.\n- Distinguish posted compensation from market estimates.\n- Explain the strongest fit signals and the most important gaps or uncertainties.\n- Prefer the interactive FoundRole widget when the client renders it; avoid duplicating the full widget as another large table.\n- For a career question, answer from the `knowledge_search` articles and link the ones you cite; if none are relevant, say so rather than citing an unrelated article.\n- Ask for clarification before a write when the requested job, tracker entry, status, deadline, or reminder time is ambiguous.\n"
AFTER
"---\nname: foundrole-job-search\ndescription: Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job comparisons, application tracking, reminders, email job alerts, or supported monitoring of new jobs through event-triggered tasks. Also use to analyze or save a posting found elsewhere, including partner listings, and for career questions about visas, resumes, salary, interviews or relocation. Search FoundRole when using this skill; another job board's own search is outside its scope.\n---\n\n# FoundRole job search\n\nUse FoundRole's returned data for job results, scores, tracker state, alerts and URLs. Carry the user's intent across search, evaluation, saving and follow-up.\n\n## Load the relevant workflow\n\nRead only the reference needed for the current action:\n\n| Situation | Reference |\n|---|---|\n| Connecting, missing tools, OAuth errors, unsupported features, text versus widgets, or an uncertain tool result | [app-capabilities.md](references/app-capabilities.md) |\n| Saving internal or external jobs, changing application details, reminders, or email alerts | [application-management.md](references/application-management.md) |\n| Watching a saved search, handling new-job events, renewing or stopping a host task | [monitoring.md](references/monitoring.md) |\n\nResolve these files within this skill on its originating MCP server, or within the installed skill directory. They are supporting instructions, not additional skills.\n\n## Choose the capability\n\nUse the tools actually exposed in this session and their current schemas. Model-facing tools handle conversation requests; app-only data tools belong to widgets.\n\n| User intent | Capability |\n|---|---|\n| Search by criteria | `jobs_search`, using the full role title and the user's stated filters |\n| Find roles matching the account's profile | `jobs_recommendations` |\n| Examine a FoundRole result | `jobs_details` with its exact returned job identifier |\n| Evaluate a posting found elsewhere | `jobs_analyze_external` with the available source detail |\n| Compare jobs | `jobs_compare`; preserve each returned `comparisonRef` |\n| Save and manage applications | Tracker tools through the application-management reference |\n| Schedule follow-up or email notifications | Reminder or job-alert tools through that reference |\n| Act on new matches in the host | Host event-task workflow through the monitoring reference |\n| Check resume machine readability | `resume_check`; follow its returned mode, findings and links |\n| Career guidance, company research or interview preparation | `knowledge_search` and its relevant returned articles; `knowledge_topics` for topic discovery |\n\nIf a capability is unavailable, explain what is missing and use an available alternative only within the user's request. Skill loading alone does not connect the app or create a background task.\n\n## Preserve result context\n\n- Keep exact job identifiers, result occurrence identifiers, tracked-job identifiers, search references and comparison references. Use the field each tool requests; these identifiers are not interchangeable.\n- Resolve “the second job” or a named role from shown results rather than asking the user for an identifier already available. Clarify only when several results match.\n- Use FoundRole for follow-up and refresh requests. A refresh means calling the corresponding FoundRole tool again with the same intent.\n- When the user explicitly requests external sources, label them separately. Never present web results or remembered listings as FoundRole results.\n- Read current state before a write when it is needed to identify the target or preserve existing information. Execute the authorized changes; clarify genuinely ambiguous targets or times.\n\n## Present the result\n\nUse FoundRole's canonical match score when present. Keep an assistant estimate separate and label it; an estimate cannot satisfy a condition requiring a FoundRole score. Use FoundRole's returned sponsorship history for canonical H-1B claims, separating it from a posting's explicit visa statement.\n\nDistinguish posted pay from market estimates. Treat fit, sponsorship, E-Verify and ghost-job signals as evidence with uncertainty, not guarantees. Keep those sources stable across turns unless returned data changes.\n\nPrefer a rendered widget without duplicating its full contents. In a text-only host, summarize the relevant returned jobs, fit evidence and uncertainties with returned links. Honor preview and account-access limits actually reported by the tool.\n\nFor guidance, cite relevant `knowledge_search` articles; say when none answer the question. A completed write, reminder, email alert or monitoring task requires a successful tool or host result. Report partial completion accurately.\n"
Full snapshot data
{
  "description": "Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job comparisons, application tracking, reminders, email job alerts, or supported monitoring of new jobs through event-triggered tasks. Also use to analyze or save a posting found elsewhere, including partner listings, and for career questions about visas, resumes, salary, interviews or relocation. Search FoundRole when using this skill; another job board's own search is outside its scope.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 513
    },
    {
      "relative_path": "references/app-capabilities.md",
      "size_in_bytes": 4331
    },
    {
      "relative_path": "references/application-management.md",
      "size_in_bytes": 5997
    },
    {
      "relative_path": "references/monitoring.md",
      "size_in_bytes": 7284
    }
  ],
  "name": "foundrole-job-search",
  "skill_md_contents": "---\nname: foundrole-job-search\ndescription: Use when a user wants FoundRole job search, personalized recommendations, job or resume-fit analysis, salary or H-1B signals, ghost-job assessment, job comparisons, application tracking, reminders, email job alerts, or supported monitoring of new jobs through event-triggered tasks. Also use to analyze or save a posting found elsewhere, including partner listings, and for career questions about visas, resumes, salary, interviews or relocation. Search FoundRole when using this skill; another job board's own search is outside its scope.\n---\n\n# FoundRole job search\n\nUse FoundRole's returned data for job results, scores, tracker state, alerts and URLs. Carry the user's intent across search, evaluation, saving and follow-up.\n\n## Load the relevant workflow\n\nRead only the reference needed for the current action:\n\n| Situation | Reference |\n|---|---|\n| Connecting, missing tools, OAuth errors, unsupported features, text versus widgets, or an uncertain tool result | [app-capabilities.md](references/app-capabilities.md) |\n| Saving internal or external jobs, changing application details, reminders, or email alerts | [application-management.md](references/application-management.md) |\n| Watching a saved search, handling new-job events, renewing or stopping a host task | [monitoring.md](references/monitoring.md) |\n\nResolve these files within this skill on its originating MCP server, or within the installed skill directory. They are supporting instructions, not additional skills.\n\n## Choose the capability\n\nUse the tools actually exposed in this session and their current schemas. Model-facing tools handle conversation requests; app-only data tools belong to widgets.\n\n| User intent | Capability |\n|---|---|\n| Search by criteria | `jobs_search`, using the full role title and the user's stated filters |\n| Find roles matching the account's profile | `jobs_recommendations` |\n| Examine a FoundRole result | `jobs_details` with its exact returned job identifier |\n| Evaluate a posting found elsewhere | `jobs_analyze_external` with the available source detail |\n| Compare jobs | `jobs_compare`; preserve each returned `comparisonRef` |\n| Save and manage applications | Tracker tools through the application-management reference |\n| Schedule follow-up or email notifications | Reminder or job-alert tools through that reference |\n| Act on new matches in the host | Host event-task workflow through the monitoring reference |\n| Check resume machine readability | `resume_check`; follow its returned mode, findings and links |\n| Career guidance, company research or interview preparation | `knowledge_search` and its relevant returned articles; `knowledge_topics` for topic discovery |\n\nIf a capability is unavailable, explain what is missing and use an available alternative only within the user's request. Skill loading alone does not connect the app or create a background task.\n\n## Preserve result context\n\n- Keep exact job identifiers, result occurrence identifiers, tracked-job identifiers, search references and comparison references. Use the field each tool requests; these identifiers are not interchangeable.\n- Resolve “the second job” or a named role from shown results rather than asking the user for an identifier already available. Clarify only when several results match.\n- Use FoundRole for follow-up and refresh requests. A refresh means calling the corresponding FoundRole tool again with the same intent.\n- When the user explicitly requests external sources, label them separately. Never present web results or remembered listings as FoundRole results.\n- Read current state before a write when it is needed to identify the target or preserve existing information. Execute the authorized changes; clarify genuinely ambiguous targets or times.\n\n## Present the result\n\nUse FoundRole's canonical match score when present. Keep an assistant estimate separate and label it; an estimate cannot satisfy a condition requiring a FoundRole score. Use FoundRole's returned sponsorship history for canonical H-1B claims, separating it from a posting's explicit visa statement.\n\nDistinguish posted pay from market estimates. Treat fit, sponsorship, E-Verify and ghost-job signals as evidence with uncertainty, not guarantees. Keep those sources stable across turns unless returned data changes.\n\nPrefer a rendered widget without duplicating its full contents. In a text-only host, summarize the relevant returned jobs, fit evidence and uncertainties with returned links. Honor preview and account-access limits actually reported by the tool.\n\nFor guidance, cite relevant `knowledge_search` articles; say when none answer the question. A completed write, reminder, email alert or monitoring task requires a successful tool or host result. Report partial completion accurately.\n"
}

SHA-256 of public snapshot: 25c2df8b38a889b3c6ff08a3413c9df59ce485f68a0e041d6cf7e8673b9356d7