- domain-packs/ios-app/: komplett referanse-pakke (8 komponenter) — pack.json med components-map, conventions.md, 4 patterns/, gotchas.md, checklist.md splittet i 3 (App Store-submission + security-privacy/MASVS 2.1 + accessibility/WCAG 2.2 AA), 3 scaffold/-maler (PrivacyInfo.xcprivacy-plist, NSUsageDescription-inventar, ASC-metadata), eksempel-feature-brief i Voyage strict-mode-format, glossary.md. Hver teknisk påstand verifisert mot Apple Developer / W3C WAI / OWASP MAS. - domain-packs/claude-code-plugin/: stub — pack.json + conventions.md + gotchas.md + checklist.md + glossary.md ferdige (ekstrahert fra ktg-privat-konvensjoner); patterns/scaffold/examples er stubs. - docs/domain-pack-spec.md: § D2/D3/D4/D7 + restrisiko oppdatert — pack.json components-felt, core/supplementary låst til manifestet, checklist-splitt-konvensjon, snapshot-materialiserings-mekanikk presisert, iOS-versjons-korreksjon (iOS 26, ikke "iOS 18/19"), D7 → "forfattet i S6". - prototype-run/friksjon.md: #9 (Akashic-briefen refererer "iOS 19" som ikke finnes — rettes i S7) + S6-prosessnotater (checklist-splitt bekreftet nødvendig, components-gap fylt, verifiserings-asymmetri ios-app vs claude-code-plugin notert). - CLAUDE.md: peker til domain-packs/ under § Status. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
Claude Code-plugin — gotchas ("ikke gjør dette")
Feil som faktisk har brutt plugins i dette repoet.
Hooks
hookssom array. Det er et objekt med event-nøkler (PreToolUse,PostToolUse,Stop,SessionStart,UserPromptSubmit, …). En array feiler stille / lastes ikke.matchersom nestet objekt. Det er en enkel string —"Bash","Write|Edit". Et objekt der er feil.- Deklarere
"hooks"iplugin.json. Ikke gjør det — Claude Code auto-discovererhooks/hooks.json. Dobbel-deklarasjon = uforutsigbar oppførsel. - Hardkode stier i hook-commands. Bruk
${CLAUDE_PLUGIN_ROOT}— plugin-roten varierer per installasjon. - Bash-/Python-avhengige hooks. Runtime-hooks skal være Node.js
.mjs(cross-platform). Hvis du må bruke bash: bash 3.2-kompatibel (ingendeclare -A,readarray/mapfile,|&) — macOS-default er 3.2.
Context-budget
- Laste en hel katalog (
references/,references/ai-security/). Navngi spesifikke filer. Hele kataloger sprenger budsjettet for nedstrøms-arbeid. - Bruke
general-purpose+ "les agentfilen X" i stedet for en registrertsubagent_type. Det dobler kostnaden og hopper over agent-definisjonens egen verktøy-/modell-konfig. - Preloade "i tilfelle". Max-3-filer-per-invokasjon. Trenger du en fjerde, les den når behovet oppstår.
- Parallell agent-spawning uten grunn. Sekvensiell er default; parallell krever begrunnelse (uavhengige oppgaver, ikke "raskere").
- Plugin-
CLAUDE.mdsom prosa-essay. Under 100 linjer, tabell-basert. Lang = ignorert (samme dynamikk som Cursor-regler).
Manifest & struktur
plugin.jsonutenauto_discover(eller med komponenter både auto-discovered og manuelt deklarert). Hold det konsistent — auto-discovery for commands/agents/skills/hooks.- Feil filnavn-mønster. Agenter:
descriptive-name-agent.md. Commands:command.md. Skills:skill-name/SKILL.md. Avvik = komponenten oppdages ikke. - Skill-
descriptionsom bare sier hva, ikke når. Triggering avhenger av at description-en beskriver aktiveringssituasjonen. "Does X" trigges ikke; "Use when the user asks to X / mentions Y" trigges. - Agent-
descriptionuten when-to-use. Samme: agenten velges på description-en. Inkluder konkrete triggere / eksempler.
Prosess
- Oppdatere
CLAUDE.mdi en separat commit etterpå. Samme commit som endringen — ny agent + agent-tabell, ny command + command-tabell, ny hook + hook-oversikt. - Glemme versjonssync. Versjonsbump? Oppdater package.json/
plugin.json, README-badges, CHANGELOG, konstanter — alle i samme commit. - Skrive kode i andre repos / utvide scope etter godkjent plan uten eksplisitt klarsignal.