Agent Builder
shareAI-lab/learn-claude-code
Design and build AI agents for any domain. An agent skill from shareAI-lab/learn-claude-code.
Tracks user preferences, writing habits, and communication style to personalize every interaction
$ npx skills add Ckokoski/AuthorAgent --skill preference-learner -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install Ckokoski/AuthorAgent preference-learner --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/Ckokoski/AuthorAgent.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/_archived/core/preference-learner .claude/skills/preference-learner && rm -rf skills-srcUse ~/.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/
Install the "preference-learner" agent skill from https://github.com/Ckokoski/AuthorAgent/tree/main/skills/_archived/core/preference-learner into .claude/skills/preference-learner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preference-learner", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/Ckokoski/AuthorAgent/tree/main/skills/_archived/core/preference-learnerType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add Ckokoski/AuthorAgent --skill preference-learner -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install Ckokoski/AuthorAgent preference-learner --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ckokoski/AuthorAgent.git skills-src && mkdir -p .agents/skills && cp -r skills-src/skills/_archived/core/preference-learner .agents/skills/preference-learner && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "preference-learner" agent skill from https://github.com/Ckokoski/AuthorAgent/tree/main/skills/_archived/core/preference-learner into .agents/skills/preference-learner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preference-learner", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ckokoski/AuthorAgent --skill preference-learner -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install Ckokoski/AuthorAgent preference-learner --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ckokoski/AuthorAgent.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/skills/_archived/core/preference-learner .cursor/skills/preference-learner && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "preference-learner" agent skill from https://github.com/Ckokoski/AuthorAgent/tree/main/skills/_archived/core/preference-learner into .cursor/skills/preference-learner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preference-learner", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/Ckokoski/AuthorAgent.git --path skills/_archived/core/preference-learner--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add Ckokoski/AuthorAgent --skill preference-learner -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install Ckokoski/AuthorAgent preference-learner --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ckokoski/AuthorAgent.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/skills/_archived/core/preference-learner .gemini/skills/preference-learner && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "preference-learner" agent skill from https://github.com/Ckokoski/AuthorAgent/tree/main/skills/_archived/core/preference-learner into .gemini/skills/preference-learner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preference-learner", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install Ckokoski/AuthorAgent preference-learnerInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add Ckokoski/AuthorAgent --skill preference-learner -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/Ckokoski/AuthorAgent.git skills-src && mkdir -p .github/skills && cp -r skills-src/skills/_archived/core/preference-learner .github/skills/preference-learner && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "preference-learner" agent skill from https://github.com/Ckokoski/AuthorAgent/tree/main/skills/_archived/core/preference-learner into .github/skills/preference-learner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preference-learner", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add Ckokoski/AuthorAgent --skill preference-learner -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install Ckokoski/AuthorAgent preference-learner --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/Ckokoski/AuthorAgent.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/skills/_archived/core/preference-learner .opencode/skills/preference-learner && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "preference-learner" agent skill from https://github.com/Ckokoski/AuthorAgent/tree/main/skills/_archived/core/preference-learner into .opencode/skills/preference-learner/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "preference-learner", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
preference-learnerTracks user preferences, writing habits, and communication style to personalize every interaction
Preference Learner is an agent skill from Ckokoski/AuthorAgent. Tracks user preferences, writing habits, and communication style to personalize every interaction
Its SKILL.md is about 1.8k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.
It sits in AI & LLM Engineering. The repository describes itself as: The Autonomous AI Writing Agent — a secure, author-focused AI for fiction and nonfiction authors (Planning, Revision, Promotion, and more). The licence is MIT.
4 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 47e9570. It shows what the files ask for, not the result of running them.
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.
No scripts in the folder and no shell commands in SKILL.md (its code samples are yaml).
From the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Preference Learner loads about 1.8k tokens when it runs. Until then it costs about 29 tokens; SKILL.md has 541 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from Ckokoski/AuthorAgent at commit 47e9570, republished under its MIT licence (© Ckokoski). 541 words, ~1,840 tokens.
.claude/skills/preference-learner/SKILL.md (or your agent's skills folder).Every author is different. This skill builds a living profile of the user's preferences, habits, and working style — then applies it to every interaction so AuthorClaw feels increasingly personalized.
writing:
# Detected from user revisions and feedback
dialogue_tags: "simple (said/asked only)"
description_density: "moderate (1-2 sensory details per scene)"
paragraph_length: "short (2-4 sentences)"
chapter_length: "2500-3500 words"
pov_preference: "third person limited"
tense: "past"
profanity_level: "mild"
romance_heat_level: "closed door"
violence_level: "moderate"
humor_style: "dry, situational"
# Specific dos and don'ts
always:
- "Start chapters with action or dialogue, never description"
- "End chapters on a hook or question"
- "Use Oxford comma"
never:
- "Use adverbs in dialogue tags (said softly, whispered quietly)"
- "Start sentences with 'Suddenly'"
- "Use the word 'whilst'"communication:
response_length: "concise (under 200 words unless writing prose)"
status_update_frequency: "after each major step"
question_threshold: "only ask if truly ambiguous (err on acting)"
emoji_usage: "moderate"
formality: "casual, friendly"
explanation_depth: "brief unless asked for detail"
preferred_channel: "telegram"workflow:
active_hours: "6am-10pm"
most_productive_time: "morning (6am-noon)"
session_length: "30-60 minutes"
break_reminders: true
daily_word_goal: 2000
preferred_goal_size: "medium (5-8 steps)"
review_preference: "review after each chapter, not after each scene"
file_organization: "by project, then by chapter"
naming_convention: "chapter-01-title.md"market:
primary_genre: "psychological thriller"
subgenres: ["domestic suspense", "unreliable narrator"]
target_audience: "women 25-45, fans of Gillian Flynn"
publishing_path: "traditional (querying agents)"
comp_titles: ["The Wife Between Us", "The Last Thing He Told Me"]
word_count_target: 80000
series_vs_standalone: "standalone with series potential"tools:
preferred_ai_for_planning: "gemini (free, fast)"
preferred_ai_for_writing: "claude (best prose)"
preferred_ai_for_research: "gemini (good enough, free)"
outline_format: "chapter-by-chapter with beat notes"
export_format: "docx for submissions, epub for beta readers"
research_depth: "thorough with citations"The user directly tells AuthorClaw their preferences:
These are immediately stored with maximum confidence.
Patterns detected from user actions:
When the user edits AI output:
When the user rates output or gives feedback:
Stored as YAML at workspace/memory/user-preferences.yaml:
Before each interaction, AuthorClaw:
## User Preferences (Follow These)
- Writing: simple dialogue tags only, short paragraphs, no adverbs
- Style: past tense, third person limited, moderate description
- Communication: keep responses under 200 words, casual tone
- Never: use "suddenly", "whilst", adverbs in dialogue tags
- Always: Oxford comma, end chapters on hooks, start with actionWhen preferences conflict:
show my preferencesDisplays the full preference profile in a readable format.
update preference: chapter_length = 4000-5000Manually update a specific preference.
forget preference: dialogue_tagsRemove a learned preference (reset to default behavior).
preference historyShow when and why each preference was learned.
export preferencesSave preferences as a portable file (useful if switching projects or reinstalling).
Some preferences are per-project, not global:
AuthorClaw maintains both:
show my preferences — View full preference profileI prefer [X] — Explicitly set a preferenceI never want [X] — Add to the "never" listI always want [X] — Add to the "always" listupdate preference [key] = [value] — Update a specific preferenceforget preference [key] — Remove a learned preferencepreference history — Show learning timelineexport preferences — Export as portable fileimport preferences [file] — Import from another project© Ckokoski, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in skills/_archived/core/preference-learner of Ckokoski/AuthorAgent.
Open the folder on GitHubat commit 47e9570
Preference Learner 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 | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Preference Learner this skillCkokoski/AuthorAgent | 122 | — | ~1.8k | Automated safety check: Pass | MIT | |
| Agent BuildershareAI-lab/learn-claude-code | 78k | 6 repos | ~1.2k | Automated safety check: Pass | MIT | |
| Add Uint Supportpytorch/pytorch | 104k | 2 repos | ~2.3k | Automated safety check: Pass | Custom licence | |
| Peft Fine TuningOrchestra-Research/AI-Research-SKILLs | 13k | 9 repos | ~3.1k | Automated safety check: Pass | MIT | |
| Segment Anything Model GuideOrchestra-Research/AI-Research-SKILLs | 13k | 9 repos | ~3.3k | Automated safety check: Pass | MIT | |
| 1passwordtrpc-group/trpc-agent-go | 1.8k | 15 repos | ~656 | Automated safety check: Pass | Apache-2.0 |
shareAI-lab/learn-claude-code
Design and build AI agents for any domain. An agent skill from shareAI-lab/learn-claude-code.
pytorch/pytorch
Add unsigned integer (uint) type support to PyTorch operators by updating ATDISPATCH macros.
Orchestra-Research/AI-Research-SKILLs
Parameter-efficient fine-tuning for LLMs using LoRA, QLoRA, and 25+ methods.
Orchestra-Research/AI-Research-SKILLs
Guide to using Meta's Segment Anything Model for zero-shot image segmentation with point, box or mask prompts, or automatic mask generation.
trpc-group/trpc-agent-go
Set up and use 1Password CLI (op). An agent skill from trpc-group/trpc-agent-go.
Orchestra-Research/AI-Research-SKILLs
Shows how to store documents and embeddings in Chroma, query them by similarity with metadata filters, and persist them to disk for RAG and semantic search projects.
Ckokoski/AuthorAgent
Structured post-goal reflection that extracts lessons, evaluates quality, and feeds the self-improvement loop
Ckokoski/AuthorAgent
Find and analyze comparable titles for query letters, marketing, and positioning strategy
Ckokoski/AuthorAgent
Scan manuscript for inconsistencies in characters, timeline, settings, and names
Ckokoski/AuthorAgent
Advanced 47-marker voice analysis engine — analyzes your writing to build a comprehensive Voice Profile for AuthorClaw
Ckokoski/AuthorAgent
Transform raw speech-to-text dictation into polished prose while preserving the author's natural voice
Ckokoski/AuthorAgent
Intelligent error diagnosis, automatic recovery strategies, and prevention of recurring failures
Categories
Tracks user preferences, writing habits, and communication style to personalize every interaction. Preference Learner is an agent skill from Ckokoski/AuthorAgent.
Preference Learner fits situations like: AI & LLM Engineering work in your project.
Run `npx skills add Ckokoski/AuthorAgent --skill preference-learner -a claude-code`. Or copy the skill folder (skills/_archived/core/preference-learner in Ckokoski/AuthorAgent) into .claude/skills/preference-learner in your project. Claude Code loads it when a task matches its description.
Run `npx skills add Ckokoski/AuthorAgent --skill preference-learner -a codex`. Or copy the skill folder (skills/_archived/core/preference-learner in Ckokoski/AuthorAgent) into .agents/skills/preference-learner in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add Ckokoski/AuthorAgent --skill preference-learner -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/preference-learner, .gemini/skills/preference-learner, .github/skills/preference-learner and .opencode/skills/preference-learner in your project.
SKILL.md names no scripts, command-line tools or credentials: Preference Learner is instructions for the agent only.
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.
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. Review the folder before installing.
Preference Learner is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Preference Learner: Agent Builder (shareAI-lab/learn-claude-code, 78k stars), Add Uint Support (pytorch/pytorch, 104k stars), Peft Fine Tuning (Orchestra-Research/AI-Research-SKILLs, 13k stars) and Segment Anything Model Guide (Orchestra-Research/AI-Research-SKILLs, 13k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
Ckokoski (a GitHub user) maintains it in Ckokoski/AuthorAgent, which has 122 GitHub stars. The repository holds 23 skills in this directory. The repository was last updated on July 11, 2026.
Source: Ckokoski/AuthorAgent on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.