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
59 changes: 46 additions & 13 deletions .github/ISSUE_TEMPLATE/01_skill_proposal.yml
Original file line number Diff line number Diff line change
@@ -1,20 +1,41 @@
name: "New Skill Proposal"
description: Propose a new capability for the Skillware registry.
description: Propose a new capability for the Skillware registry (not an upgrade to an existing skill).
title: "[New Skill]: "
labels: ["skill request", "enhancement"]
body:
- type: markdown
attributes:
value: |
Thanks for helping expand the Skillware ecosystem!
Please review the [Contribution Guidelines](https://github.com/ARPAHLS/skillware/blob/main/CONTRIBUTING.md) first.
Please review the [Contribution Guidelines](https://github.com/ARPAHLS/skillware/blob/main/CONTRIBUTING.md) and start from [templates/python_skill/](https://github.com/ARPAHLS/skillware/tree/main/templates/python_skill).

To improve an **existing** skill, use the **Skill Upgrade** template instead.

- type: input
id: skill_name
attributes:
label: Skill Name
description: e.g. `finance/stock_checker` or `os/file_manager`
placeholder: category/skill_name
label: Skill ID
description: Full registry ID in `category/skill_name` form
placeholder: finance/stock_checker
validations:
required: true

- type: dropdown
id: category
attributes:
label: Category
description: Pick an existing category or propose a new one in the description
options:
- compliance
- data_engineering
- defi
- dev_tools
- finance
- monitoring
- office
- optimization
- wellness
- "Propose new category (describe below)"
validations:
required: true

Expand All @@ -39,15 +60,27 @@ body:
required: true

- type: dropdown
id: models
id: runtime
attributes:
label: Targeted Models (if applicable)
description: Is this skill specific to a model or truly agnostic?
label: Target runtime
description: Which LLM runtimes must the skill support?
options:
- "Model Agnostic (All)"
- "Gemini 2.0"
- "Claude 3.5"
- "Local LLaMA"
- "Other"
- Model agnostic (all supported adapters)
- Gemini
- Claude
- OpenAI
- DeepSeek
- Ollama (prompt mode)
- Other / mixed
validations:
required: true

- type: textarea
id: env_vars
attributes:
label: External APIs & env vars (if any)
description: List API keys or data sources the skill needs
placeholder: |
ETHERSCAN_API_KEY — optional chain enrichment
validations:
required: false
34 changes: 20 additions & 14 deletions .github/ISSUE_TEMPLATE/02_bug_report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,28 @@ body:
- type: markdown
attributes:
value: |
Thanks for reporting an issue!
Thanks for reporting an issue! Search [open bugs](https://github.com/ARPAHLS/skillware/issues?q=is%3Aopen+label%3Abug) first.

- type: dropdown
id: component
attributes:
label: Affected Component
options:
- "Core Framework (Loader/Env)"
- "Specific Skill (e.g. Wallet Screening)"
- "Documentation"
- "Examples"
- Core Framework (loader, env, base_skill, adapters)
- CLI (skillware list, test, examples, menu)
- Specific Skill
- Examples / agent loops
- Documentation
- Packaging / PyPI install
- Tests / CI
- Security
validations:
required: true

- type: input
id: skill_name
attributes:
label: Skill Name (if applicable)
label: Skill ID (if applicable)
placeholder: finance/wallet_screening
validations:
required: false
Expand All @@ -44,28 +48,30 @@ body:
label: Steps to Reproduce
description: How do we trigger this bug?
placeholder: |
1. Loaded skill 'X'
2. Configured Gemini model
3. Sent prompt "..."
4. Crash
1. Loaded skill 'finance/wallet_screening'
2. Ran examples/gemini_wallet_check.py
3. Crash on first generate_content call
validations:
required: true

- type: textarea
id: logs
attributes:
label: Error Logs
description: Paste the traceback or error message.
render: python
description: Paste the traceback or error message (optional for Documentation bugs).
render: shell
validations:
required: true
required: false

- type: textarea
id: environment
attributes:
label: Environment
description: OS, Python version, SDK versions.
description: OS, Python version, install method (pip vs editable clone), SDK versions.
placeholder: |
Windows 11
Python 3.12
pip install skillware[gemini]==0.4.2
google-genai 1.0.0
validations:
required: false
28 changes: 24 additions & 4 deletions .github/ISSUE_TEMPLATE/03_doc_fix.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,38 @@
name: "Documentation Fix"
description: Help us improve the docs.
title: "[Docs]: "
labels: ["documentation", "good first issue"]
labels: ["documentation"]
body:
- type: markdown
attributes:
value: |
For runnable script or agent-loop fixes under `examples/`, prefer the **Examples** template.

- type: dropdown
id: doc_type
attributes:
label: Type of fix
options:
- Typo or clarity
- Broken link
- Outdated API or CLI behavior
- Doc drift (catalog, examples index, agent loops)
- Other
validations:
required: true

- type: textarea
id: description
attributes:
label: What needs to be fixed?
description: Typos, unclear instructions, or broken links?
description: Describe the problem and the expected correction.
validations:
required: true

- type: input
id: page
attributes:
label: Affected Page
placeholder: docs/usage/gemini.md
label: Affected Page(s)
placeholder: docs/usage/cli.md
validations:
required: true
22 changes: 17 additions & 5 deletions .github/ISSUE_TEMPLATE/04_framework_feature.yml
Original file line number Diff line number Diff line change
@@ -1,13 +1,17 @@
name: "Framework Feature"
description: Propose a change to the core Skillware engine (Loader, Envs, adapters).
description: Propose a change to the core Skillware engine (loader, env, adapters).
title: "[Feat]: "
labels: ["enhancement", "core-framework"]
body:
- type: markdown
attributes:
value: |
Use this for changes to `skillware/core/` (e.g., new model adapters, loader logic, security).
For new **Skills**, please use the "New Skill Proposal" template.
Use this for changes to `skillware/core/` (loader, env, base_skill, model adapters).

- **CLI** (`skillware/cli.py`, menu, `list` / `test` / `examples`) — use the **CLI** template
- **Packaging** (PyPI wheel, `pyproject.toml`, `MANIFEST.in`) — use **Packaging** or an RFC for large changes
- **New registry skills** — use **New Skill Proposal**
- **Upgrades to existing skills** — use **Skill Upgrade**

- type: textarea
id: description
Expand All @@ -21,16 +25,24 @@ body:
id: rationale
attributes:
label: Rationale
description: Why is this needed? (e.g. "To support OpenAI models")
description: Why is this needed?
validations:
required: true

- type: input
id: affected_paths
attributes:
label: Affected paths (optional)
placeholder: skillware/core/loader.py, tests/test_loader.py
validations:
required: false

- type: textarea
id: implementation
attributes:
label: Implementation Idea
description: Do you have a plan for how to implement this in Python?
placeholder: |
I can add a `to_openai_tool` method in `loader.py` that maps...
Add a helper on SkillLoader that...
validations:
required: false
9 changes: 5 additions & 4 deletions .github/ISSUE_TEMPLATE/05_rfc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,11 @@ body:
- type: markdown
attributes:
value: |
An RFC (Request for Comments) is for proposals that are too big for a simple feature request.
Use this to discuss:
- Changing core standards (e.g. how `manifest.yaml` works)
- Major refactors
An RFC is for proposals too large for a simple feature request, for example:
- Changing core standards (how `manifest.yaml` works)
- Major refactors or manifest contract changes
- Packaging strategy, trust model, or sandbox architecture
- Adding support for entirely new platforms
- type: textarea
Expand Down
77 changes: 77 additions & 0 deletions .github/ISSUE_TEMPLATE/06_cli.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: "CLI"
description: Report a bug or propose a change to the skillware command-line interface.
title: "[CLI]: "
labels: ["cli", "enhancement"]
body:
- type: markdown
attributes:
value: |
Scope: `skillware/cli.py`, `skillware/__main__.py`, and [docs/usage/cli.md](https://github.com/ARPAHLS/skillware/blob/main/docs/usage/cli.md).

For loader/path resolution logic in `skillware/core/loader.py`, use **Framework Feature** or **Bug Report** (Core Framework).

- type: dropdown
id: change_type
attributes:
label: Change type
options:
- Bug
- Enhancement
- Documentation only
validations:
required: true

- type: dropdown
id: command
attributes:
label: Command or area
options:
- skillware (interactive menu)
- skillware list
- skillware test
- skillware examples
- skillware --help / --version
- python -m skillware
- Path resolution / SKILLWARE_SKILL_PATH
- Other
validations:
required: true

- type: dropdown
id: install_method
attributes:
label: Install method
options:
- pip install skillware (PyPI)
- pip install -e ".[dev]" or ".[dev,all]" (editable clone)
- Both / unknown
validations:
required: true

- type: textarea
id: description
attributes:
label: Description
description: Expected vs actual behavior, or the feature you want.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Steps to reproduce (bugs)
placeholder: |
skillware examples
Expected: ...
Actual: ...
validations:
required: false

- type: textarea
id: environment
attributes:
label: Environment
placeholder: |
Windows 11, Python 3.12, skillware 0.4.2
validations:
required: false
Loading
Loading