Skip to content
Back to skills

Compound Autolearn Compoundspec

ASecurity

Generate a CompoundSpec v2 JSON-only autolearn proposal from git diffstat + existing skills, while respecting strict file-scope constraints.

  • 666 stars
  • 0 votes
  • 0 copies
  • 2 views
  • Added February 8, 2026
documentationgit

Security analysis

A100/100

Scanned February 10, 2026

npx -y skills add majiayu000/claude-skill-registry --skill compound-autolearn-compoundspec --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Compound Autolearn Compoundspec?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Compound Autolearn Compoundspec
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/majiayu000-compound-autolearn-compoundspec/badge)](https://www.skillsdirectory.com/skills/majiayu000-compound-autolearn-compoundspec)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: compound-autolearn-compoundspec
description: Generate a CompoundSpec v2 JSON-only autolearn proposal from git diffstat + existing skills, while respecting strict file-scope constraints.
license: MIT
compatibility: opencode,claude
metadata:
  created_at: "2026-01-30T16:42:50.393Z"
  updated_at: "2026-01-30T16:42:50.393Z"
  version: "1"
---
<!-- BEGIN:compound:skill-managed -->
# Purpose
Turn an autolearn prompt (recent activity + constraints) into a valid CompoundSpec v2 JSON object.

# When To Use
- Prompt says "Background Autolearn" or "learning agent".
- Prompt requires JSON-only output and limits edits to memory/docs artifacts.

# Procedure
- Read the constraints and allowed paths; assume anything else is forbidden.
- If a system reminder indicates read-only / Plan Mode:
  - Do not propose product code changes.
  - Keep proposals strictly within skills/instincts/docs/changelog.
  - Do not propose actions that imply file modifications outside the allowed set.
- Use the git summary (changed_files + diffstat) as evidence for what to learn.
- If the git summary indicates an in-progress merge/conflict state (e.g., diffstat lines labeled "Unmerged <path>"):
  - Treat the diff as incomplete/low-signal.
  - Avoid inferring product behavior changes.
  - Prefer a small instinct/skill update about conflict-state hygiene.
  - If there is no other stable evidence, emit empty skill/instinct changes and set `docs.sync: false`.
- If the diffstat is empty (or there are no meaningful file changes):
  - Do not invent learnings.
  - Emit empty `instincts.create/update` and `skills.create/update`.
  - Set `docs.sync: false`.
  - Use a changelog note that explains the skip (e.g., "Autolearn ran with no diff evidence; skipped memory updates.")

## Evidence hygiene (low-signal diffs)

Treat generated/derived artifacts as low-signal evidence:
- If `services/index.json` changes without corresponding `services/*.md` edits, assume it was refreshed and do not infer new dependency learnings.
- If `.opencode/memory/instincts.json` / `.opencode/memory/INSTINCTS.md` show large rewrites or deletions, assume cleanup and avoid inventing new heuristics from it.
- If changes appear duplicated under both `.claude/skills/` and `.opencode/skills/`, assume a mirror/sync artifact:
  - Do not infer new behavior from the duplication.
  - In CompoundSpec proposals, only target `.opencode/skills/**` (never propose changes to `.claude/skills/**`).
- If the diff is primarily additions/deletions under `src/*.egg-info/`, assume packaging metadata cleanup/regeneration noise and avoid learning anything beyond "egg-info is generated" unless the prompt explicitly states an intentional packaging change.
- If the diffstat shows changes only under `examples/` with no corresponding `src/` or `tests/` changes, treat it as low-signal for durable learnings; emit empty `skills`/`instincts`, set `docs.sync: false`, and use a changelog note explaining the skip.

## Ticket/process-heavy diffs

- If the diff is primarily ticket/process artifacts (e.g. `.tickets/*.md`, `LOOM_ROADMAP.md`, `LOOM_CHANGELOG.md`, `AGENTS.md`) with no corresponding product code changes:
  - Prefer `instincts.update[]` that strengthen workflow heuristics (triage, scoping, read-only constraints).
  - Avoid creating new skills unless a repeated procedural gap is clearly demonstrated.
  - Avoid proposing docs block updates unless a stable always-on principle changed.
  - Do not infer or describe product behavior changes.

## Prefer updates over creation

Prefer:
- `instincts.update[]` to strengthen an existing heuristic
- `skills.update[]` to refine an existing skill
- `skills.create[]` only if there is no close match

## Skill updates

- If updating a skill:
  - Re-emit the entire final managed body (no diffs/snippets).
  - Keep it checklist-like.

## Instinct quality bar

- Keep instincts crisp:
  - Trigger is a concrete situation.
  - Action is a concrete behavior.
  - Confidence is 0.6-0.85 unless repeated evidence.

## Keep proposals small

- Max 3 skills per run.
- Max 8 instinct updates per run.

## Output hygiene

- Output exactly one JSON object.
- Do not wrap in code fences.
- Do not include commentary.
- Use repo-root-relative paths in any markdown content.

# Suggested Minimal Template
- `auto.reason` from prompt (often `session.idle`).
- `auto.sessionID` from prompt.
- `docs.sync: true` if you touched skills/instincts/docs; otherwise `docs.sync: false`.
- `changelog.note` as a single sentence describing the memory delta.
<!-- END:compound:skill-managed -->

## Manual notes

_This section is preserved when the skill is updated. Put human notes, caveats, and exceptions here._

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.