Core Concepts
Skills
Skills are reusable workflows built from your memories. They capture how you like things done and let your AI apply that knowledge automatically in future conversations.
What is a Skill?
A skill is a saved workflow or set of instructions that your AI can apply when the situation matches. For example, a "Weekly Client Report" skill might contain:
- Who receives the report ([email protected])
- Which template to use (blue brand deck)
- Where to pull data from (Linear for hours, dashboard for metrics)
- When it's due (Friday by 5pm)
Once saved, your AI applies this automatically whenever you say "help me with this week's client report."
Skill Lifecycle
Skills follow a simple flow:
Draft → Active → Deprecated
↓
Rejected
Draft
New skills start as drafts. They:
- Are not used automatically
- Can be reviewed and edited
- Require your explicit approval to activate
Active
Approved skills become active. They:
- Are suggested when the context matches
- Can be deprecated if they become outdated
- Track whether they're actually helping
Deprecated
When a skill becomes outdated:
- It's no longer suggested
- It can point to a replacement skill
- It stays in your history for reference
Rejected
If a skill isn't right:
- It won't become active
- Your rejection reason is saved
- It can be edited and resubmitted
Creating Skills
Manual Creation
You can create a skill directly:
"create a skill called 'Weekly Standup Prep' with instructions for
pulling open tickets from Linear, checking the Slack channel for
blockers, and formatting the summary for our team meeting"
Behind the scenes:
skill(action="create",
name="Weekly Standup Prep",
description="Prepares weekly standup summary from project tools",
domain=["team-processes"],
instructions="Pull open tickets from Linear, check #blockers Slack channel, format summary for team meeting",
triggers=["standup prep", "prepare for standup", "team meeting prep"])
From Your Memories (Recommended)
The best skills come from patterns Kyew detects in your memories. Once you have related memories saved, generate a skill from them:
"generate a skill from those client reporting memories"
This calls:
skill(action="generate", memory_ids=["mem_abc", "mem_def", "mem_ghi"], domain=["client-reporting"])
Your AI synthesizes your memories into a structured workflow you can review and approve.
Pattern Detection
Kyew can analyze your memories to find recurring patterns worth turning into skills.
How It Works
- Save memories as you work — be consistent with domains
- Run analysis to find patterns:
"analyze patterns in my client-reporting workflow"
skill(action="analyze", domain="client-reporting", days=30)
- Kyew examines memories in that domain and identifies repeated themes
- Review the detected patterns and generate skills from them
Confidence Scores
Each detected pattern includes a confidence score:
- 0.9+ — Very strong pattern, highly consistent across memories
- 0.7 - 0.9 — Solid pattern, worth turning into a skill
- 0.5 - 0.7 — Possible pattern, review carefully before generating
- Below 0.5 — Likely coincidental, needs more data
A minimum of 3 memories is needed before patterns can be detected.
Pattern to Skill Flow
Analyze patterns → Review confidence → Generate skill → Approve
# Step 1: Find patterns
skill(action="analyze", domain="client-reporting")
# Step 2: Generate a skill from the pattern
skill(action="generate", memory_ids=["mem_abc", "mem_def", "mem_ghi"], domain=["client-reporting"])
# Step 3: Review and approve
skill(action="update", id="skill_xyz", status="active")
Managing Skills
Listing Skills
skill(action="list")
Filter by status:
skill(action="list", status="draft")
skill(action="list", status="active")
Or through conversation:
"list all my active skills"
"show draft skills waiting for my approval"
Updating
skill(action="update", id="skill_xyz", instructions="Updated instructions with new Q1 metrics template")
Updates create new versions — your history is always preserved.
Approval Workflow
Why Approval Matters
Skills require approval because:
- They influence how your AI behaves in future conversations
- Automatic learning could capture incorrect patterns
- You stay in control of what your AI knows and does
Reviewing Pending Skills
"show pending skills"
skill(action="list", status="draft")
Before approving, check:
- Does this accurately capture my workflow?
- Is the scope right — not too broad, not too narrow?
- Would this actually help me in the future?
Approving
"approve the Client Report skill"
skill(action="update", id="skill_xyz", status="active")
Rejecting
"reject that skill — the process changed since last month"
skill(action="update", id="skill_xyz", status="rejected")
Version History
Skills keep a full version history:
"show history for the Client Report skill"
skill(action="versions", skill_id="skill_xyz")
Rollback
If an update made things worse:
"roll back the Client Report skill to version 2"
skill(action="rollback", id="skill_xyz", rollback_to=2)
System Skills
Kyew includes pre-loaded system skills available to all users. These are read-only skills that provide guidance on common tasks like connecting remote MCP servers and using code tools. System skills appear alongside your own when relevant, but cannot be edited or deleted.
Tips
Keep Skills Focused
One skill = one workflow. "Client Reporting" is good. "Everything About My Job" is too broad.
Use Specific Triggers
When creating skills manually, include the phrases that should trigger them:
skill(action="create",
name="Client Reporting",
triggers=["client report", "weekly report", "report for Sarah"],
...)
Check for Overlaps
Before creating a new skill:
"do I have any skills similar to 'meeting prep'?"
Deprecate, Don't Delete
When a skill becomes outdated, deprecate it rather than deleting. This preserves your history and can point to the replacement.
Aliases
Old tool names list_skills, skill_versions, get_audit_log, and analyze_patterns still work but are deprecated. Use skill(action="...") instead.
API Reference
For the full technical reference including all parameters and options, see skill Tool Reference.