Token导航 LogoToken导航TokenDH.com
研究检索敏感数据clawhub未标认证来源可访问clear审计通过

self-improving-coding自我改进编码

Agent Skill

self-improving-coding 用于记录任务执行中的错误、用户纠正、经验和能力缺口,适合在 OpenClaw 中希望让 Agent 持续沉淀问题、修正和最佳实践时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

3,133

周安装

128

GitHub Stars

公开资料未说明

下载量

1,014
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:self-improving-coding(自我改进编码)
来源仓库:https://github.com/jose-compu/self-improving-coding
安装命令:
openclaw skills install self-improving-coding
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install self-improving-coding

简介

用于捕获编程过程中的 lint 错误、类型不匹配与运行时问题等技术债务。

  • 适用于代码审查、重构机会识别与调试经验积累等场景。
  • 通过系统化记录编码教训,提升代理在软件开发中的质量与效率。
  • 安装命令:openclaw skills install self-improving-coding,需确认是否调用本地工具链。
  • 使用前应评估其对构建流程的影响,避免引入额外开销。

SKILL.md

name
self-improving-coding
description
Captures lint errors, type mismatches, runtime bugs, anti-patterns, refactoring opportunities, language idiom gaps, debugging insights, and tooling issues to enable continuous coding improvement. Use when: (1) A lint or type error occurs, (2) A runtime exception is thrown, (3) An anti-pattern is identified in code, (4) A refactoring opportunity is discovered, (5) A better language idiom is found, (6) A debugging breakthrough reveals root cause, (7) A tooling issue blocks development.

Self-Improving Coding Skill

Log coding-specific learnings, bug patterns, and feature requests to markdown files for continuous improvement. Captures lint errors, type mismatches, runtime bugs, anti-patterns, refactoring opportunities, language idiom gaps, debugging insights, and tooling issues. Important learnings get promoted to style guides, lint rules, code snippet libraries, or debug playbooks.

First-Use Initialisation

Before logging anything, ensure the .learnings/ directory and files exist in the project or workspace root. If any are missing, create them:

mkdir -p .learnings
[ -f .learnings/LEARNINGS.md ] || printf "# Coding Learnings\
\
Bug patterns, anti-patterns, idiom gaps, debugging insights, and tooling issues captured during development.\
\
**Categories**: bug_pattern | anti_pattern | refactor_opportunity | idiom_gap | tooling_issue | debugging_insight\
**Areas**: syntax | logic | data_structures | algorithms | error_handling | testing | tooling\
\
---\
" > .learnings/LEARNINGS.md
[ -f .learnings/BUG_PATTERNS.md ] || printf "# Bug Patterns Log\
\
Recurring bugs, common mistakes, and error patterns.\
\
---\
" > .learnings/BUG_PATTERNS.md
[ -f .learnings/FEATURE_REQUESTS.md ] || printf "# Feature Requests\
\
Coding tools, capabilities, and automation requests.\
\
---\
" > .learnings/FEATURE_REQUESTS.md

Never overwrite existing files. This is a no-op if .learnings/ is already initialised.

Do not log secrets, tokens, private keys, or environment variables. Prefer short summaries or redacted excerpts over raw stack traces or full source files.

If you want automatic reminders, use the opt-in hook workflow described in Hook Integration.

Quick Reference

SituationAction
Lint error encounteredLog to .learnings/BUG_PATTERNS.md with error rule and fix
Type error from checkerLog to .learnings/BUG_PATTERNS.md with type mismatch details
Runtime exception thrownLog to .learnings/BUG_PATTERNS.md with stack trace summary
Anti-pattern found in codeLog to .learnings/LEARNINGS.md with category anti_pattern
Refactoring opportunityLog to .learnings/LEARNINGS.md with category refactor_opportunity
Better idiom discoveredLog to .learnings/LEARNINGS.md with category idiom_gap
Debugging breakthroughLog to .learnings/LEARNINGS.md with category debugging_insight
Tooling issue encounteredLog to .learnings/LEARNINGS.md with category tooling_issue
Recurring bug patternLink with **See Also**, consider priority bump
Broadly applicable patternPromote to style guide, lint rule, or debug playbook
Reusable code solutionPromote to code snippets library

OpenClaw Setup (Recommended)

OpenClaw is the primary platform for this skill. It uses workspace-based prompt injection with automatic skill loading.

Installation

Via ClawdHub (recommended):

clawdhub install self-improving-coding

Manual:

git clone https://github.com/jose-compu/self-improving-coding.git ~/.openclaw/skills/self-improving-coding

