Skip to content

Commit aaadba9

Browse files
authored
Merge pull request #47 from BiyangFu/support-rds-openapi-skill
Add 6 new skills and update documentation
2 parents 26d8108 + 0112342 commit aaadba9

37 files changed

+3998
-2
lines changed

skill/arxiv-watcher/SKILL.md

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
name: arxiv-watcher
3+
description: Search and summarize papers from ArXiv. Use when the user asks for the latest research, specific topics on ArXiv, or a daily summary of AI papers.
4+
---
5+
6+
# ArXiv Watcher
7+
8+
This skill interacts with the ArXiv API to find and summarize the latest research papers.
9+
10+
## Capabilities
11+
12+
- **Search**: Find papers by keyword, author, or category.
13+
- **Summarize**: Fetch the abstract and provide a concise summary.
14+
- **Save to Memory**: Automatically record summarized papers to `memory/RESEARCH_LOG.md` for long-term tracking.
15+
- **Deep Dive**: Use `web_fetch` on the PDF link to extract more details if requested.
16+
17+
## Workflow
18+
19+
1. Use `scripts/search_arxiv.sh "<query>"` to get the XML results.
20+
2. Parse the XML (look for `<entry>`, `<title>`, `<summary>`, and `<link title="pdf">`).
21+
3. Present the findings to the user.
22+
4. **MANDATORY**: Append the title, authors, date, and summary of any paper discussed to `memory/RESEARCH_LOG.md`. Use the format:
23+
```markdown
24+
### [YYYY-MM-DD] TITLE_OF_PAPER
25+
- **Authors**: Author List
26+
- **Link**: ArXiv Link
27+
- **Summary**: Brief summary of the paper and its relevance.
28+
```
29+
30+
## Examples
31+
32+
- "Busca los últimos papers sobre LLM reasoning en ArXiv."
33+
- "Dime de qué trata el paper con ID 2512.08769."
34+
- "Hazme un resumen de las novedades de hoy en ArXiv sobre agentes."
35+
36+
## Resources
37+
38+
- `scripts/search_arxiv.sh`: Direct API access script.

skill/arxiv-watcher/_meta.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"ownerId": "kn7c8ew58zsqxsn7a50925ypk97zzatv",
3+
"slug": "arxiv-watcher",
4+
"version": "1.0.0",
5+
"publishedAt": 1769434876997
6+
}
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#!/usr/bin/env bash
2+
# scripts/search_arxiv.sh
3+
QUERY=$1
4+
COUNT=${2:-5}
5+
# Use curl to query ArXiv API
6+
curl -sL "https://export.arxiv.org/api/query?search_query=all:$QUERY&start=0&max_results=$COUNT&sortBy=submittedDate&sortOrder=descending"

