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:
1 parent
58525056a1
commit
5d96e69d2b
10 files changed
+30
-76
No files matched your search
+2
-10
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
Reference in new issue
Block a user