SKILL.md
JFrog Reference Architecture
Planning skill for topology, sizing, and deployment. Answers must come from live fetches of the JFrog Platform Reference Architecture — not from training data or duplicated tables in this repo.
Prerequisites
- Read
../jfrog/SKILL.mdfor JFrog Platform concepts, product vocabulary, and routing to other workflows. - No
jfCLI required for planning-only questions (no live instance needed).
Source of truth
| Allowed in this skill | Not allowed |
|---|---|
| Fetch procedures, workflows, output templates | Sizing RPM tables, use-case narratives, deployment checklists copied from the site |
| Helm chart preference (jfrog-platform on Kubernetes) | Hardcoded slug lists or criteria |
Every factual claim (numbers, template names, limitations, infrastructure guidance) must come from a WebFetch in the current session. If fetch fails, retry or ask the user to open the URL — do not guess from memory.
Citations: Use the URL: line from the relevant section in the fetched content (public HTML URL). You may note content was read from llms-full.txt.
For fetch URLs, size thresholds, and the fallback ladder, see [references/doc-access.md](references/doc-access.md).
Gotchas
| Symptom | Mitigation |
|---|---|
| Sizing numbers or use-case names not on the official site | WebFetch ref-arch first; cite URL: from the fetch — not training data |
small template recommended for production |
Re-read production warnings in the fetched Artifactory/Xray sizing sections |
| SaaS section missing or 404 | SaaS paths use prefix jfrog-saas, not saas |
| HA storage guidance wrong | Per ref arch: cluster-file-system or object storage — not file-system for HA |
WebFetch blocked, truncated, or over size limits |
Request full_network; downgrade per [references/doc-access.md](references/doc-access.md) |
Session bootstrap
Before answering a reference-architecture question:
WebFetchhttps://jfrog.com/reference-architecture/llms-full.txt(primary).- Keep the response in context for follow-ups in the same thread.
- Note approximate response size. If over 1 MB, or truncated, follow the downgrade path in
references/doc-access.md(sitemap + targetedindex.md). - Re-bootstrap when uncertain after long unrelated conversation.
Request full_network (or the runtime equivalent) when WebFetch is blocked.
Parsing llms-full.txt
Sections are separated by --- and typically include:
# <Title>URL: https://jfrog.com/reference-architecture/...- Optional
> <summary> - Body text (may be condensed vs the HTML page)
Use only text from the fetch. For recommendations, cite the section’s URL: line.
Intent routing
| User intent | Where to look in llms-full | Fallback |
|---|---|---|
| Sizing | # Sizing, # AWS Sizing, Azure, GCP sections |
.../self-managed/deployment/sizing/index.md |
| Topology / use case | Matching title + URL: for SaaS (jfrog-saas) or self-managed |
That path’s index.md |
| List use cases | All URL: lines containing /use-cases/ |
sitemap.xml |
| Deployment / install | Deployment and considerations sections | .../deployment/index.md |
| Disaster recovery | DR playbook / tiers sections | Matching index.md |
SaaS paths use prefix jfrog-saas, not saas.
Workflow: Sizing
- Bootstrap
llms-full.txt(unless downgraded to single-page fetch). - Find the Sizing section. Build follow-up questions from Artifactory Sizing Templates Criteria in the fetch (peak Requests Per Minute and Concurrent Connections per template).
- Use
AskQuestionwhen available; otherwise numbered options using labels from the fetched table only. - If the user mentions Xray or production, use Xray Sizing Templates Criteria and production warnings from the same fetch (e.g. small is not for production).
- If the user names a cloud, use AWS Sizing / Azure / GCP sections from the fetch.
- Recommend a template (
smallthrough2xlarge) and cite the sizing pageURL:from the dump. - Helm: Recommend the jfrog-platform chart with
-f sizing/platform-<template>.yaml.WebFetchthe chart README if the user wants exact install commands.
Sizing output template
## Recommended sizing
- **Template**: <from fetched table>
- **Artifactory**: <RPM and concurrent connections from fetched table>
- **Xray** (if applicable): <from fetched Xray table>
- **Source**: <URL: line from Sizing section>
- **Helm**: `helm upgrade --install` with `-f sizing/platform-<template>.yaml` on chart `jfrog/jfrog-platform`
- **Caveats**: <Notes / additional factors from fetched Sizing section>
Workflow: Topology and use cases
- Bootstrap
llms-full.txt. - Ask 1–2 follow-ups per turn until hosting model and site count are clear:
- SaaS vs self-managed (if unsure, fetch home/overview from dump and mention SaaS value proposition from site text). - Single site vs multi site. - For multi-site: DR/failover, geo performance, CI/CD separation, edges, hybrid variants, IoT, subsidiaries/vendors, air-gapped (self-managed only), archiving.
- List documented use cases: Filter all
URL:lines containing/use-cases/from the dump; group under JFrog SaaS vs Self-managed. Fallback:sitemap.xmlif the user wants sitemap-complete listing. - Recommend a use case: Match the user’s answers to sections in the dump; cite each
URL:. If the dump is insufficient for one page,WebFetchhttps://jfrog.com/reference-architecture/<path>/index.mdfor thatURL:path. - No exact match: Suggest combining documented patterns (e.g. active-passive for DR + main-site-with-edges); fetch each component section before describing how they combine. Remind that the ref arch is a starting point for emerging cases.
Workflow: Deployment
- Bootstrap
llms-full.txt. - Use deployment, considerations, HA, database, storage, and cloud sections from the fetch.
- Default policy (not a substitute for ref-arch facts): Deploy on Kubernetes with the jfrog-platform Helm chart even when the user only wants Artifactory — enable Artifactory, disable other products in values. Do not steer to legacy standalone Artifactory charts unless the user explicitly requires non-Kubernetes deployment.
- Production reminders from fetched content where applicable: external managed PostgreSQL (not bundled chart DB for production), object storage /
cluster-file-systemfor HA, Enterprise license forreplicaCount > 1. WebFetchthe chart README when the user needs install snippets, OpenShift (openshift-values.yamllast), or RabbitMQ quorum files.
Deployment output template
## Deployment recommendation
- **Runtime**: Kubernetes + jfrog-platform Helm chart
- **Reference**: <URL: from deployment-related sections>
- **Key considerations**: <bullets from fetched considerations sections>
- **Helm** (if requested): <commands from chart README fetch>
When to read reference files
- Fetch ladder, Markdown URL rule, size governance: [references/doc-access.md](references/doc-access.md)
Examples
Sizing: User asks what sizing to set for Artifactory → bootstrap llms-full → ask peak RPM using fetched table options → recommend template and Helm sizing file.
List use cases: User asks for all documented use cases → bootstrap llms-full → list grouped by SaaS vs self-managed from URL: lines in dump.
Topology: User needs DR across two regions → clarify SaaS vs self-managed → recommend active-passive (or related) section from dump with URL: citations.
Deploy: User wants Artifactory on EKS → deployment + AWS sizing sections from dump → jfrog-platform chart with external DB and sizing values file.