agentleFS
Soul-Brews-StudioSoul-Brews-Studio/arra-oracle-skills-cli/skills/oracle-cheatsheet/SKILL.md

oracle-cheatsheet

Skill121 starsChanged 7 months agoMITView on GitHub

Generate a copy-paste cheat sheet from the current session — commands used, traps hit, shortcuts discovered. Style: icon sections, code blocks, quick-ref tables, trap warnings. Use when user says 'cheatsheet', 'cheat sheet', 'สูตรโกง', 'รวมคำสั่ง', 'command reference', or wants a reusable command summary from what just happened.

The file

We split this skill into the rules it gives an agent

2 rules. About 0 are common, 2 are distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈2

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Use this exact structure (fill from session data):

    line 94
  2. Distinctive:

    Add install/prereq section at top

    line 144

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

/oracle-cheatsheet — Session Command Cheat Sheet Generator

สรุปทุกคำสั่งที่ใช้จริงใน session นี้เป็น cheat sheet — copy-paste ได้เลย ส่งให้เพื่อนได้เลย

When to invoke

  • User says "cheatsheet", "cheat sheet", "สูตรโกง", "รวมคำสั่ง", "command reference"
  • หลังจบ session ยาว ๆ อยากรวมคำสั่งไว้ที่เดียว
  • อยากสรุปให้เพื่อนหรือทีม

Topic selection (สำคัญ — ไม่ต้องถาม)

เอาจากบริบทล่าสุดที่คุยกันอยู่เลย ไม่ต้องถาม user ว่าจะทำเรื่องอะไร เพราะ cheat sheet เป็นการรวบรวม code/command ที่ใช้จริง — มัน specific กับ context ล่าสุดอยู่แล้ว

  • ถ้าเพิ่งคุยเรื่อง maw arra plugin → cheat sheet = maw arra commands
  • ถ้าเพิ่งคุยเรื่อง crash recovery → cheat sheet = crash recovery commands
  • ถ้าเพิ่งคุยเรื่อง deploy → cheat sheet = deploy commands
  • อ่าน conversation memory ล่าสุด แล้วเริ่มเขียนเลย ไม่ต้อง AskUserQuestion

Style guide (สำคัญ — นี่คือ DNA ของ skill นี้)

ต้องเขียนแบบนี้เสมอ:

  1. เปิดด้วย title + tagline สั้น 1 บรรทัด (ใต้ #)
  2. Icon sections — ใช้ emoji นำแต่ละหมวด: 🐾 🔧 📨 🔍 🌐 📋 🔁 ⚡ ⚠️
  3. Code blocks copy-paste ได้ทันที — ไม่ใช่ pseudo-code, ไม่มี <placeholder> ที่ต้องเดา ใส่ค่าจริงจาก session
  4. ตาราง ลัด — ท้าย sheet มีตาราง | ทำอะไร | คำสั่ง | สรุปสั้น ๆ
  5. trap ที่เจอจริง — ตาราง | trap | วิธีเลี่ยง | จากประสบการณ์ session นี้
  6. ไม่มี prose ยาว — ทุก section คือ heading + code + หมายเหตุสั้น 1-2 บรรทัด
  7. env/config section — รวม env vars + config ที่ต้องตั้งไว้ที่เดียว
  8. ปิดด้วย 🤖 signature ตาม Rule 6

Procedure

1. Mine session for commands

ORACLE_ROOT=$(git rev-parse --show-toplevel 2>/dev/null || pwd)
ENCODED_PWD=$(echo "$ORACLE_ROOT" | sed 's|^/|-|; s|[/.]|-|g')
PROJECT_DIR="$HOME/.claude/projects/${ENCODED_PWD}"
LATEST_JSONL=$(ls -t "$PROJECT_DIR"/*.jsonl 2>/dev/null | head -1)

Spawn a Haiku subagent (model: "haiku") with the session JSONL:

python3 - <<'PYEOF'
import json, os
jsonl = os.environ.get('LATEST_JSONL', '')
if not jsonl or not os.path.exists(jsonl): exit(0)
cmds = set()
with open(jsonl) as f:
    for line in f:
        try:
            m = json.loads(line)
            if m.get('type') != 'assistant': continue
            for block in (m.get('message', {}).get('content', []) or []):
                if isinstance(block, dict) and block.get('type') == 'tool_use':
                    if block.get('name') == 'Bash':
                        cmd = block.get('input', {}).get('command', '')
                        if cmd:
                            # extract first meaningful command
                            first = cmd.split('&&')[0].split('|')[0].strip()
                            if first and not first.startswith('#') and not first.startswith('echo'):
                                cmds.add(first[:80])
        except: pass
for c in sorted(cmds):
    print(c)
PYEOF

Pass the output to the subagent with this prompt:

"Here are shell commands actually used in a Claude Code session. Group them by purpose (team management, search/query, git/PR, fleet communication, server, etc.). For each group, pick the most useful 3-5 commands. Return as markdown sections with code blocks. No prose — just heading + code + 1-line note."

2. Mine traps from conversation memory

Scan the conversation for:

  • Error messages that led to a different approach
  • Commands that were retried with different arguments
  • Explicit "trap" or "gotcha" or "bug" mentions
  • ⚠️ warnings given during the session

Format each as a row: | trap description | workaround |

3. Build the cheat sheet

Path: ψ/writing/cheatsheets/YYYY-MM-DD_<topic>.md

Use this exact structure (fill from session data):

# <topic> สูตรโกง

> <1-line tagline — what this covers, from what session>

---

## 🔧 <Category 1>

### <sub-topic>

` ` `bash
<real commands from session>
` ` `

## 📨 <Category 2>

...

## ⚡ ลัด

| ทำอะไร | คำสั่ง |
|--------|--------|
| ... | `...` |

## ⚠️ trap ที่เจอจริง

| trap | วิธีเลี่ยง |
|------|-----------|
| ... | ... |

---

🤖 ตอบโดย arra-oracle-v3 จาก Nat → arra-oracle-v3-oracle

4. Customize per topic

If the session is about a specific tool/feature (e.g., maw arra plugin, deploy, federation):

  • Focus sections on that tool's commands
  • Include install/setup at the top
  • Include env/config section

If the session is broad (many topics):

  • Group by workflow phase (setup → develop → review → deploy)
  • Include a "today's highlight" section at top

If user says "for a friend" / "ให้เพื่อน":

  • Add install/prereq section at top
  • Make every code block self-contained (no context needed)
  • Add "ติดตั้งครั้งเดียว" vs "ใช้ทุกวัน" separation

5. Announce

PSI=$(readlink -f "$ORACLE_ROOT/ψ" 2>/dev/null || echo "$ORACLE_ROOT/ψ")
mkdir -p "$PSI/writing/cheatsheets"
SHEET_FILE="$PSI/writing/cheatsheets/$(date +%Y-%m-%d)_${SLUG}.md"
echo "📋 Cheat sheet: $SHEET_FILE"

Notes

  • ไม่ใช้ /kien-thai — cheat sheet เป็น code-heavy reference ไม่ใช่ prose
  • ภาษาผสม ไทย+อังกฤษ — heading ไทย, code อังกฤษ, หมายเหตุสั้นไทย
  • ไม่ recap — ไม่มี "สรุป" ท้ายไฟล์ จบที่ trap table
  • ค่าจริงจาก session — ใส่ repo name, issue number, port, path จริง ไม่ใช่ generic
  • Reuse: cheat sheet ที่เขียนแล้วอยู่ใน ψ/writing/cheatsheets/ — ถ้ามีอยู่แล้วให้ append/update ไม่ใช่เขียนใหม่ทั้งหมด

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.