diff --git a/.claude/skills/audit b/.claude/skills/audit new file mode 120000 index 0000000..f915d4d --- /dev/null +++ b/.claude/skills/audit @@ -0,0 +1 @@ +../../skills/audit \ No newline at end of file diff --git a/.claude/skills/brainstorm b/.claude/skills/brainstorm new file mode 120000 index 0000000..43ad6fc --- /dev/null +++ b/.claude/skills/brainstorm @@ -0,0 +1 @@ +../../skills/brainstorm \ No newline at end of file diff --git a/.claude/skills/debug b/.claude/skills/debug new file mode 120000 index 0000000..ab79fc5 --- /dev/null +++ b/.claude/skills/debug @@ -0,0 +1 @@ +../../skills/debug \ No newline at end of file diff --git a/.claude/skills/implement b/.claude/skills/implement new file mode 120000 index 0000000..03ff3c0 --- /dev/null +++ b/.claude/skills/implement @@ -0,0 +1 @@ +../../skills/implement \ No newline at end of file diff --git a/.claude/skills/plan b/.claude/skills/plan new file mode 120000 index 0000000..d296e8b --- /dev/null +++ b/.claude/skills/plan @@ -0,0 +1 @@ +../../skills/plan \ No newline at end of file diff --git a/skills/README.md b/skills/README.md index 792b858..afc8aeb 100644 --- a/skills/README.md +++ b/skills/README.md @@ -59,16 +59,28 @@ plus a system-prompt body. The `description` field is the one-sentence summary the orchestrator (or a skill) reads to decide whether to dispatch. -## Subagent-type discovery +## Discovery -Subagent dispatch needs the agent files reachable under -`.claude/agents/`. The repo provides one symlink per skill (tracked -in git, no setup needed after clone): +Two symlink sets, both tracked in git, no setup needed after clone: + +**Skills** are reachable under `.claude/skills/` so Claude Code's +`Skill` tool can invoke them: ``` -.claude/agents/implement -> skills/implement/agents -.claude/agents/audit -> skills/audit/agents -.claude/agents/debug -> skills/debug/agents +.claude/skills/brainstorm -> skills/brainstorm +.claude/skills/plan -> skills/plan +.claude/skills/implement -> skills/implement +.claude/skills/audit -> skills/audit +.claude/skills/debug -> skills/debug +``` + +**Agents** are reachable under `.claude/agents/` so subagent +dispatch can find them by `subagent_type`: + +``` +.claude/agents/implement -> skills/implement/agents +.claude/agents/audit -> skills/audit/agents +.claude/agents/debug -> skills/debug/agents ``` ## Conventions diff --git a/skills/brainstorm/SKILL.md b/skills/brainstorm/SKILL.md index 606ab7e..cd912eb 100644 --- a/skills/brainstorm/SKILL.md +++ b/skills/brainstorm/SKILL.md @@ -16,8 +16,7 @@ the spec means shipping the user's intuition unfiltered, which is exactly the reactive-deference failure mode AILang's orchestrator discipline exists to prevent. -This skill adapts `superpowers:brainstorming` to the AILang project, -producing specs at `docs/specs/.md`. +It produces specs at `docs/specs/.md`. ## When to Use / Skipping @@ -207,8 +206,6 @@ Hand off carries: ## Cross-references -- **Upstream pattern:** `superpowers:brainstorming` — source of - the hard-gate, sectioned design, user-review gate. - **Project source:** `docs/DESIGN.md` "Feature-acceptance criterion" — gate this skill applies during spec writing. - **Output target:** `skills/plan/SKILL.md` — only valid next diff --git a/skills/debug/SKILL.md b/skills/debug/SKILL.md index e88f605..a1f318a 100644 --- a/skills/debug/SKILL.md +++ b/skills/debug/SKILL.md @@ -36,9 +36,9 @@ NO FIXES WITHOUT ROOT CAUSE INVESTIGATION FIRST NO FIX WITHOUT A FAILING TEST FIRST ``` -Both clauses are non-negotiable. The first is from -`superpowers:systematic-debugging`. The second is the project's -own rule (formerly in CLAUDE.md "Bug fixes — TDD, always"). +Both clauses are non-negotiable. The second was formerly the +CLAUDE.md "Bug fixes — TDD, always" section before the +2026-05-09 skill-system migration. ## The Process — four phases @@ -143,8 +143,6 @@ All of these mean: **return to Phase 1**. ## Cross-references -- **Upstream pattern:** `superpowers:systematic-debugging` — - source of the four-phase Iron Law and Phase 4.5. - **Agent dispatched:** `skills/debug/agents/ailang-debugger.md` — carries the actual diagnostic work (read CLAUDE.md / DESIGN.md / JOURNAL, reproduce, write RED test, propose minimal fix). diff --git a/skills/implement/SKILL.md b/skills/implement/SKILL.md index 161fb98..2aaf15c 100644 --- a/skills/implement/SKILL.md +++ b/skills/implement/SKILL.md @@ -16,9 +16,6 @@ code quality) before moving on. Subagents have isolated context; the orchestrator only sees their reports. This is what gives AILang's development cycle its context budget back. -The pattern is `superpowers:subagent-driven-development` adapted to -the AILang agent toolchain. - ## When to Use / Skipping Triggers: @@ -181,10 +178,6 @@ Reviewer subagents typically need at least the standard model. ## Cross-references -- **Upstream pattern:** `superpowers:subagent-driven-development` — - source of the per-task fresh-subagent + two-stage review pattern. - `superpowers:executing-plans` for the parallel-session variant - (rarely used in AILang). - **Agents dispatched:** - `skills/implement/agents/ailang-implementer.md` — task execution - `skills/implement/agents/ailang-tester.md` — E2E coverage diff --git a/skills/plan/SKILL.md b/skills/plan/SKILL.md index 50be39d..540420f 100644 --- a/skills/plan/SKILL.md +++ b/skills/plan/SKILL.md @@ -15,9 +15,8 @@ that will be created or modified, and decomposes work into bites small enough that a subagent can execute one in 2-5 minutes without making judgement calls outside its remit. -This skill adapts `superpowers:writing-plans` to the AILang -project conventions: plans live at `docs/plans/.md`, -header references the parent spec, commit-per-task pattern +Plans live at `docs/plans/.md`, the header +references the parent spec, and the commit-per-task pattern matches the existing JOURNAL style. ## When to Use / Skipping @@ -45,7 +44,7 @@ EVERY STEP THAT CHANGES CODE INCLUDES THE CODE. EVERY STEP THAT RUNS A COMMAND INCLUDES THE COMMAND AND EXPECTED OUTPUT. ``` -Lifted verbatim from `superpowers:writing-plans`. Non-negotiable. +Non-negotiable. ## The Process @@ -206,8 +205,6 @@ task focus ("only Tasks 1-3 this run"). ## Cross-references -- **Upstream pattern:** `superpowers:writing-plans` — source of the - bite-sized + No-Placeholders rule. - **Input source:** `skills/brainstorm/SKILL.md` — produces the spec this skill consumes. - **Output target:** `skills/implement/SKILL.md` — runs the plan