- picture-it from creative/ to root - plan, requesting-code-review, skill-augmentation-from-source, subagent-driven-development, systematic-debugging, writing-plans from general/ to root - Remove old test-driven-development (root version is newer) - Delete empty creative/ and general/ folders
174 lines
6.2 KiB
Markdown
174 lines
6.2 KiB
Markdown
---
|
|
name: skill-augmentation-from-source
|
|
description: Clone external repos, extract knowledge, and merge into existing Hermes skills. Use when user asks to add a tool/plugin's knowledge into a skill by referencing a GitHub repo or documentation URL.
|
|
category: software-development
|
|
---
|
|
|
|
# Skill Augmentation from Source
|
|
|
|
Clone external knowledge (repos, docs) และ integrate เข้ากับ existing skill โดยไม่ต้อง rewrite ทั้งหมด
|
|
|
|
## When to Use
|
|
|
|
- User ขอให้เพิ่มความรู้เกี่ยวกับ tool/plugin จาก GitHub repo เข้าสู่ existing skill
|
|
- External repo มี structured docs (SKILL.md, README ที่ดี) ที่สามารถ extract ได้เลย
|
|
- User ต้องการให้ skill รู้จัก new tool ที่ไม่เคยมี
|
|
|
|
## Core Workflow
|
|
|
|
```
|
|
[1] Locate existing skill
|
|
↓
|
|
[2] Read existing skill — ดูว่ามีอะไรแล้ว ขาดอะไร
|
|
↓
|
|
[3] Clone/extract external source
|
|
↓
|
|
[4] Analyze gap — อะไรใน source ที่ยังไม่มีใน skill
|
|
↓
|
|
[5] Patch existing skill — เพิ่มเฉพาะส่วนที่ขาด
|
|
↓
|
|
[6] Add new skill if needed — ถ้าเป็น topic ใหม่ที่ไม่เคยมี
|
|
```
|
|
|
|
## Step 1: Locate Existing Skill
|
|
|
|
Hermes skills อยู่ที่:
|
|
```
|
|
~/.hermes/skills/
|
|
```
|
|
|
|
ถ้าเป็น sub-skill อาจอยู่ใน:
|
|
```
|
|
~/.hermes/skills/<category>/<skill-name>/
|
|
~/.config/opencode/skills/<skill-name>/
|
|
```
|
|
|
|
```bash
|
|
# ค้นหา skill ที่มีอยู่แล้ว
|
|
find ~/.hermes/skills -name "SKILL.md" | xargs grep -l "keyword" 2>/dev/null
|
|
find / -name "website-creator" -type d 2>/dev/null | head -5
|
|
```
|
|
|
|
## Step 2: Read Existing Skill
|
|
|
|
```bash
|
|
# ดู line count ก่อน
|
|
wc -l /path/to/SKILL.md
|
|
|
|
# อ่านทีละส่วน (offset/limit)
|
|
read_file(path, offset=1, limit=200)
|
|
```
|
|
|
|
**Focus หา:**
|
|
- Sub-skill routing table (ถ้ามี)
|
|
- Workflow steps
|
|
- Troubleshooting section
|
|
- Templates section
|
|
|
|
## Step 3: Clone/Extract External Source
|
|
|
|
```bash
|
|
# Clone entire repo
|
|
git clone --depth 1 https://github.com/user/repo.git /tmp/repo-clone
|
|
|
|
# ถ้าเป็น monorepo — ค้นหา skill/docs path
|
|
find /tmp/repo-clone -type f -name "SKILL.md" | head -10
|
|
find /tmp/repo-clone -type f -name "README.md" | head -10
|
|
|
|
# ถ้าเป็น tool ที่มี package.json
|
|
cat /tmp/repo-clone/package.json
|
|
```
|
|
|
|
## Step 4: Analyze Gap
|
|
|
|
Compare:
|
|
1. **สิ่งที่ source มี** — ดูจาก README/docs
|
|
2. **สิ่งที่ existing skill มี** — จากการ read
|
|
3. **สิ่งที่ขาด** — patch เฉพาะส่วนที่ขาด
|
|
|
|
### Gap Analysis Checklist
|
|
|
|
| สิ่งที่ต้องเช็ค | เครื่องมือ |
|
|
|----------------|-----------|
|
|
| Configuration patterns | Config files, examples |
|
|
| Code patterns | Example code blocks |
|
|
| Installation commands | package.json, README |
|
|
| Integration steps | Setup sections |
|
|
| Sub-skill routing | Skills table |
|
|
| Troubleshooting | Known issues section |
|
|
|
|
## Step 5: Patch Existing Skill
|
|
|
|
ใช้ `patch` tool เพื่อเพิ่มเฉพาะส่วนที่ขาด:
|
|
|
|
### Pattern A: เพิ่มใน Sub-skill Routing Table
|
|
```markdown
|
|
// หา routing table
|
|
| Existing | `some-skill` | Description |
|
|
|
|
// Patch
|
|
old_string: "| Existing | `some-skill` | Description |"
|
|
new_string: "| Existing | `some-skill` | Description |\n| New Tool | `new-tool` | What it does |"
|
|
```
|
|
|
|
### Pattern B: เพิ่ม Section ใหม่
|
|
```markdown
|
|
// หา landmark ที่ชัดเจน (header หรือ divider ก่อน section ที่ต้องการ)
|
|
// เพิ่มก่อน section นั้น
|
|
|
|
old_string: "---\n\n## Templates"
|
|
new_string: "---\n\n## New Section\n\nContent here.\n\n---\n\n## Templates"
|
|
```
|
|
|
|
### Pattern C: อัปเดต Workflow Step
|
|
```markdown
|
|
// หา step ที่เกี่ยวข้อง
|
|
old_string: "### Step 8: SEO Setup\n\n**เรียก skills: `seo-analyzers`"
|
|
new_string: "### Step 8: SEO Setup\n\n**เรียก skills: `seo-analyzers` + `new-tool`**\n\n1. **New Tool Integration:**\n - ติดตั้ง package\n - เพิ่ม config"
|
|
```
|
|
|
|
## Step 6: Create New Skill (if needed)
|
|
|
|
ถ้า topic ใหม่ที่ไม่เคยมีใน existing skills:
|
|
|
|
```bash
|
|
# Clone skill content
|
|
mkdir -p ~/.hermes/skills/<new-skill>
|
|
cp /tmp/repo-clone/path/to/SKILL.md ~/.hermes/skills/<new-skill>/SKILL.md
|
|
|
|
# Copy reference files if any
|
|
mkdir -p ~/.hermes/skills/<new-skill>/reference
|
|
cp /tmp/repo-clone/reference/*.md ~/.hermes/skills/<new-skill>/reference/
|
|
```
|
|
|
|
## Critical Rules
|
|
|
|
1. **อย่า rewrite ทั้งหมด** — patch เฉพาะส่วนที่ขาด
|
|
2. **อ่าน existing skill ก่อน** — ต้องรู้ว่ามีอะไรแล้วบ้าง
|
|
3. **เช็ค path จริง** — skills อยู่หลายที่ (`~/.hermes/skills/`, `~/.config/opencode/skills/`, etc.)
|
|
4. **หา sub-skill routing table** — ถ้ามี เพิ่มเข้าไปที่นั่นก่อน
|
|
5. **ทดสอบ patch** — grep หาสิ่งที่เพิ่มหลัง patch เสร็จ
|
|
|
|
## Example: Adding SEO Plugin to website-creator
|
|
|
|
```
|
|
Source: https://github.com/pOwn3d/payload-seo-analyzer.git
|
|
Existing skill: website-creator
|
|
Action: Add SEO analyzer plugin integration + Lexical rendering docs
|
|
```
|
|
|
|
Steps:
|
|
1. Clone SEO analyzer repo
|
|
2. Read README (full content — this tool has detailed docs)
|
|
3. Find existing skill: `~/.hermes/skills/software-development/website-creator/SKILL.md`
|
|
4. Gap analysis:
|
|
- Existing skill has `richText` field in collections
|
|
- Missing: how to render Lexical JSON in frontend
|
|
- Missing: SEO plugin integration
|
|
- Missing: content seeding workflow
|
|
5. Patch:
|
|
- Add `SEO Analyzer Plugin Integration` section
|
|
- Add `Lexical RichText Rendering in Frontend` section
|
|
- Add to Sub-skill Routing table
|
|
6. Create payload sub-skill from official Payload CMS claude-plugin
|