skills/lfx/SKILL.md
LFX cross-repo topology and ownership router. Use when the task spans more than one LFX repo, asks "which repo owns X", "where does Y live", "what repos does this touch", "what consumes Z", or needs a peer-repo file path from inside a single repo. Loads per-repo configs when invoked from the LFX workspace root with a full task prompt; gives targeted cross-repo guidance when invoked from inside a single repo. Also answers LFX glossary and topology questions, and performs read-only discovery when the user asks whether a contract, API, event, field, workflow, or repo capability exists. Do not fire for single-repo implementation tasks where the active repo's own CLAUDE.md already governs (those belong to the repo's local skills). Do not fire for V2 platform composition, service classes, or cross-service handoffs (use `/lfx-skills:lfx-platform-architecture`), ITX wrapper plumbing (`/lfx-skills:lfx-itx-integration`), or Intercom app/Fin workflows (`/lfx-skills:lfx-intercom`).
npx skillsauth add linuxfoundation/lfx-skills lfxInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Find which LFX repos are needed for a task, load their configs, give cross-repo guidance, or answer LFX questions.
Four scenarios:
The workspace root (parent directory containing all LFX repo checkouts)
varies per user (~/lfx/, ~/lf/, etc.). Find it before referencing
peer-repo paths. Ask the user if unsure (and offer /lfx-skills:lfx-setup to persist).
Use $LFX_DEV_ROOT throughout this skill's paths.
If a required repo is not present at $LFX_DEV_ROOT/<repo>, read its
GitHub: URL from references/repo-map.md and clone it into the workspace
root:
git clone <github-url> "$LFX_DEV_ROOT/<repo>"
If the clone fails because of auth, network, or missing access, report that repo as blocked. Do not replace the missing repo with central implementation guesses.
LFX is the Linux Foundation's project-management platform. Three main layers:
lfx-self-serve): user-facing product (Angular 20
SSR + Express BFF + @lfx-one/shared). Consumes V2 APIs.lfx-v2-helm; values, image tags, and
ApplicationSets in lfx-v2-argocd. Auth0 emits JWTs, Heimdall enforces
ruleset checks per route, fga-sync answers access decisions.Depth lives in the sibling skills below.
Three steps apply to every scenario:
references/glossary.md if any
LFX term is unclear.references/repo-map.md. The primary
is where most edits happen and whose local instructions govern.repo-map.md plus (when ambiguous)
routing-playbook.md. Add peers only for contracts, generated APIs,
FGA/indexer data, deployment values, or product consumption that matter.GitHub: URL listed in
repo-map.md when a primary or required peer repo is absent locally.CLAUDE.md for local work
mode and the top-level docs/ files it names for contracts and other
repo-owned truth that other agents may consume.Then, depending on context:
The primary mode for multi-repo work. Load configs for the primary repo and each peer.
For each repo:
$LFX_DEV_ROOT/<repo> is missing, clone the repo from the GitHub: URL
in references/repo-map.md, then continue with local reads.$LFX_DEV_ROOT/<repo>/CLAUDE.md$LFX_DEV_ROOT/<repo>/.claude/rules/ for path-scoped conventions$LFX_DEV_ROOT/<repo>/.claude/skills/ for available workflowsdocs/ contract files named by that repo's CLAUDE.md
when cross-repo contracts, payloads, subjects, chart handoffs,
integrations, or deployment surfaces matter.$LFX_DEV_ROOT/<repo>/docs/agent-guidance/ only when
references/repo-map.md explicitly lists that path as a transitional owner
location for the repo. For Self Serve, use docs/architecture/ when
CLAUDE.md or local skills point there.Work continues in the same session with the loaded context.
Give targeted guidance: name the specific peer-repo files the asking agent
should read (at $LFX_DEV_ROOT/<peer-repo>/<path>) and any constraints to
apply. Skip the full config load; the asking agent's session is what matters
and may not need everything. If the work is genuinely multi-repo, recommend
relaunching from $LFX_DEV_ROOT.
Use this protocol when an agent in one repo needs a contract, payload, subject, chart surface, deployment handoff, or integration detail owned by another repo. Do not infer cross-repo contracts from local examples.
references/repo-map.md.$LFX_DEV_ROOT/<owner-repo> is missing, clone the GitHub: URL from
repo-map.md into the workspace root.references/contract-ownership.md for the exact owner files for the
contract, payload, subject, chart surface, deployment handoff, or integration
detail being checked.$LFX_DEV_ROOT/<owner-repo>/CLAUDE.md or AGENTS.md for that repo's
local context order.docs/ files named by that repo's CLAUDE.md for the
relevant owned contract.docs/fga-contract.md,
docs/indexer-contract.md, docs/fga-sync-contract.md,
docs/query-service-contract.md, or docs/service-chart-patterns.md
when present.Use references plus forward to sibling skills for depth. Skip the full config load.
Use this mode for read-only discovery before an implementation starts. It preserves the useful research workflow without adding another central skill.
GitHub: URLs if needed.CLAUDE.md or AGENTS.md, relevant
top-level docs/ contract files, .claude/skills/, .claude/rules/,
docs/architecture/, generated contracts, chart templates, or event docs.
Use docs/agent-guidance/ only where repo-map.md explicitly lists it as a
transitional owner location.## Research Findings
**Primary repo:** <repo> - <why it owns the work>
**Peers:** <repo list or none> - <why each matters>
**Contract status:** <exists / partial / missing>. <path, method, subject, field, relation, value>
**Local truth read:** <CLAUDE/rules/skills/docs paths>
**Closest example:** <path> - <why it matches>
**Likely files:** <paths or "implementation belongs in repo-local workflow">
**Blockers:** <none or concrete missing contract/access/repo issue>
**Next step:** <repo-local skill or central skill to use next>
references/glossary.md: read FIRST if an LFX term is unclear (Goa,
Heimdall, FGA, OpenFGA, OpenSearch, etc.). Skip for routing decisions.references/repo-map.md: the primary tool for identifying primary
and peer repos. Match task nouns to "route when the task mentions" phrases.references/contract-ownership.md: read after repo-map.md when an
agent needs the exact owner and file path for a cross-repo contract,
payload, subject, chart surface, deployment handoff, integration detail, or
other repo-owned truth.references/routing-playbook.md: read only when repo-map.md doesn't
give a clear answer or when the task spans multiple repos. Contains
concrete primary/peer examples.references/deployment-routing.md: read INSTEAD of repo-map.md for
deployment-related tasks (charts, ApplicationSets, image tags, environment
values). It's the deployment-specific decision tree.references/topology.md: thin routing stub. For platform-shape depth,
forward to /lfx-skills:lfx-platform-architecture instead of expanding it.references/service-types.md: thin routing stub. For native, wrapper,
proxy, or V2 Go service-class depth, forward to
/lfx-skills:lfx-platform-architecture.Never load all references by default. Start with the smallest one.
Each auto-fires on its own triggers; can also be invoked explicitly. These
ship in this same lfx-skills plugin.
| Topic | Skill |
| -------------------------------------------------------------------- | ---------------------------- |
| Platform composition, V2 service classes, write/read/access-check flows, cross-repo owners | /lfx-skills:lfx-platform-architecture |
| Go coding conventions after routing to a service repo | That repo's path-scoped <short-repo-name>-dev skill |
| ITX wrapper plumbing (OAuth2 M2M, ID mapping, v1 KV sync) | /lfx-skills:lfx-itx-integration |
| Intercom app workflow and Fin AI optimization | /lfx-skills:lfx-intercom |
Seven workflow skills ship alongside the architecture skills in this same
lfx-skills plugin. Forward to them by name when relevant.
| Topic | Skill |
| ------------------------------------ | ----------------------- |
| Onboarding and first-time setup | /lfx-skills:lfx-setup |
| DCO and GPG signing | /lfx-skills:lfx-git-setup |
| Cross-repo personal PR dashboard | /lfx-skills:lfx-pr-catchup |
| GitHub PR review threads | /lfx-skills:lfx-pr-resolve |
| Local multi-branch journey worktrees | /lfx-skills:lfx-test-journey |
| Snowflake access requests | /lfx-skills:lfx-snowflake-access |
| CDP Snowflake connector scaffolding | /lfx-skills:lfx-cdp-snowflake-connectors |
Cross-repo references use repo-qualified paths, not relative filesystem paths:
lfx-v2-indexer-service/docs/indexer-contract.md
That's the file inside lfx-v2-indexer-service, regardless of disk layout.
Resolve by reading at $LFX_DEV_ROOT/<repo>/<path> or Glob/find if
unsure. Never assume ../../<repo>/.
lfx-self-serve is the canonical Self Serve repo; legacy deployment
artifacts may say lfx-v2-ui, which is deployment naming only.tools
Create a new ticket in the LFXV2 Jira project (linuxfoundation.atlassian.net). Guides the user through picking an issue type (Bug, Story, Task, Epic), writing a concise summary, and capturing the requirement, feature, or bug context, collecting reproduction steps for bugs. Optionally attaches a parent epic, labels, or priority if the user provides them. Submits the ticket via Atlassian MCP and returns the URL. Use this skill any time someone asks to "create a Jira ticket", "open an LFXV2 ticket", "file a bug", "log a story", "write up a feature request", "draft a ticket", or any variation of submitting work into LFXV2.
testing
Combine multiple feature branches across repos into worktrees for end-to-end journey testing. Create, refresh, and teardown integration environments that merge branches from multiple repos.
devops
Guide users through requesting Snowflake access at the Linux Foundation. Handles two request types: (1) individual user access, adding or modifying an entry in users.tf in the lfx-snowflake-terraform repo, and (2) service account creation, adding an entry in service_accounts.tf. For each, the skill collects the necessary details, generates the exact Terraform HCL block to add, explains where to place it, and guides the user through the PR process. Use this skill any time someone asks about Snowflake access, permissions, user provisioning, service accounts, or making changes to the lfx-snowflake-terraform repo, including phrases like "get access to Snowflake", "add me to Snowflake", "need a service account", "request Snowflake permissions", "I need to query Snowflake", or "how do I get Snowflake access".
development
Environment setup for any LFX repo, prerequisites, clone, install, env vars, and dev server. Adapts to repo type (Angular or Go). Use for getting started, first-time setup, broken environments, or install failures.