{"owner":"golang","repo":"go","hasSkills":true,"totalSkillsCount":4,"totalTokensCount":1186,"categories":["mcp-config","marketplace","plugin-manifest","cursor-rule"],"hasMcp":true,"mcpConfig":{"mcpServers":{"go":{"command":"npx","args":["-y","@modelcontextprotocol/server-go"]}}},"found":[".cursor/mcp.json",".claude-plugin/marketplace.json",".claude-plugin/plugin.json",".cursorrules (go.mdc)"],"skills":{".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/plugin.json)",".cursorrules (go.mdc)":"---\ndescription: \"Idiomatic Go rules. Explicit error handling, interface-based design, context-first concurrency.\"\nglobs: **/*.go\nalwaysApply: false\n---\n# Go Language Rules\n\nExpert Go developer. Simple, explicit, idiomatic.\n\n## Error Handling\n- Always handle errors — never assign to _\n- fmt.Errorf(\"context: %w\", err) for wrapping\n- errors.Is() / errors.As() for checking\n- Custom error types for structured errors\n\n## Naming\n- Short for short-lived vars: i, n, err, ok\n- No stuttering: user.UserID → user.ID\n- Acronyms: userID, httpClient (not userId, httpClient)\n- Interfaces: end in -er (Reader, Writer, Handler)\n\n## Interfaces\n- Accept interfaces, return concrete types\n- Define at call site, not implementation site\n- Single-method interfaces preferred\n\n## Concurrency\n- context.Context first param for blocking functions\n- defer cancel() after context creation\n- WaitGroup for goroutine groups\n- Channels for communication, Mutex for state\n\n## Testing\n- Table-driven: for _, tc := range testCases { t.Run(tc.name, ...) }\n- Interface-based mocking\n\n## Forbidden\n- No _ to ignore errors\n- No init() for business logic\n- No global mutable state\n- No interface{} where generics work\n- No goroutines without termination condition\n"},"files":{".cursor/mcp.json":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.cursor/mcp.json)",".claude-plugin/marketplace.json":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/marketplace.json)",".claude-plugin/plugin.json":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/plugin.json)",".cursorrules (go.mdc)":"---\ndescription: \"Idiomatic Go rules. Explicit error handling, interface-based design, context-first concurrency.\"\nglobs: **/*.go\nalwaysApply: false\n---\n# Go Language Rules\n\nExpert Go developer. Simple, explicit, idiomatic.\n\n## Error Handling\n- Always handle errors — never assign to _\n- fmt.Errorf(\"context: %w\", err) for wrapping\n- errors.Is() / errors.As() for checking\n- Custom error types for structured errors\n\n## Naming\n- Short for short-lived vars: i, n, err, ok\n- No stuttering: user.UserID → user.ID\n- Acronyms: userID, httpClient (not userId, httpClient)\n- Interfaces: end in -er (Reader, Writer, Handler)\n\n## Interfaces\n- Accept interfaces, return concrete types\n- Define at call site, not implementation site\n- Single-method interfaces preferred\n\n## Concurrency\n- context.Context first param for blocking functions\n- defer cancel() after context creation\n- WaitGroup for goroutine groups\n- Channels for communication, Mutex for state\n\n## Testing\n- Table-driven: for _, tc := range testCases { t.Run(tc.name, ...) }\n- Interface-based mocking\n\n## Forbidden\n- No _ to ignore errors\n- No init() for business logic\n- No global mutable state\n- No interface{} where generics work\n- No goroutines without termination condition\n"},"items":[{"name":"marketplace.json","path":".claude-plugin/marketplace.json","rawUrl":"https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/marketplace.json","title":"Claude Plugin Marketplace Catalog","category":"marketplace","format":"json","content":"# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/marketplace.json)","tokens":300,"sizeBytes":188},{"name":"plugin.json","path":".claude-plugin/plugin.json","rawUrl":"https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/plugin.json","title":"claude-plugin Plugin Manifest","category":"plugin-manifest","format":"json","content":"# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/plugin.json)","tokens":300,"sizeBytes":174},{"name":"mcp.json","path":".cursor/mcp.json","rawUrl":"https://raw.githubusercontent.com/golang/go/HEAD/.cursor/mcp.json","title":"Model Context Protocol (MCP) Configuration","category":"mcp-config","format":"json","content":"# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.cursor/mcp.json)","tokens":300,"sizeBytes":167},{"name":".cursorrules","path":".cursorrules (go.mdc)","rawUrl":"https://raw.githubusercontent.com/PatrickJS/awesome-cursorrules/main/rules/go.mdc","title":"Awesome Cursorrules: go","category":"cursor-rule","format":"markdown","content":"---\ndescription: \"Idiomatic Go rules. Explicit error handling, interface-based design, context-first concurrency.\"\nglobs: **/*.go\nalwaysApply: false\n---\n# Go Language Rules\n\nExpert Go developer. Simple, explicit, idiomatic.\n\n## Error Handling\n- Always handle errors — never assign to _\n- fmt.Errorf(\"context: %w\", err) for wrapping\n- errors.Is() / errors.As() for checking\n- Custom error types for structured errors\n\n## Naming\n- Short for short-lived vars: i, n, err, ok\n- No stuttering: user.UserID → user.ID\n- Acronyms: userID, httpClient (not userId, httpClient)\n- Interfaces: end in -er (Reader, Writer, Handler)\n\n## Interfaces\n- Accept interfaces, return concrete types\n- Define at call site, not implementation site\n- Single-method interfaces preferred\n\n## Concurrency\n- context.Context first param for blocking functions\n- defer cancel() after context creation\n- WaitGroup for goroutine groups\n- Channels for communication, Mutex for state\n\n## Testing\n- Table-driven: for _, tc := range testCases { t.Run(tc.name, ...) }\n- Interface-based mocking\n\n## Forbidden\n- No _ to ignore errors\n- No init() for business logic\n- No global mutable state\n- No interface{} where generics work\n- No goroutines without termination condition\n","tokens":286,"sizeBytes":1236}],"systemPromptSnippet":"<yakaai_skills repo=\"golang/go\">\n<!-- File: .claude-plugin/marketplace.json (Tokens: ~300 | Category: marketplace) -->\n# Claude Plugin Marketplace Catalog\n\nPath: `.claude-plugin/marketplace.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/marketplace.json)\n\n<!-- File: .claude-plugin/plugin.json (Tokens: ~300 | Category: plugin-manifest) -->\n# claude-plugin Plugin Manifest\n\nPath: `.claude-plugin/plugin.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.claude-plugin/plugin.json)\n\n<!-- File: .cursor/mcp.json (Tokens: ~300 | Category: mcp-config) -->\n# Model Context Protocol (MCP) Configuration\n\nPath: `.cursor/mcp.json`\n\n[View Raw Content on GitHub](https://raw.githubusercontent.com/golang/go/HEAD/.cursor/mcp.json)\n\n<!-- File: .cursorrules (go.mdc) (Tokens: ~286 | Category: cursor-rule) -->\n---\ndescription: \"Idiomatic Go rules. Explicit error handling, interface-based design, context-first concurrency.\"\nglobs: **/*.go\nalwaysApply: false\n---\n# Go Language Rules\n\nExpert Go developer. Simple, explicit, idiomatic.\n\n## Error Handling\n- Always handle errors — never assign to _\n- fmt.Errorf(\"context: %w\", err) for wrapping\n- errors.Is() / errors.As() for checking\n- Custom error types for structured errors\n\n## Naming\n- Short for short-lived vars: i, n, err, ok\n- No stuttering: user.UserID → user.ID\n- Acronyms: userID, httpClient (not userId, httpClient)\n- Interfaces: end in -er (Reader, Writer, Handler)\n\n## Interfaces\n- Accept interfaces, return concrete types\n- Define at call site, not implementation site\n- Single-method interfaces preferred\n\n## Concurrency\n- context.Context first param for blocking functions\n- defer cancel() after context creation\n- WaitGroup for goroutine groups\n- Channels for communication, Mutex for state\n\n## Testing\n- Table-driven: for _, tc := range testCases { t.Run(tc.name, ...) }\n- Interface-based mocking\n\n## Forbidden\n- No _ to ignore errors\n- No init() for business logic\n- No global mutable state\n- No interface{} where generics work\n- No goroutines without termination condition\n</yakaai_skills>"}