oasr 0.3.4__tar.gz → 0.4.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {oasr-0.3.4 → oasr-0.4.1}/CHANGELOG.md +49 -1
- {oasr-0.3.4 → oasr-0.4.1}/PKG-INFO +1 -1
- oasr-0.4.1/docs/QUICKSTART.md +140 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/.INDEX.md +11 -6
- oasr-0.4.1/docs/commands/CLONE.md +109 -0
- oasr-0.4.1/docs/commands/CONFIG.md +264 -0
- oasr-0.4.1/docs/commands/EXEC.md +453 -0
- oasr-0.4.1/docs/commands/USE.md +52 -0
- oasr-0.4.1/doctor/SKILL.md +35 -0
- oasr-0.4.1/doctor/assets/schemas/session.schema.yaml +87 -0
- oasr-0.4.1/doctor/assets/schemas/treatment.schema.yaml +70 -0
- oasr-0.4.1/doctor/references/00_ROUTER.md +104 -0
- oasr-0.4.1/doctor/references/01_SUMMARY.md +44 -0
- oasr-0.4.1/doctor/references/02_TRIGGERS.md +40 -0
- oasr-0.4.1/doctor/references/03_ALWAYS.md +43 -0
- oasr-0.4.1/doctor/references/04_NEVER.md +45 -0
- oasr-0.4.1/doctor/references/05_PROCEDURE.md +99 -0
- oasr-0.4.1/doctor/references/06_FAILURES.md +77 -0
- oasr-0.4.1/doctor/scripts/include/.doctor/session.yaml +11 -0
- oasr-0.4.1/doctor/scripts/include/doctor_cli.py +357 -0
- oasr-0.4.1/doctor/scripts/include/doctor_parse.py +348 -0
- oasr-0.4.1/doctor/scripts/include/pyproject.toml +12 -0
- oasr-0.4.1/doctor/scripts/include/uv.lock +78 -0
- oasr-0.4.1/doctor/scripts/router_checks.sh +87 -0
- oasr-0.4.1/doctor/scripts/skill.ps1 +65 -0
- oasr-0.4.1/doctor/scripts/skill.sh +57 -0
- {oasr-0.3.4 → oasr-0.4.1}/pyproject.toml +1 -1
- {oasr-0.3.4 → oasr-0.4.1}/src/adapters/base.py +4 -4
- oasr-0.4.1/src/agents/__init__.py +25 -0
- oasr-0.4.1/src/agents/base.py +96 -0
- oasr-0.4.1/src/agents/claude.py +25 -0
- oasr-0.4.1/src/agents/codex.py +25 -0
- oasr-0.4.1/src/agents/copilot.py +25 -0
- oasr-0.4.1/src/agents/opencode.py +25 -0
- oasr-0.4.1/src/agents/registry.py +57 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/cli.py +8 -5
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/add.py +137 -4
- oasr-0.3.4/src/commands/use.py → oasr-0.4.1/src/commands/clone.py +13 -7
- oasr-0.4.1/src/commands/config.py +163 -0
- oasr-0.4.1/src/commands/exec.py +199 -0
- oasr-0.4.1/src/commands/use.py +45 -0
- oasr-0.3.4/src/config.py → oasr-0.4.1/src/config/__init__.py +40 -17
- oasr-0.4.1/src/config/defaults.py +16 -0
- oasr-0.4.1/src/config/schema.py +36 -0
- oasr-0.4.1/tests/test_agents.py +265 -0
- oasr-0.4.1/tests/test_clone.py +95 -0
- oasr-0.4.1/tests/test_config.py +203 -0
- oasr-0.4.1/tests/test_config_command.py +206 -0
- oasr-0.4.1/tests/test_exec.py +374 -0
- oasr-0.4.1/tests/test_multi_skill.py +159 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/test_tracking.py +0 -3
- {oasr-0.3.4 → oasr-0.4.1}/uv.lock +26 -26
- oasr-0.3.4/docs/QUICKSTART.md +0 -64
- oasr-0.3.4/docs/commands/USE.md +0 -19
- {oasr-0.3.4 → oasr-0.4.1}/.gitignore +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/CONTRIBUTING.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/LICENSE +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/NOTICE +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/README.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.INDEX.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/adapter.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/add-glob.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/add-remote.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/add.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/find-add.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/find.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/help.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/info.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/list.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/rm-glob.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/rm.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/status.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/sync-update.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/sync.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/.images/use.png +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/ADAPTER.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/ADD.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/CLEAN.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/DIFF.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/FIND.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/HELP.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/INFO.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/LIST.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/REGISTRY.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/RM.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/ROOT.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/STATUS.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/SYNC.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/UPDATE.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/commands/VALIDATE.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/validation/.INDEX.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/validation/ERRORS.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/validation/INFO.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/validation/RULES.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/docs/validation/WARNINGS.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/install.ps1 +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/install.sh +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/llms.txt +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/scripts/README.md +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/scripts/fix.sh +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/scripts/lint.sh +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/scripts/test.sh +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/__init__.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/__main__.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/adapter.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/adapters/__init__.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/adapters/claude.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/adapters/codex.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/adapters/copilot.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/adapters/cursor.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/adapters/windsurf.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/__init__.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/adapter.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/clean.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/diff.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/find.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/help.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/info.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/list.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/registry.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/rm.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/status.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/sync.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/update.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/commands/validate.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/discovery.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/manifest.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/registry.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/remote.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/skillcopy/__init__.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/skillcopy/local.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/skillcopy/remote.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/tracking.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/src/validate.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/conftest.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/test_adapters.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/test_copy.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/test_help.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/test_list.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/test_remote.py +0 -0
- {oasr-0.3.4 → oasr-0.4.1}/tests/test_use_glob.py +0 -0
|
@@ -4,7 +4,55 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
5
5
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
-
## [
|
|
7
|
+
## [0.4.1] - 2026-02-01
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
- **exec command**: Fixed `CompletedProcess` attribute error where code incorrectly referenced `.success`, `.output`, and `.error` attributes that don't exist. Now correctly uses `.returncode`
|
|
11
|
+
- **clone documentation**: Removed non-existent `-r, --recursive` flag from CLONE.md documentation
|
|
12
|
+
|
|
13
|
+
## [0.4.0] - 2026-01-31
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
- **🚀 `oasr exec` command** — Execute skills as CLI tools from anywhere
|
|
17
|
+
- Run skills with agent-driven execution: `oasr exec <skill> -p "prompt"`
|
|
18
|
+
- Multiple prompt input methods: inline (`-p`), file (`-i`), or stdin (pipe)
|
|
19
|
+
- Agent selection via flag (`--agent`) or config default
|
|
20
|
+
- Graceful error handling with helpful guidance
|
|
21
|
+
- **`oasr config` command** — Manage OASR configuration
|
|
22
|
+
- `config set <key> <value>` — Set config values (e.g., default agent)
|
|
23
|
+
- `config get <key>` — Retrieve config values
|
|
24
|
+
- `config list` — Display all configuration with agent availability
|
|
25
|
+
- `config path` — Show config file location
|
|
26
|
+
- **`oasr clone` command** — Renamed from `oasr use` for clarity
|
|
27
|
+
- Clones skills from registry to current directory
|
|
28
|
+
- Same functionality as deprecated `oasr use`
|
|
29
|
+
- **Agent driver system** — Support for multiple AI agent CLIs
|
|
30
|
+
- Codex: `codex exec "<prompt>"`
|
|
31
|
+
- GitHub Copilot: `copilot -p "<prompt>"`
|
|
32
|
+
- Claude CLI: `claude <prompt> -p`
|
|
33
|
+
- OpenCode: `opencode run "<prompt>"`
|
|
34
|
+
- Auto-detection of available agent binaries
|
|
35
|
+
- Extensible driver architecture for adding new agents
|
|
36
|
+
- **Multi-skill repository support** — Detect and add multiple skills from one repo
|
|
37
|
+
- `oasr registry add <repo-url>` automatically finds all SKILL.md files
|
|
38
|
+
- Interactive prompt for bulk addition: "Found 3 skills. Add all? [Y/n]"
|
|
39
|
+
- Each skill registered with proper subdirectory URL
|
|
40
|
+
|
|
41
|
+
### Changed
|
|
42
|
+
- **Config system refactored** — Moved to subpackage architecture
|
|
43
|
+
- `src/config/` subpackage with schema validation
|
|
44
|
+
- New `agent.default` field in config for default agent selection
|
|
45
|
+
- TOML serialization improved (strips None values)
|
|
46
|
+
- Backward compatible with existing configs
|
|
47
|
+
|
|
48
|
+
### Deprecated
|
|
49
|
+
- **`oasr use` command** — Use `oasr clone` instead
|
|
50
|
+
- Shows deprecation warning (suppressible with `--quiet` or `--json`)
|
|
51
|
+
- Warning: "This command will be removed in v0.5.0"
|
|
52
|
+
- Fully functional shim delegates to `oasr clone`
|
|
53
|
+
|
|
54
|
+
### Fixed
|
|
55
|
+
- Config validation now properly handles None values in TOML serialization
|
|
8
56
|
|
|
9
57
|
## [0.3.4] - 2026-02-01
|
|
10
58
|
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# Quickstart
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## Option A: Global Installation
|
|
6
|
+
|
|
7
|
+
To make `oasr` available system-wide:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
# macOS/Linux
|
|
11
|
+
./install.sh
|
|
12
|
+
|
|
13
|
+
# Windows (PowerShell)
|
|
14
|
+
.\install.ps1
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
This installs into an isolated environment and adds shims to your PATH (`~/.local/bin` on Unix, `%LOCALAPPDATA%\oasr\bin` on Windows).
|
|
18
|
+
|
|
19
|
+
## Option B: Install from PyPI with `pip`
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
pip install oasr
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Option C: Install from PyPI with `uv`
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
uv pip install oasr
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Option D: Install from source
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
git clone https://github.com/JordanGunn/oasr.git
|
|
35
|
+
cd oasr
|
|
36
|
+
uv pip install -e .
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Verify Installation
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
oasr --version
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## First Steps
|
|
50
|
+
|
|
51
|
+
### Basic Workflow
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Register a skill
|
|
55
|
+
oasr registry add /path/to/your/skill
|
|
56
|
+
|
|
57
|
+
# Or add from a remote repository
|
|
58
|
+
oasr registry add https://github.com/user/skill-repo
|
|
59
|
+
|
|
60
|
+
# List registered skills
|
|
61
|
+
oasr registry list
|
|
62
|
+
|
|
63
|
+
# Clone a skill to your workspace (with tracking)
|
|
64
|
+
oasr clone my-skill
|
|
65
|
+
|
|
66
|
+
# Check status of tracked skills
|
|
67
|
+
oasr diff
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
### Execute Skills (v0.4.0)
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
# Configure your preferred agent
|
|
74
|
+
oasr config set agent codex
|
|
75
|
+
|
|
76
|
+
# Execute a skill from anywhere
|
|
77
|
+
oasr exec my-skill -p "Your prompt here"
|
|
78
|
+
|
|
79
|
+
# Use with pipes for powerful workflows
|
|
80
|
+
git diff | oasr exec code-reviewer -p "Review these changes"
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### IDE Integration
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
# Generate adapters for your IDE
|
|
87
|
+
oasr adapter cursor
|
|
88
|
+
oasr adapter windsurf
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Common Workflows
|
|
92
|
+
|
|
93
|
+
### Workflow 1: Clone and Use in IDE
|
|
94
|
+
Best for repeated manual use with IDE integration.
|
|
95
|
+
|
|
96
|
+
```bash
|
|
97
|
+
# Add skills to registry
|
|
98
|
+
oasr registry add https://github.com/user/skills
|
|
99
|
+
|
|
100
|
+
# Clone to your project
|
|
101
|
+
cd ~/my-project
|
|
102
|
+
oasr clone csv-analyzer
|
|
103
|
+
|
|
104
|
+
# Adapt for your IDE
|
|
105
|
+
oasr adapter cursor
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
### Workflow 2: Direct Execution
|
|
109
|
+
Best for automation, scripts, and one-off tasks.
|
|
110
|
+
|
|
111
|
+
```bash
|
|
112
|
+
# Configure default agent once
|
|
113
|
+
oasr config set agent codex
|
|
114
|
+
|
|
115
|
+
# Execute skills directly (no cloning needed)
|
|
116
|
+
oasr exec data-analyzer -p "Summarize report.csv"
|
|
117
|
+
oasr exec test-generator -p "Generate tests for api.py"
|
|
118
|
+
|
|
119
|
+
# Use in shell scripts
|
|
120
|
+
#!/bin/bash
|
|
121
|
+
git log -10 | oasr exec commit-summarizer > summary.txt
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
### Workflow 3: Multi-skill Repository
|
|
125
|
+
Work with repositories containing multiple skills.
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Add repository (auto-detects all skills)
|
|
129
|
+
oasr registry add https://github.com/org/skill-collection
|
|
130
|
+
# Found 5 skills. Add all? [Y/n]: y
|
|
131
|
+
|
|
132
|
+
# List added skills
|
|
133
|
+
oasr registry list
|
|
134
|
+
|
|
135
|
+
# Use any skill from the collection
|
|
136
|
+
oasr exec python-formatter -p "Format all Python files"
|
|
137
|
+
oasr exec doc-generator -p "Generate API docs"
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
See [Command Documentation](commands/.INDEX.md) for the full command reference.
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
# Commands
|
|
2
2
|
|
|
3
|
-
## Core Commands (v0.
|
|
3
|
+
## Core Commands (v0.4.0)
|
|
4
4
|
|
|
5
5
|
- [oasr](ROOT.md) - Global flags and options
|
|
6
6
|
- [oasr registry](REGISTRY.md) - Manage skill registry (validate, add, remove, list, sync)
|
|
7
|
-
- [oasr diff](DIFF.md) - Show status of tracked skills
|
|
8
|
-
- [oasr sync](SYNC.md) - Refresh outdated tracked skills
|
|
9
|
-
- [oasr
|
|
7
|
+
- [oasr diff](DIFF.md) - Show status of tracked skills
|
|
8
|
+
- [oasr sync](SYNC.md) - Refresh outdated tracked skills
|
|
9
|
+
- [oasr config](CONFIG.md) - Manage configuration (NEW in v0.4.0)
|
|
10
|
+
- [oasr clone](CLONE.md) - Clone skill(s) to target directory (NEW in v0.4.0)
|
|
11
|
+
- [oasr exec](EXEC.md) - Execute skills as CLI tools (NEW in v0.4.0)
|
|
10
12
|
- [oasr find](FIND.md) - Find/discover skills in your file system
|
|
11
13
|
- [oasr validate](VALIDATE.md) - Validate a skill
|
|
12
14
|
- [oasr clean](CLEAN.md) - Clean up the registry
|
|
@@ -15,10 +17,13 @@
|
|
|
15
17
|
- [oasr info](INFO.md) - Show detailed information about a skill
|
|
16
18
|
- [oasr help](HELP.md) - Show the help menu
|
|
17
19
|
|
|
18
|
-
## Deprecated Commands
|
|
20
|
+
## Deprecated Commands
|
|
19
21
|
|
|
20
|
-
|
|
22
|
+
### v0.4.0 Deprecations
|
|
23
|
+
- [oasr use](USE.md) - **Deprecated**, use `oasr clone` instead (will be removed in v0.5.0)
|
|
21
24
|
|
|
25
|
+
### v0.3.0 Reorganization
|
|
26
|
+
These commands were reorganized in v0.3.0:
|
|
22
27
|
- [oasr add](ADD.md) - **Moved to** `oasr registry add`
|
|
23
28
|
- [oasr list](LIST.md) - **Moved to** `oasr registry list`
|
|
24
29
|
- [oasr rm](RM.md) - **Moved to** `oasr registry rm`
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# `oasr clone`
|
|
2
|
+
|
|
3
|
+
Clone skills from the registry to a target directory. Supports glob patterns and works with both local and remote skills.
|
|
4
|
+
|
|
5
|
+
> **note**
|
|
6
|
+
> `oasr clone` provides an open-closed extension mechanism for using skills with any agentic provider.
|
|
7
|
+
|
|
8
|
+
## Usage
|
|
9
|
+
|
|
10
|
+
```bash
|
|
11
|
+
oasr clone skill-name
|
|
12
|
+
oasr clone skill-name -d /path/to/project
|
|
13
|
+
oasr clone "git-*" # Glob pattern
|
|
14
|
+
oasr clone skill-one skill-two # Multiple skills
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Options
|
|
18
|
+
|
|
19
|
+
- `-d, --dest DIR` — Destination directory (default: current directory)
|
|
20
|
+
- `--quiet` — Suppress informational output
|
|
21
|
+
- `--json` — Output results in JSON format
|
|
22
|
+
|
|
23
|
+
## Features
|
|
24
|
+
|
|
25
|
+
### Glob Pattern Support
|
|
26
|
+
|
|
27
|
+
Clone multiple skills matching a pattern:
|
|
28
|
+
```bash
|
|
29
|
+
oasr clone "python-*" # All Python-related skills
|
|
30
|
+
oasr clone "*-api" # All API-related skills
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
### Remote Skill Fetching
|
|
34
|
+
|
|
35
|
+
Remote skills are automatically fetched during clone:
|
|
36
|
+
```bash
|
|
37
|
+
oasr registry add https://github.com/user/skill-repo
|
|
38
|
+
oasr clone my-remote-skill
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### Tracking Metadata
|
|
42
|
+
|
|
43
|
+
Cloned skills include tracking metadata in their frontmatter:
|
|
44
|
+
```yaml
|
|
45
|
+
---
|
|
46
|
+
metadata:
|
|
47
|
+
oasr:
|
|
48
|
+
hash: "abc123..."
|
|
49
|
+
source: "~/.oasr/registry/my-skill"
|
|
50
|
+
synced_at: "2026-02-01T12:00:00Z"
|
|
51
|
+
---
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
This enables:
|
|
55
|
+
- `oasr diff` — Check if cloned skills are up-to-date
|
|
56
|
+
- `oasr sync` — Update outdated skills from registry
|
|
57
|
+
|
|
58
|
+
## Examples
|
|
59
|
+
|
|
60
|
+
### Basic Clone
|
|
61
|
+
```bash
|
|
62
|
+
# Clone to current directory
|
|
63
|
+
oasr clone csv-analyzer
|
|
64
|
+
|
|
65
|
+
# Clone to specific project
|
|
66
|
+
oasr clone csv-analyzer -d ~/projects/data-pipeline
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
### Bulk Clone
|
|
70
|
+
```bash
|
|
71
|
+
# Clone multiple skills
|
|
72
|
+
oasr clone python-test-generator python-docstring-writer
|
|
73
|
+
|
|
74
|
+
# Clone with glob patterns
|
|
75
|
+
oasr clone "test-*" -d ~/projects/testing-tools
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Integration with Adapters
|
|
79
|
+
|
|
80
|
+
After cloning, use with IDE adapters:
|
|
81
|
+
```bash
|
|
82
|
+
# Clone skills first
|
|
83
|
+
oasr clone my-skill
|
|
84
|
+
|
|
85
|
+
# Then adapt for your IDE
|
|
86
|
+
oasr adapter cursor
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
## Related Commands
|
|
90
|
+
|
|
91
|
+
- [`oasr exec`](EXEC.md) — Execute skills as CLI tools (no cloning needed)
|
|
92
|
+
- [`oasr registry add`](REGISTRY.md) — Add skills to registry before cloning
|
|
93
|
+
- [`oasr diff`](DIFF.md) — Check status of cloned skills
|
|
94
|
+
- [`oasr sync`](SYNC.md) — Update cloned skills from registry
|
|
95
|
+
|
|
96
|
+
## Migration from `oasr use`
|
|
97
|
+
|
|
98
|
+
`oasr clone` replaces the deprecated `oasr use` command. The functionality is identical—only the name has changed for clarity:
|
|
99
|
+
|
|
100
|
+
```bash
|
|
101
|
+
# Old (deprecated)
|
|
102
|
+
oasr use my-skill
|
|
103
|
+
|
|
104
|
+
# New
|
|
105
|
+
oasr clone my-skill
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
> **warning**
|
|
109
|
+
> `oasr use` will be removed in v0.5.0. Update your scripts and workflows to use `oasr clone`.
|
|
@@ -0,0 +1,264 @@
|
|
|
1
|
+
# `oasr config`
|
|
2
|
+
|
|
3
|
+
Manage OASR configuration settings. Configure default agent, validation rules, and adapter preferences.
|
|
4
|
+
|
|
5
|
+
## Usage
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
oasr config set <key> <value> # Set a config value
|
|
9
|
+
oasr config get <key> # Get a config value
|
|
10
|
+
oasr config list # Show all configuration
|
|
11
|
+
oasr config path # Show config file location
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Subcommands
|
|
15
|
+
|
|
16
|
+
### `config set`
|
|
17
|
+
|
|
18
|
+
Set configuration values:
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
oasr config set agent codex # Set default agent
|
|
22
|
+
oasr config set agent copilot
|
|
23
|
+
oasr config set agent claude
|
|
24
|
+
oasr config set agent opencode
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
**Agent Validation**: Only supported agents can be set. The command validates against available agent drivers.
|
|
28
|
+
|
|
29
|
+
### `config get`
|
|
30
|
+
|
|
31
|
+
Retrieve configuration values:
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
oasr config get agent # Get default agent
|
|
35
|
+
oasr config get validation.strict # Get validation strictness
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Returns the value or indicates if not set:
|
|
39
|
+
```
|
|
40
|
+
codex
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### `config list`
|
|
44
|
+
|
|
45
|
+
Display all configuration with formatted output:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
oasr config list
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
**Example output:**
|
|
52
|
+
```
|
|
53
|
+
╭─────────────────────────────────────────╮
|
|
54
|
+
│ OASR Configuration │
|
|
55
|
+
├─────────────────────────────────────────┤
|
|
56
|
+
│ │
|
|
57
|
+
│ 📍 Config: ~/.oasr/config.toml │
|
|
58
|
+
│ │
|
|
59
|
+
│ Agent Configuration │
|
|
60
|
+
│ Default: codex │
|
|
61
|
+
│ │
|
|
62
|
+
│ Available Agents │
|
|
63
|
+
│ ✓ codex │
|
|
64
|
+
│ ✓ copilot │
|
|
65
|
+
│ ✗ claude │
|
|
66
|
+
│ ✗ opencode │
|
|
67
|
+
│ │
|
|
68
|
+
│ Validation Settings │
|
|
69
|
+
│ Reference max lines: 500 │
|
|
70
|
+
│ Strict mode: false │
|
|
71
|
+
│ │
|
|
72
|
+
│ Adapter Settings │
|
|
73
|
+
│ Default targets: cursor, windsurf │
|
|
74
|
+
│ │
|
|
75
|
+
╰─────────────────────────────────────────╯
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
**Agent Availability Indicators:**
|
|
79
|
+
- ✓ — Agent CLI binary found in PATH
|
|
80
|
+
- ✗ — Agent CLI binary not installed
|
|
81
|
+
|
|
82
|
+
### `config path`
|
|
83
|
+
|
|
84
|
+
Show the location of the configuration file:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
oasr config path
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Returns:
|
|
91
|
+
```
|
|
92
|
+
/home/user/.oasr/config.toml
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
## Configuration Structure
|
|
96
|
+
|
|
97
|
+
The config file uses TOML format:
|
|
98
|
+
|
|
99
|
+
```toml
|
|
100
|
+
[agent]
|
|
101
|
+
default = "codex"
|
|
102
|
+
|
|
103
|
+
[validation]
|
|
104
|
+
reference_max_lines = 500
|
|
105
|
+
strict = false
|
|
106
|
+
|
|
107
|
+
[adapter]
|
|
108
|
+
default_targets = ["cursor", "windsurf"]
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## Agent Configuration
|
|
112
|
+
|
|
113
|
+
### Setting a Default Agent
|
|
114
|
+
|
|
115
|
+
Configure which agent `oasr exec` uses by default:
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
oasr config set agent codex
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
This allows you to run skills without specifying `--agent` each time:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Uses configured default agent
|
|
125
|
+
oasr exec my-skill -p "Do something"
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
### Supported Agents
|
|
129
|
+
|
|
130
|
+
| Agent | CLI Binary | Command Format |
|
|
131
|
+
|-------|-----------|----------------|
|
|
132
|
+
| **Codex** | `codex` | `codex exec "<prompt>"` |
|
|
133
|
+
| **Copilot** | `copilot` | `copilot -p "<prompt>"` |
|
|
134
|
+
| **Claude** | `claude` | `claude <prompt> -p` |
|
|
135
|
+
| **OpenCode** | `opencode` | `opencode run "<prompt>"` |
|
|
136
|
+
|
|
137
|
+
### Checking Agent Availability
|
|
138
|
+
|
|
139
|
+
Use `oasr config list` to see which agents are installed and available:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
oasr config list
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
Look for the **Available Agents** section with ✓/✗ indicators.
|
|
146
|
+
|
|
147
|
+
## Examples
|
|
148
|
+
|
|
149
|
+
### Initial Setup
|
|
150
|
+
|
|
151
|
+
Configure your preferred agent after installation:
|
|
152
|
+
|
|
153
|
+
```bash
|
|
154
|
+
# Set default agent
|
|
155
|
+
oasr config set agent codex
|
|
156
|
+
|
|
157
|
+
# Verify configuration
|
|
158
|
+
oasr config get agent
|
|
159
|
+
# Output: codex
|
|
160
|
+
|
|
161
|
+
# See full config
|
|
162
|
+
oasr config list
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### Switching Agents
|
|
166
|
+
|
|
167
|
+
Change your default agent at any time:
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
# Switch to Copilot
|
|
171
|
+
oasr config set agent copilot
|
|
172
|
+
|
|
173
|
+
# Verify change
|
|
174
|
+
oasr config get agent
|
|
175
|
+
# Output: copilot
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Troubleshooting
|
|
179
|
+
|
|
180
|
+
Find your config file location:
|
|
181
|
+
|
|
182
|
+
```bash
|
|
183
|
+
oasr config path
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
Check which agents are available:
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
oasr config list | grep -A 5 "Available Agents"
|
|
190
|
+
```
|
|
191
|
+
|
|
192
|
+
## Related Commands
|
|
193
|
+
|
|
194
|
+
- [`oasr exec`](EXEC.md) — Execute skills using configured agent
|
|
195
|
+
- [`oasr registry`](REGISTRY.md) — Manage skill registry
|
|
196
|
+
|
|
197
|
+
## Configuration File Location
|
|
198
|
+
|
|
199
|
+
Default: `~/.oasr/config.toml`
|
|
200
|
+
|
|
201
|
+
Override with `--config` flag:
|
|
202
|
+
```bash
|
|
203
|
+
oasr --config /custom/path/config.toml config list
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
## Error Handling
|
|
207
|
+
|
|
208
|
+
### Agent Not Available
|
|
209
|
+
|
|
210
|
+
If you try to set an unavailable agent:
|
|
211
|
+
|
|
212
|
+
```bash
|
|
213
|
+
oasr config set agent unknown-agent
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
Output:
|
|
217
|
+
```
|
|
218
|
+
Error: 'unknown-agent' is not a valid agent
|
|
219
|
+
Valid agents: codex, copilot, claude, opencode
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
### Agent Binary Not Found
|
|
223
|
+
|
|
224
|
+
If the configured agent binary is not in your PATH:
|
|
225
|
+
|
|
226
|
+
```bash
|
|
227
|
+
oasr exec my-skill -p "test"
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
Output:
|
|
231
|
+
```
|
|
232
|
+
Error: Agent 'codex' is not available
|
|
233
|
+
|
|
234
|
+
Available agents:
|
|
235
|
+
✗ codex
|
|
236
|
+
✓ copilot
|
|
237
|
+
✗ claude
|
|
238
|
+
✗ opencode
|
|
239
|
+
|
|
240
|
+
Configure a different agent:
|
|
241
|
+
oasr config set agent copilot
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
## Advanced Usage
|
|
245
|
+
|
|
246
|
+
### Direct Config File Editing
|
|
247
|
+
|
|
248
|
+
The config file is plain TOML and can be edited directly:
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
# Open in editor
|
|
252
|
+
$EDITOR ~/.oasr/config.toml
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Warning**: Manual edits bypass validation. Use `oasr config set` when possible.
|
|
256
|
+
|
|
257
|
+
### Config Validation
|
|
258
|
+
|
|
259
|
+
OASR validates configuration on load:
|
|
260
|
+
- Agent names must be in supported list
|
|
261
|
+
- Numeric values must be positive integers
|
|
262
|
+
- Boolean values must be true/false
|
|
263
|
+
|
|
264
|
+
Invalid configs are rejected with helpful error messages.
|