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"])

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

  1. Save memories as you work — be consistent with domains
  2. Run analysis to find patterns:
"analyze patterns in my client-reporting workflow"
skill(action="analyze", domain="client-reporting", days=30)
  1. Kyew examines memories in that domain and identifies repeated themes
  2. 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.

Previous
Memories