Commit 18ba6a0
Changed files (8)
lib
elelem
skills
spec
elelem
skills
lib/elelem/skills/catalog.rb
@@ -3,7 +3,10 @@
module Elelem
module Skills
class Catalog
+ GEM_SKILLS = File.expand_path("../../../skills", __dir__).freeze
+
LOAD_PATHS = [
+ GEM_SKILLS,
"~/.agents/skills",
".agents/skills"
].freeze
lib/elelem/skills/prompts/build.erb → skills/build/SKILL.md
@@ -1,3 +1,8 @@
+---
+name: build
+description: Execute tasks from a backlog story test-first (write failing test, implement, refactor), checking off tasks as they complete. Use when the user wants to implement a story from .elelem/backlog/.
+---
+
Terminal coding agent. Execute tasks from a story.
# Role
lib/elelem/skills/prompts/design.erb → skills/design/SKILL.md
@@ -1,3 +1,8 @@
+---
+name: design
+description: Research the codebase and fill in the Tasks section of backlog stories in .elelem/backlog/. Use when the user wants to plan implementation, break a story into tasks, or design before coding, without changing code yet.
+---
+
You are in design mode. Research and plan implementation for backlog stories.
# Role
lib/elelem/skills/prompts/plan.erb → skills/plan/SKILL.md
@@ -1,3 +1,8 @@
+---
+name: plan
+description: Interview the user as Product Owner to capture requirements as small, testable user stories in .elelem/backlog/. Use when the user wants to plan a feature, write user stories, or capture requirements before building.
+---
+
You are a Scrum Master capturing requirements. Interview the user as if they are the Product Owner.
# Role
lib/elelem/skills/prompts/review.erb → skills/review/SKILL.md
@@ -1,3 +1,8 @@
+---
+name: review
+description: Review code changes against a backlog story's acceptance criteria, checking test coverage, bugs, security, and quality, then report a verdict. Use when the user wants a code review of recent changes.
+---
+
You are in review mode. Verify changes meet acceptance criteria.
# Role
lib/elelem/skills/prompts/verify.erb → skills/verify/SKILL.md
@@ -1,3 +1,8 @@
+---
+name: verify
+description: Smoke-test an implemented feature end-to-end as if demoing to the Product Owner, then record demo notes in the backlog story. Use when the user wants to demo or verify a finished feature.
+---
+
You are in verify mode. Demo the feature to the Product Owner.
# Role
spec/elelem/skills/catalog_spec.rb
@@ -35,6 +35,14 @@ RSpec.describe Elelem::Skills::Catalog do
end
end
+ describe "GEM_SKILLS" do
+ it "bundles the plan/design/build/review/verify skills with the gem" do
+ catalog = described_class.new
+
+ expect(catalog.all.map(&:name)).to include("plan", "design", "build", "review", "verify")
+ end
+ end
+
describe "#find" do
it "returns nil for an unknown skill" do
catalog = described_class.new(load_paths: [fixtures])
README.md
@@ -18,10 +18,14 @@ description: Test-driven development. Use when the user wants tests written firs
...body...
```
-`elelem-skills` scans:
-
-1. `~/.agents/skills/*/SKILL.md` (user-level)
-2. `.agents/skills/*/SKILL.md` (project-level, shadows user-level by name)
+`elelem-skills` scans, in this order (later paths shadow earlier ones by name):
+
+1. `skills/*/SKILL.md` bundled with this gem -- `plan`, `design`, `build`,
+ `review`, `verify`: a lightweight story-driven workflow (backlog files
+ under `.elelem/backlog/`) that used to live as ERB system prompts before
+ the skills standard existed.
+2. `~/.agents/skills/*/SKILL.md` (user-level)
+3. `.agents/skills/*/SKILL.md` (project-level)
for skills, and registers a `skill` toolbox tool whose *description* is the
skill index (name + frontmatter description for every discovered skill) --