Use when making non-trivial changes, modifying public APIs, or proposing new framework features. Use when changes affect multiple files or require design decisions.
npxskills add aniftyco/kubit--skill kubit-proposing-changeLoading…
Use when making non-trivial changes, modifying public APIs, or proposing new framework features. Use when changes affect multiple files or require design decisions.
npxskills add aniftyco/kubit--skill kubit-proposing-changeLoading…
Non-trivial changes require synchronized updates across types, spec, skeleton, and docs. Major changes need an RFC.
Create RFC in docs/rfcs/ when:
Skip RFC for:
Create docs/rfcs/YYYY-MM-DD-slug.md:
# RFC: [Title]
## Summary
One paragraph overview.
## Motivation
Why is this needed? What problem does it solve?
## Public API Changes
TypeScript signatures for new/changed APIs.
## Example Usage
How it looks in skeleton/.
## Implementation Notes
Key considerations for future implementation.
## Alternatives Considered
What else was considered and why rejected.
## Test Plan
How to verify this works (mapped to skeleton/tests/).
## Required Updates
- [ ] packages/core/*.d.ts
- [ ] docs/SPEC.md
- [ ] skeleton/*
- [ ] CLAUDE.md (if docs changed)
Any API change requires ALL of these:
| File | Update |
|---|---|
skeleton/* | Usage example |
packages/core/*.d.ts | Type definitions |
docs/SPEC.md | API documentation |
.claude/CLAUDE.md | If docs/ changed |
digraph change_flow {
"Non-trivial change?" [shape=diamond];
"Needs RFC?" [shape=diamond];
"Create RFC" -> "Discuss with user" -> "Update SPEC Decision Log";
"Make synchronized updates" -> "Verify tsc passes" -> "Done";
"Non-trivial change?" -> "Needs RFC?" [label="yes"];
"Needs RFC?" -> "Create RFC" [label="yes"];
"Needs RFC?" -> "Make synchronized updates" [label="no"];
"Update SPEC Decision Log" -> "Make synchronized updates";
}
When decision is made, add to SPEC.md:
### YYYY-MM-DD: [Decision Title]
**Context:** [What prompted this]
**Decision:** [What was decided]
**Rationale:** [Why]
**Alternatives rejected:** [What else was considered]
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Set up and use 1Password CLI (op). Use when installing the CLI, enabling desktop app integration, signing in (single or multi-account), or reading/injecting/running secrets via op.
CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).