118 lines
3.3 KiB
Markdown
118 lines
3.3 KiB
Markdown
---
|
|
name: Coding
|
|
slug: coding
|
|
version: 1.0.3
|
|
homepage: https://clawic.com/skills/coding
|
|
description: "适应您的偏好的编码风格记忆。"
|
|
changelog: Improve discoverability, add homepage and feedback section
|
|
metadata: {"clawdbot":{"emoji":"💻","requires":{"bins":[]},"os":["linux","darwin","win32"]}}
|
|
---
|
|
|
|
## When to Use
|
|
|
|
User has coding style preferences, stack decisions, or patterns they want remembered. Agent learns ONLY from explicit corrections and confirmations, never from observation.
|
|
|
|
## Architecture
|
|
|
|
Memory lives in `~/coding/` with tiered structure. See `memory-template.md` for setup.
|
|
|
|
```
|
|
~/coding/
|
|
├── memory.md # Active preferences (≤100 lines)
|
|
└── history.md # Archived old preferences
|
|
```
|
|
|
|
## Quick Reference
|
|
|
|
| Topic | File |
|
|
|-------|------|
|
|
| Categories of preferences | `dimensions.md` |
|
|
| When to add preferences | `criteria.md` |
|
|
| Memory templates | `memory-template.md` |
|
|
|
|
## Data Storage
|
|
|
|
All data stored in `~/coding/`. Create on first use:
|
|
```bash
|
|
mkdir -p ~/coding
|
|
```
|
|
|
|
## Scope
|
|
|
|
This skill ONLY:
|
|
- Learns from explicit user corrections ("I prefer X over Y")
|
|
- Stores preferences in local files (`~/coding/`)
|
|
- Applies stored preferences to code output
|
|
|
|
This skill NEVER:
|
|
- Reads project files to infer preferences
|
|
- Observes coding patterns without consent
|
|
- Makes network requests
|
|
- Reads files outside `~/coding/`
|
|
- Modifies its own SKILL.md
|
|
|
|
## Core Rules
|
|
|
|
### 1. Learn from Explicit Feedback Only
|
|
- User corrects output → ask: "Should I remember this preference?"
|
|
- User confirms → add to `~/coding/memory.md`
|
|
- Never infer from silence or observation
|
|
|
|
### 2. Confirmation Required
|
|
No preference is stored without explicit user confirmation:
|
|
- "Actually, I prefer X" → "Should I remember: prefer X?"
|
|
- User says yes → store
|
|
- User says no → don't store, don't ask again
|
|
|
|
### 3. Ultra-Compact Format
|
|
Keep each entry 5 words max:
|
|
- `python: prefer 3.11+`
|
|
- `naming: snake_case for files`
|
|
- `tests: colocated, not separate folder`
|
|
|
|
### 4. Category Organization
|
|
Group by type (see `dimensions.md`):
|
|
- **Stack** — frameworks, databases, tools
|
|
- **Style** — naming, formatting, comments
|
|
- **Structure** — folders, tests, configs
|
|
- **Never** — explicitly rejected patterns
|
|
|
|
### 5. Memory Limits
|
|
- memory.md ≤100 lines
|
|
- When full → archive old patterns to history.md
|
|
- Merge similar entries: "no Prettier" + "no ESLint" → "minimal tooling"
|
|
|
|
### 6. On Session Start
|
|
1. Load `~/coding/memory.md` if exists
|
|
2. Apply stored preferences to responses
|
|
3. If no file exists, start with no assumptions
|
|
|
|
### 7. Query Support
|
|
User can ask:
|
|
- "Show my coding preferences" → display memory.md
|
|
- "Forget X" → remove from memory
|
|
- "What do you know about my Python style?" → show relevant entries
|
|
|
|
## Common Traps
|
|
|
|
- Adding preferences without confirmation → user loses trust
|
|
- Inferring from project structure → privacy violation
|
|
- Exceeding 100 lines → context bloat
|
|
- Vague entries ("good code") → useless, be specific
|
|
|
|
## Security & Privacy
|
|
|
|
**Data that stays local:**
|
|
- All preferences stored in `~/coding/`
|
|
- No telemetry or analytics
|
|
|
|
**This skill does NOT:**
|
|
- Send data externally
|
|
- Access files outside `~/coding/`
|
|
- Observe without explicit user input
|
|
|
|
## Feedback
|
|
|
|
- If useful: `clawhub star coding`
|
|
- Stay updated: `clawhub sync`
|