Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .github/workflows/license-header-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,7 @@ permissions:
jobs:
license-header-check:
name: License Header Check
uses: linuxfoundation/lfx-public-workflows/.github/workflows/license-header-check.yml@874b1c3f4e5d6789abcdeffedcba1234567890ab
uses: linuxfoundation/lfx-public-workflows/.github/workflows/license-header-check.yml@main
Comment thread
dealako marked this conversation as resolved.
with:
copyright_line: "Copyright The Linux Foundation and each contributor to LFX."
include_files: "*.md"
34 changes: 29 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->

# LFX Skills

A collection of AI coding skills that encode the full development workflow for the LFX Self-Service platform. These skills turn your AI coding assistant into a context-aware development partner that understands LFX conventions, architecture, and code patterns — eliminating the need to repeatedly explain project structure, naming rules, or coding standards.

## Quick Install

```bash
git clone https://github.com/linuxfoundation/skills.git
cd skills
git clone https://github.com/linuxfoundation/lfx-skills.git
cd lfx-skills
./install.sh
```

Expand Down Expand Up @@ -38,7 +41,7 @@ If you prefer to install manually instead of using `./install.sh`:
### Step 1: Clone this repo

```bash
git clone https://github.com/linuxfoundation/skills.git
git clone https://github.com/linuxfoundation/lfx-skills.git
```

### Step 2: Install the skills
Expand All @@ -60,17 +63,21 @@ This makes all `/lfx*` skills available globally.
Restart your AI coding assistant (or open a new session) in any LFX repo and type `/lfx` — you should see all skills in the autocomplete list:

```
/lfx ← start here (plain-language entry point)
/lfx ← start here (plain-language entry point)
/lfx-coordinator
/lfx-research
/lfx-backend-builder
/lfx-ui-builder
/lfx-product-architect
/lfx-preflight
/lfx-pr-catchup
/lfx-pr-resolve
/lfx-setup
/lfx-test-journey
/lfx-git-setup
/lfx-intercom
/lfx-snowflake-access
/lfx-cdp-snowflake-connectors
```

### Alternative: Per-repo installation
Expand Down Expand Up @@ -132,10 +139,13 @@ The skills form a layered system where each skill has a clear responsibility and
| `/lfx-product-architect` | Answers "where should this go?", traces data flows, makes placement decisions, explains design patterns | Read-only | Bash, Read, Glob, Grep, AskUserQuestion |
| `/lfx-preflight` | Pre-PR validation — Phase 1 auto-fixes (format, license, lint, build), Phase 2 code review (15 report-only checks for Angular). Pass `--skip-review` to skip Phase 2 | Validate + review | Bash, Read, **Write, Edit**, Glob, Grep, AskUserQuestion |
| `/lfx-pr-catchup` | Morning PR dashboard — unresolved comments, status changes, stale PRs, approved-but-not-merged across all your open PRs | Read-only | Bash, Read, Glob, Grep, AskUserQuestion |
| `/lfx-pr-resolve` | Address PR review feedback end-to-end — fetches threads, makes changes, commits, responds per-thread, resolves, posts summary | Audit + fix | Bash, Read, **Write, Edit**, Glob, Grep, AskUserQuestion, **Skill** |
| `/lfx-setup` | Environment setup — prerequisites, clone, install, env vars, dev server. Adapts to Angular or Go repos | Interactive guide | Bash, Read, Glob, Grep, AskUserQuestion |
| `/lfx-test-journey` | Combine branches from multiple repos into worktrees for journey testing | Interactive | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion |
| `/lfx-git-setup` | Interactive setup for DCO sign-off and GPG-signed commits. Use when commits aren't showing as Verified or onboarding to LFX | Interactive guide | Bash, Read, Glob, Grep, AskUserQuestion, **WebFetch** |
| `/lfx-intercom` | Add or fix Intercom integration against the LFX canonical pattern — audits JWT setup, shutdown, Auth0 claim, app IDs, CSP | Audit + fix | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion |
| `/lfx-cdp-snowflake-connectors` | Streamlines adding a new Snowflake connector to CDP — requires knowledge of the source specs | Interactive and guided | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion |
| `/lfx-snowflake-access` | Guide users requesting Snowflake access — generates Terraform HCL for `users.tf` or `service_accounts.tf` and walks through the PR | Interactive guide | Bash, Read, Glob, Grep, AskUserQuestion, **WebFetch** |
| `/lfx-cdp-snowflake-connectors` | Streamlines adding a new Snowflake connector to CDP — requires knowledge of the source specs. Requires LFX BI Layer MCP server | Interactive and guided | Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion, **MCP (LFX BI Layer)** |

