skillshare-implement-feature

Featured

Implement a feature from a spec file or description using TDD workflow. Use this skill whenever the user asks to: add a new CLI command, implement a feature from a spec, build new functionality, add a flag, create a new internal package, or write Go code for skillshare. This skill enforces test-first development, proper handler split conventions, oplog instrumentation, and dual-mode (global/project) patterns. If the request involves writing Go code and tests, use this skill — even if the user doesn't explicitly say "implement".

AI & Automation 2,697 stars 169 forks Updated today MIT

Install

View on GitHub

Quality Score: 96/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

Implement a feature following TDD workflow. $ARGUMENTS is a spec file path (e.g., `specs/my-feature.md`) or a plain-text feature description. **Scope**: This skill writes Go code and tests. It does NOT update website docs (use `update-docs` after) or CHANGELOG (use `changelog` after). ## Workflow ### Step 1: Understand Requirements If $ARGUMENTS is a file path: 1. Read the spec file 2. Extract acceptance criteria and edge cases 3. Identify affected packages If $ARGUMENTS is a description: 1. Search existing code for related functionality 2. Identify the right package to extend 3. Confirm scope with user before proceeding ### Step 2: Identify Affected Files List all files that will be created or modified: ```bash # Typical pattern for a new command cmd/skillshare/<command>.go # Command handler cmd/skillshare/<command>_project.go # Project-mode handler (if dual-mode) internal/<package>/<feature>.go # Core logic tests/integration/<command>_test.go # Integration test ``` Display the file list and continue. If scope is unclear, ask the user. ### Step 3: Write Failing Tests First (RED) Write integration tests using `testutil.Sandbox`: ```go func TestFeature_BasicCase(t *testing.T) { sb := testutil.NewSandbox(t) defer sb.Cleanup() // Setup sb.CreateSkill("test-skill", map[string]string{ "SKILL.md": "---\nname: test-skill\n---\n# Content", }) // Act result := sb.RunCLI("command", "args...") // Assert result.As...

Details

Author
runkids
Repository
runkids/skillshare
Created
8 months ago
Last Updated
today
Language
Go
License
MIT

Similar Skills

Semantically similar based on skill content — not just same category