engineering-method-footguns
engineering-method-footguns is a skill in maxrave-dev/kotlin-footguns, last changed 24 Sept 2026. It can run shell commands. Our pattern check flagged nothing at commit dfcbe32 on 27 Oct 2026.
Pattern check: nothing flagged · commit dfcbe32 · 27 Oct 2026
InstallDebugging-method traps: run the discriminating experiment first, read build logs bottom-up, treat an empty actual as unwritten, audit shared handles before removing a feature, read commit history critically. Use when a fix is not converging.
- Licence
- GPL 3.0
- Repo stars
- 1.7k
- Folder last changed
- 24 Sept 2026 (opens in a new tab)
- Publisher
- maxrave-dev
- Files
- 10 files
- Checked
- dfcbe32 (opens in a new tab) · 27 Oct 2026
Install
Each tab says whether it installs commit dfcbe32, the one we checked, or the latest version.
No tab for your agent? Use Any agent for OpenCode, Goose, Windsurf (Devin Desktop), Zed, Roo Code, Factory Droid, Junie, Amp and Antigravity, and Claude Code for Cline. Kiro needs the folder copied by hand.
Pinned to commit dfcbe32, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/maxrave-dev/kotlin-footguns.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
git -C "$tmp" sparse-checkout set -- skills/engineering-method-footguns &&
git -C "$tmp" checkout -q dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
mkdir -p .claude/skills &&
mkdir .claude/skills/engineering-method-footguns &&
cp -R "$tmp"/skills/engineering-method-footguns/. .claude/skills/engineering-method-footguns/ &&
rm -rf "$tmp"If Claude Code was already running and this created the skills folder, run /reload-skills.
Or install the kotlin-footguns plugin it ships in. Installs the latest version, not the one we checked. Installs everything in the plugin, including any hooks, MCP servers and scripts our check doesn't cover.
claude plugin marketplace add maxrave-dev/kotlin-footguns --scope project &&
claude plugin install kotlin-footguns@maxrave --scope projectPinned to commit dfcbe32, the one we checked.
Skills in the Claude apps belong to your account rather than to a project.
Make engineering-method-footguns.zip, with the skill folder at the top level:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/maxrave-dev/kotlin-footguns.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
git -C "$tmp" sparse-checkout set -- skills/engineering-method-footguns &&
git -C "$tmp" checkout -q dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
out="$(mktemp -d)" &&
cp -R "$tmp"/skills/engineering-method-footguns "$out"/engineering-method-footguns &&
(cd "$out" && zip -qr - engineering-method-footguns) > engineering-method-footguns.zip &&
rm -rf "$tmp" "$out"In Claude, open Customize > Skills, select +, then + Create skill > Upload a skill, and choose engineering-method-footguns.zip.
On Free, Pro and Max plans, turn on Code execution and file creation (Create and edit files in newer settings) under Settings > Capabilities.
Pinned to commit dfcbe32, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/maxrave-dev/kotlin-footguns.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
git -C "$tmp" sparse-checkout set -- skills/engineering-method-footguns &&
git -C "$tmp" checkout -q dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
mkdir -p .agents/skills &&
mkdir .agents/skills/engineering-method-footguns &&
cp -R "$tmp"/skills/engineering-method-footguns/. .agents/skills/engineering-method-footguns/ &&
rm -rf "$tmp"Codex picks up new skills on its own; restart it if this one does not appear.
Pinned to commit dfcbe32, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/maxrave-dev/kotlin-footguns.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
git -C "$tmp" sparse-checkout set -- skills/engineering-method-footguns &&
git -C "$tmp" checkout -q dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
mkdir -p .cursor/skills &&
mkdir .cursor/skills/engineering-method-footguns &&
cp -R "$tmp"/skills/engineering-method-footguns/. .cursor/skills/engineering-method-footguns/ &&
rm -rf "$tmp"Pinned to commit dfcbe32, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/maxrave-dev/kotlin-footguns.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
git -C "$tmp" sparse-checkout set -- skills/engineering-method-footguns &&
git -C "$tmp" checkout -q dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
mkdir -p .github/skills &&
mkdir .github/skills/engineering-method-footguns &&
cp -R "$tmp"/skills/engineering-method-footguns/. .github/skills/engineering-method-footguns/ &&
rm -rf "$tmp"In a running Copilot CLI session, run /skills reload.
Or install it with gh skill, which also installs the commit we checked. Needs GitHub CLI 2.90 or later.
gh skill install maxrave-dev/kotlin-footguns skills/engineering-method-footguns/SKILL.md@dfcbe32081705bbe2aeefef830b9adeb67bec438 --agent github-copilot --scope projectPinned to commit dfcbe32, the one we checked.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/maxrave-dev/kotlin-footguns.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
git -C "$tmp" sparse-checkout set -- skills/engineering-method-footguns &&
git -C "$tmp" checkout -q dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
mkdir -p .gemini/skills &&
mkdir .gemini/skills/engineering-method-footguns &&
cp -R "$tmp"/skills/engineering-method-footguns/. .gemini/skills/engineering-method-footguns/ &&
rm -rf "$tmp"In a running session, run /skills reload.
Or use Gemini CLI’s own installer. Installs the latest version, not the one we checked.
gemini skills install https://github.com/maxrave-dev/kotlin-footguns.git --path skills/engineering-method-footguns --scope workspacePinned to commit dfcbe32, the one we checked.
Codex, Cursor, Copilot, VS Code, Gemini CLI, OpenCode, Goose, Amp and Zed all read .agents/skills; Claude Code and Kiro list only their own folders.
From your project's root folder:
tmp="$(mktemp -d)" &&
git clone -q --depth 1 --filter=blob:none --no-checkout https://github.com/maxrave-dev/kotlin-footguns.git "$tmp" &&
git -C "$tmp" fetch -q --depth 1 origin dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
git -C "$tmp" sparse-checkout set -- skills/engineering-method-footguns &&
git -C "$tmp" checkout -q dfcbe32081705bbe2aeefef830b9adeb67bec438 &&
mkdir -p .agents/skills &&
mkdir .agents/skills/engineering-method-footguns &&
cp -R "$tmp"/skills/engineering-method-footguns/. .agents/skills/engineering-method-footguns/ &&
rm -rf "$tmp"Or use the skills CLI from skills.sh. Installs the latest version, not the one we checked. The skills CLI reports installs to skills.sh unless you set DISABLE_TELEMETRY=1.
npx skills@1.7.4 add maxrave-dev/kotlin-footguns --skill engineering-method-footgunsWhat it can touch
From the files and frontmatter at commit dfcbe32. This is how much a skill can do, not whether it is risky.
What it can touch: Scripts or outside hosts
Runs shell commands
Its instructions or files give the agent commands to run on your computer.
Pattern check
Pattern check: nothing flagged · commit dfcbe32 · 27 Oct 2026
We checked every text file in this skill, at commit dfcbe32 on 27 Oct 2026, against 45 published patterns such as download-and-run commands, hidden text and credential access. We don't run the skill, we don't read the web pages it points to, and we can't judge everything its instructions might lead an agent to do. In published tests, pattern checks like this one missed most malicious skills. Read the skill before you install it — especially anything it asks you to download or run.
Format check
Each agent reads SKILL.md a little differently. We check the file against each one's published rules; we don't run the skill in any agent.
Agent Skills specPasses
The open format from agentskills.io, held to what the strictest agents enforce, so one folder loads everywhere.
- Note
There is no license field, so readers can't tell whether they may reuse the skill. O2
Fix: Add license: with an SPDX name such as MIT or Apache-2.0, or the name of a bundled licence file.
- Note
Reference files over 100 lines with no table of contents at the top: references/commit-archaeology-red-flags.md (141 lines), references/noop-actual-not-platform-limit.md (132 lines), references/read-build-logs-bottom-up.md (139 lines), references/run-discriminating-experiment-first.md (115 lines), references/writing-agent-skill-house-style.md (141 lines) and 1 more. B5
Fix: Add a short list of the sections at the top of each.
- Note
Claude CodePasses
Claude Code reads its own extra fields, ignores unknown ones, and still loads a skill whose frontmatter is broken, without its fields.
- Note
Reference files over 100 lines with no table of contents at the top: references/commit-archaeology-red-flags.md (141 lines), references/noop-actual-not-platform-limit.md (132 lines), references/read-build-logs-bottom-up.md (139 lines), references/run-discriminating-experiment-first.md (115 lines), references/writing-agent-skill-house-style.md (141 lines) and 1 more. B5
Fix: Add a short list of the sections at the top of each.
- Note
Claude apps & API uploadPasses
Uploading to claude.ai or the Claude API, or packaging with Anthropic's script, accepts only the six spec fields and stops on anything else.
- Note
The description is 241 characters. The claude.ai Help Center says 200 at most, though Anthropic's API docs and validator allow 1,024. D4
Fix: If the claude.ai upload refuses it, trim the description to 200 characters.
- Note
Reference files over 100 lines with no table of contents at the top: references/commit-archaeology-red-flags.md (141 lines), references/noop-actual-not-platform-limit.md (132 lines), references/read-build-logs-bottom-up.md (139 lines), references/run-discriminating-experiment-first.md (115 lines), references/writing-agent-skill-house-style.md (141 lines) and 1 more. B5
Fix: Add a short list of the sections at the top of each.
- Note
- OpenAI (Codex & API)Passes
- VS Code & CopilotPasses
SKILL.md
We only show SKILL.md text here when its licence clearly allows it.
Read SKILL.md on GitHub (opens in a new tab)Files
10 files
More from maxrave-dev/kotlin-footguns
compose-screens-footguns
maxrave-dev/kotlin-footguns
Compose screen and interaction traps: navigation, adaptive layout, window insets, pagers, toolbars, sheets, list drag and selection, sliders, text fields, settings UI, one-shot effects. Use when layout, gestures or navigation misbehave.
- Runs shell commands
Pattern check: Nothing flaggedGPL 3.0 · 1.7k repo stars · Updated 24 Sept 2026
compose-visuals-footguns
maxrave-dev/kotlin-footguns
Compose look-and-feel traps: theme and colour tokens, artwork palettes, gradients and scrims, shimmer, glass and particle effects, animation, image loading, charts and stats displays (percent changes, shares, buckets). Use when a visual bands, pops, freezes or misleads.
- Runs shell commands
- Reaches the network
- +1 more
Pattern check: Nothing flaggedGPL 3.0 · 1.7k repo stars · Updated 17 Oct 2026
data-layer-footguns
maxrave-dev/kotlin-footguns
Room/SQLite, DataStore and repository traps: migrations, NOT IN with NULLs, LIKE escaping, delete order, local-time bucketing, imports, caching, paging. Use before writing a query or migration, or when data comes back wrong.
- Runs shell commands
- Reaches the network
Pattern check: Nothing flaggedGPL 3.0 · 1.7k repo stars · Updated 24 Sept 2026
desktop-and-build-footguns
maxrave-dev/kotlin-footguns
Desktop JVM and build traps: JNA natives, bundling, memory, packaging, code signing, R8, deep links, Gradle and CI releases. Use when a desktop build fails packaged, signed, on another OS or arch, or in CI.
- Runs shell commands
- Reaches the network
Pattern check: Nothing flaggedGPL 3.0 · 1.7k repo stars · Updated 24 Sept 2026
footgun-scan
maxrave-dev/kotlin-footguns
Scan a Kotlin or Compose Multiplatform diff for known footgun shapes and open the matching trap to confirm each hit. Use before committing, when reviewing a Kotlin change, or to audit a codebase.
- Runs shell commands
- Bundles scripts
Pattern check: Nothing flaggedGPL 3.0 · 1.7k repo stars · Updated 24 Sept 2026
kmp-architecture-footguns
maxrave-dev/kotlin-footguns
Kotlin Multiplatform structure and language traps: module splits, expect/actual, Koin and ViewModel scoping, layers, version catalogs, erased overloads, Char and string-resource formatting limits. Use when shaping modules or DI, when a format specifier renders verbatim, or code misbehaves on one platform.
- Runs shell commands
- Reaches the network
Pattern check: Nothing flaggedGPL 3.0 · 1.7k repo stars · Updated 24 Sept 2026