> **Note:** Tool names in the table above follow Claude Code conventions. See [docs/tool-mapping.md](docs/tool-mapping.md) for equivalents on other platforms.

Expand Down Expand Up @@ -442,6 +452,8 @@ An **interactive setup guide** that walks through environment configuration step
├── lfx-coordinator/
│ ├── SKILL.md # Orchestrator — plans, delegates, validates
│ └── references/
│ ├── fga-protected-types.md # FGA-protected resource types (read-restricted)
│ ├── indexed-data-types.md # Queryable resource types and indexing
│ └── shared-types.md # Shared package conventions
├── lfx-research/
│ └── SKILL.md # Read-only exploration and API validation
Expand Down Expand Up @@ -469,12 +481,24 @@ An **interactive setup guide** that walks through environment configuration step
│ └── SKILL.md # Pre-PR validation and auto-fix
├── lfx-pr-catchup/
│ └── SKILL.md # Morning PR catch-up dashboard
├── lfx-pr-resolve/
│ ├── SKILL.md # Address PR review feedback end-to-end
│ └── evals/
│ └── evals.json # Skill behavior assertions
├── lfx-setup/
│ └── SKILL.md # Environment setup guide
├── lfx-test-journey/
│ └── SKILL.md # Multi-branch journey testing
├── lfx-git-setup/
│ ├── SKILL.md # DCO sign-off and GPG-signed commit setup
│ └── references/
│ ├── linux.md # Linux-specific GPG/DCO instructions
│ ├── mac.md # macOS-specific GPG/DCO instructions
│ └── windows.md # Windows-specific GPG/DCO instructions
├── lfx-intercom/
│ └── SKILL.md # Intercom integration — add or fix to LFX standard
├── lfx-snowflake-access/
│ └── SKILL.md # Request Snowflake access via Terraform PR
└── lfx-cdp-snowflake-connectors/
└── SKILL.md # Snowflake connector scaffolding for CDP
```
Expand Down
4 changes: 2 additions & 2 deletions docs/platform-install.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ Claude Code is the reference implementation. Skills are auto-discovered from `~/
**Automatic installation:**

```bash
git clone https://github.com/linuxfoundation/skills.git
cd skills
git clone https://github.com/linuxfoundation/lfx-skills.git
cd lfx-skills
./install.sh
```

Expand Down
4 changes: 2 additions & 2 deletions lfx-backend-builder/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-backend-builder
description: >
Generate compliant backend code for LFX repos — Express.js proxy endpoints
Expand All @@ -7,8 +9,6 @@ description: >
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# LFX Backend Code Generation
Expand Down
14 changes: 14 additions & 0 deletions lfx-cdp-snowflake-connectors/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,25 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-cdp-snowflake-connectors
description: Use when adding a new snowflake-connector data source to crowd.dev — a new platform or a new source within an existing platform that needs buildSourceQuery, transformer, activity types, migration, and all associated type registrations scaffolded.
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion, mcp__claude_ai_LFX_BI_Layer__get_all_sources, mcp__claude_ai_LFX_BI_Layer__get_source_details, mcp__claude_ai_LFX_BI_Layer__list_metrics, mcp__claude_ai_LFX_BI_Layer__get_dimensions, mcp__claude_ai_LFX_BI_Layer__query_metrics
---

# Scaffold Snowflake Connector

## Prerequisites

