🏗️ reshape repo into reliquary marketplace

The single ai-skills plugin becomes plugins/g4b_ai/ inside a
reliquary-named Claude marketplace. Root README/CLAUDE.md now
describe the marketplace; the plugin's own docs move alongside it.
This makes room for additional themed plugins and non-Claude
formats in parallel.
This commit is contained in:
2026-05-11 12:58:16 +02:00
parent a2e0d1e4b1
commit 320c645294
10 changed files with 155 additions and 88 deletions
+4 -4
View File
@@ -1,14 +1,14 @@
{
"name": "ai-skills",
"name": "reliquary",
"owner": {
"name": "Gabor Körber",
"email": "gab@g4b.org"
},
"plugins": [
{
"name": "ai-skills",
"source": "./",
"description": "Personal Claude Code skills: workpad, research-tree, implementation-orchestration, markdown-embedded-svg"
"name": "g4b_ai",
"source": "./plugins/g4b_ai",
"description": "Gabor's personal Claude Code skills: workpad, research-tree, implementation-orchestration, markdown-embedded-svg"
}
]
}
+10 -1
View File
@@ -1,2 +1,11 @@
when committing, use gitmjoi prefixes instead of "chore" etc.
# reliquary — repo-level instructions
This repo is a marketplace, not a single project. Each plugin under `plugins/` is self-contained; its own `CLAUDE.md` (if any) governs work inside it.
## Commit messages
Use gitmoji prefixes. The full convention — including the custom `🤖` for agent-file changes and the `🦇 BATMAN` initial-commit rule — lives in [`docs/workpad/specs/commit-conventions.md`](./docs/workpad/specs/commit-conventions.md). Read it before committing.
## Workpad
Working documents (plans, research, goals, designs, reports) live in `docs/workpad/`. The `workpad` skill in `plugins/g4b_ai/skills/workpad/` is authoritative for placement and naming.
+36 -82
View File
@@ -1,25 +1,22 @@
# ai_skills
# reliquary
A small collection of personal [Claude Code](https://docs.claude.com/en/docs/claude-code) skills, packaged as a plugin so other projects can install them via a marketplace.
A marketplace for personal agent tooling — skills, plugins, prompts, configs — for [Claude Code](https://docs.claude.com/en/docs/claude-code) and, over time, other coding agents.
## Skills
The repo doubles as a **Claude Code marketplace** (`.claude-plugin/marketplace.json`) and a plain git tree you can cherry-pick from. It is intended to grow additional, themed plugins alongside the current one, and to host non-Claude formats (AGENTS.md bundles, MCP servers, Codex/Gemini/OpenCode skills) in parallel.
- **workpad** — Decides *where* and *when* to put working documents (reports, plans, brainstorms, designs, research notes, specs). Steers other skills toward a single predictable location for thinking-in-markdown instead of scattering files across `/tmp`, the repo root, or per-skill scratch directories.
- **research-tree** — Orchestrates multi-topic research as a dependency tree of parallel phases. Within a phase agents run in parallel; between phases later agents inherit earlier reports. Use it for "research X, Y and Z" / "do a deep dive on…" prompts where a single agent would skim.
- **implementation-orchestration** — How to drive non-trivial implementation work across one or more agents: when to delegate vs. work inline, how to sequence agents, and how to handle test/compile failures without thrashing. Defaults to sequential execution; parallel only when work is genuinely independent.
- **markdown-embedded-svg** — Rules and defaults for putting SVG into Markdown. Different renderers (GitHub, Gitea, Obsidian, VS Code) sanitize inline SVG very differently, so the default is to save SVGs as separate files and reference them via image-link syntax; inline SVG is treated as a special case.
## Plugins
## Install as a plugin (whole repo)
| Plugin | Description |
|---|---|
| [`g4b_ai`](./plugins/g4b_ai) | Core personal Claude Code skills — workpad, research-tree, implementation-orchestration, markdown-embedded-svg |
The repo ships a marketplace at `.claude-plugin/marketplace.json` exposing one plugin (`ai-skills`).
More plugins will land in `plugins/` as they're carved out.
### From `git.g4b.org`
Interactive:
## Install as a Claude Code marketplace
```
/plugin marketplace add git@git.g4b.org:g4borg/ai_skills.git
/plugin install ai-skills@ai-skills
/plugin marketplace add git@git.g4b.org:dirigence/reliquary.git
/plugin install g4b_ai@reliquary
```
Or declaratively in a project's `.claude/settings.json`:
@@ -27,101 +24,58 @@ Or declaratively in a project's `.claude/settings.json`:
```json
{
"extraKnownMarketplaces": {
"ai-skills": {
"reliquary": {
"source": {
"source": "git",
"url": "git@git.g4b.org:g4borg/ai_skills.git"
"url": "git@git.g4b.org:dirigence/reliquary.git"
}
}
},
"enabledPlugins": {
"ai-skills@ai-skills": true
"g4b_ai@reliquary": true
}
}
```
### From a local clone
If you have the repo cloned locally and want to develop against it:
From a local clone:
```
/plugin marketplace add /path/to/ai_skills
/plugin install ai-skills@ai-skills
/plugin marketplace add /path/to/reliquary
/plugin install g4b_ai@reliquary
```
Or in `settings.json`:
Each plugin's own README documents its skills and any per-plugin install paths.
```json
{
"extraKnownMarketplaces": {
"ai-skills": {
"source": { "source": "local", "path": "/path/to/ai_skills" }
}
},
"enabledPlugins": { "ai-skills@ai-skills": true }
}
```
## Grab pieces independently
### From GitHub (mirror)
If the repo is mirrored to GitHub as `<user>/ai_skills`:
```
/plugin marketplace add <user>/ai_skills
/plugin install ai-skills@ai-skills
```
Or in `settings.json`:
```json
{
"extraKnownMarketplaces": {
"ai-skills": {
"source": { "source": "github", "repo": "<user>/ai_skills" }
}
},
"enabledPlugins": { "ai-skills@ai-skills": true }
}
```
## Fetch individual skills
If you only want one or two skills (no plugin, no marketplace), copy them straight into a target project's or user-level skills directory.
User-level (available in every project):
A skill is just a folder containing `SKILL.md`. You don't need the plugin or marketplace machinery to use one:
```sh
git clone git@git.g4b.org:g4borg/ai_skills.git /tmp/ai_skills
git clone git@git.g4b.org:dirigence/reliquary.git /tmp/reliquary
mkdir -p ~/.claude/skills
cp -r /tmp/ai_skills/skills/workpad ~/.claude/skills/
cp -r /tmp/ai_skills/skills/research-tree ~/.claude/skills/
cp -r /tmp/reliquary/plugins/g4b_ai/skills/workpad ~/.claude/skills/
```
Project-level (only the current project):
Symlink instead of copy if you want to follow upstream:
```sh
mkdir -p .claude/skills
cp -r /tmp/ai_skills/skills/workpad .claude/skills/
ln -s /tmp/reliquary/plugins/g4b_ai/skills/workpad ~/.claude/skills/workpad
```
Or symlink instead of copying so the skill stays in sync with the upstream clone:
```sh
ln -s /tmp/ai_skills/skills/workpad ~/.claude/skills/workpad
```
A skill is just a directory containing a `SKILL.md` — no further wiring is needed.
## Layout
```
ai_skills/
reliquary/
├── .claude-plugin/
── plugin.json # plugin manifest
│ └── marketplace.json # marketplace listing
└── skills/
├── workpad/SKILL.md
├── research-tree/SKILL.md
├── implementation-orchestration/SKILL.md
└── markdown-embedded-svg/SKILL.md
── marketplace.json # the marketplace listing
├── plugins/
│ └── g4b_ai/
├── .claude-plugin/plugin.json
├── skills/
└── README.md
└── docs/ # workpad: notes, research, goals, plans
```
## Conventions
Commit messages use gitmoji prefixes — see [`docs/workpad/specs/commit-conventions.md`](./docs/workpad/specs/commit-conventions.md).
@@ -1,5 +1,5 @@
{
"name": "ai-skills",
"name": "g4b_ai",
"version": "0.1.0",
"description": "Gabor's personal Claude Code skills (workpad, research-tree, implementation-orchestration, markdown-embedded-svg)",
"author": {
+2
View File
@@ -0,0 +1,2 @@
when committing, use gitmjoi prefixes instead of "chore" etc.
+102
View File
@@ -0,0 +1,102 @@
# g4b_ai
A small collection of personal [Claude Code](https://docs.claude.com/en/docs/claude-code) skills, packaged as a plugin and served via the [reliquary](../../README.md) marketplace.
## Skills
- **workpad** — Decides *where* and *when* to put working documents (reports, plans, brainstorms, designs, research notes, specs). Steers other skills toward a single predictable location for thinking-in-markdown instead of scattering files across `/tmp`, the repo root, or per-skill scratch directories.
- **research-tree** — Orchestrates multi-topic research as a dependency tree of parallel phases. Within a phase agents run in parallel; between phases later agents inherit earlier reports. Use it for "research X, Y and Z" / "do a deep dive on…" prompts where a single agent would skim.
- **implementation-orchestration** — How to drive non-trivial implementation work across one or more agents: when to delegate vs. work inline, how to sequence agents, and how to handle test/compile failures without thrashing. Defaults to sequential execution; parallel only when work is genuinely independent.
- **markdown-embedded-svg** — Rules and defaults for putting SVG into Markdown. Different renderers (GitHub, Gitea, Obsidian, VS Code) sanitize inline SVG very differently, so the default is to save SVGs as separate files and reference them via image-link syntax; inline SVG is treated as a special case.
## Install as a plugin
The reliquary marketplace exposes this plugin as `g4b_ai@reliquary`.
### From `git.g4b.org`
Interactive:
```
/plugin marketplace add git@git.g4b.org:dirigence/reliquary.git
/plugin install g4b_ai@reliquary
```
Or declaratively in a project's `.claude/settings.json`:
```json
{
"extraKnownMarketplaces": {
"reliquary": {
"source": {
"source": "git",
"url": "git@git.g4b.org:dirigence/reliquary.git"
}
}
},
"enabledPlugins": {
"g4b_ai@reliquary": true
}
}
```
### From a local clone
```
/plugin marketplace add /path/to/reliquary
/plugin install g4b_ai@reliquary
```
Or in `settings.json`:
```json
{
"extraKnownMarketplaces": {
"reliquary": {
"source": { "source": "local", "path": "/path/to/reliquary" }
}
},
"enabledPlugins": { "g4b_ai@reliquary": true }
}
```
## Fetch individual skills
If you only want one or two skills (no plugin, no marketplace), copy them straight into a target project's or user-level skills directory.
User-level (available in every project):
```sh
git clone git@git.g4b.org:dirigence/reliquary.git /tmp/reliquary
mkdir -p ~/.claude/skills
cp -r /tmp/reliquary/plugins/g4b_ai/skills/workpad ~/.claude/skills/
cp -r /tmp/reliquary/plugins/g4b_ai/skills/research-tree ~/.claude/skills/
```
Project-level (only the current project):
```sh
mkdir -p .claude/skills
cp -r /tmp/reliquary/plugins/g4b_ai/skills/workpad .claude/skills/
```
Or symlink instead of copying so the skill stays in sync with the upstream clone:
```sh
ln -s /tmp/reliquary/plugins/g4b_ai/skills/workpad ~/.claude/skills/workpad
```
A skill is just a directory containing a `SKILL.md` — no further wiring is needed.
## Layout
```
plugins/g4b_ai/
├── .claude-plugin/
│ └── plugin.json
└── skills/
├── workpad/SKILL.md
├── research-tree/SKILL.md
├── implementation-orchestration/SKILL.md
└── markdown-embedded-svg/SKILL.md
```