ver 1.0.0 initial commit
This commit is contained in:
@@ -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"
|
||||
```
|
||||
@@ -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.
|
||||
@@ -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`).
|
||||
@@ -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
|
||||
```
|
||||
@@ -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
|
||||
```
|
||||
@@ -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.
|
||||
@@ -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.
|
||||
@@ -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
|
||||
```
|
||||
Reference in New Issue
Block a user