Skip to content
Merged
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
62 changes: 50 additions & 12 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,14 @@
name: Docs
name: Docs redirect

# The documentation site moved to https://adeptability.itaywol.tools (Astro +
# Starlight, deployed via Cloudflare from site/). This workflow keeps the old
# GitHub Pages URL alive as a tiny static redirect that forwards visitors —
# preserving their path — to the new home.

on:
push:
branches: [main]
paths:
- "docs/**"
- "mkdocs.yml"
- ".github/workflows/docs.yml"
workflow_dispatch:

Expand All @@ -23,17 +26,52 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7

- uses: actions/setup-python@v6
with:
python-version: "3.x"
- name: Generate redirect site
run: |
mkdir -p _site
NEW="https://adeptability.itaywol.tools"

- name: Install MkDocs Material
run: pip install mkdocs-material
# Root: send the old docs home to the new docs home.
cat > _site/index.html <<EOF
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Redirecting…</title>
<meta http-equiv="refresh" content="0; url=${NEW}/docs/" />
<link rel="canonical" href="${NEW}/docs/" />
<script>location.replace("${NEW}/docs/");</script>
</head>
<body>
<p>This site has moved to <a href="${NEW}/docs/">adeptability.itaywol.tools</a>.</p>
</body>
</html>
EOF

- name: Build site
run: mkdocs build --strict --site-dir _site
# 404 handler: GitHub Pages serves this for every unknown path under
# the project site (/adeptability/<path>). Strip the repo prefix and
# forward to the new /docs/<path>, preserving any query and hash. The
# meta-refresh falls back to the docs root if JavaScript is disabled.
cat > _site/404.html <<EOF
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>Redirecting…</title>
<meta http-equiv="refresh" content="0; url=${NEW}/docs/" />
<script>
(function () {
var base = "${NEW}";
var path = location.pathname.replace(/^\/adeptability\/?/, "");
location.replace(base + "/docs/" + path + location.search + location.hash);
})();
</script>
</head>
<body>
<p>This site has moved to <a href="${NEW}/docs/">adeptability.itaywol.tools</a>.</p>
</body>
</html>
EOF

- name: Upload Pages artifact
uses: actions/upload-pages-artifact@v5
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<p align="center">
<img src="assets/logo.png" alt="adeptability: cross-harness AI skill portability CLI" width="480">
<img src="assets/logo-mark.svg" alt="adeptability: cross-harness AI skill portability CLI" width="150">
</p>

<h1 align="center">write an AI skill once, run it in every coding agent</h1>
Expand All @@ -12,6 +12,8 @@
<a href="./LICENSE"><img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License: MIT"></a>
</p>

<p align="center"><a href="https://adeptability.itaywol.tools"><b>adeptability.itaywol.tools</b></a></p>

<p align="center">
<img src="assets/demo.gif" alt="Write one skill, run adept sync, and it renders into Claude Code, Cursor, Codex, and OpenCode at once" width="760">
</p>
Expand All @@ -23,7 +25,7 @@ each harness's frontmatter, activation rules, aggregation, and size budgets for
**dotfiles for your AI coding agents**: one source of truth, the right on-disk format
everywhere.

