Update .NET OS Packages
dotnet/core
Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.
在布局中需要阴影、圆角、纯色/渐变背景、描边、pressed/selected/ripple、虚线、子 View 按圆角裁剪, 或想少写 shape/layer-list/selector drawable 时,优先使用 com.lihang.ShadowLayout( https://github.com/lihangleo2/ShadowLayout )。流程与常见坑在…
$ npx skills add afkT/DevUtils --skill ui-shadowlayout -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install afkT/DevUtils ui-shadowlayout --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/afkT/DevUtils.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/ui-shadowlayout .claude/skills/ui-shadowlayout && 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 "ui-shadowlayout" agent skill from https://github.com/afkT/DevUtils/tree/master/.cursor/skills/ui-shadowlayout into .claude/skills/ui-shadowlayout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-shadowlayout", 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/afkT/DevUtils/tree/master/.cursor/skills/ui-shadowlayoutType 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 afkT/DevUtils --skill ui-shadowlayout -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install afkT/DevUtils ui-shadowlayout --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/afkT/DevUtils.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.cursor/skills/ui-shadowlayout .agents/skills/ui-shadowlayout && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "ui-shadowlayout" agent skill from https://github.com/afkT/DevUtils/tree/master/.cursor/skills/ui-shadowlayout into .agents/skills/ui-shadowlayout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-shadowlayout", 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 afkT/DevUtils --skill ui-shadowlayout -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install afkT/DevUtils ui-shadowlayout --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/afkT/DevUtils.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.cursor/skills/ui-shadowlayout .cursor/skills/ui-shadowlayout && 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 "ui-shadowlayout" agent skill from https://github.com/afkT/DevUtils/tree/master/.cursor/skills/ui-shadowlayout into .cursor/skills/ui-shadowlayout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-shadowlayout", 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/afkT/DevUtils.git --path .cursor/skills/ui-shadowlayout--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 afkT/DevUtils --skill ui-shadowlayout -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install afkT/DevUtils ui-shadowlayout --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/afkT/DevUtils.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.cursor/skills/ui-shadowlayout .gemini/skills/ui-shadowlayout && 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 "ui-shadowlayout" agent skill from https://github.com/afkT/DevUtils/tree/master/.cursor/skills/ui-shadowlayout into .gemini/skills/ui-shadowlayout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-shadowlayout", 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 afkT/DevUtils ui-shadowlayoutInstalls 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 afkT/DevUtils --skill ui-shadowlayout -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/afkT/DevUtils.git skills-src && mkdir -p .github/skills && cp -r skills-src/.cursor/skills/ui-shadowlayout .github/skills/ui-shadowlayout && 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 "ui-shadowlayout" agent skill from https://github.com/afkT/DevUtils/tree/master/.cursor/skills/ui-shadowlayout into .github/skills/ui-shadowlayout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-shadowlayout", 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 afkT/DevUtils --skill ui-shadowlayout -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install afkT/DevUtils ui-shadowlayout --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/afkT/DevUtils.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.cursor/skills/ui-shadowlayout .opencode/skills/ui-shadowlayout && 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 "ui-shadowlayout" agent skill from https://github.com/afkT/DevUtils/tree/master/.cursor/skills/ui-shadowlayout into .opencode/skills/ui-shadowlayout/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "ui-shadowlayout", 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.
ui-shadowlayout在布局中需要阴影、圆角、纯色/渐变背景、描边、pressed/selected/ripple、虚线、子 View 按圆角裁剪, 或想少写 shape/layer-list/selector drawable 时,优先使用 com.lihang.ShadowLayout( https://github.com/lihangleo2/ShadowLayout )。流程与常见坑在…
UI Shadowlayout is an agent skill from afkT/DevUtils. 在布局中需要阴影、圆角、纯色/渐变背景、描边、pressed/selected/ripple、虚线、子 View 按圆角裁剪, 或想少写 shape/layer-list/selector drawable 时,优先使用 com.lihang.ShadowLayout( https://github.com/lihangleo2/ShadowLayout )。流程与常见坑在 SKILL,R.styleable.ShadowLayout 下全部 app:hl、代码 API 与 raw 源码见 references/reference.md。以 Maven/JitPack 坐标与上游 GitHub README/raw 为准,不依赖工作区 shadowLibrary 模块路径。
Its SKILL.md is about 1.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/reference.md`).
It sits in Development, covering Technical documentation. It works with GitHub. The repository describes itself as: :fire: ( 持续更新,目前含 300+ 工具类 ) DevUtils 是一个 Android 工具库,主要根据不同功能模块,封装快捷使用的工具类及 API 方法调用。该项目尽可能的便于开发人员,快捷、高效开发安全可靠的项目。 The licence is Apache-2.0.
7 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 6022ede. 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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are xml).
From the folder's file list and the shell code blocks in SKILL.md.
Hosts in commands or code, which the agent is likely to contact:
schemas.android.comFrom 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.
UI Shadowlayout loads about 1.1k tokens when it runs, and up to ~2.7k if it reads all its reference files. Until then it costs about 90 tokens; SKILL.md has 193 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); files beside SKILL.md are not scanned.
The full file from afkT/DevUtils at commit 6022ede, republished under its Apache-2.0 licence (© afkT). 193 words, ~1,051 tokens.
.claude/skills/ui-shadowlayout/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.禁止在工作区内查找或假设存在 shadowLibrary/ 等上游子模块路径。能力说明、hl_* 属性全表、代码 API、版本 tag 与 raw 链接见 references/reference.md。
新增依赖:JitPack 坐标 com.github.lihangleo2:ShadowLayout:<version>;本仓库集中坐标时 Read project-gradle-central-deps/SKILL.md,勿重复 GAV。
对照上游 README;属性枚举与实现细节以 references/reference.md 中的上游 raw 为准(仅通过上游 URL,不读本地模块)。
在以下场景优先用 ShadowLayout 包裹子 View,减少 drawable 里的 shape / selector / layer-list:
reference 图片、与 pressed / selected / ripple 组合(类 selector)。clickable=false 时的单独背景(配合 pressed 等)。不适用 / 慎用:hl_shapeMode="dashLine" 时控件退化为虚线线段模式,初始化路径与阴影/shape 主流程不同,不能混用渐变等能力(见下文「虚线模式」)。
与 DevWidget round 包:若需求仅为无阴影的圆角矩形纯色+描边且工程已用 DevWidget,可按项目 ui-devwidget-round 取舍;本 Skill 覆盖阴影、渐变、ripple、selector 态、裁剪等更重场景。
com.lihang.ShadowLayout 继承 FrameLayout,子 View 写在标签内即可。xmlns:app="http://schemas.android.com/apk/res-auto"(以工程为准)。ShadowLayout,XML 里属性前缀一般为 app:(全表见 references/reference.md)。app:hl_strokeWith(README 与源码均为 With,不是 Width)。app:hl_layoutBackground 为透明色(README 示例用 @color/transparent)。dispatchDraw 内对子级做 clipPath(@RequiresApi(LOLLIPOP));逻辑在存在 getChildAt(0) != null 时按圆角裁剪,需 API 21+ 行为与设备 GPU 路径支持。app:clickable="false" 避免与 item 点击冲突(见属性表 clickable)。dashLine(单独使用)hl_shapeMode="dashLine"、hl_strokeColor、hl_stroke_dashWidth、hl_stroke_dashGap(缺一会抛 UnsupportedOperationException)。hl_shapeMode 枚举:见 references/reference.md § hl_shapeMode 枚举。圆角 + 阴影 + 子 View
<com.lihang.ShadowLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:hl_cornerRadius="10dp"
app:hl_shadowColor="#2a000000"
app:hl_shadowLimit="5dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="36dp"
android:text="内容" />
</com.lihang.ShadowLayout>仅裁剪 + 透明底(README 视频圆角)
<com.lihang.ShadowLayout
android:layout_width="match_parent"
android:layout_height="200dp"
app:hl_cornerRadius_leftTop="12dp"
app:hl_cornerRadius_rightTop="12dp"
app:hl_layoutBackground="@android:color/transparent"
app:clickable="false">
<!-- 子 View:SurfaceView / TextureView / ImageView 等 -->
</com.lihang.ShadowLayout>hl_shadowHidden="true" 或只配 shape/裁剪。hl_strokeWith?hl_layoutBackground_true / hl_strokeColor_true 是否与对应「常态」属性成对?hl_layoutBackground?clickable 与 透明背景?dashLine 是否单独使用且 dash 参数成对?ShadowLayout.java),而非工作区路径?© afkT, Apache-2.0. 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 1 other file (references) in .cursor/skills/ui-shadowlayout of afkT/DevUtils.
Open the folder on GitHubat commit 6022ede
UI Shadowlayout 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 |
|---|---|---|---|---|---|---|
| UI Shadowlayout this skillafkT/DevUtils | 1.6k | — | ~1.1k | Automated safety check: Pass | Apache-2.0 | |
| Update .NET OS Packagesdotnet/core | 22k | — | ~2.3k | Automated safety check: Pass | MIT | |
| Beautify GitHub Readmeoil-oil/beautify-github-readme | 1.8k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Library Documentation Seekerwithkynam/vibecode-pro-max-kit | 1.1k | 2 repos | ~1k | Automated safety check: Notes | MIT | |
| Update .NET Supported OS Matrixdotnet/core | 22k | — | ~4.1k | Automated safety check: Pass | MIT | |
| Debate ReviewamElnagdy/review-skills | 132 | 2 repos | ~986 | Automated safety check: Pass | MIT |
dotnet/core
Audits and updates os-packages.json files listing the Linux packages each .NET release needs per distro, then regenerates the Markdown from the JSON.
oil-oil/beautify-github-readme
Redesign GitHub README homepages or create project-native pure SVG, hybrid SVG-composed PNG/WebP, and opt-in animated GIF assets.
withkynam/vibecode-pro-max-kit
Looks up library and framework documentation through Context7 first, with bundled Node scripts as a fallback that fetch and analyze llms.txt files.
dotnet/core
Audits and updates the supported-os.json files for .NET releases, checking them against upstream lifecycle data and regenerating the markdown with the release-notes tool.
amElnagdy/review-skills
Two-model debate review of a GitHub PR, GitLab MR, Azure DevOps PR, or local working tree, posted as inline comments or printed.
agent-substrate/substrate
Posts pull request review findings as GitHub draft (pending) inline comments for a human to edit and submit, instead of publishing them straight to the PR author.
afkT/DevUtils
依据 Android 官方「版本」文档完成平台适配:按版本号 N 抓取行为变更(所有应用、 targetSdk=N)、changes/features 子页与探索新功能/API;归纳影响项并落地到 Manifest/Gradle/工具类封装。在用户要求 Android 版本适配、行为变更排查、 targetSdk 升级、新 API 封装或对照…
afkT/DevUtils
统一 Android XML 资源命名:layout、drawable、mipmap、color、values、id 的前缀与 snakecase 规则;把颜色/圆角/描边/状态编码进文件名(bg、border、textcolor…selector)。
afkT/DevUtils
根据用户给出的 Java/Kotlin 工具类或 View 相关源码,设计并实现 androidx.databinding.BindingAdapter。
afkT/DevUtils
对 DevUtils 工程(DEPSROOT=file/gradle、DEPSMANIFEST=file/deps)中定义的第三方库 GAV 依赖做版本查证与升级;结合 Maven Central、Google Maven、Gradle Plugin Portal、 JitPack 与 GitHub Releases/README 交叉校验「最新可用版本」;必要时修正…
afkT/DevUtils
为布局 XML 中的控件默认补全 DevSimple(lib/DevSimple)的 ViewTheme 样式引用: 按控件继承链匹配 ViewTheme.<类名>,ImageView/AppCompatImageView 使用 ViewTheme.ImageView.FITXY,无匹配则用 ViewTheme.View。工作区内优先 Read…
afkT/DevUtils
在需要圆角矩形纯色背景、描边边框时,优先用 DevWidget(io.github.afkt:DevWidgetX)的 dev.widget.ui.round 包替代 shape / layer-list drawable。流程与核心坑在 SKILL,Round 系列 View、R.styleable.DevWidget 中 app:dev 属性及源码对照见…
Works with
Categories
在布局中需要阴影、圆角、纯色/渐变背景、描边、pressed/selected/ripple、虚线、子 View 按圆角裁剪, 或想少写 shape/layer-list/selector drawable 时,优先使用 com.lihang.ShadowLayout( https://github.com/lihangleo2/ShadowLayout )。流程与常见坑在…. UI Shadowlayout is an agent skill from afkT/DevUtils.
UI Shadowlayout fits situations like: tasks that involve Technical documentation.
Run `npx skills add afkT/DevUtils --skill ui-shadowlayout -a claude-code`. Or copy the skill folder (.cursor/skills/ui-shadowlayout in afkT/DevUtils) into .claude/skills/ui-shadowlayout in your project. Claude Code loads it when a task matches its description.
Run `npx skills add afkT/DevUtils --skill ui-shadowlayout -a codex`. Or copy the skill folder (.cursor/skills/ui-shadowlayout in afkT/DevUtils) into .agents/skills/ui-shadowlayout 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 afkT/DevUtils --skill ui-shadowlayout -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/ui-shadowlayout, .gemini/skills/ui-shadowlayout, .github/skills/ui-shadowlayout and .opencode/skills/ui-shadowlayout in your project.
SKILL.md names no scripts, command-line tools or credentials: UI Shadowlayout is instructions for the agent only.
SKILL.md names 1 domain. In commands or code: schemas.android.com; the agent is likely to contact it when it follows the instructions. 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. Review the folder before installing.
UI Shadowlayout is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.1k tokens (SKILL.md is roughly 4.2k 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 1.7k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with UI Shadowlayout: Update .NET OS Packages (dotnet/core, 22k stars), Beautify GitHub Readme (oil-oil/beautify-github-readme, 1.8k stars), Library Documentation Seeker (withkynam/vibecode-pro-max-kit, 1.1k stars) and Update .NET Supported OS Matrix (dotnet/core, 22k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
afkT (a GitHub user) maintains it in afkT/DevUtils, which has 1,612 GitHub stars. The repository holds 13 skills in this directory. The repository was last updated on September 2, 2026.
Source: afkT/DevUtils on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.