Workspace Structure

OpenClaw injects these files into every session:

~/.openclaw/workspace/
├── AGENTS.md          # Multi-agent workflows, delegation patterns
├── SOUL.md            # Behavioral guidelines, personality, principles
├── TOOLS.md           # Tool capabilities, integration gotchas
├── MEMORY.md          # Long-term memory (main session only)
├── memory/            # Daily memory files
│   └── YYYY-MM-DD.md
└── .learnings/        # This skill's log files
    ├── LEARNINGS.md
    ├── BUG_PATTERNS.md
    └── FEATURE_REQUESTS.md

Create Learning Files

mkdir -p ~/.openclaw/workspace/.learnings

Then create the log files (or copy from assets/):

  • LEARNINGS.md — anti-patterns, idiom gaps, debugging insights, tooling issues
  • BUG_PATTERNS.md — lint errors, type mismatches, runtime exceptions, recurring bugs
  • FEATURE_REQUESTS.md — coding tools, automation, IDE capabilities

Promotion Targets

When coding learnings prove broadly applicable, promote them:

Learning TypePromote ToExample
Code style patternsStyle guide"Always use early returns over nested if/else"
Recurring lint fixesLint rules (.eslintrc, ruff.toml)"Disallow mutable default arguments"
Reusable solutionsCode snippets library"Retry with exponential backoff"
Debugging workflowsDebug playbooks"Race condition diagnosis steps"
Tool configurationTOOLS.md"TypeScript strict mode catches 80% of null bugs"
Workflow patternsAGENTS.md"Run type checker before committing"

Optional: Enable Hook

For automatic reminders at session start:

cp -r hooks/openclaw ~/.openclaw/hooks/self-improving-coding
openclaw hooks enable self-improving-coding

See references/openclaw-integration.md for complete details.


Generic Setup (Other Agents)

For Claude Code, Codex, Copilot, or other agents, create .learnings/ in the project or workspace root:

mkdir -p .learnings

Create the files inline using the headers shown above.

Add reference to agent files

Add to AGENTS.md, CLAUDE.md, or .github/copilot-instructions.md:

Self-Improving Coding Workflow

When coding errors or patterns are discovered:

  1. Log to .learnings/BUG_PATTERNS.md, LEARNINGS.md, or FEATURE_REQUESTS.md
  2. Review and promote broadly applicable learnings to:

- Style guides — code style and convention rules - Lint configuration — .eslintrc, ruff.toml, pylintrc - Code snippets — reusable solution templates - Debug playbooks — step-by-step diagnosis guides

Logging Format

Learning Entry [LRN-YYYYMMDD-XXX]

Append to .learnings/LEARNINGS.md:

## [LRN-YYYYMMDD-XXX] category

**Logged**: ISO-8601 timestamp
**Priority**: low | medium | high | critical
**Status**: pending
**Area**: syntax | logic | data_structures | algorithms | error_handling | testing | tooling

### Summary
One-line description of the coding insight

### Details
Full context: what code pattern was found, why it is problematic or beneficial,
what the correct idiom or approach is. Include minimal code snippets.

### Code Example