📖 **[Full documentation → itaywol.github.io/adeptability](https://itaywol.github.io/adeptability)**
📖 **[Full documentation → adeptability.itaywol.tools](https://adeptability.itaywol.tools)**

## Install

Expand Down Expand Up @@ -65,7 +67,7 @@ adept status # init state, libraries, harnesses, and drif
inside a harness instead? Run `adept sync-from` to pull it back to canonical, then
`adept sync` to re-publish everywhere. Building scheduled automation? `adept loop add`
composes a discovery skill + evaluator agent + cron skeleton in one shot — see the
[loops guide](https://itaywol.github.io/adeptability/guides/loops/).
[loops guide](https://adeptability.itaywol.tools/docs/guides/loops/).

`init` also seeds bundled default skills (`using-adept`, `authoring-adept-skills`,
`authoring-adept-agents`, `authoring-adept-loops`, `adept-self-improve`) so a fresh project is
Expand All @@ -76,7 +78,7 @@ useful on day one. Skip with `--no-default-skills`.
Prefix any command with `--global` to target your home directory instead of a project — for
skills you want everywhere without an `adept init` per repo. Supported by `claude-code`,
`codex`, and `opencode` (not Cursor or Copilot). See
[Scopes](https://itaywol.github.io/adeptability/concepts/scopes/).
[Scopes](https://adeptability.itaywol.tools/docs/concepts/scopes/).

```bash
adept --global harness add claude-code && adept --global skill add lint-style --edit && adept --global sync
Expand All @@ -89,7 +91,7 @@ adept --global harness add claude-code && adept --global skill add lint-style --
- **Canonical agent** — one `.adeptability/agents/<id>.md` (frontmatter + system prompt)
rendered to `.claude/agents/`, `.opencode/agents/`, `.cursor/agents/`, `.github/agents/`,
and `.codex/agents/*.toml`. `adept agent check` runs a safety scan plus a best-practice
lint. See [Canonical agents](https://itaywol.github.io/adeptability/concepts/agents/).
lint. See [Canonical agents](https://adeptability.itaywol.tools/docs/concepts/agents/).
- **Harness** — a target AI agent (Claude Code, Cursor, Codex, …). `adept sync` renders each
canonical skill into every enabled harness's own path and schema; a hash-based state
machine (`synced | ahead | behind | diverged`) powers `status` and `diff`. No lockfile.
Expand All @@ -100,7 +102,7 @@ adept --global harness add claude-code && adept --global skill add lint-style --
Teammates clone your repo, run `adept`, and the library resolves into their project and
materializes into their harnesses.

Read the [Concepts guide](https://itaywol.github.io/adeptability/concepts/libraries/) for the
Read the [Concepts guide](https://adeptability.itaywol.tools/docs/concepts/libraries/) for the
library model, the consumer-vs-library layouts, and the 3-way drift machine.

## Supported harnesses
Expand All @@ -113,12 +115,12 @@ bucketed per-glob).
50+ more agents (Windsurf, Gemini CLI, Cline, Continue, Roo, Goose, Junie, …) work out of the
box via a generic per-skill adapter. Run `adept harness list` for the live registry, or drop a
YAML adapter into `$ADEPT_LIBRARY/adapters/` to add one without recompiling. See the
[Harness Comparison](https://itaywol.github.io/adeptability/harness-comparison/) for exactly
[Harness Comparison](https://adeptability.itaywol.tools/docs/harness-comparison/) for exactly
what each renderer emits and why.

## Docs & contributing

- **[Documentation site](https://itaywol.github.io/adeptability)** — getting started, concepts,
- **[Documentation site](https://adeptability.itaywol.tools)** — getting started, concepts,
guides, full command reference, and the harness comparison.
- **[CONTRIBUTING.md](./CONTRIBUTING.md)** — build, test, and PR gates.
- **[AGENTS.md](./AGENTS.md)** — architecture, resolution model, and invariants for agents
Expand Down
Binary file added assets/agents.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/authoring.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified assets/demo.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions assets/logo-mark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
74 changes: 74 additions & 0 deletions assets/tapes/agents.tape
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
# adeptability — agents (subagents) demo
# Regenerate: build `adept` onto your PATH, then run from the repo root:
# vhs assets/tapes/agents.tape
# Requires a monospace font (JetBrains Mono) and vhs >= 0.11.

Output "assets/agents.gif"

Set Shell "bash"
Set FontFamily "JetBrains Mono"
Set FontSize 24
Set Width 1520
Set Height 856
Set Padding 32
Set TypingSpeed 45ms
Set Theme { "background": "#111a29", "foreground": "#eaf0f8", "cursor": "#7c88ff", "selection": "#22314c", "black": "#0b111b", "red": "#ff6b6b", "green": "#7ed992", "yellow": "#f6c667", "blue": "#7c88ff", "magenta": "#b79cff", "cyan": "#4fe3cd", "white": "#c8d4e3", "brightBlack": "#64788f", "brightRed": "#ff8b64", "brightGreen": "#a5e8b5", "brightYellow": "#ffd98a", "brightBlue": "#a3acff", "brightMagenta": "#cdb8ff", "brightCyan": "#7ff0dd", "brightWhite": "#eaf0f8" }

# ---- setup (hidden) ----
Hide
Type "export ADEPT_LIBRARY=/tmp/adept-demo-agents/.lib" Enter
Type "export PS1=$'\033[38;2;124;136;255m❯\033[0m '" Enter
Type "rm -rf /tmp/adept-demo-agents && mkdir -p /tmp/adept-demo-agents && cd /tmp/adept-demo-agents && git init -q" Enter
Type "adept init --no-default-skills --mode copy >/dev/null" Enter
Type "for h in claude-code opencode codex; do adept harness add $h >/dev/null; done" Enter
Type "cat > reviewer.md <<'MD'" Enter
Type "---" Enter
Type "id: code-reviewer" Enter
Type "description: Reviews drafted code changes before commit. Use after any agent writes code." Enter
Type "tools: [Read, Grep, Bash]" Enter
Type "---" Enter
Type "You are an adversarial reviewer. Assume the work is broken until proven otherwise." Enter
Type "" Enter
Type "## Check, in order" Enter
Type "1. Does it run? Execute it — do not judge by reading." Enter
Type "2. Run the tests; paste the real output." Enter
Type "3. Hunt the edge cases the author skipped." Enter
Type "" Enter
Type "## Verdict" Enter
Type "PASS only if every check holds. Otherwise REJECT with each reason listed." Enter
Type "MD" Enter
Type "clear" Enter
Show

# ---- author a reviewer subagent from a file ----
Sleep 600ms
Type "adept agent add code-reviewer --from reviewer.md"
Sleep 300ms
Enter
Sleep 1600ms

Type "bat --style=plain .adeptability/agents/code-reviewer.md"
Sleep 300ms
Enter
Sleep 4000ms

Hide
Type "rm reviewer.md" Enter
Show

# ---- render it into every enabled harness ----
Type "adept sync"
Sleep 300ms
Enter
Sleep 2000ms

Type "tree -a --dirsfirst -I '.git|.adeptability' -C ."
Sleep 300ms
Enter
Sleep 2600ms

# ---- adept speaks 50+ harnesses out of the box ----
Type "adept harness list | head -18 | cut -c1-76"
Sleep 300ms
Enter
Sleep 3400ms
Loading
Loading