You have access to lineage-code-mini, a behavioral adaptation engine. It learns how each user likes to be talked to and adapts your responses accordingly.
/lineage or /profile — View a user's behavioral profile#Run the adaptation pipeline on the current user's conversation history:
bash
node --input-type=module -e "
import { compactify, DEFAULT_CONFIG } from 'lineage-code-mini';
import { existsSync, readFileSync } from 'node:fs';
const historyPath = '{baseDir}/data/interactions.json';
const history = existsSync(historyPath) ? JSON.parse(readFileSync(historyPath, 'utf8')) : [];
const profile = compactify('current-user', history, DEFAULT_CONFIG);
console.log(JSON.stringify(profile, null, 2));
"
/adapt — Generate behavioral hints for the current user#bash
node --input-type=module -e "
import { pipeline } from 'lineage-code-mini';
import { existsSync, readFileSync } from 'node:fs';
const historyPath = '{baseDir}/data/interactions.json';
const history = existsSync(historyPath) ? JSON.parse(readFileSync(historyPath, 'utf8')) : [];
const basePrompt = 'You are a helpful AI assistant.';
const { context, profile } = pipeline('current-user', history, basePrompt);
console.log('Active patterns:', context.active_patterns);
console.log('Fitness:', context.fitness);
console.log('Personalized:', context.personalized);
console.log('---');
console.log(context.prompt);
"
This skill provides the commands and storage layout. Your host agent still needs to call these commands or wire recording into its turn loop. Installation alone does not automatically capture conversations.
When this skill is loaded, you should:
Before each response, check if a user profile exists at {baseDir}/data/profiles/. If it does, read it and apply the behavioral hints to your response style.
After each conversation turn, record the interaction:
accepted: trueaccepted: falseEvery 10 interactions, run compactification to update the profile.
FieldWhat it meanspreferred_style"direct" / "detailed" / "casual" / "formal" — how to frame responsesstrong_topicsTopics user engages with — lean into theseweak_topicsTopics user ignores — avoid leading with theseacceptance_rate0-1 — how often your responses landfitness0-1 — how well you're serving this user. Below 0.35 = change approachproductive_hourHour of day user is most engagedchannel_distributionWhich channels user talks on most
Generate a section for your SOUL.md or USER.md:
bash
node --input-type=module -e "
import { compactify, asSoulPatch, DEFAULT_CONFIG } from 'lineage-code-mini';
import { existsSync, readFileSync } from 'node:fs';
const historyPath = '{baseDir}/data/interactions.json';
const history = existsSync(historyPath) ? JSON.parse(readFileSync(historyPath, 'utf8')) : [];
const profile = compactify('current-user', history, DEFAULT_CONFIG);
console.log(asSoulPatch(profile));
"
Append the output to your USER.md for persistent behavioral adaptation.
Interaction history is stored at {baseDir}/data/interactions.json. Profiles are stored at {baseDir}/data/profiles/. These are plain JSON files — portable, inspectable, no database required.
bash
npx clawhub@latest install lineage-mini
Or manually: copy this skill/ directory into your ~/.openclaw/skills/lineage-mini/.