Agent skill

Skill Evolve

by gaotiexinqu in gaotiexinqu/OneResearchClaw

Optional sidecar skill for controlled feedback-driven skill evolution.

MITAuto-check passed

Install Skill Evolve

skills CLI
$ npx skills add gaotiexinqu/OneResearchClaw --skill skill-evolve -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install gaotiexinqu/OneResearchClaw skill-evolve --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/gaotiexinqu/OneResearchClaw.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.cursor/skills/skill-evolve .claude/skills/skill-evolve && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
skill-evolve
GitHub stars
450
Token cost
~3.1k tokens
SKILL.md length
1,088 words
Files
13 (incl. scripts)
Skills in repo
15
Repo updated
First seen
Licence
MIT

At a glance

Optional sidecar skill for controlled feedback-driven skill evolution.

  • Works in 7 steps: Collect Feedback → Normalize Feedback → Propose Minimal Patch → …
  • SKILL.md covers What This Skill Is, What This Skill Is NOT, When to Use This Skill and Controlled Evolve Loop Flow, plus 7 more sections
  • Runs Python scripts from its folder; calls python

What it does

Skill Evolve is an agent skill from gaotiexinqu/OneResearchClaw. Optional sidecar skill for controlled feedback-driven skill evolution. Not part of the default pipeline. Only activates when explicitly requested.

Its SKILL.md is about 3.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 14 other files, including scripts (for example `README.md`, `schemas/feedback.schema.json` and `schemas/gate_result.schema.json`).

The repository describes itself as: Any research. One Claw. 🦞 From any materials to research with fully autonomous & skill-driven researcher. The licence is MIT.

Example prompts

  • “/skill-evolve”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. Collect Feedback
  2. Normalize Feedback
  3. Propose Minimal Patch
  4. Review and Refine Patch Proposal
  5. Apply Patch Candidate
  6. Run Regression Gate
  7. Promote or Reject

What it can do on your machine

Read from SKILL.md and the folder at commit 37e86c6. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 7 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    No URLs in SKILL.md.

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Skill Evolve loads about 3.1k tokens when it runs. Until then it costs about 40 tokens; SKILL.md has 1,088 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~40
When it runs · the whole SKILL.md, loaded when a task matches
~3.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from gaotiexinqu/OneResearchClaw at commit 37e86c6, republished under its MIT licence (© gaotiexinqu). 1,088 words, ~3,140 tokens.

