Getting Started
Quick Start
Learn the core Kyew workflow in 5 minutes: store memories, detect patterns, generate skills, and get context-aware suggestions.
The Learning Loop
Kyew implements a simple but powerful learning loop:
Experience → Memory → Pattern → Skill → Application
- Experience: You work on tasks and solve problems
- Memory: Store observations about what worked
- Pattern: Detect repeated approaches across memories
- Skill: Codify patterns into reusable knowledge
- Application: Skills guide future similar work
Step 1: Store Memories
As you work, store observations about your decisions and outcomes:
"remember that I debugged CORS by adding Mcp-Session-Id to Access-Control-Expose-Headers"
Claude uses the remember tool with context:
{
"observation": "Debugged CORS by adding Mcp-Session-Id to Access-Control-Expose-Headers",
"domain": "cloudflare",
"task_type": "debugging",
"outcome": "success"
}
What to Remember
Good memories are specific and actionable:
- ✅ "Fixed authentication by checking the JWT expiry in middleware"
- ✅ "Deployment failed because wrangler.toml was missing the containers config"
- ✅ "API tests need to mock the database connection in vitest.setup.ts"
Avoid vague or obvious statements:
- ❌ "The code worked"
- ❌ "I wrote some tests"
Step 2: Recall Memories
Later, retrieve relevant memories when facing similar situations:
"recall memories about CORS debugging"
Claude uses semantic search to find related memories:
{
"memories": [
{
"observation": "CORS issue was fixed by adding Access-Control-Expose-Headers",
"domain": "cloudflare",
"outcome": "success",
"created": "2024-01-15T10:30:00Z"
}
]
}
Step 3: Detect Patterns
After accumulating memories, analyze them for patterns:
"analyze patterns in the cloudflare domain"
The system finds repeated approaches:
{
"patterns": [
{
"description": "CORS debugging pattern",
"memory_count": 3,
"confidence": 0.85,
"memory_ids": ["mem-1", "mem-2", "mem-3"]
}
]
}
Step 4: Generate Skills
Convert a detected pattern into a reusable skill:
"generate skill from those CORS debugging memories"
The system creates a draft skill:
{
"skill": {
"name": "Cloudflare CORS Debugging",
"status": "draft",
"instructions": "When debugging CORS issues on Cloudflare Workers:\n1. Check Access-Control-Allow-Origin header\n2. Verify Access-Control-Expose-Headers includes custom headers\n3. Ensure preflight OPTIONS requests are handled..."
}
}
Draft Status
Generated skills start as drafts. They won't be suggested until you approve them.
Step 5: Approve Skills
Review and approve skills to activate them:
"show pending skills"
Then approve:
"approve the CORS debugging skill"
Once approved, the skill becomes active and will be suggested in relevant contexts.
Step 6: Get Contextual Help
When working on similar tasks, request context-aware guidance:
"get context for debugging API issues on Cloudflare"
Claude retrieves relevant memories and suggests applicable skills:
{
"memories": [...],
"skills": [
{
"name": "Cloudflare CORS Debugging",
"relevance": 0.92,
"instructions": "..."
}
]
}
Complete Example
Here's a full workflow session:
# Day 1: Working on a project
User: remember that the Ghost CMS API requires the Admin API key in the Authorization header as Ghost {{api_key}}
# Day 3: Another API integration
User: remember that Ghost webhooks need to be verified using the webhook secret with HMAC-SHA256
# Day 7: More Ghost work
User: remember that Ghost content API responses are paginated with meta.pagination
# Day 10: Analyze patterns
User: analyze patterns in the ghost domain
# Result: Pattern detected with 3 memories, 0.9 confidence
# Generate a skill
User: generate skill from those Ghost API memories
# Review and approve
User: show the pending Ghost API skill
User: approve it
# Future use
User: I need to integrate with Ghost API
User: get context for Ghost API integration
# → Returns the approved skill with step-by-step guidance
Tips for Effective Learning
Be Specific
More detail = better pattern matching:
# Good
remember that vitest tests need isolatedModules: true in tsconfig for ESM support
# Better
remember that vitest tests fail with "Cannot use import statement outside a module" and the fix is setting isolatedModules: true in tsconfig.json
Include Outcomes
Always specify whether something worked:
remember that using $map instead of .map() fixed the JSONata expression - outcome success
Use Consistent Domains
Group related work under consistent domain names:
remember ... domain "cloudflare-workers"
remember ... domain "cloudflare-workers" # Same domain
remember ... domain "cloudflare" # Different domain - might miss patterns
Review Before Approving
Always review generated skills before approval. The AI synthesis is helpful but may miss nuances only you understand.