skill/cli-anything/SKILL.md

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
---
2+
name: cli-anything
3+
description: Generate or refine agent-usable CLIs for existing software/codebases using the CLI-Anything methodology. Use when the user wants to turn a GUI app, desktop tool, repository, SDK, or web/API surface into a structured CLI for agents; when adapting CLI-Anything into OpenClaw workflows; or when packaging a generated harness as an OpenClaw-compatible skill.
4+
---
5+
6+
# CLI-Anything
7+
8+
Use this skill to work with the local `CLI-Anything/` repository in the workspace and turn its methodology into something usable from OpenClaw.
9+
10+
## What this skill is for
11+
12+
Use it for three common cases:
13+
14+
1. **Assess feasibility** — inspect a target app/repo and decide whether CLI-Anything is a good fit.
15+
2. **Use an existing harness** — work with one of the repo's prebuilt `agent-harness` examples.
16+
3. **Wrap for OpenClaw** — turn CLI-Anything guidance or an existing harness into an OpenClaw skill/workflow.
17+
18+
## Local source of truth
19+
20+
The repository is expected at:
21+
22+
- `/root/.openclaw/workspace/CLI-Anything`
23+
24+
Read these first when needed:
25+
26+
- `CLI-Anything/README.md` — overall platform and examples
27+
- `CLI-Anything/cli-anything-plugin/HARNESS.md` — generation methodology and quality bar
28+
- `CLI-Anything/cli-anything-plugin/README.md` — plugin behavior and expected output layout
29+
30+
For a fast survey of bundled examples, read `references/bundled-harnesses.md`.
31+
32+
## Core workflow
33+
34+
### 1) Classify the user's request
35+
36+
Decide which path applies:
37+
38+
- **Methodology request**: user wants to understand or apply CLI-Anything generally
39+
- **Existing harness request**: user wants to use/demo one of the included examples like GIMP or LibreOffice
40+
- **Packaging request**: user wants an OpenClaw skill or ClawHub package derived from CLI-Anything
41+
42+
### 2) Inspect prerequisites
43+
44+
Before promising execution, check:
45+
46+
- Python 3.10+
47+
- target software presence if using a real harness backend
48+
- whether the request is about:
49+
- building a harness
50+
- running a generated CLI
51+
- packaging/publishing
52+
53+
### 3) Prefer existing harnesses before generation
54+
55+
If the repo already includes a matching harness under `<software>/agent-harness/`, use that as the baseline instead of pretending generation has to happen from scratch.
56+
57+
### 4) For OpenClaw packaging, separate method from implementation
58+
59+
CLI-Anything itself is not a native OpenClaw skill package. When adapting it:
60+
61+
- keep the OpenClaw `SKILL.md` focused on **when to use** and **how to navigate the local repo**
62+
- move large methodology text into references
63+
- do not claim that `/plugin` or `/cli-anything` slash commands are directly available inside OpenClaw unless you have actually wired them up
64+
65+
## Practical guidance
66+
67+
### When the user wants to use an existing bundled harness
68+
69+
1. Locate `<software>/agent-harness/`
70+
2. Read its `setup.py`, package layout, and local README/SOP file
71+
3. Identify hard dependencies on the real software backend
72+
4. Install or verify Python requirements only as needed
73+
5. Validate the CLI entry point and a minimal command
74+
75+
### When the user wants to make a new app agent-native
76+
77+
Use CLI-Anything as methodology, not magic:
78+
79+
1. Analyze backend engine, data model, existing CLI/API hooks
80+
2. Define command groups and state model
81+
3. Create or refine `agent-harness/`
82+
4. Add tests and a `TEST.md`
83+
5. Install the resulting package to PATH
84+
6. Verify real backend execution, not mock-only behavior
85+
86+
### When the user wants an OpenClaw skill
87+
88+
There are two good outputs:
89+
90+
- **Method skill**: teaches OpenClaw how to use CLI-Anything on local repos
91+
- **Harness skill**: wraps one generated CLI or one concrete software target
92+
93+
Default to a **method skill** unless the user clearly wants a single app workflow.
94+
95+
## Rules
96+
97+
- Do not say CLI-Anything is already a native OpenClaw skill unless you created that wrapper.
98+
- Do not promise a generated CLI works until you verify its entry point and real backend dependencies.
99+
- Treat third-party generated code as reviewable output, not automatically trusted output.
100+
- For publishing, require explicit user intent before pushing anything external.
101+
- If packaging for ClawHub, keep the skill lean and point to local references instead of pasting huge docs into `SKILL.md`.
102+
103+
## Useful script
104+
105+
Use `scripts/inspect_cli_anything.py` to quickly inspect the local repo and enumerate bundled harnesses. It prints JSON with:
106+
107+
- whether the repo exists
108+
- discovered harnesses
109+
- whether each harness has `setup.py`, package directory, README, and E2E tests
110+
111+
Run:
112+
113+
```bash
114+
python3 /root/.openclaw/workspace/skills/cli-anything/scripts/inspect_cli_anything.py
115+
```
116+
117+
Use `scripts/recommend_harness.py` to rank the bundled harnesses and suggest good first validation targets.
118+
119+
Run:
120+
121+
```bash
122+
python3 /root/.openclaw/workspace/skills/cli-anything/scripts/recommend_harness.py
123+
```
124+
125+
## Helpful local paths
126+
127+
- Repo root: `/root/.openclaw/workspace/CLI-Anything`
128+
- Plugin docs: `/root/.openclaw/workspace/CLI-Anything/cli-anything-plugin`
129+
- Example harnesses: `/root/.openclaw/workspace/CLI-Anything/*/agent-harness`
130+
131+
## Reference files
132+
133+
- `references/bundled-harnesses.md` — quick map of included examples
134+
- `references/openclaw-adaptation-notes.md` — how to package CLI-Anything ideas into OpenClaw skills
135+
- `references/validated-example-gimp.md` — first locally verified runnable example

