Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,17 @@ The Superpowers marketplace provides Superpowers and some other related plugins
/plugin install superpowers@superpowers-marketplace
```

### AdaL (proposed — acceptance test in progress)

AdaL's plugin system reads `.claude-plugin/marketplace.json` natively.
Autonomous skill activation is under development; see
[docs/README.adal.md](docs/README.adal.md) for current status.

```bash
/plugin marketplace add obra/superpowers
/plugin install superpowers@superpowers-dev
```

### Antigravity

Install Superpowers as a plugin from this repository:
Expand Down
60 changes: 60 additions & 0 deletions docs/README.adal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Superpowers for AdaL

[AdaL](https://github.com/SylphAI-Inc/adal) (`@sylphai/adal-cli`) is a multi-model agentic CLI with native skill discovery and a plugin marketplace.

## Install

AdaL's plugin system reads `.claude-plugin/marketplace.json` natively:

```bash
/plugin marketplace add obra/superpowers
/plugin install superpowers@superpowers-dev
```

Skills appear in the agent's context from the next session.

## How it works

After install, AdaL discovers all Superpowers skills and surfaces them in
the `<SKILLS>` prompt block every session (name + path + description).
The agent reads a skill's `SKILL.md` with `read_file` when it judges the
skill relevant to the current task — the same progressive-disclosure
model Codex uses.

See `skills/using-superpowers/references/adal-tools.md` for the complete
tool mapping.

## Update

```bash
/plugin update superpowers@superpowers-dev
```

## Capabilities

| Capability | Status |
|-----------|--------|
| File read/write/edit | ✅ Native |
| Shell commands | ✅ Native |
| Search (grep/glob) | ✅ Native |
| Web fetch/search | ✅ Native |
| Subagent dispatch | ⚠️ Degraded — work inline (no model-callable dispatch tool) |
| Task tracking | Fallback: plan files / `TODO.md` |
| Native `Skill` tool | ❌ — uses `read_file` on `SKILL.md` |

## Status

AdaL discovers and surfaces Superpowers skills through its existing
plugin lifecycle. Autonomous skill selection (the model reading
`using-superpowers` then `brainstorming` without explicit prompting)
is under active development — currently 0/8 clean sessions pass.
See the PR discussion for measured evidence.

Note: The tool-mapping reference (`references/adal-tools.md`) and this
documentation become available in the installed plugin only after
the upstream PR is merged.

## Requirements

- AdaL CLI v1.0.0+ (`@sylphai/adal-cli`)
- An active AdaL session
1 change: 1 addition & 0 deletions skills/using-superpowers/SKILL.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ If your harness appears here, read its reference file for special instructions:
- Codex: `references/codex-tools.md`
- Pi: `references/pi-tools.md`
- Antigravity: `references/antigravity-tools.md`
- AdaL: `references/adal-tools.md`

## User Instructions

Expand Down
31 changes: 31 additions & 0 deletions skills/using-superpowers/references/adal-tools.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# AdaL Tool Mapping

Skills speak in actions ("dispatch a subagent", "read a file", "invoke a skill"). On AdaL these resolve to the tools below.

## Skill invocation

AdaL has native skill discovery but does not expose a dedicated `Skill` tool. When a Superpowers instruction says to invoke a skill, load the relevant `SKILL.md` with `read_file` when the skill applies. This is the sanctioned mechanism — reading the skill file IS invoking the skill.

## Tool equivalents

| Action skills request | AdaL equivalent |
| --- | --- |
| Read a file | `read_file` |
| Create a file | `create_file` |
| Edit a file | `replace_by_string` or `rewrite_file` |
| Delete lines from a file | `delete_lines` |
| Run shell commands | `bash` |
| Search file contents | `grep` |
| Find files by name | `glob` |
| Fetch a URL | `fetch_url` |
| Web search | `web_search` |
| Dispatch a subagent | Do the work inline in the current session (AdaL has no model-callable subagent tool; optional Engineer mode is a user/runtime command, not a tool the model can call during a turn) |
| Task tracking ("create a todo", "mark complete") | Use plan files or a repo-local `TODO.md` |

## Subagents

AdaL does not currently expose a model-callable subagent dispatch tool. When a Superpowers skill says to dispatch a subagent, do the work sequentially in the current session. Do not fabricate `Task` calls or invent tool names. AdaL's Engineer mode (`/agent engineer`) is a user/runtime command for supervised worker sessions, not a tool the model can call during a turn.

## Task lists

AdaL does not ship a standard task-list tool. Use Superpowers plan files, checklists in Markdown, or a repo-local `TODO.md` for task tracking. Older Superpowers docs may refer to `TodoWrite`; treat that as the task-tracking action above.
42 changes: 42 additions & 0 deletions tests/adal/test-adal-integration.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
#!/usr/bin/env bash
set -euo pipefail

SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"

MAPPING="$REPO_ROOT/skills/using-superpowers/references/adal-tools.md"
SKILL="$REPO_ROOT/skills/using-superpowers/SKILL.md"
README="$REPO_ROOT/README.md"
DOCS="$REPO_ROOT/docs/README.adal.md"

# Assert tool mapping exists and is non-empty
[ -f "$MAPPING" ] || { echo "FAIL: adal-tools.md not found"; exit 1; }
[ -s "$MAPPING" ] || { echo "FAIL: adal-tools.md is empty"; exit 1; }

# Assert mapping covers required actions
for tool in "read_file" "create_file" "bash" "grep" "glob" "fetch_url" "web_search"; do
grep -q "$tool" "$MAPPING" || { echo "FAIL: missing tool '$tool' in mapping"; exit 1; }
done

# Assert mapping does NOT claim unavailable Claude Code tools
for bad_tool in '| `Skill`' '| `Task`' '| `TodoWrite`'; do
if grep -qF "$bad_tool" "$MAPPING"; then
echo "FAIL: mapping claims unavailable tool: $bad_tool"
exit 1
fi
done

# Assert Platform Adaptation pointer exists
grep -q 'AdaL.*adal-tools' "$SKILL" || {
echo "FAIL: Platform Adaptation section missing AdaL pointer"; exit 1;
}

# Assert README references AdaL
grep -q 'AdaL' "$README" || {
echo "FAIL: README.md missing AdaL"; exit 1;
}

# Assert docs exist
[ -f "$DOCS" ] || { echo "FAIL: docs/README.adal.md not found"; exit 1; }

echo "PASS: AdaL integration files verified"