framework_eng/skills/framework-meta/skill-learning/SKILL.md
MUST use AFTER a work cycle with ≥2 iterations (wrote → error → fixed → success). Provides the retrospective procedure and the format for recording practice/anti-patterns in references/learned-patterns.md or {project}/.context/learned-patterns.md.
npx skillsauth add steelmorgan/1c-agent-based-dev-framework skill-learningInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
The body was moved out of the
skill-learning-policyrule. The trigger "after a cycle of ≥2 iterations" remains in the rule; here are the retrospective procedure, the recording format, and the criterion for choosing the level/file.
The agent learns from its iterations: what works (techniques) and what breaks (anti-techniques). Knowledge is recorded in
references/learned-patterns.mdof the owning skill.
| Level | File | What it stores |
|-------|------|----------------|
| Universal | skill/references/learned-patterns.md | Techniques that work in any 1C configuration |
| Project | {project}/.context/learned-patterns.md | Techniques tied to a specific configuration / project |
Separation criterion: if an entry mentions a specific metadata object, form name, attribute or configuration feature -> project-level. If it describes a general platform/framework pattern -> universal.
The reading trigger ("before working with the skill, read its lessons") is in the skill-learning-policy rule (always-on). Here is the split by level:
references/learned-patterns.md in the skill directory — universal techniques;{project}/.context/learned-patterns.md — project techniques.Apply confirmed entries as additional rules, candidate as hints.
After completing a work cycle in which there were ≥2 iterations (wrote → error → fixed → success). If the task is solved on the first attempt, a retrospective is not needed.
Reconstruct the iteration chain — what was done → what failed → how it was fixed → what passed
For each nontrivial fix, formulate an entry:
status: candidate | confirmed
область: <free-form wording>
приём: <what to do — verified by success>
антиприём: <what NOT to do — verified by failure>
почему: <what happens when the rule is violated>
шаги: <concrete steps/code, if applicable>
источник: <task, iteration>
The technique and the anti-technique are one entry, two sides of one discovery. Do not duplicate.
Filter out — exclude:
Determine the level and the owning skill:
{project}/.context/learned-patterns.mdreferences/learned-patterns.md of the owning skill.install-session.json → component_map → skill/{name} → ru_path.Read the existing entries from the target file:
candidate with the same area -> promote to confirmedAppend the entry to the target file. If the file does not exist, create it. Do not overwrite existing entries.
| Requirement | Description |
|-------------|-------------|
| Do not modify the skill body | Entries are only in references/learned-patterns.md, not in SKILL.md |
| Do not duplicate | Read existing techniques before writing |
| First occurrence = candidate | A single occurrence gets status: candidate |
| Repeat = confirmed | When a similar situation repeats, promote to confirmed |
testing
MUST use BEFORE making a judgment about the cause of a conflict, a test failure, or an artifact dispute. Defines the end-to-end verification method L1→L6 and the classification of the first broken link.
tools
MUST use WHEN you are writing reusable knowledge into RLM (pattern / architectural decision / stable domain fact) OR reading it before a non-trivial task/solution in the domain. Provides the breakdown of native-push vs RLM-pull, tools for writing and reading RLM, H-MEM levels, and hygiene.
testing
MUST use WHEN the task is classified as simple (< 20 lines, 1 file, no new metadata objects, no architectural decisions). Provides a short cycle of 3 steps with a guard on the self path and mandatory verify.
development
MUST use WHEN the orchestrator creates a task branch, commits a phase, merges a task, or rolls back changes. Provides branch strategy, phase commit format, squash-merge, and a ban on file deletion.