skill/cli-anything/_meta.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"ownerId": "kn7brxcy9kprdrmg4h3zyz256982sh02",
3+
"slug": "cli-anything",
4+
"version": "0.1.0",
5+
"publishedAt": 1773306179586
6+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Bundled harnesses in CLI-Anything
2+
3+
Use this as a quick map before reading a specific harness deeply.
4+
5+
## Included examples observed in the local repo
6+
7+
- `gimp/agent-harness`
8+
- `blender/agent-harness`
9+
- `inkscape/agent-harness`
10+
- `audacity/agent-harness`
11+
- `libreoffice/agent-harness`
12+
- `obs-studio/agent-harness`
13+
- `kdenlive/agent-harness`
14+
- `shotcut/agent-harness`
15+
- `zoom/agent-harness`
16+
- `drawio/agent-harness`
17+
- `anygen/agent-harness`
18+
19+
## Common structure to expect
20+
21+
Most examples contain:
22+
23+
- `setup.py`
24+
- a PEP 420 namespace package under `cli_anything/<software>/`
25+
- a software-specific SOP like `GIMP.md` or `LIBREOFFICE.md`
26+
- `tests/test_core.py`
27+
- `tests/test_full_e2e.py`
28+
- `tests/TEST.md`
29+
30+
## What to verify before claiming one is usable
31+
32+
1. The target software/backend is installed
33+
2. The Python package can be installed or imported
34+
3. The console entry point resolves
35+
4. A minimal command works
36+
5. Any E2E claim uses the real software backend, not only synthetic tests
37+
38+
## Recommended first targets
39+
40+
If you need a smaller proof-of-concept, start with examples that look structurally complete and have straightforward file-based workflows, such as:
41+
42+
- `gimp`
43+
- `inkscape`
44+
- `libreoffice`
45+
46+
More environment-sensitive examples may need extra services, APIs, or media tools.
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Adapting CLI-Anything into OpenClaw
2+
3+
CLI-Anything is a methodology repo plus plugin/command assets, not a native OpenClaw skill package.
4+
5+
## Safe adaptation pattern
6+
7+
1. Keep OpenClaw `SKILL.md` short and procedural
8+
2. Store heavier methodology in references
9+
3. Point to the local `CLI-Anything/` checkout as the implementation source
10+
4. Distinguish clearly between:
11+
- plugin commands for Claude Code / OpenCode
12+
- local Python harnesses
13+
- OpenClaw skill wrappers
14+
15+
## Good packaging targets
16+
17+
### Option A — method skill
18+
19+
Create an OpenClaw skill that teaches the agent how to:
20+
21+
- inspect the local CLI-Anything repo
22+
- choose a harness or target app
23+
- verify dependencies
24+
- adapt generated outputs into OpenClaw-friendly workflows
25+
26+
### Option B — concrete harness skill
27+
28+
Wrap one concrete generated CLI, for example a `cli-anything-libreoffice` workflow.
29+
This is often easier to test than packaging the whole methodology.
30+
31+
## Publishing cautions
32+
33+
Before publishing to ClawHub:
34+
35+
- verify there is real implementation value beyond copied docs
36+
- avoid bundling unnecessary large third-party source trees in the skill unless intentionally distributing them
37+
- make sure the description says whether the skill is:
38+
- methodology only
39+
- a wrapper around a local repo
40+
- a distributable harness with runnable scripts
41+
42+
## Recommended wording
43+
44+
Prefer wording like:
45+
46+
- "Uses a local checkout of CLI-Anything to guide harness generation"
47+
- "Wraps existing CLI-Anything harnesses for OpenClaw workflows"
48+
49+
Avoid wording like:
50+
51+
- "Provides full CLI-Anything functionality" unless you actually wired all of it up
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
# Validated example: gimp harness
2+
3+
This is the first locally validated example for the OpenClaw `cli-anything` skill.
4+
5+
## What was verified
6+
7+
### Environment
8+
9+
- Python present: `Python 3.12.3`
10+
- Local repo present: `/root/.openclaw/workspace/CLI-Anything`
11+
12+
### Python dependencies installed for the harness
13+
14+
Installed into the current machine Python environment:
15+
16+
- `Pillow`
17+
- `numpy`
18+
- `prompt_toolkit`
19+
20+
### Harness installation
21+
22+
Installed from:
23+
24+
- `/root/.openclaw/workspace/CLI-Anything/gimp/agent-harness`
25+
26+
Command used conceptually:
27+
28+
```bash
29+
python3 -m pip install --break-system-packages -e /root/.openclaw/workspace/CLI-Anything/gimp/agent-harness
30+
```
31+
32+
### Entry point verification
33+
34+
Verified command:
35+
36+
```bash
37+
cli-anything-gimp --help
38+
```
39+
40+
The CLI loaded successfully and exposed command groups including:
41+
42+
- `canvas`
43+
- `draw`
44+
- `export`
45+
- `filter`
46+
- `layer`
47+
- `media`
48+
- `project`
49+
- `repl`
50+
- `session`
51+
52+
### Minimal functional verification
53+
54+
Verified JSON project creation:
55+
56+
```bash
57+
cli-anything-gimp --json project new --width 320 --height 240 -o /root/.openclaw/workspace/tmp-gimp-project.json
58+
```
59+
60+
Observed result:
61+
62+
- JSON printed to stdout
63+
- project file created successfully
64+
- output file path:
65+
- `/root/.openclaw/workspace/tmp-gimp-project.json`
66+
67+
## Important note
68+
69+
The `gimp` harness is a good first demonstration target because it is runnable in the current environment after Python dependency installation.
70+
71+
However, its packaging/docs are not perfectly aligned:
72+
73+
- `setup.py` describes it as a GIMP batch-mode harness
74+
- the README describes a Pillow-based image editing CLI
75+
76+
Treat this harness as:
77+
78+
- **validated enough for local demonstration**
79+
- **not yet proof that every CLI-Anything harness exactly matches its stated backend model**
80+
81+
## Recommended use in the skill
82+
83+
When using the `cli-anything` method skill:
84+
85+
1. Prefer `gimp` as the first runnable example
86+
2. Use it to demonstrate harness inspection, installation, and entry-point checks
87+
3. Avoid over-claiming that all bundled harnesses are equally verified until they are tested one by one

0 commit comments

Comments
 (0)