irfanfaraaz/claude-kit/m01-ownership
Claude Code and agent skill by irfanfaraaz/claude-kit
- community
Checking that the SKILL.md file is still in the repository.
CRITICAL: Use for ownership/borrow/lifetime issues. Triggers: E0382, E0597, E0506, E0507, E0515, E0716, E0106, value moved, borrowed value does not live long enough, cannot move out of, use of moved value, ownership, borrow, lifetime, 'a, 'static, move, clone, Copy, 所有权, 借用, 生命周期
Install
npx vskill@latest install irfanfaraaz/claude-kit/m01-ownershipSKILL.md
The same SKILL.md was published earlier as actionbook/rust-skills/m01-ownership.
Ownership & Lifetimes
Layer 1: Language Mechanics
Core Question
Who should own this data, and for how long?
Before fixing ownership errors, understand the data's role:
- Is it shared or exclusive?
- Is it short-lived or long-lived?
- Is it transformed or just read?
Error → Design Question
| Error | Don't Just Say | Ask Instead | |
|---|---|---|---|
| E0382 | "Clone it" | Who should own this data? | |
| E0597 | "Extend lifetime" | Is the scope boundary correct? | |
| E0506 | "End borrow first" | Should mutation happen elsewhere? | |
| E0507 | "Clone before move" | Why are we moving from a reference? | |
| E0515 | "Return owned" | Should caller own the data? | |
| E0716 | "Bind to variable" | Why is this temporary? | |
| E0106 | "Add 'a" | What is the actual lifetime relationship? |
Thinking Prompt
Before fixing an ownership error, ask:
- What is this data's domain role?
- Entity (unique identity) → owned
- Value Object (interchangeable) → clone/copy OK
- Temporary (computation result) → maybe restructure
- Is the ownership design intentional?
- By design → work within constraints
- Accidental → consider redesign
- Fix symptom or redesign?
- If Strike 3 (3rd attempt) → escalate to Layer 2
Trace Up ↑
When errors persist, trace to design layer:
| Persistent Error | Trace To | Question | |
|---|---|---|---|
| E0382 repeated | m02-resource | Should use Arc/Rc for sharing? | |
| E0597 repeated | m09-domain | Is scope boundary at right place? | |
| E0506/E0507 | m03-mutability | Should use interior mutability? |
Trace Down ↓
From design decisions to implementation:
Quick Reference
| Pattern | Ownership | Cost | Use When | |
|---|---|---|---|---|
| Move | Transfer | Zero | Caller doesn't need data | |
&T | Borrow | Zero | Read-only access | |
&mut T | Exclusive borrow | Zero | Need to modify | |
clone() | Duplicate | Alloc + copy | Actually need a copy | |
Rc<T> | Shared (single) | Ref count | Single-thread sharing | |
Arc<T> | Shared (multi) | Atomic ref count | Multi-thread sharing | |
Cow<T> | Clone-on-write | Alloc if mutated | Might modify |
Error Code Reference
| Error | Cause | Quick Fix | |
|---|---|---|---|
| E0382 | Value moved | Clone, reference, or redesign ownership | |
| E0597 | Reference outlives owner | Extend owner scope or restructure | |
| E0506 | Assign while borrowed | End borrow before mutation | |
| E0507 | Move out of borrowed | Clone or use reference | |
| E0515 | Return local reference | Return owned value | |
| E0716 | Temporary dropped | Bind to variable | |
| E0106 | Missing lifetime | Add 'a annotation |
Anti-Patterns
| Anti-Pattern | Why Bad | Better | |
|---|---|---|---|
.clone() everywhere | Hides design issues | Design ownership properly | |
| Fight borrow checker | Increases complexity | Work with the compiler | |
'static for everything | Restricts flexibility | Use appropriate lifetimes | |
Leak with Box::leak | Memory leak | Proper lifetime design |
Related Skills
| When | See | |
|---|---|---|
| Need smart pointers | m02-resource | |
| Need interior mutability | m03-mutability | |
| Data is domain entity | m09-domain | |
| Learning ownership concepts | m14-mental-model |
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/m01-ownership/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/irfanfaraaz/claude-kit/m01-ownership)