diff --git a/src/resources/skills/create-skill/references/sf-skill-ecosystem.md b/src/resources/skills/create-skill/references/sf-skill-ecosystem.md
index 70bcee996..0ca90a8bb 100644
--- a/src/resources/skills/create-skill/references/sf-skill-ecosystem.md
+++ b/src/resources/skills/create-skill/references/sf-skill-ecosystem.md
@@ -3,28 +3,29 @@ SF-specific skill ecosystem details: directory conventions, discovery mechanics,
-SF supports two skill directories, checked in order:
+SF discovers skills from four directories — two user-scope, two project-scope — covering both the industry-standard `.agents/` ecosystem and Claude Code's `.claude/` convention:
-**User-scope (global):** `~/.sf/agent/skills/`
-- Available in every SF session regardless of working directory
-- Installed by default or by the user
+**User-scope (global):**
+- `~/.agents/skills/` — industry-standard ecosystem path (skills.sh and similar registries install here)
+- `~/.claude/skills/` — Claude Code's official skills directory
+Available in every SF session regardless of working directory.
-**Project-scope (local):** `.pi/agent/skills/`
-- Available only when SF runs inside the project directory
-- The project-local directory uses `.pi` (inherited from the pi base), **not** `.sf`
-- Ideal for project-specific workflows, deploy scripts, or conventions
+**Project-scope (local):**
+- `/.agents/skills/` — project-scoped industry-standard
+- `/.claude/skills/` — project-scoped Claude Code skills
+Available only when SF runs inside the project directory. Ideal for project-specific workflows, deploy scripts, or conventions.
-Skills in both directories follow the same SKILL.md format and router pattern conventions.
+Skills in any of the four directories follow the same SKILL.md format and router pattern conventions. SF does NOT use `~/.sf/agent/skills/` or `.pi/agent/skills/` for skill discovery — those paths are inactive.
SF auto-discovers skills at session start and during auto-mode:
-**Session start:** All skills in both directories are enumerated and their names + descriptions are injected into the system prompt as ``.
+**Session start:** Skills in all four directories are enumerated and their names + descriptions are injected into the system prompt as ``.
-**Auto-mode discovery:** `skill-discovery.ts` takes a snapshot of the skills directory at auto-mode start. On each unit boundary it diffs against the snapshot. Any new skills found are injected via a `` XML block so the LLM sees them without requiring `/reload`.
+**Auto-mode discovery:** `skill-discovery.ts` takes a snapshot of the skills directories at auto-mode start. On each unit boundary it diffs against the snapshot. Any new skills found are injected via a `` XML block so the LLM sees them without requiring `/reload`.
-**Manual reload:** Running `/reload` re-scans both directories and updates the available skills list mid-session.
+**Manual reload:** Running `/reload` re-scans all four directories and updates the available skills list mid-session.
@@ -42,7 +43,7 @@ Skill metadata has validation constraints:
- **Staleness detection:** Skills unused for 60+ days are flagged as stale
- **Pass/fail rates:** Derived from unit completion status when a skill is active
-Telemetry data is stored in `~/.sf/metrics.json` alongside other SF metrics.
+Telemetry data is stored per-project in `/.sf/metrics.json` alongside other SF metrics.
@@ -56,7 +57,7 @@ Telemetry data is stored in `~/.sf/metrics.json` alongside other SF metrics.
- Rising token trend → flagged (may indicate skill drift or bloat)
- 60+ days stale → flagged
-The `/doctor` command surfaces skill health issues alongside other system diagnostics.
+The `/sf doctor` command surfaces skill health issues alongside other system diagnostics.