Deploy Astermem
Asterove/AsterMem
Guide the user through taking AsterMem live — on a cloud server, or on a machine they already own (home NAS, Raspberry Pi, this computer) exposed through Cloudflare Tunnel with no public IP.
This skill should be used to periodically defragment a multi-app/multi-service codebase — both CODE (duplicate deploy targets, colliding bindings, stale forks) and CONTEXT (parallel spec…
$ npx skills add jacob-dietle/context-os --skill code-service-defrag -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install jacob-dietle/context-os code-service-defrag --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.claude/skills/code-service-defrag .claude/skills/code-service-defrag && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "code-service-defrag" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/code-service-defrag into .claude/skills/code-service-defrag/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-service-defrag", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/code-service-defragType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add jacob-dietle/context-os --skill code-service-defrag -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install jacob-dietle/context-os code-service-defrag --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.claude/skills/code-service-defrag .agents/skills/code-service-defrag && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "code-service-defrag" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/code-service-defrag into .agents/skills/code-service-defrag/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-service-defrag", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jacob-dietle/context-os --skill code-service-defrag -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install jacob-dietle/context-os code-service-defrag --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.claude/skills/code-service-defrag .cursor/skills/code-service-defrag && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "code-service-defrag" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/code-service-defrag into .cursor/skills/code-service-defrag/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-service-defrag", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/jacob-dietle/context-os.git --path .claude/skills/code-service-defrag--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add jacob-dietle/context-os --skill code-service-defrag -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install jacob-dietle/context-os code-service-defrag --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.claude/skills/code-service-defrag .gemini/skills/code-service-defrag && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "code-service-defrag" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/code-service-defrag into .gemini/skills/code-service-defrag/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-service-defrag", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install jacob-dietle/context-os code-service-defragInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add jacob-dietle/context-os --skill code-service-defrag -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .github/skills && cp -r skills-src/.claude/skills/code-service-defrag .github/skills/code-service-defrag && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "code-service-defrag" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/code-service-defrag into .github/skills/code-service-defrag/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-service-defrag", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add jacob-dietle/context-os --skill code-service-defrag -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install jacob-dietle/context-os code-service-defrag --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/jacob-dietle/context-os.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.claude/skills/code-service-defrag .opencode/skills/code-service-defrag && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "code-service-defrag" agent skill from https://github.com/jacob-dietle/context-os/tree/main/.claude/skills/code-service-defrag into .opencode/skills/code-service-defrag/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "code-service-defrag", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
code-service-defragThis skill should be used to periodically defragment a multi-app/multi-service codebase — both CODE (duplicate deploy targets, colliding bindings, stale forks) and CONTEXT (parallel spec…
Code Service Defrag is an agent skill from jacob-dietle/context-os. This skill should be used to periodically defragment a multi-app/multi-service codebase — both CODE (duplicate deploy targets, colliding bindings, stale forks) and CONTEXT (parallel spec conventions, orphan docs, scattered context packages) — on any platform (Cloudflare, Railway, Vercel, Fly, Render, Docker Compose). Converts the vague "things are getting messy" feeling into specific, located, severity-ranked findings. Detect-only — does NOT auto-consolidate. Apply on a monthly cadence, before any risky deploy…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including scripts and reference files (for example `references/cadence.md`, `references/downstream-handoff.md` and `references/landmine-patterns.md`).
It sits in DevOps & Cloud, covering Containers. It works with Cloudflare, Vercel and Docker. The licence is MIT.
6 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 1027e3f. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 7 files in scripts/ (Shell), which the agent can run.
Shell commands in SKILL.md call:
bashgitFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Code Service Defrag loads about 3.7k tokens when it runs, and up to ~9.1k if it reads all its reference files. Until then it costs about 202 tokens; SKILL.md has 1,677 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from jacob-dietle/context-os at commit 1027e3f, republished under its MIT licence (© jacob-dietle). 1,677 words, ~3,738 tokens.
.claude/skills/code-service-defrag/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.Periodic consolidation of a fragmenting codebase — code AND context — back into coherent, single-source-of-truth wholes. The maintenance discipline that counteracts the entropy agentic coding produces.
Meta-Principle: Agentic coding fragments state faster than humans consolidate it. Fragmentation only accumulates — it is the second law applied to repos. Defrag is the periodic counter-force. Run it on a cadence, or discover the fragmentation the day a deploy fires from the wrong directory.
Conway's Law says a system mirrors the communication structure of whoever built it. Invert it: a codebase touched by parallel agents and multiple humans across many sessions — with no single mind holding the whole map — necessarily accumulates fragments. Duplicate configs, forks, orphan specs, services quietly sharing a database. This is not sloppiness to feel bad about; it is the expected entropy of high-leverage, multi-actor development. The only real question is whether you defrag periodically or meet the fragmentation when it detonates.
The leverage of agentic coding (ship 10x faster) is paid for in visibility (nobody holds the full map). Defrag buys the visibility back, cheaply, on a schedule.
| Terrain | Fragments into | Detonates as |
|---|---|---|
| Code | duplicate deploy targets, colliding bindings, stale forks, orphan repos | a silent prod overwrite — deploy from the wrong dir clobbers the live one |
| Context | parallel spec conventions, orphan docs, scattered context packages | a false foundation — an agent onboards from the wrong context and builds on it |
Treat both as first-class. Code drift fails loud (eventually — when a deploy detonates). Context drift fails silent — an agent reads the wrong spec, produces confidently wrong work, and nobody notices until it ships. The context half of this skill is not a footnote to the code half; it is the half that fails without a stack trace.
Any system with multiple deployable units accumulates collision risk: two things that can silently overwrite or corrupt each other. The platform changes the vocabulary, not the shape.
| Universal concept | Cloudflare | Railway | Vercel | Fly | Docker Compose |
|---|---|---|---|---|---|
| Deploy target (what a deploy pushes to) | Worker name | Service name | Project name | App name | Compose service |
| Shared datastore (silent corruption risk) | D1 database_id | DATABASE_URL / Postgres | Linked DB | attached Postgres | named volume / DB service |
| Domain claim (exclusive, last-writer-wins) | route pattern | service domain | project domain | [[services]] | published port |
| Deploy config | wrangler.toml | railway.json/toml | vercel.json | fly.toml | docker-compose.yml |
The landmine is always the same shape: two configs name the same target, or bind the same shared resource, and the platform does not stop the wrong one from winning. Whether that shape is 🔴 or 🟢 depends on the platform's deploy model — see references/platform-collision-semantics.md. A name match is a candidate, never an automatic verdict.
Fragmentation registers as a vague "things are getting messy in here" unease. A vague feeling is not actionable, so it gets deferred — until it detonates. Defrag's core move is converting the unactionable feeling into a specific, located, severity-ranked finding.
| Perceived (the feeling) | Actual (what defrag locates) |
|---|---|
| "Things are getting messy in here" | Two wrangler.toml deploy to the same worker — and you can't say which is live |
| "I should clean up sometime" | Three services point at the same prod Postgres; none owns migrations |
| "There's old stuff lying around" | A 6-month-old fork shares a name with the active dir; grep finds the wrong one first |
| "The docs are a bit scattered" | Two context-package conventions; agents onboard from whichever they hit first |
If a defrag pass ends with a feeling instead of a located finding with a file path and a severity, it failed.
These are the teeth. Run them before classifying severity.
1. The "Which one is live?" test. For every deploy-target name, can you name the canonical directory in under five seconds? Hesitation is the finding — your mental map has diverged from the repo. A system you can't answer this for instantly is already fragmented.
2. The "Two-deploy" test. If you ran the deploy command from each directory sharing a target name, would the same live deployment change? Yes → they are the same target; one is a silent-overwrite landmine (🔴). No (different platform/project/namespace) → coincidental (🟢). This test is what platform-collision-semantics.md formalizes per platform.
3. The "Onboard cold" test (context). If a fresh agent loaded context for this project right now, would it find one coherent source — or land in whichever fragment it happened to hit first? More than one possible answer = context fragmentation, even if every individual doc is fine.
Apply when:
deploy / push / release on a shared accountgit subtree add, directory move, or fork consolidationDo NOT apply when:
The skill produces a severity-ranked report; the human decides what to consolidate. Auto-fixing would re-introduce the exact cowboy problem this skill exists to prevent — one more actor changing state without holding the whole map. Defrag's job is to restore visibility, not to act on it unsupervised.
Default scope: apps/* (or services/, packages/) in the current repo — any directory holding deployable units with their own configs.
# List app-like directories
ls -d apps/*/ services/*/ packages/*/ 2>/dev/null
# Spot deployable units across platforms
find . -maxdepth 3 \( -name "wrangler.toml" -o -name "railway.json" -o -name "railway.toml" \
-o -name "vercel.json" -o -name "fly.toml" -o -name "render.yaml" \
-o -name "docker-compose.yml" -o -name "Dockerfile" \) -not -path "*/node_modules/*" 2>/dev/nullConfirm scope with the user if ambiguous.
bash .claude/skills/code-service-defrag/scripts/defrag_scan.sh [scope_root]The master scanner runs six sub-scans and aggregates findings:
scan_deploy_target_names.sh — duplicate deploy-target names across CF / Railway / Vercel / Fly / Render / Compose configsscan_bindings.sh — shared-datastore collisions (Postgres/Supabase/MySQL/DATABASE_URL) + CF D1/KV/R2/route collisionsscan_archive_markers.sh — directories with no explicit CANONICAL or ARCHIVED marker in their READMEscan_stale_forks.sh — directories sharing similar names with divergent commit activityscan_spec_dirs.sh — spec/context-package drift (parallel conventions, orphan files, legacy staging dirs)scan_deploy_surface.sh — enumeration of every location a deploy can fire from, with git remoteIf a sub-scan returns no output, that is a finding in itself — note it explicitly (e.g., "no platform configs found" is valid for a library-only repo).
A name match is a candidate, not a verdict. Severity comes from the platform's deploy model — does it protect you from the collision, or leave it as a footgun? Flattening "duplicate name = 🔴" across all platforms produces false confidence. Calibrate per platform using references/platform-collision-semantics.md.
| Severity | Meaning | Example trigger |
|---|---|---|
| 🔴 Landmine | A single deploy silently regresses production, no warning | Account/org-global target name + identical bindings (Cloudflare, Fly); overlapping domain claim; same datastore with no migration owner |
| 🟡 Candidate / Drift | Real only if a platform-specific condition holds — confirm it | Same name on a project-scoped platform (Railway/Render — same project?); Vercel name match (same projectId?); shared datastore (intentional?); stale fork; spec drift |
| 🟢 OK / coincidental | Platform protects you, or the match is across namespaces | Cross-platform name match (separate namespaces); Compose service name across files; explicit canonical/archived marker |
The 🔴 rule that never relaxes: account/org-global name + identical bindings (Cloudflare, Fly) — the shape that fires silently with zero warning.
For each candidate, run the platform-specific check in references/platform-collision-semantics.md and escalate (🟡→🔴) or clear (🟡→🟢). Never leave a 🟡 candidate unresolved on a platform whose footgun you haven't checked. See references/landmine-patterns.md for the catalog of shapes.
Write the report to _system/reports/defrag_YYYY-MM-DD.md (or wherever the repo keeps reports). Structure:
# Defrag Report — YYYY-MM-DD
## Scope
- Directories scanned: N
- Configs found: X by platform
## Findings by Severity
### 🔴 Landmines (N)
1. **[finding title]** — [what collides, where, evidence]
- Locations: `apps/foo/<config>:3`, `apps/bar/<config>:3`
- Collision: same deploy-target name + same datastore binding
- Recommended downstream: pick canonical → write consolidation plan → migrate → verify
### 🟡 Drift (N)
### 🟢 OK (N)
## Deploy Surface Inventory
| Location | Config | Target | Domain | Git remote |
## Recommended Next ActionsEvery finding MUST have: specific file paths with line numbers, evidence, and a recommended next step.
Show the report summary (counts by severity + top 3 landmines if any). Do NOT start consolidating — the user decides.
If 🔴 findings exist, the standard consolidation sequence is:
pick canonical → trace 2nd/3rd-order effects → write consolidation spec →
execute migration (preserve history) → verify safety before deploy → record the whyIf only 🟡 findings exist, either defer to the next defrag or execute lightweight fixes (add archive marker, delete orphan, document the intentional shared datastore).
Append one line to a defrag log so "last defrag was X days ago" is answerable:
YYYY-MM-DD | N scanned | L 🔴 / D 🟡 / O 🟢 | report: defrag_YYYY-MM-DD.mdscripts/)All scripts are bash, detect-only, exit 0 on success with findings on stdout. None modify the filesystem. None print credentials (the datastore scan reads only host/identifier portions of connection strings, never passwords).
defrag_scan.sh — master orchestrator; runs all sub-scans and concatenates outputscan_deploy_target_names.sh — duplicate deploy-target names across all supported platformsscan_bindings.sh — shared-datastore collisions (any stack) + CF D1/KV/R2/route collisionsscan_archive_markers.sh — for each app dir, checks README for explicit CANONICAL or ARCHIVED markerscan_stale_forks.sh — directories with similar base names + diverging last-commit timestampsscan_spec_dirs.sh — context/docs drift: parallel context_packages/ dirs, empty convention dirs, legacy staging dirs, orphan spec filesscan_deploy_surface.sh — enumerates every deploy config (CF/Fly/Docker/Vercel/Railway/Render/Compose) with target name and git remoteRun individually for targeted investigation, or use defrag_scan.sh for the full pass.
references/)platform-collision-semantics.md — the calibration layer: per-platform deploy model, what each platform protects you from, and therefore what severity a detected collision deserves. This is where the skill's potency lives — consult it during classification.landmine-patterns.md — the specific shapes of silent-overwrite landmines, with anonymized reproducing snippets and severity rules. Patterns are stated platform-agnostically with per-platform examples.downstream-handoff.md — decision tree mapping finding types to remediation chains.cadence.md — when to run, what to expect, how "good" looks over time.Before delivering the report:
The scanners already cover Cloudflare, Railway, Vercel, Fly, Render, and Docker Compose. To add a platform:
scan_deploy_target_names.sh how to extract the target name from that platform's configscan_bindings.sh the platform's shared-resource identifiers (if any beyond the generic datastore scan)scan_deploy_surface.shThe directory-level scanners (scan_archive_markers.sh, scan_stale_forks.sh, scan_spec_dirs.sh) are already platform-agnostic — they reason about directories, READMEs, and git history, not deploy configs.
© jacob-dietle, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (scripts, references) in .claude/skills/code-service-defrag of jacob-dietle/context-os.
Open the folder on GitHubat commit 1027e3f
Code Service Defrag next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Code Service Defrag this skilljacob-dietle/context-os | 111 | — | ~3.7k | Automated safety check: Pass | MIT | |
| Deploy AstermemAsterove/AsterMem | 161 | — | ~3.2k | Automated safety check: Warn | AGPL-3.0 | |
| Devops SpecialistCaoMeiYouRen/caomei-auth | 220 | — | ~446 | Automated safety check: Notes | MIT | |
| Devopsnicepkg/auto-company | 194 | 2 repos | ~814 | Automated safety check: Pass | MIT | |
| Pwa ReleaseAHS12/thoth-blueprint | 625 | — | ~505 | Automated safety check: Pass | GPL-3.0 | |
| CI/CD Pipeline Principlesirahardianto/awesome-agv | 157 | — | ~2.7k | Automated safety check: Notes | MIT |
Asterove/AsterMem
Guide the user through taking AsterMem live — on a cloud server, or on a machine they already own (home NAS, Raspberry Pi, this computer) exposed through Cloudflare Tunnel with no public IP.
CaoMeiYouRen/caomei-auth
修改 Docker、CI/CD、部署配置、环境变量、运行时参数、构建脚本和发布流程时使用。优先覆盖 Docker、Vercel、Cloudflare 与 GitHub Actions 场景。用户提到 deploy、Dockerfile、workflow、CI、CD、environment variables、build pipeline、release config 时都应触发。
nicepkg/auto-company
Deploy to Cloudflare (Workers, R2, D1), Docker, GCP (Cloud Run, GKE), Kubernetes (kubectl, Helm).
AHS12/thoth-blueprint
Safely change Vite, service-worker, offline fallback, cache, Docker, Vercel, or release-distribution behavior.
irahardianto/awesome-agv
Rules for designing CI/CD pipelines in layers: universal lint, test and scan stages, container builds with SBOM attestation, and GitOps for orchestrated deployments.
agentfront/frontmcp
A skill your agent uses when deploying, building for production, packaging, or shipping a FrontMCP server.
jacob-dietle/context-os
A skill your agent uses when deciding what to work on next, when progress is stuck, or when the reflex is to build or automate before proving the current bottleneck.
jacob-dietle/context-os
This skill should be used when producing content (newsletter posts, blog posts, LinkedIn posts) from existing corpus material.
jacob-dietle/context-os
This skill should be used when users ask about their work context, what they're working on, recent activity, file relationships, or knowledge graph structure.
jacob-dietle/context-os
This skill should be used when making architectural decisions, writing specs, or reviewing decisions that contain "future work", "v2", "simpler for now", "out of scope", or complexity claims.
jacob-dietle/context-os
This skill should be used when decomposing a spec into a multi-agent implementation plan with dependency ordering, parallelism decisions, contract testing, and verification strategy.
jacob-dietle/context-os
This skill should be used when a specific quality problem (UX, data, architecture, feature) needs systematic diagnosis and iterative fixing toward a defined target.
Works with
Categories
This skill should be used to periodically defragment a multi-app/multi-service codebase — both CODE (duplicate deploy targets, colliding bindings, stale forks) and CONTEXT (parallel spec…. Code Service Defrag is an agent skill from jacob-dietle/context-os. This skill should be used to periodically defragment a multi-app/multi-service codebase — both CODE (duplicate deploy targets, colliding bindings, stale forks) and CONTEXT (parallel spec conventions, orphan docs, scattered context packages) — on any platform (Cloudflare, Railway, Vercel, Fly, Render, Docker Compose).
Code Service Defrag fits situations like: tasks that involve Containers.
Run `npx skills add jacob-dietle/context-os --skill code-service-defrag -a claude-code`. Or copy the skill folder (.claude/skills/code-service-defrag in jacob-dietle/context-os) into .claude/skills/code-service-defrag in your project. Claude Code loads it when a task matches its description.
Run `npx skills add jacob-dietle/context-os --skill code-service-defrag -a codex`. Or copy the skill folder (.claude/skills/code-service-defrag in jacob-dietle/context-os) into .agents/skills/code-service-defrag in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add jacob-dietle/context-os --skill code-service-defrag -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/code-service-defrag, .gemini/skills/code-service-defrag, .github/skills/code-service-defrag and .opencode/skills/code-service-defrag in your project.
Going by SKILL.md and its folder, Code Service Defrag needs a shell for the scripts in its folder and the command-line tools its instructions call (bash and git). Our summary lists: A Bash shell; Docker.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Code Service Defrag is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 5.4k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Code Service Defrag: Deploy Astermem (Asterove/AsterMem, 161 stars), Devops Specialist (CaoMeiYouRen/caomei-auth, 220 stars), Devops (nicepkg/auto-company, 194 stars) and Pwa Release (AHS12/thoth-blueprint, 625 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
jacob-dietle (a GitHub user) maintains it in jacob-dietle/context-os, which has 111 GitHub stars. The repository holds 11 skills in this directory. The repository was last updated on August 13, 2026.
Source: jacob-dietle/context-os on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.