
Upgrade
FreeEnhance LifeOS with the latest AI techniques.
Free Β· Opens the source repo
What Upgrade does
The Upgrade skill is designed to keep your LifeOS environment current by integrating the most effective AI techniques and insights from leading practitioners, particularly those from Anthropic. By monitoring various sources such as blogs, changelogs, GitHub repositories, and YouTube channels, the skill extracts actionable recommendations that can be immediately applied to improve your system. This process ensures that you are not only aware of the latest advancements but also equipped to implement them effectively.
When invoked, the Upgrade skill conducts a thorough analysis of both external and internal sources. It assesses what the best minds in AI are doing while also reflecting on your system's past performance and failures. This dual approach allows the skill to provide recommendations that are grounded in the current state of your system, ensuring that you receive relevant and practical advice. Each recommendation is carefully vetted to avoid suggesting anything that has already been implemented or rejected.
The skill operates through a series of workflows, each tailored to specific upgrade tasks. Whether you need to check for general upgrades, mine reflections from past experiences, or dive deeper into algorithm improvements, the Upgrade skill streamlines the process. It communicates findings in a structured format, making it easy to understand what changes are suggested and how they will benefit your LifeOS setup.
Ideal for developers and designers who rely on LifeOS for their projects, the Upgrade skill ensures that your tools remain at the forefront of AI technology. By leveraging the latest insights and maintaining a focus on backward compatibility, it helps you enhance your workflows without risking the stability of your existing system.
When to use it
Use the Upgrade skill when you want to ensure your LifeOS is utilizing the latest AI techniques and improvements from trusted sources.
When not to use it
This skill may not be suitable if you are looking for a one-time upgrade without ongoing monitoring or if your system is highly customized and requires manual adjustments.
What you can build with it
Routine System Check
Invoke the Upgrade skill to perform regular checks for the latest AI enhancements and integrate them into your LifeOS.
Algorithm Improvement
Use the skill to specifically target algorithm upgrades, ensuring your system benefits from proven techniques.
Reflection Mining
Leverage the skill to mine reflections and learn from past experiences, improving your system's performance over time.
How to install Upgrade
View source1. Install with the skills CLI
npx skills add danielmiessler/lifeos/Upgrade --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by danielmiesslerCustomization
Before executing, check for user customizations at:
~/.claude/LIFEOS/USER/CUSTOMIZATIONS/SKILLS/Upgrade/
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.
π¨ MANDATORY: Voice Notification (REQUIRED BEFORE ANY ACTION)
You MUST send this notification BEFORE doing anything else when this skill is invoked.
- Send voice notification:
curl -s -X POST http://localhost:31337/notify \ -H "Content-Type: application/json" \ -d '{"message": "Running the WORKFLOWNAME workflow in the Upgrade skill to ACTION"}' \ > /dev/null 2>&1 & - Output text notification:
Running the **WorkflowName** workflow in the **Upgrade** skill to ACTION...
Upgrade
The ideal state: the system knows what the best people on the internet are saying, doing, and implementing around AI harnesses β Anthropic most importantly β and its configuration improves from that input. A run is done when every worthwhile new technique from the monitored sources has been extracted (quoted, mapped to a specific LifeOS file or component), every candidate has been checked against what the system already has or already decided, and the result reaches the user as tiered, evidence-backed recommendations they can act on immediately.
Signal comes from two directions, and a good run uses both: external (what Anthropic and the best practitioners are shipping) and internal (what the system's own reflections and failure history say is weak). The most valuable recommendations are usually where the two agree.
Workflow Routing
| Workflow | Trigger | File |
|---|---|---|
| Upgrade | "check for upgrades", "check sources", "any updates", "check Anthropic", "check YouTube", "upgrade", "pai upgrade" | Workflows/Upgrade.md |
| MineReflections | "mine reflections", "check reflections", "what have we learned", "internal improvements", "reflection insights" | Workflows/MineReflections.md |
| AlgorithmUpgrade | "algorithm upgrade", "upgrade algorithm", "improve the algorithm", "algorithm improvements", "fix the algorithm" | Workflows/AlgorithmUpgrade.md |
| ResearchUpgrade | "research this upgrade", "deep dive on [feature]", "further research" | Workflows/ResearchUpgrade.md |
| FindSources | "find upgrade sources", "find new sources", "discover channels" | Workflows/FindSources.md |
| TwitterBookmarks | "check bookmarks", "scan bookmarks", "twitter bookmarks", "X bookmarks", "bookmarks for upgrades", "what have I bookmarked" | Workflows/TwitterBookmarks.md |
Default workflow: a bare "upgrade" or "check for upgrades" runs Upgrade (which includes reflection mining).
The Contract (what every recommendation must satisfy)
- Grounded in current state. No recommendation without a Prior Status tag (π/πΆ/π¬/π«) backed by file:line evidence gathered this run. Already-implemented items go to Skipped Content with evidence β that's the proof the prior-state check ran. Rejected ideas (
MEMORY/KNOWLEDGE/REJECTED/) only resurface with a named reason the context changed. - A technique, not a pointer. Quote or code-block the actual content; name the exact LifeOS file or component it improves; include What It Is and How It Helps LifeOS (β€2 concrete sentences each). The test: if "show me the technique" has no answer, it doesn't ship. Content with nothing extractable goes to Skipped with a reason β skip boldly rather than dilute.
- Won't break what exists. Check backward compatibility against current skills, hooks, and workflows before recommending adoption.
- Formatted per the contract.
References/OutputFormat.mdis the single source of truth for section order, Prior Status legend, table columns, and hard rules.
Sources & Tools
| Surface | Contract |
|---|---|
| Anthropic (30+ sources: blog, changelogs, GitHub repos, docs) | bun Tools/Anthropic.ts β diffs against State/last-check.json, updates it itself |
| YouTube channels | Config: youtube-channels.json (base) + user copy in CUSTOMIZATIONS. List: yt-dlp --flat-playlist --dump-json 'https://www.youtube.com/@HANDLE/videos'. Transcript: bun ~/.claude/LIFEOS/TOOLS/GetTranscript.ts '<url>'. Seen-state: State/youtube-videos.json β update after processing |
| GitHub trending | Config: github_trending block in user user-sources.json. gh api 'search/repositories?q=QUERY+created:>DATE+stars:>N&sort=...&per_page=3'. Seen-state: State/github-trending.json β merge, never drop entries |
| Custom sources | user-sources.json in CUSTOMIZATIONS β fetch each; skip dead/redirected pages with a note |
| Claude Code internals | When discoveries touch hooks, settings, slash commands, MCP, agent types, or the SDK/API, spawn Agent(subagent_type="claude-code-guide") to verify against the live surface β never answer from memory |
| Internal reflections | MEMORY/LEARNING/REFLECTIONS/algorithm-reflections.jsonl β method in Workflows/MineReflections.md |
Source labels in output: GitHub: claude-code vX.Y.Z Β· YouTube: Creator @ MM:SS Β· Docs: Section Β· Blog: Title.
Gotchas
- Hard deadline, fail-open β never block on a straggler. Set a synthesis deadline (~4 min) at dispatch; report with whatever is back when it hits. A missing source is listed as
β³ timed outin Sources Processed; it degrades coverage, never delays the report. (2026-07-18: one hung GitHub-trending agent stalled a run ~1 hour.) - Right-size the fan-out (~8 agents). Small-file reads collapse into one agent; network sources get short budgets and are first to drop. Over-fan-out is the failure the reflection corpus flags most.
- Budget the
claude-code-guidefreshness spawn per-spawn β it dies on a broad ask. Asking one spawn to cover the whole Claude Code surface (hook events,settings.json, slash commands, SKILL/subagent frontmatter, MCP, SDK, API) returns nothing: it fans out a batch of doc lookups on its first turn and the combined results blow its context window, surfacing asPrompt is too long~10s after spawn. The prompt length is not the cause β a trivial prompt to the same agent type in a larger parent conversation completes fine; how much the ask makes it FETCH is the variable. Cap at ~3 areas per spawn, tell it to look things up rather than pull whole pages, and split the surface across parallel spawns so losing one costs a slice instead of the whole freshness check. Diagnostic tell: sibling agents in the same batch all succeed while this one dies β that points at the spawn's context budget, not the batch. Fallback that needs no agent at all: readClaude Code CHANGELOGfromsources.jsondirectly and diff the version range. (public PR #1659, @elhoim.) - Idle teammate β delivered result. Spawned agents sometimes go idle without sending output β a one-line SendMessage nudge recovers them. Nudge once; don't re-spawn.
- GitHub search 422s on bare OR between qualifiers with no free-text term. Give every query a free-text term; don't retry a 422 inside the budget.
- Absence from
settings.jsonβ a dead hook. It's GENERATED by MergeSettings; hooks also fire via dispatchers (PreToolGuard) and Pulse HTTP. Flag "verify before concluding dark," never assert dead from absence. - Check sources in parallel, not sequentially β the run is network-bound.
Execution Log
After completing any workflow, append a single JSONL entry:
echo '{"ts":"'$(date -u +%Y-%m-%dT%H:%M:%SZ)'","skill":"Upgrade","workflow":"WORKFLOW_USED","input":"8_WORD_SUMMARY","status":"ok|error","duration_s":SECONDS}' >> ~/.claude/LIFEOS/MEMORY/SKILLS/execution.jsonl
Replace WORKFLOW_USED with the workflow executed, 8_WORD_SUMMARY with a brief input description, and SECONDS with approximate wall-clock time. Log status: "error" if the workflow failed.
Frequently asked questions about Upgrade
Similar skills
Skill Creator
Efficiently create and manage skills for Gemini CLI.
Agent Development
Create and manage autonomous agents for Claude Code.
Math Olympiad Solver
Solve and verify competition math problems effectively.
Microsoft Skill Creator
Create specialized skills for Microsoft technologies.
Doublecheck
A verification pipeline for AI-generated claims.
Skill Development for Claude Code
Create and enhance skills for Claude Code plugins.