Download SKILL.mdSave it as .claude/skills/skill-evolve/SKILL.md (or your agent's skills folder). This skill also uses 12 other files; get the full folder from GitHub.
name
skill-evolve
description
Optional sidecar skill for controlled feedback-driven skill evolution. Not part of the default pipeline. Only activates when explicitly requested.

Skill Evolve (Optional Sidecar)

This is an OPTIONAL sidecar capability, NOT part of the default pipeline.


What This Skill Is

Skill Evolve is a controlled, opt-in framework for turning real user feedback into skill improvements over time.

It is designed to:

  • Collect and normalize user feedback
  • Generate minimal patch proposals
  • Require manual review/refinement of generated patch proposals before real patch application
  • Test reviewed patches in isolated workspaces
  • Run regression gates
  • Promote verified patches to new stable versions
  • Preserve the default .cursor/skills/ tree unchanged unless a human later chooses to merge approved changes manually

What This Skill Is NOT

This skill must NOT:

  • Run automatically during normal report generation
  • Modify stable skills without explicit evolve flow
  • Replace human judgment with automated decisions
  • Make the default pipeline behave differently

When to Use This Skill

Use this skill when:

  • User explicitly requests "skill evolution" or "feedback-driven improvement"
  • User provides feedback that should be tracked and potentially addressed
  • User wants to analyze and improve the skill framework

Do NOT use this skill when:

  • Generating reports (use one-report instead)
  • Running normal pipeline operations
  • User has not explicitly requested skill evolution

Controlled Evolve Loop Flow

When explicitly invoked, follow this controlled flow:

Step 1: Collect Feedback

Use collect_feedback.py to ingest raw user feedback:

bash
python .cursor/skills/skill-evolve/scripts/collect_feedback.py --interactive
# OR
python .cursor/skills/skill-evolve/scripts/collect_feedback.py --text "feedback text"
# OR
python .cursor/skills/skill-evolve/scripts/collect_feedback.py --file /path/to/feedback.txt

Raw feedback preserves user language and is saved to: {WORKSPACE}/.skill-evolve-data/feedback/raw/

Step 2: Normalize Feedback

Convert raw feedback to structured format:

bash
python .cursor/skills/skill-evolve/scripts/normalize_feedback.py \
    --feedback-id FB-XXXXXX \
    --stage <grounding|research|summary|review|export> \
    --skill <skill-name>

Normalized feedback is saved to: {WORKSPACE}/.skill-evolve-data/feedback/normalized/

Step 3: Propose Minimal Patch

Generate a patch proposal from normalized feedback:

bash
python .cursor/skills/skill-evolve/scripts/propose_skill_patch.py \
    --feedback-id FB-XXXXXX,FB-YYYYYY

Patch proposals are saved to: {WORKSPACE}/.skill-evolve-data/patch_proposals/proposed/

Change Unit

A patch proposal is not just a single modified skill file, but a complete change unit containing:

  1. Main File: The skill being modified
  2. Dependency References: All other skills/agent configs that reference this skill
  3. Auto-generated Assertions: For regression gate verification
Dependency Reference Scanning

When generating a proposal, the agent must:

  1. Identify Main File: Determine which skill is the modification target
  2. Scan Dependencies: Search all skills and agent configs to find references to the main file
    • Check other skills' "What This Skill Is" or invocation chain descriptions
    • Check agent configs for skill references
    • Check prompting templates for skill paths
  3. Declare Reference Points: List all locations requiring sync updates in the proposal
  4. Analyze Impact Scope: Distinguish between "description update only" and "behavior sync required" references

Example: If the modification target is grounded-review:

  • Main File: .cursor/skills/grounded-review/SKILL.md
  • Dependency References:
    • .cursor/skills/one-report/SKILL.md (as sub-process reference)
    • .cursor/agents/reviewer.md (agent config)
Auto-generated Assertions

The proposal script should auto-generate assertions rather than relying on manual creation:

  1. Analyze planned_changes:

    • If before content exists → generate not_contains assertion to verify old content removed
    • If after content exists → generate contains assertion to verify new content added
    • Numeric changes (90→95) → generate regex_match assertion
  2. Minimal Assertion Set:

    • Core semantic changes must be covered by assertions
    • Avoid redundant assertions (one contains can verify content without splitting)
    • Empty tests cannot pass vacuously (reject if no changes)
  3. Cross-file Assertions:

    • If dependency references also need updates, those points should have corresponding assertions
    • Ensure consistency between main file and reference points

Auto-generated Assertion Example (threshold 90→95):

json
{
  "assertions": [
    {
      "name": "threshold_updated_to_95",
      "type": "contains",
      "file": "grounded-review/SKILL.md",
      "pattern": "weighted total >= 95"
    },
    {
      "name": "old_threshold_90_removed",
      "type": "not_contains",
      "file": "grounded-review/SKILL.md",
      "pattern": "weighted total >= 90"
    },
    {
      "name": "one_report_sync",
      "type": "contains",
      "file": "one-report/SKILL.md",
      "pattern": "review threshold"
    }
  ]
}
Step 4: Review and Refine Patch Proposal

Before applying any changes, review and refine the proposed planned_changes so they contain concrete, safe edits.

Do not treat an auto-generated proposal as ready-to-apply by default.

Step 5: Apply Patch Candidate

Apply the reviewed patch to an isolated workspace for testing:

bash
python .cursor/skills/skill-evolve/scripts/apply_patch_to_workspace.py \
    --proposal-id PP-XXXXXX \
    --apply-changes

This creates a candidate workspace without modifying stable skills.

Step 6: Run Regression Gate

Test the patch against evaluation cases:

bash
python .cursor/skills/skill-evolve/scripts/run_regression_gate.py \
    --proposal-id PP-XXXXXX

Results are saved to: {WORKSPACE}/.skill-evolve-data/evaluations/results/

Regression Gate for Change Units

Regression gate must verify the complete change unit:

  1. Main File Assertions: Verify core changes in the main skill file
  2. Dependency Reference Assertions: Verify sync updates for all dependency reference points
  3. Consistency Checks: Ensure descriptions/behaviors match between main file and references
Assertion File Path Resolution

The file field in assertions is resolved relative to workspace root:

  • grounded-review/SKILL.md → {workspace}/grounded-review/SKILL.md
  • one-report/SKILL.md → {workspace}/one-report/SKILL.md
  • .cursor/agents/reviewer.md → {workspace}/.cursor/agents/reviewer.md
Show full SKILL.md (439 more words)Show less
Failure Handling

If any assertion fails (main file or dependency reference), gate result is reject:

json
{
  "decision": "reject",
  "reason": "Dependency reference out of sync: one-report/SKILL.md missing review threshold update"
}
Step 7: Promote or Reject

If gate passes, promote the candidate:

Standard promotion (creates versioned directory only):

bash
python .cursor/skills/skill-evolve/scripts/promote_skill_version.py \
    --gate-id GR-XXXXXX \
    --notes "Description of changes"

Sync promotion (also updates stable skills/):

bash
python .cursor/skills/skill-evolve/scripts/promote_skill_version.py \
    --gate-id GR-XXXXXX \
    --notes "Description of changes" \
    --sync

Result (standard):

  • Original .cursor/skills/ remains untouched
  • New .skill-evolve-data/skills-versions/v002/ created with patches applied

Result (--sync):

  • Versioned directory created as above
  • Additionally: stable .cursor/skills/ is updated with approved patches
  • Consistency checks run to ensure no old patterns remain

Consistency Check Feature: The promote script now runs full line-by-line checks on patched files to ensure:

  • No remaining old patterns (e.g., weighted_total >= 90 when it should be >= 95)
  • Cross-file consistency (all related files updated together)
  • Report any missed updates before finalizing

If gate fails, the patch is rejected and stable version remains unchanged.


Version Management

Stable Version Pointer

Located at: {WORKSPACE}/.skill-evolve-data/stable/current_version.json

Contains:

  • Current stable version ID
  • Path to version manifest
  • Last update timestamp
Version Manifests

Located at: {WORKSPACE}/.skill-evolve-data/versions/vXXX/version_manifest.json

Contains:

  • Version ID
  • Based-on version
  • Accepted patch IDs
  • Passed gate IDs
  • Rollback information

Safety Principles

  1. Opt-in Only: Nothing runs automatically
  2. Isolation: Patches are tested in isolated workspaces
  3. Human Approval: Promotion requires successful gate + explicit promotion call
  4. Rollback Ready: Every stable version knows its rollback target
  5. No Overwrite: Stable skills are never modified without explicit promotion

Directory Layout

Skill Code (in .cursor/skills/skill-evolve/)
.cursor/
  skills/
    skill-evolve/
      SKILL.md          # This file
      scripts/          # Evolution workflow scripts
      schemas/          # JSON schemas
Data Directory (in {WORKSPACE}/.skill-evolve-data/)
{WORKSPACE}/
  .skill-evolve-data/
    stable/
      current_version.json
    versions/
      v001/
        version_manifest.json
      vXXX/
    skills-versions/      # Versioned skill+agent snapshots (created on promotion)
      v001/
        agents/           # copy of .cursor/agents/
        skills/           # copy of .cursor/skills/
      v002/
        agents/
        skills/
    feedback/
      raw/              # Original user feedback
      normalized/       # Structured feedback
    patch_proposals/
      proposed/        # Generated proposals
      accepted/        # Successfully promoted
      rejected/        # Failed or rejected
    evaluations/
      cases/           # Evaluation case definitions
      results/         # Gate execution results
Key Design Principle
  • Skill code stays in .cursor/skills/skill-evolve/ (git-managed)
  • Versioned snapshots go to .skill-evolve-data/skills-versions/ (each version contains both agents/ and skills/ sub-dirs)
  • Runtime data goes to {WORKSPACE}/.skill-evolve-data/ (local, git-ignored)

Example Invocation

User explicitly requests skill evolution:

Use the skill-evolve framework to analyze my feedback and propose improvements.

My feedback: The grounded-research-lit skill sometimes opens fewer papers than the `MIN_OPENED_PAPERS` threshold set by `research_mode`. The cursor backend should ensure the configured minimum number of unique papers are opened before proceeding to summary.

Feedback ID reference: FB-280408 (collected earlier)

Agent would then:

  1. Normalize the feedback with appropriate stage and skill
  2. Propose a minimal patch
  3. Apply to candidate workspace
  4. Run regression gate
  5. Report results for human decision

Summary

AspectDefault PipelineSkill Evolve
ActivationAutomaticExplicit request only
PurposeReport generationSkill improvement
ModificationsNoneControlled via gate
Automatic changesYesNo
Human approvalN/ARequired for promotion

Important Activation Rule

Promotion updates the Skill Evolve stable pointer and creates a new versioned snapshot such as .skill-evolve-data/skills-versions/v002/, which contains both agents/ and skills/ sub-directories. This ensures every version is self-contained and reproducible.

It does not automatically rewrite ordinary prompts or make the default .cursor/skills/ or .cursor/agents/ trees behave differently.

If a user wants to use a promoted version in a future chat, they must explicitly point the prompt at that versioned snapshot path or manually merge the approved changes back into .cursor/skills/ and .cursor/agents/.

Rejection Path

If a proposal is not suitable or fails the regression gate, archive it explicitly using:

bash
python .cursor/skills/skill-evolve/scripts/reject_patch_proposal.py \
    --proposal-id PP-XXXXXX \
    --reason "Why this proposal is rejected"

Do not leave failed proposals ambiguous if you already know they should not be promoted.

© gaotiexinqu, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 12 other files (scripts) in .cursor/skills/skill-evolve of gaotiexinqu/OneResearchClaw.

  • SKILL.md
  • README.md
  • schemas/feedback.schema.json
  • schemas/gate_result.schema.json
  • schemas/patch_proposal.schema.json
  • schemas/version_manifest.schema.json
  • scripts/apply_patch_to_workspace.py
  • scripts/collect_feedback.py
  • scripts/normalize_feedback.py
  • scripts/promote_skill_version.py
  • scripts/propose_skill_patch.py
  • scripts/reject_patch_proposal.py
  • scripts/run_regression_gate.py

Open the folder on GitHubat commit 37e86c6

Compare with similar skills

Skill Evolve next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Skill Evolve compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Skill Evolve this skillgaotiexinqu/OneResearchClaw450—~3.1kAutomated safety check: PassMIT
Optionsasgeirtj/system_prompts_leaks69k—~918Automated safety check: PassCC0-1.0
A-Evolve Agent EvolutionOrchestra-Research/AI-Research-SKILLs13k—~3.6kAutomated safety check: PassMIT
Feedbackcodewhale-hq/Codewhale41k—~272Automated safety check: PassMIT
Control UI E2Eopenclaw/openclaw392k—~2.9kAutomated safety check: PassMIT
Harness Evolution Feedback Looprevfactory/harness9.1k—~855Automated safety check: PassApache-2.0

Similar skills

  • Options

    asgeirtj/system_prompts_leaks

    Present multiple design options as a vertical stack of anchored turns

    69k GitHub stars~918 tokensUpdated yesterday
    Auto-check passed
  • A-Evolve Agent Evolution

    Orchestra-Research/AI-Research-SKILLs

    Guidance for using A-Evolve to improve an AI agent automatically, evolving its prompts, skills and memory against a benchmark through solve, observe and evolve cycles.

    13k GitHub stars~3.6k tokensUpdated 3 mo ago
    AI & LLM EngineeringAuto-check passed
  • Feedback

    codewhale-hq/Codewhale

    Report a Codewhale bug or idea as a GitHub issue. An agent skill from codewhale-hq/Codewhale.

    41k GitHub stars~272 tokensUpdated today
    Auto-check passed
  • Control UI E2E

    openclaw/openclaw

    A skill your agent uses when designing, testing, fixing, or extending the OpenClaw Control UI GUI, including UI stress-test galleries with feedback inputs, Vitest + Playwright end-to-end checks…

    392k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check passed
  • Collects feedback on how an agent harness performed, generalizes it, and updates the harness agents, skills and orchestrator along with a change-history table.

    9.1k GitHub stars~855 tokensUpdated 11 days ago
    Agent WorkflowsAuto-check passed
  • Control UI

    openclaw/openclaw

    Operate and troubleshoot the OpenClaw Control UI: navigate connected clients, organize sessions, build session dashboards, and handle direct or Tailscale-hosted Gateways.

    392k GitHub stars~1.8k tokensUpdated today
    Auto-check passed

More from gaotiexinqu/OneResearchClaw

All 15 skills in this repo
  • Remote Input

    gaotiexinqu/OneResearchClaw

    Download remote content (arxiv papers, YouTube videos, Bilibili videos) to local storage and route to downstream grounding pipeline.

    450 GitHub stars~2.8k tokensUpdated 5 mo ago
    Auto-check passed
  • Grounded Research Lit

    gaotiexinqu/OneResearchClaw

    Run focused literature and web research from a grounded note.

    450 GitHub stars~11k tokensUpdated 5 mo ago
    Auto-check passed
  • Archive Grounding

    gaotiexinqu/OneResearchClaw

    Unpack a ZIP archive, inventory its files, run the corresponding child grounding skill for each supported child file, and then write a real archive-level grounded.md.

    450 GitHub stars~2.1k tokensUpdated 5 mo ago
    Auto-check: notes
  • Document Grounding

    gaotiexinqu/OneResearchClaw

    Convert a raw document into a structured grounding note for downstream research and summarization.

    450 GitHub stars~2k tokensUpdated 5 mo ago
    Auto-check passed
  • Meeting Audio Grounding

    gaotiexinqu/OneResearchClaw

    Convert a meeting audio file into a transcript bundle, then use meeting-grounding to produce structured meeting grounding outputs.

    450 GitHub stars~1.1k tokensUpdated 5 mo ago
    Auto-check passed
  • Meeting Video Grounding

    gaotiexinqu/OneResearchClaw

    Convert a meeting video into an audio-first transcript bundle, then use meeting-grounding to produce structured meeting grounding outputs.

    450 GitHub stars~1.2k tokensUpdated 5 mo ago
    Auto-check passed

Questions about Skill Evolve

What does Skill Evolve do?

Optional sidecar skill for controlled feedback-driven skill evolution. Skill Evolve is an agent skill from gaotiexinqu/OneResearchClaw. Optional sidecar skill for controlled feedback-driven skill evolution.

How do I install Skill Evolve in Claude Code?

Run `npx skills add gaotiexinqu/OneResearchClaw --skill skill-evolve -a claude-code`. Or copy the skill folder (.cursor/skills/skill-evolve in gaotiexinqu/OneResearchClaw) into .claude/skills/skill-evolve in your project. Claude Code loads it when a task matches its description.

How do I install Skill Evolve in Codex?

Run `npx skills add gaotiexinqu/OneResearchClaw --skill skill-evolve -a codex`. Or copy the skill folder (.cursor/skills/skill-evolve in gaotiexinqu/OneResearchClaw) into .agents/skills/skill-evolve in your project. Codex loads it when a task matches its description.

Can I use Skill Evolve in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add gaotiexinqu/OneResearchClaw --skill skill-evolve -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/skill-evolve, .gemini/skills/skill-evolve, .github/skills/skill-evolve and .opencode/skills/skill-evolve in your project.

What does Skill Evolve need to run?

Going by SKILL.md and its folder, Skill Evolve needs Python for the scripts in its folder and the command-line tools its instructions call (python). Our summary lists: Python 3.

Does Skill Evolve access the network?

SKILL.md contains no URLs. Any network use would come from the scripts or tools the agent runs. This is read from the text; nothing was executed.

Is Skill Evolve safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Skill Evolve use?

Skill Evolve is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Skill Evolve use?

About 3.1k tokens (SKILL.md is roughly 13k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Skill Evolve?

Skills that share tags, products or a category with Skill Evolve: Options (asgeirtj/system_prompts_leaks, 69k stars), A-Evolve Agent Evolution (Orchestra-Research/AI-Research-SKILLs, 13k stars), Feedback (codewhale-hq/Codewhale, 41k stars) and Control UI E2E (openclaw/openclaw, 392k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Skill Evolve?

gaotiexinqu (a GitHub user) maintains it in gaotiexinqu/OneResearchClaw, which has 450 GitHub stars. The repository holds 15 skills in this directory. The repository was last updated on May 9, 2026.

Source: gaotiexinqu/OneResearchClaw on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.