golang-learning
- Repo stars 0
- Author updated Live
- Author repo skills-registry
- Domain
- Engineering
- Compatible agents
-
- Claude Code
- Cursor
- Cline
- Codex
- Windsurf
- Gemini CLI
- +20
- Trust score
- 88 / 100 · community maintained
- Author / version / license
- @tomevault-io · no license declared
- Token usage
- Lean
- Setup complexity
- Guided setup
- External API key
- Not required
- Operating systems
- Unspecified (assume cross-platform)
- Runtime requirements
- No special requirements
- Permissions
-
- Read-only
- Write / modify
- Shell exec
- Network behavior
- Local-only
- Install commands
- 26 variants
Profile is derived at build time from SKILL.md and install vectors. Subject to drift from author intent.
Heads up: 未限定 allowed-tools,默认拥有全部工具权限。
---
name: golang-learning
description: This skill helps you learn Go (Golang) one topic per day. Each session covers a single concept w…
category: engineering
runtime: no special runtime
---
# golang-learning output preview
## PART A: Task fit
- Use case: This skill helps you learn Go (Golang) one topic per day. Each session covers a single concept with a clear explanation, runnable code examples, and hands-on exercises. runs entirely locally. Works with Claude Code, Cursor, Cline and 23 more..
- Inputs: target material, constraints, expected output, and acceptance criteria.
- Evidence boundary: follow “When to Use This Skill / Workflow / Step 1 — Read History” and do not present inference as author intent.
## PART B: Execution result
- **01** The card summarizes the use case; runtime output centers on “This skill helps you learn Go (Golang) one topic per day. Each session covers a single concept with a clear explanation, runnable code examples, and hands-on exercises. runs entirely locally. Works with Claude Code, Cursor, Cline and 23 more.”.
- **02** When the source has headings, the agent prioritizes “When to Use This Skill / Workflow / Step 1 — Read History” so the result follows the author’s structure.
- **03** Typical output includes task judgment, concrete steps, required commands or file edits, validation, and follow-up options.
- **04** Risk context follows the fingerprint: read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
## Running Rules
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding scope.
- Return the result, validation criteria, and next iteration options. The source does not require a stable slash command. After installation, invoke the skill by name and describe the task.
Name target files or source material, expected output, forbidden changes, and whether network or shell access is allowed. Permission fingerprint: read files, write/modify files, run shell commands.
Start with a small task and check whether the result follows “When to Use This Skill / Workflow / Step 1 — Read History”. Inspect diffs, logs, previews, or tests before expanding scope.
Confirm the final output includes a concrete result, evidence, and next action. If it stays generic, tighten inputs, boundaries, and acceptance criteria.
---
name: golang-learning
description: This skill helps you learn Go (Golang) one topic per day. Each session covers a single concept w…
category: engineering
source: tomevault-io/skills-registry
---
# golang-learning
## When to use
- This skill helps you learn Go (Golang) one topic per day. Each session covers a single concept with a clear explanatio…
- Use it when the task has clear inputs, repeatable steps, and validation criteria.
## What to provide
- Target material, scope, expected result, and forbidden changes.
- Whether network, commands, file writes, or external services are allowed.
## Execution rules
- Organize steps around “When to Use This Skill / Workflow / Step 1 — Read History” and keep inference separate from source facts.
- read files, write/modify files, run shell commands; mostly runs locally; usually needs no extra API key.
- Validate with a small sample before expanding the task.
## Output requirements
- Return the deliverable, key evidence, validation method, and next action.
- Mark missing information as unknown; do not invent commands, platforms, or dependencies. The author source anchors workflow facts; repository files anchor sources and commands; Fluxly only adds fit, limitations, and quality judgment.
skill "golang-learning" {
input -> user goal + target files + boundaries + acceptance criteria
context -> When to Use This Skill / Workflow / Step 1 — Read History
rules -> SKILL.md triggers / order / output contract
runtime -> no special runtime | read files, write/modify files, run shell commands | mostly runs locally
guardrails -> usually needs no extra API key + small-sample validation + diff/log review
output -> copyable result + checklist + next iteration
} Golang Daily Learning Skill
This skill helps you learn Go (Golang) one topic per day. Each session covers a single concept with a clear explanation, runnable code examples, and hands-on exercises.
When to Use This Skill
- User says "开始今日golang任务" (start today's golang task)
- User says "start today's golang task" or "start daily golang task"
- User says "begin daily golang practice" or "golang today"
- User wants to continue their daily Go learning routine
Workflow
Step 1 — Read History
Before generating any content:
- Read
history.yamlfrom the skill directory (.agent/skills/golang-learning/history.yaml) - Extract the list of all previously covered topics (the
topic_keyfield of each entry) - Also note the most recent entry's date so you can inform the user of their streak
If history.yaml does not exist yet, treat the history as empty and create the file after the session.
Step 2 — Select Today's Topic
Pick one topic from the curriculum below that:
- Has NOT appeared in
history.yaml - Is appropriate as the next step given what topics have already been covered (prefer sequential/progressive ordering)
- If all topics in a category are covered, move to the next category
Topic Curriculum (ordered by progression):
The 7-Day Ultra-Intensive Curriculum (Double Density)
| topic_key | Title | Description |
|---|---|---|
day1_basics_control |
0x01: Basics, Control Flow & Functions | Variables, :=, Types, for loops, switch, Multiple Return Values, and passing by pointer (*, &). |
day2_data_structs |
0x02: Arrays, Slices, Maps & Structs | Fixed Arrays vs slice capabilities, make/append, Map iteration, defining Structs and Methods with pointer receivers. |
day3_interfaces_err |
0x03: Interfaces & Error Handling | Implicit interfaces, empty interface{}, type assertions, error returns, panic/recover. |
day4_concurrency |
0x04: Goroutines & Channels | Lightweight concurrency, spawning jobs, Buffered vs Unbuffered channels, select. |
day5_sync_context |
0x05: Sync & Context Packages | sync.WaitGroup, sync.Mutex to prevent data races, building timeouts/cancellation with context.Context. |
day6_io_json_test |
0x06: I/O, SerDe & Testing | JSON Encoding/Decoding, io.Reader/io.Writer, unit tests with *testing.T, Table-driven testing. |
day7_adv_internals |
0x07: Advanced Internals & Reflection | Reflection (reflect), unsafe, escapes to heap, profiling (pprof), Go Memory Model basics. |
Step 3 — Generate the Daily Learning Session
Generate a full, structured learning session directly inside the pages/development/golang/ directory (the GitHub Pages site directory).
Naming convention: Use YYYY-MM-DD_golang{NN}.md where NN is a 2-digit sequence (usually 01 for the first topic of the day).
File path: pages/development/golang/YYYY-MM-DD_golang01.md
(e.g., pages/development/golang/2026-03-08_golang01.md)
Output Format
IMPORTANT — Jekyll Front-matter:
Every generated .md file MUST begin with Jekyll front-matter so the page renders correctly on the GitHub Pages site:
---
layout: default
title: "{Title}"
---
# Golang
## 🧠 Concept Overview
**[CRITICAL: Do NOT output any "Welcome to" or AI intros. Immediately start the first sentence with a deep technical exploration of the topic.]**
[EXTREMELY exhaustive, double-length, step-by-step explanation of the concepts. Start from the absolute basics... then dive deep. Explain the *WHY* behind Go's design in meticulous detail.]
---
## 🔑 Key Points
- [Key point 1]
- [Key point 2]
- [Key point 3]
- [Key point 4]
- [Key point 5]
---
## 💻 Code Examples
### Example 1 — {Descriptive title}
\`\`\`go
// File: example1.go
package main
import "fmt"
func main() {
// Clear, well-commented code
// Each step explained inline
}
\`\`\`
**What this demonstrates**: [1–2 sentence explanation of the example]
### Example 2 — {Descriptive title}
\`\`\`go
// File: example2.go
package main
import "fmt"
func main() {
// A slightly more complex or realistic example
}
\`\`\`
**What this demonstrates**: [1–2 sentence explanation]
---
## ⚠️ Common Mistakes
| Mistake | Why it's wrong | Correct approach |
|---------|---------------|-----------------|
| [mistake 1] | [reason] | [fix] |
| [mistake 2] | [reason] | [fix] |
| [mistake 3] | [reason] | [fix] |
---
## 🏋️ Practice Exercises
### Exercise 1 to 8 (Scale appropriately)
Generate exactly 8 exercises, pacing from easy to hard. Provide detailed goals, requirements, constraints, and starter code for each.
### Exercise 1 — {Title} (Easy)
**Goal**: [Clear description of what to implement]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint without giving away the answer]
---
### Exercise 2 — {Title} (Easy)
**Goal**: [Clear description]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint]
---
### Exercise 3 — {Title} (Medium)
**Goal**: [Clear description]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint]
---
### Exercise 4 — {Title} (Medium)
**Goal**: [Clear description]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint]
---
### Exercise 5 — {Title} (Medium)
**Goal**: [Clear description]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint]
---
### Exercise 6 — {Title} (Hard)
**Goal**: [Clear description]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint]
---
### Exercise 7 — {Title} (Hard)
**Goal**: [Clear description]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint]
---
### Exercise 8 — {Title} (Challenge!)
**Goal**: [A more realistic, real-world scenario]
**Requirements**:
- [Requirement 1]
- [Requirement 2]
- [Requirement 3]
- [Requirement 4]
**Starter code**:
\`\`\`go
package main
// TODO: Complete the implementation
\`\`\`
**Hint**: [A subtle hint pointing toward the right approach]
---
## 📖 Reference & Further Reading
- [Official Go Documentation: {relevant page}]({url})
- [Go by Example: {topic}](https://gobyexample.com/{topic})
- [Effective Go — {section}](https://go.dev/doc/effective_go#{section})
---
## 🗒️ Quick Cheat Sheet
\`\`\`go
// One-liner reference for today's topic — the most important syntax
\`\`\`
---
[← back to golang](./) | [← back to development](..) | [← back to home](/)
---
### Step 4 — Update history.yaml
After generating the session file, **append** a new entry to `history.yaml`:
```yaml
# Example structure of history.yaml
- date: "2026-03-08"
topic_key: "day1_fundamentals_types"
title: "0x01: Go Fundamentals & Type System"
category: "Intensive Track"
file: "pages/development/golang/2026-03-08_golang01.md"
- date: "2026-03-09"
topic_key: "day2_concurrency_errors"
title: "0x02: Concurrency & Error Philosophy"
category: "Intensive Track"
file: "pages/development/golang/2026-03-09_golang01.md"
Rules:
- Always append; never overwrite existing entries
- If
history.yamldoes not exist, create it with proper YAML formatting - Use
"YYYY-MM-DD"date string format (quoted for YAML safety)
Step 5 — Confirm to the User
After generating the file and updating history, tell the user:
- Today's topic: The title and category
- File created: The path to the session file
- Progress: How many topics have been covered so far (e.g., "3 / 50 topics completed")
- Streak reminder: The date of their last session
- Quick start: Suggest they open the file and start with the Concept Overview, then try the exercises
Content Quality Guidelines
Tone & Style
- Tone: Use a warm, human-like, and conversational tone. Act like a senior Go developer chatting with a peer. Use simple, colloquial language rather than overly formal, rigid AI-speak. Avoid robotic intros like "Welcome to today's topic" or "In this lesson..."
- Exhaustive Content Length: You MUST generate extremely long, exhaustive content to ensure absolutely NO knowledge points are missed. Dive deeply into every edge case, internal mechanism, and API detail. Do NOT summarize or abbreviate. Your output must be a definitive, deeply comprehensive guide.
- Natural Flow: Let the document flow naturally without feeling like a rigid AI textbook template.
Concept Explanations
- Balance Beginner & Advanced: The user is an experienced developer but a Complete Beginner to Go. You MUST first construct a solid beginner-friendly foundation by thoroughly explaining Go's basic syntax (variables, loops, structs) from the ground up. However, once the basics are secure, you MUST cater to their engineering experience by diving into deep, advanced topics like internal memory layout, Go runtime behavior, and performance nuances.
- Provide step-by-step, gentle guidance. Relate Go concepts to other languages to bridge the gap (e.g., "Like in C++, but memory safe...").
- Use professional terminology but explain it conversationally.
Code Examples
- Volume & Variety: Provide MULTIPLE code patterns. Do not stop at just one basic example. Show basic usage, advanced idiomatic usage, and how to handle edge cases.
- All code must be complete and runnable (
package main,func main(), proper imports) - Prefer complex, high-performance, and idiomatic use cases over toy examples.
- Demonstrate advanced edge cases (e.g., channel deadlocks, memory leaks via slices).
Exercises
- Volume: You MUST generate exactly 8 practice exercises per daily session. This is an absolute requirement.
- Exercises 1-3 (Easy): Basic syntax application.
- Exercises 4-6 (Medium): Implementing programming logic using today's Go features.
- Exercises 7-8 (Hard / Challenge): A complex algorithmic or data structure task combining today's topics.
- Ensure exercises build confidence step-by-step.
Progression
- Always check
history.yamlfirst — never repeat a topic - Follow the 7-day curriculum order.
File Organization
# Skill files (unchanged)
.agent/skills/golang-learning/
├── SKILL.md ← This file
└── history.yaml ← Auto-managed learning history
# Generated articles go here (GitHub Pages site)
pages/development/golang/
├── index.md # Directory index (auto-lists articles)
├── YYYY-MM-DD_golang01.md # Session file for that day
└── ...
Error Handling
- If
history.yamlis not parseable, warn the user and start with an empty history - If all 7 intensive topics are covered, congratulate the user and offer to generate custom system-design scenarios or dive into specific framework codebases.
- If the user requests a specific topic (even if already covered), generate it but note it was covered before.
Source: 0xHardfork/0xHardfork.github.io — distributed by TomeVault.
Decide Fit First
Design Intent
How To Use It
Boundaries And Review