**Before (problematic):**
\`\`\`language
// problematic code
\`\`\`

**After (correct):**
\`\`\`language
// improved code
\`\`\`

### Suggested Action
Specific refactor, lint rule, or coding guideline to adopt

### Metadata
- Source: lint_error | type_checker | runtime_exception | code_review | profiler | static_analysis
- Language: python | typescript | javascript | rust | go | java | other
- Related Files: path/to/file.ext
- Tags: tag1, tag2
- See Also: LRN-20250110-001 (if related to existing entry)
- Pattern-Key: anti_pattern.mutable_default | idiom.list_comprehension (optional)
- Recurrence-Count: 1 (optional)
- First-Seen: 2025-01-15 (optional)
- Last-Seen: 2025-01-15 (optional)

---

Categories for learnings:

CategoryUse When
bug_patternRecurring bug class (off-by-one, null deref, race condition)
anti_patternCode pattern that leads to bugs or maintenance burden
refactor_opportunityCode that works but should be restructured
idiom_gapUsing non-idiomatic approach when a better idiom exists
tooling_issueBuild tool, linter, formatter, or IDE problem
debugging_insightTechnique or approach that revealed root cause

Bug Pattern Entry [BUG-YYYYMMDD-XXX]

Append to .learnings/BUG_PATTERNS.md:

## [BUG-YYYYMMDD-XXX] error_type_or_name

**Logged**: ISO-8601 timestamp
**Priority**: high
**Status**: pending
**Area**: syntax | logic | data_structures | algorithms | error_handling | testing | tooling

### Summary
Brief description of the bug pattern

### Error Output
\`\`\`
Actual error message, lint output, or stack trace (redacted/summarized)
\`\`\`

### Root Cause
What in the code caused this error. Include the problematic code snippet.

### Fix
\`\`\`language
// corrected code
\`\`\`

### Prevention
How to avoid this bug in the future (lint rule, type annotation, assertion, test)

### Context
- Trigger: lint | type_checker | runtime | test_failure | code_review
- Language: python | typescript | javascript | rust | go | java
- Framework: react | express | django | flask | fastapi (if applicable)
- Input or parameters that triggered the bug

### Metadata
- Reproducible: yes | no | unknown
- Related Files: path/to/file.ext
- See Also: BUG-20250110-001 (if recurring)

---

Feature Request Entry [FEAT-YYYYMMDD-XXX]

Append to .learnings/FEATURE_REQUESTS.md:

## [FEAT-YYYYMMDD-XXX] capability_name

**Logged**: ISO-8601 timestamp
**Priority**: medium
**Status**: pending
**Area**: syntax | logic | data_structures | algorithms | error_handling | testing | tooling

### Requested Capability
What coding tool, automation, or capability is needed

### User Context
Why it's needed, what workflow it improves, what problem it solves

### Complexity Estimate
simple | medium | complex

### Suggested Implementation
How this could be built: lint plugin, IDE extension, script, code generator

### Metadata
- Frequency: first_time | recurring
- Related Features: existing_tool_or_feature

---

ID Generation

Format: TYPE-YYYYMMDD-XXX

  • TYPE: LRN (learning), BUG (bug pattern), FEAT (feature request)
  • YYYYMMDD: Current date
  • XXX: Sequential number or random 3 chars (e.g., 001, A7B)

Examples: LRN-20250415-001, BUG-20250415-A3F, FEAT-20250415-002

Resolving Entries

When an issue is fixed, update the entry:

  1. Change **Status**: pending**Status**: resolved
  2. Add resolution block after Metadata:
### Resolution
- **Resolved**: 2025-01-16T09:00:00Z
- **Commit/PR**: abc123 or #42
- **Notes**: Added lint rule / updated style guide / created snippet

Other status values:

  • in_progress — Actively being refactored or fixed
  • wont_fix — Decided not to address (add reason in Resolution notes)
  • promoted — Elevated to style guide, lint config, or debug playbook
  • promoted_to_skill — Extracted as a reusable skill

Detection Triggers

Automatically log when you encounter:

Lint Failures (→ bug pattern with lint trigger):

  • ESLint errors or warnings
  • Pylint/Ruff/Flake8 violations
  • Clippy warnings (Rust)
  • go vet issues

Type Errors (→ bug pattern with type_checker trigger):

  • TypeScript tsc errors (TS2322, TS2345, etc.)
  • Python mypy/pyright type mismatches
  • Java/Kotlin compiler type errors
  • Rust borrow checker violations

Runtime Exceptions (→ bug pattern with runtime trigger):

  • SyntaxError, TypeError, ReferenceError (JavaScript/Python)
  • NullPointerException, ClassCastException (Java)
  • panic!, segfault (Rust/C)
  • Stack overflow, out of memory

Test Assertion Failures (→ bug pattern with test_failure trigger):

  • AssertionError / expect(...).toBe(...) failures
  • Snapshot mismatches
  • Timeout in async tests
  • Flaky test detection (passes sometimes, fails others)

Code Smells from Static Analysis (→ learning with anti_pattern or refactor_opportunity):

  • Code duplication warnings
  • Cyclomatic complexity exceeding threshold
  • Dead code / unused imports
  • Long parameter lists / god objects

Performance Hotspots (→ learning with debugging_insight):

  • Profiler output showing slow functions
  • N+1 query detection
  • Memory leak indicators
  • Excessive re-renders (React)

Priority Guidelines

PriorityWhen to UseCoding Examples
criticalData corruption, security vulnerability, production crashSQL injection, buffer overflow, data race writing to shared state
highRecurring bug pattern, type safety hole, test reliabilityOff-by-one in pagination, null deref in optional chaining, flaky test
mediumAnti-pattern, code smell, minor type issueMutable default argument, deep nesting, missing error boundary
lowStyle issue, minor refactor, naming conventionInconsistent naming, unused variable, import ordering

Area Tags

Use to filter learnings by coding domain:

AreaScope
syntaxLanguage syntax errors, parsing issues, grammar
logicLogical errors, off-by-one, boundary conditions, control flow
data_structuresArray/list/map misuse, wrong collection type, mutation bugs
algorithmsAlgorithmic correctness, complexity issues, sorting/search bugs
error_handlingMissing try/catch, unhandled promises, error propagation
testingTest assertions, mocking, fixtures, coverage gaps
toolingLinter config, build tools, formatters, IDE setup, CI/CD

Promoting to Permanent Coding Standards

When a learning is broadly applicable (not a one-off fix), promote it to permanent project standards.

When to Promote

  • Bug pattern recurs across multiple files or PRs
  • Anti-pattern is found in 3+ locations in the codebase
  • Idiom gap applies to the entire language/framework usage
  • Debugging insight would save significant time if documented

Promotion Targets

TargetWhat Belongs There
Style guideCode conventions, naming patterns, structural preferences
Lint configurationAutomated rule enforcement (.eslintrc, ruff.toml, clippy.toml)
Code snippets libraryReusable solutions, utility functions, common patterns
Debug playbooksStep-by-step diagnosis for specific error classes
CLAUDE.mdProject-specific coding conventions for AI agents
AGENTS.mdAutomated coding workflows, pre-commit checks

How to Promote

  1. Distill the learning into a concise rule or code snippet
  2. Add to appropriate target (lint rule, style guide entry, snippet)
  3. Update original entry:

- Change **Status**: pending**Status**: promoted - Add **Promoted**: style guide (or lint rule, snippet library, debug playbook)

Promotion Examples

Learning (verbose):

Found mutable default argument def add_item(items=[]) causing shared state bug. List persists across function calls. Three instances found in codebase.

As lint rule (concise):

# ruff.toml
[lint]
select = ["B006"]  # mutable-argument-default

Learning (verbose):

Spent 2 hours debugging race condition in async code. Root cause: shared mutable state between concurrent coroutines without lock.

As debug playbook (actionable):

## Race Condition Diagnosis
1. Identify shared mutable state
2. Check for missing locks/mutexes around shared access
3. Add logging with thread/coroutine ID at access points
4. Use `asyncio.Lock()` (Python) or `Mutex` (Rust) to serialize access
5. Write concurrent test to reproduce

Recurring Pattern Detection

If logging something similar to an existing entry:

  1. Search first: grep -r "keyword" .learnings/
  2. Link entries: Add **See Also**: BUG-20250110-001 in Metadata
  3. Bump priority if issue keeps recurring
  4. Consider systemic fix: Recurring coding issues often indicate:

- Missing lint rule (→ add to lint config) - Missing type annotation (→ stricter type checking) - Architectural problem (→ refactor) - Documentation gap (→ add to style guide)

Periodic Review

Review .learnings/ at natural breakpoints:

When to Review

  • Before starting a new coding task in the same area
  • After completing a feature or PR
  • When the same error class appears again
  • Weekly during active development

Quick Status Check

# Count pending coding issues
grep -h "Status\*\*: pending" .learnings/*.md | wc -l

# List pending high-priority bug patterns
grep -B5 "Priority\*\*: high" .learnings/BUG_PATTERNS.md | grep "^## \["

# Find learnings for a specific area
grep -l "Area\*\*: error_handling" .learnings/*.md

# Find all anti-patterns
grep -B2 "anti_pattern" .learnings/LEARNINGS.md | grep "^## \["

Review Actions

  • Resolve fixed bug patterns
  • Promote recurring patterns to lint rules
  • Link related entries across files
  • Extract reusable solutions as code snippets

Simplify & Harden Feed

Ingest recurring coding patterns from simplify-and-harden into lint rules or style guides.

  1. For each candidate, use pattern_key as the dedupe key.
  2. Search .learnings/LEARNINGS.md for existing entry: grep -n "Pattern-Key: <key>" .learnings/LEARNINGS.md
  3. If found: increment Recurrence-Count, update Last-Seen, add See Also links.
  4. If not found: create new LRN-... entry with Source: simplify-and-harden.

Promotion threshold: Recurrence-Count >= 3, seen in 2+ files/modules, within 30-day window. Targets: lint config, style guide entries, code snippets library, CLAUDE.md / AGENTS.md.

Hook Integration

Enable automatic reminders through agent hooks. This is opt-in.

Quick Setup (Claude Code / Codex)

Create .claude/settings.json in your project:

{
  "hooks": {
    "UserPromptSubmit": [{
      "matcher": "",
      "hooks": [{
        "type": "command",
        "command": "./skills/self-improving-coding/scripts/activator.sh"
      }]
    }]
  }
}

This injects a coding-focused learning evaluation reminder after each prompt (~50-100 tokens overhead).

Advanced Setup (With Error Detection)

{
  "hooks": {
    "UserPromptSubmit": [{
      "matcher": "",
      "hooks": [{
        "type": "command",
        "command": "./skills/self-improving-coding/scripts/activator.sh"
      }]
    }],
    "PostToolUse": [{
      "matcher": "Bash",
      "hooks": [{
        "type": "command",
        "command": "./skills/self-improving-coding/scripts/error-detector.sh"
      }]
    }]
  }
}

Available Hook Scripts

ScriptHook TypePurpose
scripts/activator.shUserPromptSubmitReminds to evaluate coding learnings after tasks
scripts/error-detector.shPostToolUse (Bash)Triggers on lint errors, type errors, runtime exceptions

See references/hooks-setup.md for detailed configuration and troubleshooting.

Automatic Skill Extraction

When a coding learning is valuable enough to become a reusable skill, extract it.

Skill Extraction Criteria

CriterionDescription
RecurringSame bug pattern in 2+ codebases or modules
VerifiedStatus is resolved with working fix and test
Non-obviousRequired actual debugging or investigation
Broadly applicableNot project-specific; useful across languages/frameworks
User-flaggedUser says "save this as a skill" or similar

Extraction Workflow

  1. Identify candidate: Learning meets extraction criteria
  2. Run helper (or create manually):
   ./skills/self-improving-coding/scripts/extract-skill.sh skill-name --dry-run
   ./skills/self-improving-coding/scripts/extract-skill.sh skill-name
  1. Customize SKILL.md: Fill in template with coding-specific content
  2. Update learning: Set status to promoted_to_skill, add Skill-Path
  3. Verify: Read skill in fresh session to ensure it's self-contained

Extraction Detection Triggers

Use conversation signals ("This bug keeps happening", "Save this pattern as a skill") and entry signals (multiple See Also, high-priority resolved items, recurring Pattern-Key) to identify extraction candidates.

Multi-Agent Support

AgentActivationDetection
Claude CodeHooks (UserPromptSubmit, PostToolUse)Automatic via error-detector.sh
Codex CLIHooks (same pattern)Automatic via hook scripts
GitHub CopilotManual (.github/copilot-instructions.md)Manual review
OpenClawWorkspace injection + inter-agent messagingVia session tools

Best Practices

  1. Log immediately — context fades fast after debugging sessions
  2. Include minimal code snippets — before/after examples are most useful
  3. Specify the language — patterns differ between Python, TypeScript, Rust, etc.
  4. Suggest concrete prevention — a lint rule is better than "be careful"
  5. Distinguish root cause from symptom — the error message is the symptom, not the cause
  6. Test your fix — mark resolved only after verification

Gitignore Options

Keep learnings local (per-developer):

.learnings/

Track learnings in repo (team-wide): Don't add to .gitignore — learnings become shared knowledge.

Hybrid (track templates, ignore entries):

.learnings/*.md
!.learnings/.gitkeep

Stackability Contract (Standalone + Multi-Skill)

This skill is standalone-compatible and stackable with other self-improving skills.

Namespaced Logging (recommended for 2+ skills)

  • Namespace for this skill: .learnings/coding/
  • Keep current standalone behavior if you prefer flat files.
  • Optional shared index for all skills: .learnings/INDEX.md

Required Metadata

Every new entry must include:

**Skill**: coding

Hook Arbitration (when 2+ skills are enabled)

  • Use one dispatcher hook as the single entrypoint.
  • Dispatcher responsibilities: route by matcher, dedupe repeated events, and rate-limit reminders.
  • Suggested defaults: dedupe key = event + matcher + file + 5m_window; max 1 reminder per skill every 5 minutes.

Narrow Matcher Scope (coding)

Only trigger this skill automatically for coding signals such as:

  • eslint|ruff|flake8|mypy|pyright|tsc
  • exception|traceback|assertionerror|test failed
  • explicit coding intent in user prompt

Cross-Skill Precedence

When guidance conflicts, apply:

  1. security
  2. engineering
  3. coding
  4. ai
  5. user-explicit domain skill
  6. meta as tie-breaker

Ownership Rules

  • This skill writes only to .learnings/coding/ in stackable mode.
  • It may read other skill folders for cross-linking, but should not rewrite their entries.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

94.72%
按下载量换算960

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

通过

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills