From 79f7466f74a8c6e91e5604f0d83449ff08c009e6 Mon Sep 17 00:00:00 2001 From: Neil Scholten Date: Thu, 20 Aug 2026 18:24:09 +0200 Subject: [PATCH] fix(skills): resolve customization lookup via CLAUDE_CONFIG_DIR, not hardcoded ~/.claude MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Every affected skill's "Customization" block hard-codes ~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS// as a literal path in the prose the model reads. On any install where CLAUDE_CONFIG_DIR points somewhere other than ~/.claude, that path does not exist, and the skill's own documented fallback ("if the directory does not exist, proceed with skill defaults") turns the wrong path into a silently ignored customization — no error, just quietly-dropped user config. Claude Code does not substitute shell variables into a skill body — only `!`cmd`` dynamic-context injections are expanded before the model sees the text. This replaces the static path line with a `find`-based injection that resolves at invocation time, guarded to fall back to the documented default ($HOME/.claude) when CLAUDE_CONFIG_DIR is unset, so a default-dir install behaves exactly as before. `find`, not a glob, because the harness evaluates injections in zsh, whose default `nomatch` makes an unmatched glob a hard error at expansion time (the common case is an empty customization directory). The command always exits 0, since a non-zero exit here would abort the whole skill invocation. Scope: the 36 skills whose Customization block used the exact canonical wording ("**Before executing, check for user customizations at:**" + standalone path line). ContextSearch was in that set but has since been removed from this tree, leaving 35 files changed here. Skills with differently-worded customization blocks (WorldThreatModel, CMUX, Webdesign) are not touched — the wording differs enough that a safe mechanical fix isn't possible without rewriting skill-specific prose, which is out of scope for this change. Also worth a maintainer's attention, not fixed here: Telos's `Workflows/Update.md` already uses this same `!`cmd`` injection syntax (e.g. line 81, 105, 108), but that file is reached through Telos/SKILL.md's "Workflow Routing" table and read on demand rather than loaded at skill-invocation time — the injection there does not appear to be live. Same bug family, different manifestation. --- LifeOS/install/skills/ApertureOscillation/SKILL.md | 7 ++++--- LifeOS/install/skills/Aphorisms/SKILL.md | 8 ++++---- LifeOS/install/skills/Apify/SKILL.md | 8 ++++---- LifeOS/install/skills/ArXiv/SKILL.md | 8 ++++---- LifeOS/install/skills/Art/SKILL.md | 10 +++++----- LifeOS/install/skills/AudioEditor/SKILL.md | 7 ++++--- LifeOS/install/skills/BeCreative/SKILL.md | 8 ++++---- LifeOS/install/skills/BiasCheck/SKILL.md | 7 ++++--- LifeOS/install/skills/BitterPillEngineering/SKILL.md | 7 ++++--- LifeOS/install/skills/BrightData/SKILL.md | 8 ++++---- LifeOS/install/skills/Council/SKILL.md | 8 ++++---- LifeOS/install/skills/CreateCLI/SKILL.md | 8 ++++---- LifeOS/install/skills/CreateSkill/SKILL.md | 8 ++++---- LifeOS/install/skills/Daemon/SKILL.md | 7 ++++--- LifeOS/install/skills/ExtractWisdom/SKILL.md | 7 ++++--- LifeOS/install/skills/Fabric/SKILL.md | 7 ++++--- LifeOS/install/skills/FirstPrinciples/SKILL.md | 8 ++++---- LifeOS/install/skills/Ideate/SKILL.md | 5 +++-- LifeOS/install/skills/Interceptor/SKILL.md | 7 ++++--- LifeOS/install/skills/IterativeDepth/SKILL.md | 7 ++++--- LifeOS/install/skills/LocalIntelligence/SKILL.md | 7 ++++--- LifeOS/install/skills/PrivateInvestigator/SKILL.md | 8 ++++---- LifeOS/install/skills/Prompting/SKILL.md | 8 ++++---- LifeOS/install/skills/RedTeam/SKILL.md | 8 ++++---- LifeOS/install/skills/Remotion/SKILL.md | 5 +++-- LifeOS/install/skills/Research/SKILL.md | 8 ++++---- LifeOS/install/skills/RootCauseAnalysis/SKILL.md | 8 ++++---- LifeOS/install/skills/Sales/SKILL.md | 8 ++++---- LifeOS/install/skills/Science/SKILL.md | 8 ++++---- LifeOS/install/skills/SystemsThinking/SKILL.md | 8 ++++---- LifeOS/install/skills/ThreatModel/SKILL.md | 7 ++++--- LifeOS/install/skills/Tldraw/SKILL.md | 7 ++++--- LifeOS/install/skills/USMetrics/SKILL.md | 8 ++++---- LifeOS/install/skills/Upgrade/SKILL.md | 7 ++++--- LifeOS/install/skills/WriteStory/SKILL.md | 7 ++++--- 35 files changed, 139 insertions(+), 123 deletions(-) diff --git a/LifeOS/install/skills/ApertureOscillation/SKILL.md b/LifeOS/install/skills/ApertureOscillation/SKILL.md index e830825595..0a24357f04 100644 --- a/LifeOS/install/skills/ApertureOscillation/SKILL.md +++ b/LifeOS/install/skills/ApertureOscillation/SKILL.md @@ -2,14 +2,15 @@ name: ApertureOscillation version: 1.0.9 description: "3-pass scope oscillation that holds a question constant while shifting zoom — narrow/tactical, wide/strategic, then synthesis — to surface design tensions, scope recommendations, and coherence assessments invisible at any single zoom level. USE WHEN aperture oscillation, oscillate scope, zoom in and out, tactical vs strategic, scope framing, design tension, system coherence check, local vs global design, wrong scope, scope negotiation. NOT FOR lens rotation across angles (use IterativeDepth)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ApertureOscillation/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ApertureOscillation" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. # ApertureOscillation diff --git a/LifeOS/install/skills/Aphorisms/SKILL.md b/LifeOS/install/skills/Aphorisms/SKILL.md index 2f1ddf79ab..1e4beb4f84 100644 --- a/LifeOS/install/skills/Aphorisms/SKILL.md +++ b/LifeOS/install/skills/Aphorisms/SKILL.md @@ -2,15 +2,15 @@ name: Aphorisms version: 1.1.20 description: "Curated aphorism collection with CRUD — content-based matching, themed search, thinker research, DB maintenance. Quotes organized by author/theme/context/usage to prevent repetition. Four workflows: FindAphorism, AddAphorism, ResearchThinker, SearchAphorisms. Themes: Stoicism, Wisdom, Truth-seeking, Excellence, Resilience, Curiosity. USE WHEN aphorism, quote, find a quote, research thinker, add aphorism, quote for newsletter, what did X say about, quote bank. NOT FOR creative writing or social posts." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Aphorisms/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Aphorisms" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Apify/SKILL.md b/LifeOS/install/skills/Apify/SKILL.md index 84f65c815a..4dfcdb437a 100644 --- a/LifeOS/install/skills/Apify/SKILL.md +++ b/LifeOS/install/skills/Apify/SKILL.md @@ -2,15 +2,15 @@ name: Apify version: 1.1.22 description: "Scrapes social platforms, business data, and e-commerce via Apify actors — Instagram, LinkedIn, TikTok, YouTube, Facebook, Google Maps, Amazon, and web crawls — filtering in code. USE WHEN scrape Instagram, scrape LinkedIn, scrape TikTok, scrape YouTube, scrape Facebook, Google Maps leads, Amazon reviews, business intelligence, multi-platform social listening, competitive analysis, lead generation, social monitoring, Apify actors, web crawl, extract contacts. NOT FOR X/Twitter account operations like posting, threads, or bookmarks (those need a dedicated X API client), 4-tier progressive scraping with proxy escalation (use BrightData), or real-Chrome bot bypass and computer use (use Interceptor)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Apify/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Apify" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/ArXiv/SKILL.md b/LifeOS/install/skills/ArXiv/SKILL.md index c1aab3b3c4..6d9764e220 100644 --- a/LifeOS/install/skills/ArXiv/SKILL.md +++ b/LifeOS/install/skills/ArXiv/SKILL.md @@ -2,15 +2,15 @@ name: ArXiv version: 1.0.9 description: "Search and retrieve arXiv academic papers by topic, category, or paper ID — with AlphaXiv-enriched AI-generated overviews. Uses arXiv Atom API across cs.AI/cs.LG/cs.CL/cs.CR/cs.MA/cs.SE/cs.IR. Three workflows: Latest, Search, Paper. USE WHEN arxiv, papers, latest papers, research papers, recent ML papers, paper lookup, summarize paper, latest LLM papers, AI safety papers, cs.AI latest. NOT FOR general research (Research), URL parsing, or annual reports." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ArXiv/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ArXiv" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Art/SKILL.md b/LifeOS/install/skills/Art/SKILL.md index 60079ab722..736ada76b2 100644 --- a/LifeOS/install/skills/Art/SKILL.md +++ b/LifeOS/install/skills/Art/SKILL.md @@ -2,22 +2,22 @@ name: Art version: 1.5.23 description: "Static visual content across 20+ formats — diagrams, mermaid, infographics, D3 dashboards, comics, icons, wallpaper — via Nano Banana Pro (default), Nano Banana, and Flux. USE WHEN art, illustration, diagram, flowchart, infographic, header image, blog social thumbnail, visualize, generate image, mermaid, architecture diagram, comic, icon, blog art, framework diagram, D3 chart, remove background, wallpaper. NOT FOR locked house-style YouTube/channel/video thumbnails, video or animation (use Remotion), or web UI design and integrated frontend layout (use Webdesign)." +allowed-tools: Bash(find:*) --- # Art Skill ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Art/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Art" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply: +If any paths are listed above, read and apply: - `PREFERENCES.md` - Aesthetic preferences, default model, output location - `CharacterSpecs.md` - Character design specifications - `SceneConstruction.md` - Scene composition guidelines -These override default behavior. If the directory does not exist, proceed with skill defaults. - +These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/AudioEditor/SKILL.md b/LifeOS/install/skills/AudioEditor/SKILL.md index 84e4c55127..707bd3bbc7 100644 --- a/LifeOS/install/skills/AudioEditor/SKILL.md +++ b/LifeOS/install/skills/AudioEditor/SKILL.md @@ -2,16 +2,17 @@ name: AudioEditor version: 1.0.27 description: "AI audio editing pipeline: Whisper word-level transcription → Claude segment classification (KEEP/CUT_FILLER/CUT_FALSE_START/CUT_STUTTER/CUT_DEAD_AIR) → ffmpeg with 40ms qsin crossfades and room-tone fill → optional Cleanvoice cloud polish; plus GateScan/GateRepair for noise-gate ticking artifacts. Modes: --preview, --aggressive, --polish. Workflow: Clean. USE WHEN clean audio, edit audio, remove filler words, clean podcast, remove ums, cut dead air, polish audio, trim recording, cut stutters, ticking audio, clicking audio, audio clicks, gate artifacts, popping audio. NOT FOR video composition (use Remotion)." +allowed-tools: Bash(find:*) --- # AudioEditor ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/AudioEditor/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/AudioEditor" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## Voice Notification diff --git a/LifeOS/install/skills/BeCreative/SKILL.md b/LifeOS/install/skills/BeCreative/SKILL.md index 0378217ba9..e36527c1c9 100644 --- a/LifeOS/install/skills/BeCreative/SKILL.md +++ b/LifeOS/install/skills/BeCreative/SKILL.md @@ -2,15 +2,15 @@ name: BeCreative version: 1.1.21 description: "Divergent ideation and corpus expansion via Verbalized Sampling plus extended thinking — single-shot generates several internally diverse candidates and surfaces the strongest, or expands a seed corpus into a diverse dataset for evals and test sets. USE WHEN be creative, brainstorm, divergent ideas, creative solutions, maximum creativity, tree of thoughts, radically different, name this, creative angle, expand this corpus, synthetic data, generate diverse examples, create test set. NOT FOR multi-cycle evolutionary ideation with Lamarckian meta-learning (use Ideate)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BeCreative/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BeCreative" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/BiasCheck/SKILL.md b/LifeOS/install/skills/BiasCheck/SKILL.md index da2c4d202e..cbc0ae093a 100644 --- a/LifeOS/install/skills/BiasCheck/SKILL.md +++ b/LifeOS/install/skills/BiasCheck/SKILL.md @@ -3,14 +3,15 @@ name: BiasCheck version: 1.0.3 description: "Three-layer bias analysis on any URL, file, or text — auto-fetches the content and any cited study, then audits data-level biases, source conflicts of interest, and journalism-added distortions, separating what the data supports from what's editorialized. USE WHEN bias analysis, analyze bias, bias check, check this study, who funded this, is this source biased, fact-check article, methodological flaws, source credibility, what's wrong with this claim. NOT FOR psychological author analysis, research synthesis (use Research), entity due diligence." disallowed-tools: Edit, Write, NotebookEdit +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BiasCheck/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BiasCheck" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any `PREFERENCES.md` or additional reference files found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any `PREFERENCES.md` or additional reference files found there. These override default behavior. If nothing is listed, proceed with skill defaults. # BiasCheck diff --git a/LifeOS/install/skills/BitterPillEngineering/SKILL.md b/LifeOS/install/skills/BitterPillEngineering/SKILL.md index f03364761c..c606ce3c21 100644 --- a/LifeOS/install/skills/BitterPillEngineering/SKILL.md +++ b/LifeOS/install/skills/BitterPillEngineering/SKILL.md @@ -2,14 +2,15 @@ name: BitterPillEngineering version: 1.0.10 description: "Audits any AI instruction set for over-prompting using the core test — would a smarter model make this rule unnecessary? Applies Five Questions to every rule (Claude already does this? Contradiction? Redundant? One-off fix? Vague?) then classifies as CUT/RESOLVE/MERGE/EVALUATE/SHARPEN/MOVE/KEEP. Workflows: Audit (full system, token savings), QuickCheck (single file). Principle: less scaffolding = better output. USE WHEN BPE, bitter pill, audit setup, over-prompting, trim instructions, dead weight, simplify setup, clean up CLAUDE.md. NOT FOR attacking logical flaws in ideas (use RedTeam)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BitterPillEngineering/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BitterPillEngineering" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## Voice Notification diff --git a/LifeOS/install/skills/BrightData/SKILL.md b/LifeOS/install/skills/BrightData/SKILL.md index 61e0dc1487..c591474dbe 100644 --- a/LifeOS/install/skills/BrightData/SKILL.md +++ b/LifeOS/install/skills/BrightData/SKILL.md @@ -2,15 +2,15 @@ name: BrightData version: 1.2.20 description: "4-tier progressive web scraping that auto-escalates WebFetch to curl to Interceptor to Bright Data proxy for bot detection and CAPTCHAs, with single-URL and multi-page crawl modes, output as markdown. USE WHEN Bright Data, scrape URL, web scraping, bot detection, crawl site, CAPTCHA, can't access, site blocking, extract page content, scrape whole site, spider domain, convert URL to markdown, getting blocked. NOT FOR simple public content (use WebFetch directly), social platform scraping with named actors (use Apify), or real-Chrome bot bypass with logged-in sessions and zero CDP fingerprint (use Interceptor)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BrightData/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/BrightData" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Council/SKILL.md b/LifeOS/install/skills/Council/SKILL.md index c3827a336e..8e3a299c60 100755 --- a/LifeOS/install/skills/Council/SKILL.md +++ b/LifeOS/install/skills/Council/SKILL.md @@ -4,15 +4,15 @@ version: 1.1.20 description: "Multi-agent collaborative debate producing visible round-by-round transcripts with real intellectual friction — members are topic-briefed custom agents, run as a 3-round DEBATE or a 1-round QUICK check, to find the best path. USE WHEN council, debate, multiple perspectives, weigh options, deliberate, get different views, what would experts say, pros and cons. NOT FOR pure adversarial attack (use RedTeam)." context: fork background: false +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Council/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Council" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/CreateCLI/SKILL.md b/LifeOS/install/skills/CreateCLI/SKILL.md index 184ecaa435..73af6e6468 100644 --- a/LifeOS/install/skills/CreateCLI/SKILL.md +++ b/LifeOS/install/skills/CreateCLI/SKILL.md @@ -2,15 +2,15 @@ name: CreateCLI version: 1.1.25 description: "Generates production-ready TypeScript CLIs via a 3-tier template system (manual arg parsing, Commander.js, oclif), each shipping full implementation, docs, package.json, strict config, JSON output, and exit-code compliance. USE WHEN create CLI, build CLI, command-line tool, wrap API, add command, upgrade tier, TypeScript CLI. NOT FOR LifeOS skill scaffolding (use CreateSkill)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/CreateCLI/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/CreateCLI" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/CreateSkill/SKILL.md b/LifeOS/install/skills/CreateSkill/SKILL.md index b32525dde8..b3763afc1b 100644 --- a/LifeOS/install/skills/CreateSkill/SKILL.md +++ b/LifeOS/install/skills/CreateSkill/SKILL.md @@ -2,15 +2,15 @@ name: CreateSkill version: 1.1.31 description: "Mandatory orchestrator for all LifeOS skill work — creating, editing, adding a workflow or tool, renaming, validating, or canonicalizing any skill. Handrolling skill files is forbidden; owns the full lifecycle: scaffold, validate, canonicalize, test, improve. USE WHEN create skill, new skill, make a skill, build a skill, set up a skill, private skill, make a X skill, add a workflow, add a tool, edit/change/update/rename a skill, skill frontmatter, validate skill, check skill, canonicalize, scaffold skill, test skill, improve skill, optimize description, skill not triggering, overtriggering. NOT FOR TypeScript CLI generation (use CreateCLI)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/CreateSkill/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/CreateSkill" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Daemon/SKILL.md b/LifeOS/install/skills/Daemon/SKILL.md index 1aeade3fcc..fdd401994d 100644 --- a/LifeOS/install/skills/Daemon/SKILL.md +++ b/LifeOS/install/skills/Daemon/SKILL.md @@ -2,14 +2,15 @@ name: Daemon version: 1.0.25 description: "Manage the public daemon profile — a digital representation of what you're working on. DaemonAggregator reads LifeOS sources (TELOS, KNOWLEDGE, PROJECTS, MEMORY/WORK, identity) → daemon-data.json. SecurityFilter strips names/paths/credentials via deterministic patterns (NOT LLM). Workflows: UpdateDaemon, ReadDaemon, PreviewDaemon, DeployDaemon. USE WHEN daemon, update daemon, daemon profile, deploy daemon, preview daemon, read daemon, public profile, digital presence. NOT FOR LifeOS system management." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Daemon/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Daemon" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any SecurityOverrides.md or PREFERENCES.md found there. These override default security classification. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any SecurityOverrides.md or PREFERENCES.md found there. These override default security classification. If nothing is listed, proceed with skill defaults. ## Voice Notification diff --git a/LifeOS/install/skills/ExtractWisdom/SKILL.md b/LifeOS/install/skills/ExtractWisdom/SKILL.md index 527dc21cf5..91ed724390 100644 --- a/LifeOS/install/skills/ExtractWisdom/SKILL.md +++ b/LifeOS/install/skills/ExtractWisdom/SKILL.md @@ -2,14 +2,15 @@ name: ExtractWisdom version: 1.1.16 description: "Content-adaptive wisdom extraction that reads content first, detects which wisdom domains are present, and builds custom sections around them, with five depth levels and mandatory contrarian takes; pulls YouTube via fabric and articles via WebFetch. USE WHEN extract wisdom, analyze video, analyze podcast, extract insights, key takeaways, summarize interview, distill content. NOT FOR static Fabric extract_wisdom pattern (use Fabric)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ExtractWisdom/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ExtractWisdom" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. # ExtractWisdom — Dynamic Content Extraction diff --git a/LifeOS/install/skills/Fabric/SKILL.md b/LifeOS/install/skills/Fabric/SKILL.md index faeba732b6..8372cb0873 100644 --- a/LifeOS/install/skills/Fabric/SKILL.md +++ b/LifeOS/install/skills/Fabric/SKILL.md @@ -2,14 +2,15 @@ name: Fabric version: 1.1.19 description: "Execute any of 240+ specialized prompt patterns natively across Extraction, Summarization, Analysis, Creation, Improvement, Security, Rating. Common: extract_wisdom, create_threat_model, analyze_claims, improve_writing, review_code, mermaid, youtube_summary. CLI used only for YouTube transcript (-y) and URL fallback (-u). Two workflows: ExecutePattern, UpdatePatterns. USE WHEN fabric, fabric pattern, run fabric, update patterns, threat model, analyze claims, improve writing, review code, mermaid, STRIDE, sigma rules. NOT FOR multi-agent investigation (Research) or content-adaptive extraction (ExtractWisdom)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Fabric/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Fabric" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## Voice Notification diff --git a/LifeOS/install/skills/FirstPrinciples/SKILL.md b/LifeOS/install/skills/FirstPrinciples/SKILL.md index 9666bfedf9..1efa162f62 100644 --- a/LifeOS/install/skills/FirstPrinciples/SKILL.md +++ b/LifeOS/install/skills/FirstPrinciples/SKILL.md @@ -2,15 +2,15 @@ name: FirstPrinciples version: 1.1.15 description: "Physics-based reasoning framework (Musk methodology) that deconstructs a problem to irreducible fundamental truths, classifies every element as hard constraint, soft constraint, or assumption, then reconstructs the optimal solution from fundamentals alone. USE WHEN first principles, fundamental truths, challenge assumptions, real constraint, rebuild from scratch, start over, physics first, question everything, reasoning by analogy. NOT FOR structural feedback loops (use SystemsThinking)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/FirstPrinciples/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/FirstPrinciples" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Ideate/SKILL.md b/LifeOS/install/skills/Ideate/SKILL.md index a885569610..b76237d1d5 100644 --- a/LifeOS/install/skills/Ideate/SKILL.md +++ b/LifeOS/install/skills/Ideate/SKILL.md @@ -4,12 +4,13 @@ version: 1.0.19 description: "Evolutionary ideation engine — loop-controlled multi-cycle idea generation through phases of dreaming, cross-domain stealing, recombination, fitness testing, selection, and Lamarckian meta-learning, producing ranked novel solution candidates with provenance. USE WHEN ideate, id8, novel ideas, evolve ideas, dream up solutions, innovate, breakthrough ideas, idea evolution, multi-cycle creativity, need genuinely new approaches. NOT FOR quick single-pass brainstorming (use BeCreative)." context: fork background: false +allowed-tools: Bash(find:*) --- ## Customization -Before executing, check for user customizations at: -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Ideate/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Ideate" -mindepth 1 -maxdepth 1 2>/dev/null; true` # Ideate — The Cognitive Progress Engine diff --git a/LifeOS/install/skills/Interceptor/SKILL.md b/LifeOS/install/skills/Interceptor/SKILL.md index 2f8bede2cb..d0fc4a1d54 100644 --- a/LifeOS/install/skills/Interceptor/SKILL.md +++ b/LifeOS/install/skills/Interceptor/SKILL.md @@ -2,14 +2,15 @@ name: Interceptor description: "Real Chrome/Brave + macOS Computer Use from inside the browser — zero CDP fingerprint, real sessions; mandatory for visual deploy verification. Drive clickwork yourself. USE WHEN verify deploy, confirm UI, screenshot verification, computer use, macos automation, debug web, troubleshoot, visual check, motion/animation bug, jank, transition stutter, scrub a flow, console logs/errors, runtime/JS/react errors, mismatch warning, network traffic/log, HAR/pcapng export, hydration/blank-page debug, flash then blank/page broken, why is this not working/what's happening on the page, authenticated page, bot detection bypass, reproduce bug, drive native app, about to ask the operator to click/navigate/fill a form/log in/approve OAuth, OAuth consent flow, complete a web login, do this in your browser. NOT FOR residential-proxy crawling (BrightData) or social actor scraping (Apify)." version: 4.3.18 +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Interceptor/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Interceptor" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/IterativeDepth/SKILL.md b/LifeOS/install/skills/IterativeDepth/SKILL.md index 035e1a2726..68b8fa540f 100644 --- a/LifeOS/install/skills/IterativeDepth/SKILL.md +++ b/LifeOS/install/skills/IterativeDepth/SKILL.md @@ -2,14 +2,15 @@ name: IterativeDepth version: 1.1.16 description: "Structured multi-angle exploration running 2-8 sequential passes over the same problem, each through a different scientific lens, to surface hidden requirements and edge cases invisible from one angle; each pass yields new ISC criteria. USE WHEN iterative depth, explore deeper, multi-angle analysis, surface hidden requirements, blind spot check, what am I missing. NOT FOR scope/zoom analysis (use ApertureOscillation)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/IterativeDepth/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/IterativeDepth" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. # IterativeDepth diff --git a/LifeOS/install/skills/LocalIntelligence/SKILL.md b/LifeOS/install/skills/LocalIntelligence/SKILL.md index 114ffb4761..437890395b 100644 --- a/LifeOS/install/skills/LocalIntelligence/SKILL.md +++ b/LifeOS/install/skills/LocalIntelligence/SKILL.md @@ -2,16 +2,17 @@ name: LocalIntelligence version: 1.0.9 description: "Generic civic intelligence aggregator for any US city — daily local digest of construction permits, crime, new businesses, public officials, legislation, elections, arrests, and local news, keyed off principal's Hometown. Writes JSON consumed by Pulse LOCAL tab. Crime delegates to a dedicated crime-stats skill. Workflows: DailyBrief, Construction, Crime, Business, Officials, Legislation, Elections, Arrests, News. USE WHEN local news, hometown news, council meeting, building permits, mayor, ballot measures, ordinance, recent arrests, civic intel, local digest. NOT FOR national news or arbitrary-city crime." +allowed-tools: Bash(find:*) --- # LocalIntelligence ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/LocalIntelligence/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/LocalIntelligence" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any `PREFERENCES.md`, optional source-list overrides, or per-source API keys (e.g., OpenStates, Google News topic ID). These override defaults. If the directory does not exist, proceed with skill defaults — universal sources only. +If any paths are listed above, read and apply any `PREFERENCES.md`, optional source-list overrides, or per-source API keys (e.g., OpenStates, Google News topic ID). These override defaults. If the directory does not exist, proceed with skill defaults — universal sources only. **`sources.json`** in the same directory is the deterministic per-city source list (RSS feeds, local JSON APIs) consumed by `Tools/UserSources.ts` on every refresh — see `Tools/UserSources.help.md` for the schema. City-specific URLs belong there, never in this skill. diff --git a/LifeOS/install/skills/PrivateInvestigator/SKILL.md b/LifeOS/install/skills/PrivateInvestigator/SKILL.md index 6aae2d90fb..f0f78ec4c6 100644 --- a/LifeOS/install/skills/PrivateInvestigator/SKILL.md +++ b/LifeOS/install/skills/PrivateInvestigator/SKILL.md @@ -2,15 +2,15 @@ name: PrivateInvestigator version: 1.1.18 description: "Ethical people-finding and identity verification via parallel research agents across people-search sites, social media, public records, and reverse phone/email/image/username lookups, with confidence-scored results requiring 3+ matching identifiers. USE WHEN find person, locate person, reconnect, lost contact, old friend, reverse phone lookup, who owns this email, reverse image search, find by username, verify identity, people search, public-data background check, who is this caller. NOT FOR structured due-diligence or company/entity intelligence investigations, or general web research synthesis (use Research)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/PrivateInvestigator/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/PrivateInvestigator" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Prompting/SKILL.md b/LifeOS/install/skills/Prompting/SKILL.md index 296bc7f972..afeeb675f2 100644 --- a/LifeOS/install/skills/Prompting/SKILL.md +++ b/LifeOS/install/skills/Prompting/SKILL.md @@ -2,15 +2,15 @@ name: Prompting version: 1.1.27 description: "Meta-prompting standard library for generating, optimizing, and composing prompts programmatically via Standards, Handlebars Templates, and Tools; output is always a prompt to use elsewhere, not final content. USE WHEN meta-prompting, template generation, prompt optimization, prompt engineering, write a prompt, create system prompt, Handlebars template, eval prompt, judge prompt. NOT FOR generating final content (use the appropriate domain skill)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Prompting/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Prompting" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/RedTeam/SKILL.md b/LifeOS/install/skills/RedTeam/SKILL.md index 0af2a2b4d9..0c4ea9e955 100755 --- a/LifeOS/install/skills/RedTeam/SKILL.md +++ b/LifeOS/install/skills/RedTeam/SKILL.md @@ -2,15 +2,15 @@ name: RedTeam version: 1.1.17 description: "Adversarial analysis deploying parallel expert agents to stress-test ideas, strategies, and plans — decomposes into atomic claims, attacks them, then steelmans and counter-argues, producing severity-ranked findings with remediation. USE WHEN red team, attack idea, counterarguments, critique, stress test, devil's advocate, find weaknesses, break this, poke holes, strongest objection. NOT FOR collaborative debate to find best path (use Council)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/RedTeam/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/RedTeam" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Remotion/SKILL.md b/LifeOS/install/skills/Remotion/SKILL.md index c6ad3e2499..3ddea1b9ca 100644 --- a/LifeOS/install/skills/Remotion/SKILL.md +++ b/LifeOS/install/skills/Remotion/SKILL.md @@ -2,6 +2,7 @@ name: Remotion version: 1.2.15 description: "Creates programmatic video with React via Remotion — compositions, sequences, and motion graphics animated with useCurrentFrame() and rendered to MP4. USE WHEN video, animation, motion graphics, video rendering, React video, render video, animate content, make a short, create animations, video overlay, explainer video, animated explainer, content to video, programmatic video. NOT FOR static images, diagrams, or illustrations (use Art), tight-cut filler removal from raw talking-head recordings (that is video editing, not motion graphics), or audio-only podcast cleaning (use AudioEditor)." +allowed-tools: Bash(find:*) --- ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) @@ -39,8 +40,8 @@ Define a composition as React, animate with `useCurrentFrame()`, render with `bu ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Remotion/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Remotion" -mindepth 1 -maxdepth 1 2>/dev/null; true` ## Workflow Routing diff --git a/LifeOS/install/skills/Research/SKILL.md b/LifeOS/install/skills/Research/SKILL.md index b9fbe2cf4a..a19594c653 100755 --- a/LifeOS/install/skills/Research/SKILL.md +++ b/LifeOS/install/skills/Research/SKILL.md @@ -4,6 +4,7 @@ version: 1.5.16 description: "Multi-agent web research with mandatory URL verification, confidence-tagged output, and four depth modes (quick to deep investigation). USE WHEN research, do research, quick research, extensive research, deep investigation, find information, investigate, extract alpha, analyze content, retrieve content, AI trends, enhance content, extract knowledge, web scraping, YouTube extraction, map landscape, competitive analysis, find it, find this, find this product, identify this, what is this, what's that thing, track down, locate, help me find, I can't find X online, can't find it online, source this — never substitute raw WebSearch/WebFetch for a multi-source find/identify/investigate request. NOT FOR people/company/entity deep background, academic papers (use ArXiv), JSON entity extraction, or content-adaptive wisdom extraction (use ExtractWisdom)." context: fork background: false +allowed-tools: Bash(find:*) --- ## ⚠️ MANDATORY TRIGGER @@ -23,11 +24,10 @@ background: false ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Research/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Research" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/RootCauseAnalysis/SKILL.md b/LifeOS/install/skills/RootCauseAnalysis/SKILL.md index 1a0c5448d3..b04c9672f0 100644 --- a/LifeOS/install/skills/RootCauseAnalysis/SKILL.md +++ b/LifeOS/install/skills/RootCauseAnalysis/SKILL.md @@ -4,15 +4,15 @@ version: 1.0.7 description: "Structured incident investigation using Five Whys, Fishbone, blameless Postmortem, Fault Tree, Kepner-Tregoe, and FMEA — traces failures to systemic root causes rather than blaming humans. USE WHEN root cause, RCA, 5 whys, fishbone, postmortem, incident analysis, fault tree, why does this keep failing, blameless, recurring bug. NOT FOR systemic loops (use SystemsThinking)." context: fork background: false +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/RootCauseAnalysis/` - -If this directory exists, load and apply any `PREFERENCES.md`, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/RootCauseAnalysis" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any `PREFERENCES.md`, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Sales/SKILL.md b/LifeOS/install/skills/Sales/SKILL.md index 9ce7e50389..6a1fecb65a 100644 --- a/LifeOS/install/skills/Sales/SKILL.md +++ b/LifeOS/install/skills/Sales/SKILL.md @@ -2,15 +2,15 @@ name: Sales version: 1.0.28 description: "Transforms product documentation into sales-ready packages — a story explanation, charcoal gestural sketch art, and talking points — via a narrative-arc pipeline. USE WHEN sales, proposal, pitch deck, value proposition, sales narrative, sales deck, sales package, turn this into a pitch, create a sales story, sales materials, product pitch, transform docs to sales, sales script. NOT FOR Hormozi $100M frameworks, value equation, irresistible offer, or VOC mining, standalone diagrams or illustrations (use Art), or platform social posts." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Sales/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Sales" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Science/SKILL.md b/LifeOS/install/skills/Science/SKILL.md index 70c5f352c3..9742f0a773 100644 --- a/LifeOS/install/skills/Science/SKILL.md +++ b/LifeOS/install/skills/Science/SKILL.md @@ -2,15 +2,15 @@ name: Science version: 1.1.18 description: "The scientific method as a universal problem-solving algorithm — goal-first, plural falsifiable hypotheses, designed experiments, and honest measurement, scaling from TDD to feature validation to MVP launch. USE WHEN think about, figure out, experiment, iterate, optimize, hypothesis, science, full cycle, quick diagnosis, structured investigation, how do we test, analyze results. NOT FOR multi-angle lens passes (use IterativeDepth)." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Science/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Science" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/SystemsThinking/SKILL.md b/LifeOS/install/skills/SystemsThinking/SKILL.md index 95a999718c..c382337c64 100644 --- a/LifeOS/install/skills/SystemsThinking/SKILL.md +++ b/LifeOS/install/skills/SystemsThinking/SKILL.md @@ -4,15 +4,15 @@ version: 1.0.7 description: "Structural analysis of complex systems — Iceberg model, Causal Loop feedback diagrams, archetype matching, Meadows leverage points, and concept maps — grounded in the premise that behavior is generated by structure. USE WHEN systems thinking, causal loop, feedback loops, archetypes, leverage points, iceberg model, fix the system, why does this keep happening, recurring problem, second-order effects. NOT FOR incident causal chains (use RootCauseAnalysis)." context: fork background: false +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/SystemsThinking/` - -If this directory exists, load and apply any `PREFERENCES.md`, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/SystemsThinking" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any `PREFERENCES.md`, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/ThreatModel/SKILL.md b/LifeOS/install/skills/ThreatModel/SKILL.md index 2e7b28f456..e88261378c 100644 --- a/LifeOS/install/skills/ThreatModel/SKILL.md +++ b/LifeOS/install/skills/ThreatModel/SKILL.md @@ -2,6 +2,7 @@ name: ThreatModel version: 1.0.1 description: Defensive threat modeling and risk management for your own estate — map where sensitive data lives across your asset graph, run compromise scenarios (what a hacked asset exposes, its blast radius, how you'd respond), and maintain a persistent risk register with likelihood×impact scoring, owners, mitigations, and review cadence via a deterministic CLI. All real data stays in your private USER tree; this skill is code only. USE WHEN threat model, threat modeling, risk register, risk assessment, what if X got hacked, compromise scenario, blast radius, sensitive data map, where is our sensitive data, data classification, risk review, add a risk, accept a risk, security risk posture. NOT FOR active pentesting or exploitation (use an offensive-security skill), world-scale futures stress-testing of ideas (use WorldThreatModel), or executing incident response (use your incident-response runbooks — this skill plans them). +allowed-tools: Bash(find:*) --- # ThreatModel @@ -10,10 +11,10 @@ Threat modeling for the estate you actually run. Three moves: classify where sen ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ThreatModel/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/ThreatModel" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply `PREFERENCES.md` (data locations, sensitive-data class priorities, response runbook cross-references). If not, proceed with defaults. +If any paths are listed above, read and apply `PREFERENCES.md` (data locations, sensitive-data class priorities, response runbook cross-references). If not, proceed with defaults. ## Data/Code Separation (safety gate) diff --git a/LifeOS/install/skills/Tldraw/SKILL.md b/LifeOS/install/skills/Tldraw/SKILL.md index fb4a895245..5687ba65cc 100644 --- a/LifeOS/install/skills/Tldraw/SKILL.md +++ b/LifeOS/install/skills/Tldraw/SKILL.md @@ -2,6 +2,7 @@ name: Tldraw version: 1.0.1 description: Read, create, and edit tldraw .tldr canvas files deterministically — sketch hand-drawn-register diagrams (boxes, arrows, sticky notes, frames, text) directly into a canvas file the user opens in any tldraw surface, and read a rough canvas back as structured data to organize it. USE WHEN tldraw, .tldr file, whiteboard, canvas, sketch a diagram, hand-drawn diagram, draw this on a canvas, put this on the whiteboard, structure my canvas, organize my whiteboard, read my canvas, cluster my sticky notes. NOT FOR polished static images, infographics, or mermaid diagrams (use Art), web UI design (use Webdesign), programmatic video (use Remotion). +allowed-tools: Bash(find:*) --- # Tldraw @@ -10,10 +11,10 @@ Deterministic read/write for tldraw canvases. The `.tldr` format is plain JSON ( ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Tldraw/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Tldraw" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md found there (default canvas directory, preferred colors/register, default open surface). If not, proceed with defaults. +If any paths are listed above, read and apply any PREFERENCES.md found there (default canvas directory, preferred colors/register, default open surface). If not, proceed with defaults. ## Voice Notification diff --git a/LifeOS/install/skills/USMetrics/SKILL.md b/LifeOS/install/skills/USMetrics/SKILL.md index 7011018331..c1be3438e8 100644 --- a/LifeOS/install/skills/USMetrics/SKILL.md +++ b/LifeOS/install/skills/USMetrics/SKILL.md @@ -2,15 +2,15 @@ name: USMetrics version: 1.0.20 description: "Analyze and update 68 US economic and social indicators from five government APIs (FRED, EIA, Treasury, BLS, Census) across 10 categories: GDP, Inflation, Employment, Housing, Consumer Finance, Markets, Trade, Government/Fiscal, Demographics, Health. Two workflows: UpdateData, GetCurrentState (10y/5y/2y/1y trend analysis). USE WHEN GDP, inflation, unemployment, economic metrics, gas prices, how is the economy, refresh data, FRED, US metrics, economic trends. NOT FOR pathogen surveillance." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/USMetrics/` - -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/USMetrics" -mindepth 1 -maxdepth 1 2>/dev/null; true` +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/Upgrade/SKILL.md b/LifeOS/install/skills/Upgrade/SKILL.md index 115c5625d7..6b90a7ea23 100644 --- a/LifeOS/install/skills/Upgrade/SKILL.md +++ b/LifeOS/install/skills/Upgrade/SKILL.md @@ -2,14 +2,15 @@ name: Upgrade version: 1.1.26 description: "Improve LifeOS from what the best practitioners are shipping around AI harnesses — Anthropic first (changelogs, docs, releases), then trusted creators, trending repos, and the system's own reflections — extracting concrete techniques and filtering them against verified current state so nothing already-done or rejected is re-recommended. USE WHEN upgrade, system upgrade, check Anthropic, new Claude features, algorithm upgrade, LifeOS upgrade, mine reflections." +allowed-tools: Bash(find:*) --- ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Upgrade/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Upgrade" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If the directory does not exist, proceed with skill defaults. +If any paths are listed above, read and apply any PREFERENCES.md, configurations, or resources found there. These override default behavior. If nothing is listed, proceed with skill defaults. ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) diff --git a/LifeOS/install/skills/WriteStory/SKILL.md b/LifeOS/install/skills/WriteStory/SKILL.md index 24fb0a2b50..f8a558ff1e 100644 --- a/LifeOS/install/skills/WriteStory/SKILL.md +++ b/LifeOS/install/skills/WriteStory/SKILL.md @@ -2,6 +2,7 @@ name: WriteStory version: 1.1.10 description: "Scaffolding that helps a writer build a story they already want to tell — fills in structure, hidden wound, theme, and prose from the writer's own material across seven narrative layers, deriving the spine from their notes as proposals they ratify. Bans generic AI patterns; scales short story to multi-book series. USE WHEN write story, fiction, novel, chapter, story bible, character arc, plot outline, creative writing, worldbuilding, draft story, help me write my story, develop my novel, layer my story, build out my book, I have notes for a story. NOT FOR narrative summaries of real content." +allowed-tools: Bash(find:*) --- ## 🚨 MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION) @@ -101,10 +102,10 @@ WriteStory augments a creator. It never substitutes for one. This is the rule th ## Customization -**Before executing, check for user customizations at:** -`~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/WriteStory/` +**User customizations for this skill** (resolved at invocation — empty means none): +!`find "${CLAUDE_CONFIG_DIR:-$HOME/.claude}/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/WriteStory" -mindepth 1 -maxdepth 1 2>/dev/null; true` -If this directory exists, load and apply: +If any paths are listed above, read and apply: - `PREFERENCES.md` — default genre, aesthetic, voice - `projects//` — saved interviews and the Story Bible ISA for each book in progress