Skip to main content

deepfreeze

TEMPORARY skill loader — fetches remote SKILL.md files without permanent installation. Temp mode auto-cleans on restart. Frozen mode persists across sessions. NEVER uses npx skills add or installs permanently. Use when user wants to load a skill temporarily from a GitHub repo URL, raw URL, or any HTTP link to a SKILL.md file, or says "load temp skill", "fetch skill from", "use this skill temporarily", "temp skill", "freeze", or "deepfreeze".

跳到安装

来源信息

仓库
mahmoud20138/Deepfreeze
最近来源活动
2026年5月29日 18:45
检测到的 SKILL.md 语言
英语
星标
2
分支
0

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
deepfreeze
description
TEMPORARY skill loader — fetches remote SKILL.md files without permanent installation. Temp mode auto-cleans on restart. Frozen mode persists across sessions. NEVER uses npx skills add or installs permanently. Use when user wants to load a skill temporarily from a GitHub repo URL, raw URL, or any HTTP link to a SKILL.md file, or says "load temp skill", "fetch skill from", "use this skill temporarily", "temp skill", "freeze", or "deepfreeze".
argument-hint
URL of the skill to load (GitHub repo or raw SKILL.md URL)
# Deepfreeze Load skills from the internet without installing them permanently. Skills are cached in a session-scoped temp directory and cleaned up on demand. ## CRITICAL: Temporary Only — Never Install **This skill exists to PREVENT permanent installation.** You MUST: - NEVER run `npx skills add`, `npx skills install`, or any install command - NEVER copy files into `~/.config/kilo/skills/` or `~/.kilocode/skills/` (outside `.temp/`) - NEVER modify `package.json`, `.skill-lock.json`, or any config to register a skill - NEVER suggest the user permanently install a skill you fetched temporarily - If the temp loading fails, report the error — do NOT fall back to permanent installation **ALL skills — including those from the Default Skill Library below — are temporary.** They go into `.temp/`, they load into context for the current session, and they get cleaned up. Nothing persists permanently. ## Session Limit: Max 50 Skills **A maximum of 50 temp skills can be loaded per session.** Before fetching a new skill: 1. Count existing skills in `.temp/` directory 2. If count >= 50, refuse and tell the user: "Session limit reached (50 temp skills). Say 'clear temp skills' to free up slots, then try again." 3. If count < 50, proceed with fetch ## Auto-Cleanup on Session Restart Skills are **automatically removed** when a new agent session starts. The CLI tracks sessions via a `.session` marker file in the temp directory. ### How It Works 1. On every `load`, `list`, or `clear` command, the CLI checks the session marker 2. If the session ID has changed (new agent session), all old temp skills are deleted first 3. Session ID is derived from `OPENCLAUDE_SESSION_ID`, `CLAUDE_SESSION_ID`, or `KILO_SESSION_ID` environment variables 4. If no env var is set, uses an auto-generated ID based on parent PID and time window (4-hour buckets) ### Session Commands ```bash deepfreeze session # Show current session info, skill count, and session source ``` ### For Agent Developers To ensure clean session boundaries, set a session environment variable before invoking deepfreeze: ```bash # Set a unique session ID for this agent conversation export OPENCLAUDE_SESSION_ID="session-$(date +%s)-$$" deepfreeze load https://github.com/user/repo ``` Or if your agent framework provides a session ID, pass it through: ```bash OPENCLAUDE_SESSION_ID="$AGENT_SESSION_ID" deepfreeze load <url> ``` ### Manual Cleanup ```bash deepfreeze clear # Remove all temp skills (frozen skills untouched) deepfreeze clear --all # Remove ALL skills (temp + frozen) ``` ## Deep Freeze: Pin Skills Across Sessions **Frozen skills persist across sessions** and are protected from auto-cleanup. Use this for skills you always want available. ### Commands ```bash deepfreeze freeze <name> # Pin a temp skill → moves to .frozen/ deepfreeze unfreeze <name> # Unpin → returns to .temp/ (auto-cleanup again) deepfreeze frozen # List all frozen (pinned) skills ``` ### When to Freeze - **Freeze** a skill when you want it available in every session without re-fetching - **Unfreeze** when you no longer need it pinned, or want to update it - Frozen skills are **not** counted toward the 50 temp skill limit ### Example Workflow ```bash deepfreeze load https://github.com/user/repo # Load as temp deepfreeze freeze pdf # Pin it deepfreeze frozen # Confirm it's frozen # ... session ends, new session starts ... deepfreeze list # Temp is empty (auto-cleared) deepfreeze frozen # 'pdf' still here! deepfreeze unfreeze pdf # Return to temp when done ``` ### For Agent Developers When the user says "freeze this skill" or "pin this skill", run: ```bash deepfreeze freeze <skill-name> ``` When they say "unfreeze" or "unpin": ```bash deepfreeze unfreeze <skill-name> ``` ## Quick Start ```text User: load temp skill from https://github.com/vercel-labs/agent-skills Agent: Fetches, caches, and loads the skill for this session. ``` **Supported URL formats:** - GitHub repo: `https://github.com/user/repo` → fetches `SKILL.md` from repo root - GitHub subfolder: `https://github.com/user/repo/tree/main/path` → fetches `SKILL.md` from that path - Raw URL: `https://example.com/SKILL.md` → fetches directly - Raw GitHub: `https://raw.githubusercontent.com/...` → fetches directly ## URL Resolution When the user provides a URL, resolve it to a raw SKILL.md URL using these rules: 1. **GitHub blob URL** (`github.com/user/repo` or `github.com/user/repo/tree/branch/path`): - Extract `user`, `repo`, `branch` (default: `main`), and `path` (default: root) - Convert to: `https://raw.githubusercontent.com/{user}/{repo}/{branch}/{path}/SKILL.md` - If the path already ends with `.md`, use it as-is (don't append `/SKILL.md`) 2. **Raw GitHub URL** (`raw.githubusercontent.com/...`): - Use as-is 3. **Any other HTTP(S) URL**: - Use as-is (must point to SKILL.md content) ### Resolution Examples | Input | Resolved URL | |---|---| | `https://github.com/vercel-labs/agent-skills` | `https://raw.githubusercontent.com/vercel-labs/agent-skills/main/SKILL.md` | | `https://github.com/user/repo/tree/dev/skills/my-skill` | `https://raw.githubusercontent.com/user/repo/dev/skills/my-skill/SKILL.md` | | `https://raw.githubusercontent.com/user/repo/main/SKILL.md` | `https://raw.githubusercontent.com/user/repo/main/SKILL.md` | | `https://example.com/my-skill.md` | `https://example.com/my-skill.md` | ## Fetching & Caching ### Step 0: Check Session Limit Before fetching, count existing temp skills: ```bash # On Windows (PowerShell) $count = (Get-ChildItem "$HOME\.config\kilo\skills\.temp" -Directory -ErrorAction SilentlyContinue).Count if ($count -ge 50) { Write-Host "LIMIT REACHED: $count/50 temp skills loaded. Run 'clear temp skills' to free slots." } # On macOS/Linux count=$(ls -d ~/.config/kilo/skills/.temp/*/ 2>/dev/null | wc -l) if [ "$count" -ge 50 ]; then echo "LIMIT REACHED: $count/50 temp skills loaded. Run 'clear temp skills' to free slots."; fi ``` If limit reached, STOP and inform the user. Do NOT fetch. ### Step 1: Check Cache First Before fetching, check if the `.temp` directory exists and create it if needed: ```bash # On Windows (PowerShell) New-Item -ItemType Directory -Path "$HOME\.config\kilo\skills\.temp" -Force # On macOS/Linux mkdir -p ~/.config/kilo/skills/.temp ``` Use the appropriate command for the current platform. The `bash` tool abstracts this — just run the command. ### Step 2: Fetch the SKILL.md Content Use the `webfetch` tool with the resolved URL: ``` webfetch(url=resolved_url, format="text") ``` ### Step 3: Validate the Content The fetched content MUST contain valid SKILL.md frontmatter. Check for: - Starts with `---` - Contains `name:` field - Contains `description:` field - Ends the frontmatter block with `---` If validation fails, report the error to the user and stop. ### Step 4: Extract Skill Name Parse the `name:` field from the frontmatter. This becomes the cache directory name. ### Step 5: Save to Cache ```bash # On Windows (PowerShell) $skillDir = "$HOME\.config\kilo\skills\.temp\{skill-name}" New-Item -ItemType Directory -Path $skillDir -Force Set-Content -Path "$skillDir\SKILL.md" -Value $fetchedContent # On macOS/Linux mkdir -p ~/.config/kilo/skills/.temp/{skill-name} echo "$fetchedContent" > ~/.config/kilo/skills/.temp/{skill-name}/SKILL.md ``` Replace `{skill-name}` with the actual name extracted from frontmatter. Use the `Write` tool if available, otherwise use platform-appropriate shell command. ## Loading into Context After saving the skill to cache, load it into the conversation context. ### Method 1: Skill Tool (Preferred) Try loading via the `Skill` tool using the full path: ``` Skill(name="$HOME\.config\kilo\skills\.temp\{skill-name}\SKILL.md") ``` If this works, the skill is now available in context. ### Method 2: Direct Read (Fallback) If the `Skill` tool cannot resolve the temp path, read the file directly: ``` Read(filePath="$HOME\.config\kilo\skills\.temp\{skill-name}\SKILL.md") ``` Then inject the content as context in your response. The skill instructions will be available for the current conversation. ### Confirmation After loading, confirm to the user: "Loaded temp skill '{skill-name}' from {url}. It's now available for this session." ## Cleanup When the user says "clear temp skills", "cleanup temp skills", or "remove temp skills": ### Step 1: List Cached Skills ```bash # On Windows (PowerShell) Get-ChildItem "$HOME\.config\kilo\skills\.temp" -Directory -ErrorAction SilentlyContinue | Select-Object Name # On macOS/Linux ls -la ~/.config/kilo/skills/.temp/ 2>/dev/null ``` If the `.temp` directory doesn't exist or is empty, inform the user: "No temp skills to clean up." ### Step 2: Delete the Temp Directory ```bash # On Windows (PowerShell) Remove-Item "$HOME\.config\kilo\skills\.temp" -Recurse -Force -ErrorAction SilentlyContinue # On macOS/Linux rm -rf ~/.config/kilo/skills/.temp ``` ### Step 3: Confirm Cleanup "Cleared all temp skills from cache." ## Error Handling | Error | Response | |---|---| | Invalid URL format | "The URL doesn't appear to be valid. Please provide a GitHub repo URL or a direct link to a SKILL.md file." | | Fetch fails (404) | "Could not find a skill at that URL. Please check the URL and try again." | | Fetch fails (network) | "Network error while fetching the skill. Please check your connection and try again." | | No frontmatter in response | "The content at that URL doesn't appear to be a valid SKILL.md file (missing frontmatter)." | | Missing `name:` field | Use the last path segment of the URL as the skill name. Inform the user: "No skill name found in frontmatter, using '{segment}' as the name." | | Skill name conflicts with installed skill | Warn the user: "A skill named '{name}' is already installed. The temp version will be loaded instead for this session." | ## Default Skill Library 100 coding & development skills from the open agent skills ecosystem. **All loaded TEMPORARILY — never installed permanently.** Max 50 per session. Source: [skills.sh](https://skills.sh/) — 2026-05-27. ### React & Frontend | # | Skill | Source | Installs | URL | |---|---|---|---|---| | 1 | vercel-react-best-practices | vercel-labs/agent-skills | 389K | `https://github.com/vercel-labs/agent-skills/tree/main/vercel-react-best-practices` | | 2 | vercel-composition-patterns | vercel-labs/agent-skills | 172K | `https://github.com/vercel-labs/agent-skills/tree/main/vercel-composition-patterns` | | 3 | shadcn | shadcn/ui | 147K | `https://github.com/shadcn/ui` | | 4 | frontend-design | anthropics/skills | 421K | `https://github.com/anthropics/skills/tree/main/frontend-design` | | 5 | web-design-guidelines | vercel-labs/agent-skills | 317K | `https://github.com/vercel-labs/agent-skills/tree/main/web-design-guidelines` | | 6 | remotion-best-practices | remotion-dev/skills | 299K | `https://github.com/remotion-dev/skills` | | 7 | vercel-react-native-skills | vercel-labs/agent-skills | 115K | `https://github.com/vercel-labs/agent-skills/tree/main/vercel-react-native-skills` | | 8 | ui-ux-pro-max | nextlevelbuilder/ui-ux-pro-max-skill | 158K | `https://github.com/nextlevelbuilder/ui-ux-pro-max-skill` | | 9 | design-taste-frontend | leonxlnx/taste-skill | 62K | `https://github.com/leonxlnx/taste-skill` | | 10 | canvas-design | anthropics/skills | 55K | `https://github.com/anthropics/skills/tree/main/canvas-design` | | 11 | web-artifacts-builder | anthropics/skills | 45K | `https://github.com/anthropics/skills/tree/main/web-artifacts-builder` | | 12 | emil-design-eng | emilkowalski/skill | 54K | `https://github.com/emilkowalski/skill` | ### Next.js & Deployment | # | Skill | Source | Installs | URL | |---|---|---|---|---| | 13 | next-best-practices | vercel-labs/next-skills | 87K | `https://github.com/vercel-labs/next-skills` | | 14 | next-cache-components | vercel-labs/next-skills | — | `https://github.com/vercel-labs/next-skills` | | 15 | deploy-to-vercel | vercel-labs/agent-skills | 52K | `https://github.com/vercel-labs/agent-skills/tree/main/deploy-to-vercel` | | 16 | vercel-optimize | vercel-labs/agent-skills | 172K | `https://github.com/vercel-labs/agent-skills/tree/main/vercel-optimize` |
在 GitHub 查看
这个 SKILL.md 很大,SkillsMP 这里只预览前一段内容。 在 GitHub 查看