ver 1.0.0 initial commit

This commit is contained in:
Jason Stedwell
2026-06-27 17:25:55 -05:00
parent 550111295a
commit 2a7efe9c5d
20 changed files with 1850 additions and 0 deletions
+17
View File
@@ -0,0 +1,17 @@
---
description: Add a comment to a work package, e.g. /op-comment 1234 looks good to me.
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
Add a comment to an OpenProject work package. Input: `$ARGUMENTS`
The first token is the work package id; the rest is the comment text. Use the
openproject skill:
```bash
OP="${CLAUDE_PLUGIN_ROOT}/skills/openproject/scripts/op.py"
[ -f "$OP" ] || OP=$(ls "$PWD"/skills/openproject/scripts/op.py 2>/dev/null | head -1)
ID=$(echo "$ARGUMENTS" | awk '{print $1}')
TEXT=$(echo "$ARGUMENTS" | cut -d' ' -f2-)
python3 "$OP" wp comment "$ID" --text "$TEXT"
```
+14
View File
@@ -0,0 +1,14 @@
---
description: Create a work package from a natural-language description.
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
The user wants to create an OpenProject work package: `$ARGUMENTS`
Using the **openproject** skill:
1. Determine the target `--project` (ask if ambiguous; list with `op.py projects` if needed).
2. Infer `--type` (Task/Bug/Feature/Milestone), `--subject`, and a `--description`.
Pull out any `--assignee`, `--priority`, `--due`, or `--start` the user mentioned.
3. Run `op.py wp create ...` and report the new id + web URL.
Do not invent a project — if you can't tell which one, ask first.
+16
View File
@@ -0,0 +1,16 @@
---
description: Verify the OpenProject connection and show the authenticated user.
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
Confirm connectivity and auth to the OpenProject server.
```bash
OP="${CLAUDE_PLUGIN_ROOT}/skills/openproject/scripts/op.py"
[ -f "$OP" ] || OP=$(ls "$PWD"/skills/openproject/scripts/op.py 2>/dev/null | head -1)
python3 "$OP" ping
# Windows: use `python` or `py -3` if `python3` is not on PATH.
```
If this prints an auth or connection error, see the Troubleshooting section of the
openproject SKILL.md (token in `config.json`, or `OPENPROJECT_API_KEY` / `OPENPROJECT_URL`).
+12
View File
@@ -0,0 +1,12 @@
---
description: List or search OpenProject projects. Optional search term as args.
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
List OpenProject projects (optionally filtered by `$ARGUMENTS`) using the openproject skill.
```bash
OP="${CLAUDE_PLUGIN_ROOT}/skills/openproject/scripts/op.py"
[ -f "$OP" ] || OP=$(ls "$PWD"/skills/openproject/scripts/op.py 2>/dev/null | head -1)
if [ -n "$ARGUMENTS" ]; then python3 "$OP" projects --search "$ARGUMENTS"; else python3 "$OP" projects; fi
```
+12
View File
@@ -0,0 +1,12 @@
---
description: Show a work package by id, e.g. /op-show 1234.
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
Show full detail for OpenProject work package `$ARGUMENTS` using the openproject skill.
```bash
OP="${CLAUDE_PLUGIN_ROOT}/skills/openproject/scripts/op.py"
[ -f "$OP" ] || OP=$(ls "$PWD"/skills/openproject/scripts/op.py 2>/dev/null | head -1)
python3 "$OP" wp show $ARGUMENTS
```
+10
View File
@@ -0,0 +1,10 @@
---
description: Log time on a work package, e.g. /op-time 1234 1.5h debugging the cron.
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
Log time against an OpenProject work package. Input: `$ARGUMENTS`
Using the **openproject** skill, parse the work package id, the hours (e.g. `1.5h`,
`45m`), and an optional comment, then run `op.py time log --wp ID --hours N
[--comment "..."] [--date YYYY-MM-DD]`. Confirm the logged amount back to the user.
+11
View File
@@ -0,0 +1,11 @@
---
description: Update / progress a work package, e.g. "1234 to In Progress, 50% done".
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
The user wants to update an OpenProject work package: `$ARGUMENTS`
Using the **openproject** skill: parse the work package id and the changes
(status, assignee, priority, done-ratio, dates, subject, description), run
`op.py wp show ID` first to confirm current state, then `op.py wp update ID ...`.
Report the resulting status. Updates are lockVersion-safe automatically.
+17
View File
@@ -0,0 +1,17 @@
---
description: List/search work packages. Args become filters, e.g. "my open bugs in Infra".
allowed-tools: Bash(python3 *op.py*), Bash(python *op.py*), Bash(ls *)
---
Use the **openproject** skill to list work packages matching the user's request: `$ARGUMENTS`
Translate the request into `op.py wp list` flags (`--assignee me`, `--status open`,
`--project NAME`, `--type Bug`, `--query TEXT`, `--sort id:desc`, `--limit N`), run it,
and summarize the results. If no arguments were given, default to the current user's
open items:
```bash
OP="${CLAUDE_PLUGIN_ROOT}/skills/openproject/scripts/op.py"
[ -f "$OP" ] || OP=$(ls "$PWD"/skills/openproject/scripts/op.py 2>/dev/null | head -1)
python3 "$OP" wp list --assignee me --status open
```