Commit Graph
25 Commits
Author SHA1 Message Date
Malin fa7c367420 skills: fleet map, default-deny standard, modded-app and vuln-scan skills
- server-fleet-map: add gringo row
- bastille-jail-provisioning: elevate default-deny-outbound to the standard
  for every new jail; reference gringo's live pf.conf
- modded-app-update-pattern: new skill, fork/rebase pattern for locally
  patched apps; uses tailnetatlas on gringo as the concrete example
- dependency-vuln-scanning: new skill, npm audit / pip-audit / osv-scanner
  cadence for deployments and monthly thereafter
2026-08-08 14:01:43 +02:00
MalinandClaude Sonnet 5 be36bcc802 docs: document pf NAT interface-macro silent-no-op bug on shared-IP-alias hosts
Real incident on the staging host: nat on $ext_if from <subnet> to any ->
($ext_if) silently failed to rewrite the source IP when that IP was
already aliased on the same interface, breaking all outbound jail traffic
with no error anywhere - just clean timeouts. Fixed by using an explicit
target IP instead of the interface macro. Cost real debugging time to
trace from "WordPress admin hangs after a PHP upgrade" back to this.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 21:04:24 +02:00
MalinandClaude Sonnet 5 106e61cfbb docs: document NPM dedicated-port jail convention and zsh $path footgun
Two real gotchas from today's goddy->gringo Laravel migration: every jail
on an NPM-fronted host needs a dedicated listen port (8000+last-octet),
not just the shared port 80, or NPM cutover silently can't reach it even
though every direct/Host-header test passes. Separately, zsh ties a
variable literally named `path` to $PATH itself - overwriting it broke
every subsequent command in a config-editing script with no clear error.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 19:44:23 +02:00
Kimi Code 27e3a2975f docs: list new skills and add external-skill vetting note 2026-08-07 18:58:38 +02:00
Kimi Code 02ecce3e3e feat: add tdd skill 2026-08-07 18:58:34 +02:00
Kimi Code 4cba99eb72 feat: add resolving-merge-conflicts skill 2026-08-07 18:58:34 +02:00
Kimi Code f4c52dee19 feat: add research skill 2026-08-07 18:58:34 +02:00
Kimi Code 950e646e7a feat: add redesign-existing-projects skill 2026-08-07 18:58:34 +02:00
Kimi Code 1c00431a0d feat: add handoff skill 2026-08-07 18:58:34 +02:00
Kimi Code 8d44dba880 feat: add full-output-enforcement skill 2026-08-07 18:58:34 +02:00
Kimi Code 8c126125cb feat: add diagnosing-bugs skill 2026-08-07 18:58:34 +02:00
Kimi Code 779d4ee693 feat: add codebase-design skill 2026-08-07 18:58:34 +02:00
Kimi Code 3e8b3ae917 feat: add code-review skill 2026-08-07 18:58:34 +02:00
MalinandClaude Sonnet 5 7c066c8f65 feat: add linus-torvalds-code-review skill
Adapts the clean (no-profanity) SKILL.md variant from Mte90/linus-torvalds-skill,
distilled from 38,293 real Linus Torvalds code-review moves across two decades
of Linux kernel mailing list emails. The upstream project also ships a profane
"soul" persona variant, deliberately not installed here.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-07 17:36:21 +02:00
Malin 8dbe1eb9c1 docs: document the proxy_pass cutover outage and its fix 2026-08-03 14:29:27 +02:00
Malin 4eff29939e docs: add disk-space-check discipline after a real venus MariaDB outage caused by bulk jail creation 2026-08-03 13:47:46 +02:00
Malin d837c6dc1d docs: add venus-specific gotchas from the first production migration (live sysctl, resolv.conf inheritance, STP display red herring) 2026-08-03 13:38:16 +02:00
Malin eb7c63d1f9 feat: document the dedicated-subnet jail migration pattern, update staging jail identity 2026-08-03 13:17:57 +02:00
Malin c868eae35f fix: wordpress-plugin-rebrand's updater-wiring example could reintroduce the dead-updater bug on singleton-class plugins 2026-08-03 06:25:28 +02:00
Malin 3242dadc47 feat: document the nested-add_action-at-lower-priority hook bug (real incident, 3 plugins affected) 2026-08-03 06:19:50 +02:00
MalinandClaude Sonnet 5 eeb08a0d77 feat: capture staging-verification lessons from iWP Cache deployment
New skill wordpress-plugin-staging-verification: use the persistent
staging-1 jail (real-world plugin set left active) instead of a
disposable clean-room jail, full verification checklist, and the
cosmetic-proc_open-error-vs-real-fatal distinction.

Extended bastille-jail-provisioning: bastille0-loopback-missing gotcha
(pass the interface explicitly), IP-alias-can-silently-fail-after-
recreate gotcha, host-reverse-proxy-vs-jail-IP curl mixup, Valkey as
part of the stock stack (correct FreeBSD package name, ACL auth
requirement).

Extended wordpress-plugin-conventions: drop-in source files
(object-cache.php/advanced-cache.php logic) must be excluded from any
glob-based plugin autoloader, or they redeclare WP core's own
wp_cache_*() functions and fatal -- real bug found and fixed live during
iWP Cache's first staging activation attempt.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-02 21:39:39 +02:00
Malin 6a9c364012 feat: add parallel-delegate-shared-files skill from iWP Cache incident 2026-08-02 21:09:58 +02:00
iWP Claudy 5af3379470 Add design/accessibility/security/sanitization skills 2026-08-02 20:15:46 +02:00
iWP Claudy 39a637410c Initial skill library: 9 skills for delegate briefs
WordPress plugin rebrand/conventions/remote-CLI patterns, Gitea release
workflow, bastille jail provisioning, remote shell quoting safety, server
fleet map, delegate brief writing, and verification discipline -- all
derived from real incidents this session, plus two skills adapted (MIT
license, attributed) from obra/superpowers and andrej-karpathy-skills.
2026-08-02 20:08:29 +02:00
Malin 9382b1efdc Initial commit 2026-08-02 18:02:40 +00:00