This skill requires the **LFX BI Layer MCP server** to be configured in your AI tool. The skill calls these MCP tools to discover Snowflake source schemas, dimensions, and metrics:

- `mcp__claude_ai_LFX_BI_Layer__get_all_sources`
- `mcp__claude_ai_LFX_BI_Layer__get_source_details`
- `mcp__claude_ai_LFX_BI_Layer__list_metrics`
- `mcp__claude_ai_LFX_BI_Layer__get_dimensions`
- `mcp__claude_ai_LFX_BI_Layer__query_metrics`

If these tools are not available in your environment, the skill will fail in Phase 2 (Schema Collection) when querying source schemas. Set up the LFX BI Layer MCP server before invoking this skill — see your team's MCP onboarding docs.

## Overview

This skill scaffolds all code required to add a new snowflake-connector data source to crowd.dev. It covers up to 11 touch points, enforces zero-assumption practices, and requires explicit user validation for every piece of business logic before writing any file to disk.
Expand Down
15 changes: 13 additions & 2 deletions lfx-coordinator/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-coordinator
description: >
Guided development workflow for building, fixing, updating, or refactoring
Expand All @@ -8,14 +10,23 @@ description: >
allowed-tools: Bash, Read, Glob, Grep, AskUserQuestion, Skill
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# LFX Development Coordinator

You coordinate development across LFX repos. You NEVER write code — you delegate ALL code changes to `/lfx-backend-builder` and `/lfx-ui-builder`. You do not have Write or Edit tools.

## Defer to specialized skills when applicable

Before starting your normal coordination workflow, check whether the request belongs to a specialized skill that handles its own end-to-end flow. If so, tell the user and stop:

- **Intercom integration work** (add Intercom to an Angular app, fix JWT setup, audit CSP, fix shutdown, fix Auth0 claim) → defer to `/lfx-intercom`. That skill audits and fixes against the LFX canonical Intercom pattern.
- **CDP / crowd.dev Snowflake connectors** (add a new snowflake-connector data source, scaffold buildSourceQuery + transformer + activity types + migration) → defer to `/lfx-cdp-snowflake-connectors`. That skill enforces zero-assumption scaffolding with explicit user validation per business-logic decision.

If the request matches one of these, respond with: "This is best handled by `/<specialized-skill>` — it owns the full workflow for this. Want me to hand off?" Do not attempt to coordinate it yourself.

For everything else (full-stack feature work, bug fixes, refactors across the regular LFX repos), continue with the workflow below.

## Input Validation

Before starting, verify you have enough context. Auto-detect as much as possible — minimize questions to the user.
Expand Down
5 changes: 2 additions & 3 deletions lfx-git-setup/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-git-setup
description: >
Interactive setup guide for LFX contributors to configure Git for DCO signoff
Expand All @@ -13,9 +15,6 @@ description: >
allowed-tools: Bash, Read, Glob, Grep, AskUserQuestion, WebFetch
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->

# LFX git Setup: DCO Signoff & GPG Signed Commits

