🏗️ 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:
@@ -1,14 +1,14 @@
|
|||||||
{
|
{
|
||||||
"name": "ai-skills",
|
"name": "reliquary",
|
||||||
"owner": {
|
"owner": {
|
||||||
"name": "Gabor Körber",
|
"name": "Gabor Körber",
|
||||||
"email": "gab@g4b.org"
|
"email": "gab@g4b.org"
|
||||||
},
|
},
|
||||||
"plugins": [
|
"plugins": [
|
||||||
{
|
{
|
||||||
"name": "ai-skills",
|
"name": "g4b_ai",
|
||||||
"source": "./",
|
"source": "./plugins/g4b_ai",
|
||||||
"description": "Personal Claude Code skills: workpad, research-tree, implementation-orchestration, markdown-embedded-svg"
|
"description": "Gabor's personal Claude Code skills: workpad, research-tree, implementation-orchestration, markdown-embedded-svg"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
@@ -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.
|
## Plugins
|
||||||
- **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 (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`
|
## Install as a Claude Code marketplace
|
||||||
|
|
||||||
Interactive:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
/plugin marketplace add git@git.g4b.org:g4borg/ai_skills.git
|
/plugin marketplace add git@git.g4b.org:dirigence/reliquary.git
|
||||||
/plugin install ai-skills@ai-skills
|
/plugin install g4b_ai@reliquary
|
||||||
```
|
```
|
||||||
|
|
||||||
Or declaratively in a project's `.claude/settings.json`:
|
Or declaratively in a project's `.claude/settings.json`:
|
||||||
@@ -27,101 +24,58 @@ Or declaratively in a project's `.claude/settings.json`:
|
|||||||
```json
|
```json
|
||||||
{
|
{
|
||||||
"extraKnownMarketplaces": {
|
"extraKnownMarketplaces": {
|
||||||
"ai-skills": {
|
"reliquary": {
|
||||||
"source": {
|
"source": {
|
||||||
"source": "git",
|
"source": "git",
|
||||||
"url": "git@git.g4b.org:g4borg/ai_skills.git"
|
"url": "git@git.g4b.org:dirigence/reliquary.git"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"enabledPlugins": {
|
"enabledPlugins": {
|
||||||
"ai-skills@ai-skills": true
|
"g4b_ai@reliquary": true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
### From a local clone
|
From a local clone:
|
||||||
|
|
||||||
If you have the repo cloned locally and want to develop against it:
|
|
||||||
|
|
||||||
```
|
```
|
||||||
/plugin marketplace add /path/to/ai_skills
|
/plugin marketplace add /path/to/reliquary
|
||||||
/plugin install ai-skills@ai-skills
|
/plugin install g4b_ai@reliquary
|
||||||
```
|
```
|
||||||
|
|
||||||
Or in `settings.json`:
|
Each plugin's own README documents its skills and any per-plugin install paths.
|
||||||
|
|
||||||
```json
|
## Grab pieces independently
|
||||||
{
|
|
||||||
"extraKnownMarketplaces": {
|
|
||||||
"ai-skills": {
|
|
||||||
"source": { "source": "local", "path": "/path/to/ai_skills" }
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"enabledPlugins": { "ai-skills@ai-skills": true }
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### From GitHub (mirror)
|
A skill is just a folder containing `SKILL.md`. You don't need the plugin or marketplace machinery to use one:
|
||||||
|
|
||||||
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):
|
|
||||||
|
|
||||||
```sh
|
```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
|
mkdir -p ~/.claude/skills
|
||||||
cp -r /tmp/ai_skills/skills/workpad ~/.claude/skills/
|
cp -r /tmp/reliquary/plugins/g4b_ai/skills/workpad ~/.claude/skills/
|
||||||
cp -r /tmp/ai_skills/skills/research-tree ~/.claude/skills/
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Project-level (only the current project):
|
Symlink instead of copy if you want to follow upstream:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
mkdir -p .claude/skills
|
ln -s /tmp/reliquary/plugins/g4b_ai/skills/workpad ~/.claude/skills/workpad
|
||||||
cp -r /tmp/ai_skills/skills/workpad .claude/skills/
|
|
||||||
```
|
```
|
||||||
|
|
||||||
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
|
## Layout
|
||||||
|
|
||||||
```
|
```
|
||||||
ai_skills/
|
reliquary/
|
||||||
├── .claude-plugin/
|
├── .claude-plugin/
|
||||||
│ ├── plugin.json # plugin manifest
|
│ └── marketplace.json # the marketplace listing
|
||||||
│ └── marketplace.json # marketplace listing
|
├── plugins/
|
||||||
└── skills/
|
│ └── g4b_ai/
|
||||||
├── workpad/SKILL.md
|
│ ├── .claude-plugin/plugin.json
|
||||||
├── research-tree/SKILL.md
|
│ ├── skills/
|
||||||
├── implementation-orchestration/SKILL.md
|
│ └── README.md
|
||||||
└── markdown-embedded-svg/SKILL.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",
|
"version": "0.1.0",
|
||||||
"description": "Gabor's personal Claude Code skills (workpad, research-tree, implementation-orchestration, markdown-embedded-svg)",
|
"description": "Gabor's personal Claude Code skills (workpad, research-tree, implementation-orchestration, markdown-embedded-svg)",
|
||||||
"author": {
|
"author": {
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
when committing, use gitmjoi prefixes instead of "chore" etc.
|
||||||
|
|
||||||
@@ -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
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user