ワンクリックで
go-based-tutors
Pattern for building interactive CLI tutors in Go with standardized colors, progress tracking, and pedagogical elements
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Pattern for building interactive CLI tutors in Go with standardized colors, progress tracking, and pedagogical elements
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Automatically detect and save person-related information (names, roles, contact info, relationships, organizations) to Core Memory (Caduceus). Triggers when user mentions people with descriptive details like job titles, phone numbers, emails, responsibilities, or relationships to other people or organizations.
Send professional client updates with deliverables via email and WhatsApp notification. Use when user wants to share work, send assets, or give a client an update on progress.
Distill Claude Code session operations into reusable tinctures (Skills, Commands, Agents). Uses category theory for structural preservation, information theory for potency analysis, and the Golden Ratio for classification. Use when you want to capture effective workflows, or when the user says "distill", "extract this", "make a tincture", "capture this workflow", or "turn this into a skill/command".
Fuse two things into one unified creation. Use when user says fuse, fusion, combine, merge, or wants to unite documents, projects, concepts, ideas, frameworks, or any two entities into something greater than either alone.
Brutal enforcer of production-grade coding practices. The bane of vibe-coded slop and spaghetti code. Mars audits codebases for the hidden sins that separate "it works on my machine" from battle-tested production systems.
Execute automated fixes for issues identified by /meta-gods analysis
| name | go-based-tutors |
| description | Pattern for building interactive CLI tutors in Go with standardized colors, progress tracking, and pedagogical elements |
| version | 1.0.0 |
| author | Ormus |
| tags | ["go","cli","education","tutor","interactive","learning"] |
Pattern for creating interactive command-line educational tools in Go.
const (
reset = "\033[0m"
bold = "\033[1m"
dim = "\033[2m"
cRed = "\033[31m"
cGreen = "\033[32m"
cYellow = "\033[33m"
cBlue = "\033[34m"
cMagenta = "\033[35m"
cCyan = "\033[36m"
cBrightGreen = "\033[92m"
)
// Semantic helpers
func keyTerm(s string) string { return cYellow + bold + s + reset } // Important concepts
func do(s string) string { return cGreen + "DO: " + reset + s } // Best practice
func dont(s string) string { return cRed + "DON'T: " + reset + s } // Anti-pattern
func tip(s string) string { return cCyan + "TIP: " + reset + s } // Helpful hint
func cmd(s string) string { return cBlue + s + reset } // Commands/code
func correct(s string) string { return cBrightGreen + bold + s + reset }
func wrong(s string) string { return cRed + s + reset }
Three types of comprehension checks (keep simple for beginners):
// Predict Output - user guesses what code prints
func predictOutput(code, correctOutput, explanation string) bool
// Fill in the Blank - user completes code
func fillBlank(instruction, code, answer, explanation string) bool
// Fix the Bug - multiple choice bug identification
func fixBug(code string, options []string, correctIdx int, explanation string) bool
Key principle: Questions should be comprehension checks, not knowledge tests. Answers should be obvious from text just read.
type Progress struct {
CompletedLessons []int `json:"completed_lessons"`
QuizScores map[string]int `json:"quiz_scores"`
InteractiveAttempts int `json:"interactive_attempts"`
InteractiveCorrect int `json:"interactive_correct"`
LastAccess time.Time `json:"last_access"`
}
Persist to progress.json in working directory.
type Lesson struct {
ID int
Title string
Content func() // Dynamic content with colors & interactions
Quiz []QuizQuestion
}
| Tutor | Location | Purpose |
|---|---|---|
| GoTutor | ~/projects/08-DEVELOPMENT/learning/boot.dev/projects/learn-go-pocket-projects/14-gotutor/ | Go language fundamentals |
| LinuxTutor | ~/projects/08-DEVELOPMENT/learning/boot.dev/projects/learn-go-pocket-projects/15-linuxtutor/ | Linux/LPI certification prep |
| VibeReader | ~/projects/08-DEVELOPMENT/learning/vibe-engineering-tutor/ | Interactive book reading (PDF→sections) |
Content func() for dynamic renderingFor converting PDFs/books into interactive reading:
pdftotext "book.pdf" "book.txt"
# Split by chapter markers
type Section struct {
ID string
Title string
Content string
KeyConcept string // Main takeaway user must identify
Alternatives []string // Acceptable variations
Hint string // Help if struggling
}