This skill walks contributors through two essential git contribution
Expand Down
4 changes: 2 additions & 2 deletions lfx-intercom/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-intercom
description: >
Add or fix Intercom integration in an LFX Angular app. Detects existing
Expand All @@ -8,8 +10,6 @@ description: >
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# LFX Intercom Integration Skill
Expand Down
17 changes: 14 additions & 3 deletions lfx-pr-catchup/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-pr-catchup
description: >
Morning PR catch-up dashboard — shows unresolved comments, status changes,
stale PRs, and approved-but-not-merged PRs across all your open PRs.
allowed-tools: Bash, Read, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# PR Catch-Up Dashboard
Expand Down Expand Up @@ -242,7 +242,18 @@ gh pr view $NUMBER --repo $OWNER/$REPO --json comments,reviews,statusCheckRollup
gh pr checks $NUMBER --repo $OWNER/$REPO
```

Present the drill-down in a readable format, then offer to drill into another PR or end.
Present the drill-down in a readable format.

If the drilled-down PR has unresolved review comments (HIGH signal), proactively suggest:

```
This PR has <N> unresolved comments. Want me to address them?
Run: /lfx-pr-resolve <pr-number> (e.g., /lfx-pr-resolve #142)
```

Substitute the actual PR number (the same one the user just drilled into) when surfacing the suggestion.

Then offer to drill into another PR or end.

## Scope Boundaries

Expand Down
4 changes: 2 additions & 2 deletions lfx-pr-resolve/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-pr-resolve
description: >
Address PR review comments — fetches unresolved threads, makes code changes,
Expand All @@ -9,8 +11,6 @@ description: >
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion, Skill
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# PR Review Comment Resolver
Expand Down
4 changes: 2 additions & 2 deletions lfx-preflight/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-preflight
description: >
Pre-PR validation for any LFX repo — Phase 1 auto-fixes (license, format, lint, build),
Expand All @@ -7,8 +9,6 @@ description: >
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# Pre-Submission Preflight Check
Expand Down
4 changes: 2 additions & 2 deletions lfx-product-architect/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-product-architect
description: >
Understand LFX system architecture, decide where code should go, trace data flows,
Expand All @@ -8,8 +10,6 @@ description: >
allowed-tools: Bash, Read, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# LFX Architecture Guide
Expand Down
4 changes: 2 additions & 2 deletions lfx-research/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-research
description: >
Read-only exploration skill for LFX repos — upstream API validation, codebase
Expand All @@ -7,8 +9,6 @@ description: >
allowed-tools: Bash, Read, Glob, Grep, AskUserQuestion, WebFetch
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# LFX Research & Exploration
Expand Down
4 changes: 2 additions & 2 deletions lfx-setup/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-setup
description: >
Environment setup for any LFX repo — prerequisites, clone, install, env vars,
Expand All @@ -7,8 +9,6 @@ description: >
allowed-tools: Bash, Read, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# LFX Environment Setup Guide
Expand Down
4 changes: 2 additions & 2 deletions lfx-snowflake-access/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-snowflake-access
description: >
Guide users through requesting Snowflake access at the Linux Foundation. Handles two request
Expand All @@ -13,8 +15,6 @@ description: >
allowed-tools: Bash, Read, Glob, Grep, AskUserQuestion, WebFetch
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# Snowflake Access Request Guide
Expand Down
4 changes: 2 additions & 2 deletions lfx-test-journey/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-test-journey
description: >
Combine multiple feature branches across repos into worktrees for
Expand All @@ -7,8 +9,6 @@ description: >
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# Journey Testing — Multi-Branch Integration Worktrees
Expand Down
6 changes: 2 additions & 4 deletions lfx-ui-builder/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
---
# Copyright The Linux Foundation and each contributor to LFX.
# SPDX-License-Identifier: MIT
name: lfx-ui-builder
description: >
Generate compliant Angular 20 frontend code — components, services, templates,
Expand All @@ -7,8 +9,6 @@ description: >
allowed-tools: Bash, Read, Write, Edit, Glob, Grep, AskUserQuestion
---

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
<!-- Tool names in this file use Claude Code vocabulary. See docs/tool-mapping.md for other platforms. -->

# LFX Frontend Code Generation
Expand Down Expand Up @@ -78,8 +78,6 @@ Every new `.ts`, `.html`, and `.scss` file MUST start with the appropriate licen

**HTML (`.html`):**
```html

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[blocking] The over-deletion caught the .html example block, not just the document-level header. The block is now empty:

```html

This means the skill will instruct the AI to write **no header** on new Angular template files, which will fail the license-header CI check this PR is wiring up. The TS and SCSS blocks are fine (they use `//` comments); only the HTML block used `<!-- -->` and got caught by the cleanup.

**Restore these two lines inside the ```html block:**
```html
<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->

<!-- Copyright The Linux Foundation and each contributor to LFX. -->
<!-- SPDX-License-Identifier: MIT -->
```

**SCSS (`.scss`):**
Expand Down
Loading
Loading