Contributing

June 19, 2026 · View on GitHub

This kit carries transferable method, never project context. Every contribution must clear two bars. Keep them both and the kit stays valuable; drop either and it rots into vague advice or a data leak.

The two bars (non-negotiable)

  1. Project-agnostic. Nothing identifying any real project may ship: no product/company/ competitor names, domains, hosts, IPs, secrets, customer data, schema/field names, or business specifics. Abstract the incident to the rule. "The project that learned it is irrelevant": only the lesson travels.
  2. Concrete, not generic. A rule must be specific enough to act on: name the exact trap, the failure that's silent, and the one check that catches it. "Be careful with migrations" is noise; "a committed migration may only sync schema, data steps never run; verify with a live count" is signal. If it could appear in any generic blog post, sharpen it or cut it.

Where things go

You're adding…Put it in…Shape
A core principle (how to work / think)docs/claude/operating-principles.mdA#/B# entry: rule + one-line why
An operational code-change ruledocs/claude/vigilance-protocol.mdnumbered rule, mid-task actionable
A failure that ships silentlydocs/claude/field-notes.mdtrap → why it's silent → the rule
A reusable subagent.claude/agents/<name>.mdfrontmatter + {{placeholders}}, no real commands
A surfaced reminder of any of the abovememory-seeds/<slug>.md + index linesee format below

Most lessons want two homes: the playbook entry (the full reasoning) and a one-fact memory seed (so it surfaces contextually). Cross-link them.

Formats

Field note: keep the three-part shape exactly:

### N. <the rule, as an imperative one-liner>.
**Trap:** what goes wrong and why it looks fine.
**Why it's silent:** why no error fires / why local tests pass.
**Rule:** the transferable rule + the one live check that catches it.

Memory seed: frontmatter + body with Why and How to apply, and [[links]] to related seeds:

---
name: <slug>
description: <one line, used for recall relevance>
metadata:
  type: feedback   # or: project | reference
---
<the rule in 2-4 sentences>

**Why:** <the failure it prevents; the origin abstracted, never the project>
**How to apply:** <when to reach for it> Pairs with [[other-slug]].

Add a one-line pointer to memory-seeds/MEMORY.md (index = pointers, never content).

Agent: every project-specific value is a {{PLACEHOLDER}}. Never commit a real path, command, host, endpoint, or ID. Keep the shape (e.g. the deploy agent's four gates) regardless of stack. Scope tools: to least privilege: a review/diagnostic agent gets read-only tools (no Edit/Write/deploy); an absent tool is a wall, a prompt instruction isn't.

Self-check before you open a PR

  • Re-read your diff as a stranger: does any line reveal which project taught you this?
  • Run the leak sweep. It must return nothing:
    grep -rniE 'https?://|([0-9]{1,3}\.){3}[0-9]{1,3}|api[_-]?key|token|password|secret|<your-org-or-product-names>' --include='*.md' . \
      | grep -viE 'example\.com|github\.com/Sharrmavishal/operating-kit|no (hardcoded )?secrets|secrets/leaks'
    
  • Every new specific is either universal (email-vs-phone identity, read-modify-write races) or a {{placeholder}}, never a real one.
  • One logical addition per PR; cross-links updated (CLAUDE.md / README / operating- principles companions / MEMORY.md as relevant).
  • It passes the two bars: a reader on a different stack can act on it, and a reader can't tell where it came from.

By contributing you agree your contribution is licensed under the repo's MIT License.