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
20 changes: 20 additions & 0 deletions .agents/plugins/marketplace.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
{
"name": "robobryce-agitentic",
"interface": {
"displayName": "Agitentic"
},
"plugins": [
{
"name": "agitentic",
"source": {
"source": "local",
"path": "./plugins/agitentic"
},
"policy": {
"installation": "AVAILABLE",
"authentication": "ON_INSTALL"
},
"category": "Coding"
}
]
}
2 changes: 1 addition & 1 deletion .claude-plugin/marketplace.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
{
"name": "agitentic",
"source": "./plugins/agitentic",
"description": "Agentic git/GitHub helpers as agentskills.io-compliant skills. Ships `agitentic:git-fork`, `agitentic:git-sync`, and `agitentic:git-create`."
"description": "Agentic git/GitHub helpers as agentskills.io-compliant skills. Ships `agitentic:git-fork`, `agitentic:git-clone`, `agitentic:git-sync`, and `agitentic:git-create`."
}
]
}
25 changes: 19 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Git skills for coding agents.
They are [agentskills.io](https://agentskills.io)-compliant and
shipped as a Claude Code plugin.
shipped as an agent plugin for Claude Code, Codex, and Agent Skills-compatible harnesses.

## Skills

Expand All @@ -24,16 +24,25 @@ Each skill lives under `plugins/agitentic/skills/<name>/` and is a
self-contained agentskills.io skill (`SKILL.md` + a `scripts/`
directory).

## Install (Claude Code)
## Install

The repo is a Claude Code plugin marketplace. Install via:
Claude Code:

```
/plugin marketplace add robobryce/agitentic
/plugin marketplace add brycelelbach/agitentic
/plugin install agitentic@robobryce-agitentic
```

Then invoke a skill by name, e.g. `/agitentic:git-fork`.
Codex:

```bash
codex plugin marketplace add brycelelbach/agitentic
codex plugin add agitentic@robobryce-agitentic
```

Other Agent Skills-compatible harnesses can install from the plugin payload at `plugins/agitentic/` or from the individual skill directories under `plugins/agitentic/skills/`.

Invoke a skill using your host's skill syntax. In Claude Code, use `/agitentic:git-fork`; in Codex, use `$agitentic git-fork`.

## Use the scripts directly (no plugin)

Expand Down Expand Up @@ -208,12 +217,16 @@ The following must be in your `$PATH`:
## Project structure

```
.agents/plugins/
marketplace.json - Codex and agent marketplace manifest
.claude-plugin/
marketplace.json - Claude Code plugin marketplace manifest
plugins/
agitentic/
.claude-plugin/
plugin.json - Plugin manifest
plugin.json - Claude Code plugin manifest
.codex-plugin/
plugin.json - Codex plugin manifest
skills/
${SKILL}/ - An individual skill
SKILL.md - agentskills.io skill (metadata + instructions)
Expand Down
38 changes: 38 additions & 0 deletions plugins/agitentic/.codex-plugin/plugin.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
{
"name": "agitentic",
"version": "0.3.0",
"description": "Agentic git and GitHub helpers for fork, clone, sync, and repository creation workflows.",
"author": {
"name": "Bryce Lelbach",
"url": "https://github.com/brycelelbach"
},
"homepage": "https://github.com/brycelelbach/agitentic",
"repository": "https://github.com/brycelelbach/agitentic",
"license": "Apache-2.0 WITH LLVM-exception",
"keywords": [
"git",
"github",
"fork",
"agent-skills",
"coding"
],
"skills": "./skills/",
"interface": {
"displayName": "Agitentic",
"shortDescription": "Git and GitHub contributor workflow skills.",
"longDescription": "Agitentic packages reusable agent skills for creating contributor clones, wiring upstream and fork remotes, syncing forks to upstream, and creating new GitHub repositories with standard settings.",
"developerName": "Bryce Lelbach",
"category": "Coding",
"capabilities": [
"Interactive",
"Read",
"Write"
],
"defaultPrompt": [
"Fork this repository and wire upstream and fork remotes.",
"Sync my fork with upstream.",
"Create a new GitHub repository."
],
"websiteURL": "https://github.com/brycelelbach/agitentic"
}
}
11 changes: 10 additions & 1 deletion test.bash
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,24 @@ run_lint() {
(( fail == 0 )) || return 1

echo "--- plugin / marketplace manifests ---"
for f in .claude-plugin/marketplace.json plugins/*/.claude-plugin/plugin.json; do
for f in \
.agents/plugins/marketplace.json \
.claude-plugin/marketplace.json \
plugins/*/.claude-plugin/plugin.json \
plugins/*/.codex-plugin/plugin.json; do
echo "==> jq . $f"
jq -e . "$f" >/dev/null
done
jq -e '.name and .owner.name and (.plugins | type == "array" and length > 0)' \
.claude-plugin/marketplace.json >/dev/null
jq -e '.name and .interface.displayName and (.plugins | type == "array" and length > 0) and (.plugins[] | .name and .source.source == "local" and .source.path and .policy.installation and .policy.authentication and .category)' \
.agents/plugins/marketplace.json >/dev/null
for f in plugins/*/.claude-plugin/plugin.json; do
jq -e '.name and .version and .description' "$f" >/dev/null
done
for f in plugins/*/.codex-plugin/plugin.json; do
jq -e '.name and .version and .description and .skills == "./skills/"' "$f" >/dev/null
done

echo "--- agentskills.io skills ---"
python3 .github/validate_skills.py
Expand Down