refactor(skills): inline cross-links, drop Related sections, fix conventions

- all nine files: trailing "Related" sections removed, their unique links
  inlined where the topic actually arises (FFI boundary -> c-cpp, embedded
  frontend -> js-typescript, build scripts -> bash, etc.)
- README conventions: rule 2 mandated a Related Skills section, which now
  contradicts practice — replaced with inline-linking and one-home-per-fact
  rules. The <repo>/<rel path> rule was appended after the wrong section
  last commit; moved into the list where it belongs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
BluscreamandClaude Opus 5 committed 2026-09-18 12:49:30 +02:00
1 parent 58525056a1
commit 5d96e69d2b
10 files changed
+30 -76

No files matched your search

+2 -10
View File
@@ -11,8 +11,8 @@ description: >-
Extends [`coding-dev.md`](skills-public/coding-dev.md). Everything there applies; this adds shell specifics.
Bash is for **orchestration** — sequencing tools, wiring a build pipeline, gluing CLIs.
Once a script grows real data structures, arithmetic, or parsing, it wants to be Python or
a compiled tool instead.
Once a script grows real data structures, arithmetic, or parsing, it wants to be
[Python](skills-public/code-languages/python.md) or a compiled tool instead.
---
@@ -165,11 +165,3 @@ Standalone utility scripts belong in a **dedicated, version-controlled scripts d
symlinked into `PATH` rather than copied there. Never write a loose script directly into
`~/.local/bin` or another `PATH` directory — the source of truth should be one versioned
location. See [`cli-tooling.md` §5](skills-public/cli-tooling.md) for the reasoning and the pattern.
---
## 10. Related
- [`coding-dev.md`](skills-public/coding-dev.md) — the general rules this extends.
- [`cli-tooling.md`](skills-public/cli-tooling.md) — invoking other tools *from* these scripts:
discovery, non-interactive flags, structured output.
- [`python.md`](skills-public/code-languages/python.md) — where a shell script should have become a Python script.
+2 -9
View File
@@ -11,8 +11,8 @@ description: >-
Extends [`coding-dev.md`](skills-public/coding-dev.md). Everything there applies; this adds C/C++ specifics.
C and C++ are for the cases with no better option: existing codebases, hard real-time paths,
and FFI boundaries. **For new standalone work, prefer Rust** — the memory-safety guarantees
are worth more than the familiarity.
and FFI boundaries. **For new standalone work, prefer [Rust](skills-public/code-languages/rust.md)** — the memory-safety
guarantees are worth more than the familiarity.
---
@@ -144,10 +144,3 @@ When exposing C/C++ to another language:
- When a binary search through a packed/embedded blob finds nothing, that is not evidence the
content is absent — packed asset formats defeat naive string searches. Re-check without
anchoring before concluding.
---
## 9. Related
- [`coding-dev.md`](skills-public/coding-dev.md) — the general rules this extends.
- [`rust.md`](skills-public/code-languages/rust.md) — the preferred language for new native work, and the usual consumer
of these FFI boundaries.
+2 -7
View File
@@ -143,12 +143,7 @@ interface, a type being renamed):
project's designated container. Entering one resets the working directory — chain `cd` in the
same command string.
- Prefer the project's build script over hand-typed `dotnet` calls; it carries `-warnaserror`,
the correct action ordering, and the asset completeness checks.
the correct action ordering, and the asset completeness checks — see
[`bash.md`](skills-public/code-languages/bash.md) for how that script should be structured.
- **Never stop, deploy to, or restart an application while the user has it running**, unless
they have said to.
---
## 9. Related
- [`coding-dev.md`](skills-public/coding-dev.md) — the general rules this extends.
- [`bash.md`](skills-public/code-languages/bash.md) — for the release pipeline scripts around a .NET build.
+2 -7
View File
@@ -135,7 +135,8 @@ CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o bin/app ./cmd/app
- One package per concern; **package names are lowercase, single-word, no underscores**, and
never `util` or `common`.
- Keep the exported surface small. Unexported by default.
- Embed frontend/static assets with `//go:embed` for single-binary distribution.
- Embed frontend/static assets with `//go:embed` for single-binary distribution — the frontend
itself follows [`js-typescript.md`](skills-public/code-languages/js-typescript.md).
- File and function size limits from the general rules apply.
---
@@ -149,9 +150,3 @@ CGO_ENABLED=0 go build -trimpath -ldflags="-s -w" -o bin/app ./cmd/app
- **Regression test every fixed bug.**
- **Never run destructive operations against real accounts or user data during validation** —
temporary fixtures only.
---
## 10. Related
- [`coding-dev.md`](skills-public/coding-dev.md) — the general rules this extends.
- [`js-typescript.md`](skills-public/code-languages/js-typescript.md) — for the embedded frontend in a Go service.
+2 -7
View File
@@ -175,7 +175,8 @@ Attach an `AbortController` to every long-lived `fetch` and abort it in cleanup.
## 10. Tooling & Tests
- Respect the project's runtime and package manager (`npm` / `pnpm` / `yarn` / `bun`) and its
lockfile. Do not switch package managers or add a second lockfile.
lockfile. Do not switch package managers or add a second lockfile. Build and release scripts
around it follow [`bash.md`](skills-public/code-languages/bash.md).
- Test runner: whatever the project uses (`vitest`, `bun test`, `jest`). Tests live beside the
code as `*.test.ts(x)` unless the project says otherwise.
- **Add unit tests for new logic and route tests for new handlers.** Prioritize coverage on
@@ -195,9 +196,3 @@ Attach an `AbortController` to every long-lived `fetch` and abort it in cleanup.
> current APIs frequently differ from what is in a model's training data. **Read the version's
> own docs in `node_modules/<pkg>/dist/docs/` or the project's pinned documentation before
> writing code against them.** Heed deprecation notices rather than pattern-matching from memory.
---
## 12. Related
- [`coding-dev.md`](skills-public/coding-dev.md) — the general rules this extends.
- [`bash.md`](skills-public/code-languages/bash.md) — for the build/release scripts around these projects.
+1 -6
View File
@@ -9,6 +9,7 @@ description: >-
# Python — Rules & Preferences
Extends [`coding-dev.md`](skills-public/coding-dev.md). Everything there applies; this adds Python specifics.
For the surrounding build and deploy scripts, see [`bash.md`](skills-public/code-languages/bash.md).
---
@@ -145,9 +146,3 @@ When talking to a rate-limited API (a chat platform, a store, a tracker):
- **Never exercise destructive operations against real accounts or real data.** Temporary
fixtures only.
- `pytest -p no:randomly` only when order genuinely matters, and note why.
---
## 10. Related
- [`coding-dev.md`](skills-public/coding-dev.md) — the general rules this extends.
- [`bash.md`](skills-public/code-languages/bash.md) — for the surrounding build and deploy scripts.
+1 -7
View File
@@ -96,7 +96,7 @@ workspace = true
**Forbidden by default**, enforced in `Cargo.toml` with `unsafe_code = "forbid"`.
If an FFI binding genuinely requires it, it goes behind a **safe wrapper in exactly one
module**, with a `// SAFETY:` comment on every block stating the invariant being upheld.
module** (see [`c-cpp.md`](skills-public/code-languages/c-cpp.md) for the other side of that boundary), with a `// SAFETY:` comment on every block stating the invariant being upheld.
`unsafe` scattered through call sites is not acceptable.
---
@@ -189,9 +189,3 @@ throttling so a release build does not saturate the machine.
**Split so that as little as possible needs the container**: a `-core` crate with no GUI
dependencies builds and tests directly on the host, which is seconds instead of minutes.
---
## 11. Related
- [`coding-dev.md`](skills-public/coding-dev.md) — the general rules this extends.
- [`c-cpp.md`](skills-public/code-languages/c-cpp.md) — when bindgen/FFI crosses into a C library.