Skip to content
Open
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
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ Contributors add user-facing entries under `[Unreleased]` in the same PR. Mainta
- **Citation:** Zenodo concept DOI `10.5281/zenodo.21552745` in `CITATION.cff`, README badge/Citing section, and `pyproject.toml` project URL (#269).
- **Skill:** `security/prompt_injection_firewall` — offline-only deterministic pre-flight scanner (no LLM path) with local `kb/` detectors for hidden text, Unicode/confusable evasion, nested encodings, instruction overrides, corroboration-based sensitivity, and sanitization output (#46).

### Changed

- **Documentation / examples:** Renamed the shared GitHub helper from `issue_resolver_github_context.py` to `issue_resolver_common.py` and cleaned up the examples/docs parity story so the helper remains excluded from the runnable examples index while the three provider demos continue to import the shared module.

## [0.4.7] - 2026-07-25

### Added
Expand All @@ -36,7 +40,7 @@ Contributors add user-facing entries under `[Unreleased]` in the same PR. Mainta
- **`finance/wallet_screening`**: Paginate Etherscan `txlist` (up to 10k normal txs) and surface `metadata.warnings` when history is truncated or unavailable; bump skill version `1.0.0``1.0.1` (#214, parent #115).
- **Skills (finance/uk_companies_house_handler):** Completed Phase v2a upgrade (#220). Added `context` parameter to carry forward session state (`company_number`, `company_name`, `officer_filter`, etc.). Added `partial` envelope status and optional `pipeline` state to support paused multi-step pipelines (noted as v2b prep in instructions). Updated `_get_officers` to fallback to `company_name` from context and added tests for fallback logic. Updated `examples/gemini_uk_companies_house_handler.py` into a fully interactive chat loop.
- **Documentation:** CONTRIBUTING and contributor workflow checklists — update `card.json` and output fixtures together when changing `execute()` output (#199).

=======
## [0.4.5] - 2026-07-16

### Added
Expand Down
2 changes: 2 additions & 0 deletions docs/skills/issue_resolver.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ Sample user message: *Analyse issue #56 in ARPAHLS/skillware and produce a resol

All three scripts use [issue #123](https://github.com/ARPAHLS/skillware/issues/123) as the sample issue. After `prepare`, the example script fetches issue and README content from GitHub and returns it to the model — demonstrating that the skill returns URLs and checklists, not a finished plan.

The shared GitHub-fetch helper lives in [`issue_resolver_common.py`](../../examples/issue_resolver_common.py). It is intentionally not listed in the runnable examples table because it is a support module used by the provider demos rather than a standalone example.

See [examples/README.md](../../examples/README.md) and [Agent loops](../usage/agent_loops.md) for the full inventory.

### Direct execute
Expand Down
2 changes: 1 addition & 1 deletion examples/claude_issue_resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import anthropic

sys.path.insert(0, str(Path(__file__).resolve().parent))
from issue_resolver_github_context import execute_skill # noqa: E402
from issue_resolver_common import execute_skill # noqa: E402

from skillware.core.env import load_env_file # noqa: E402
from skillware.core.loader import SkillLoader # noqa: E402
Expand Down
2 changes: 1 addition & 1 deletion examples/gemini_issue_resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from google.genai import types

sys.path.insert(0, str(Path(__file__).resolve().parent))
from issue_resolver_github_context import execute_skill # noqa: E402
from issue_resolver_common import execute_skill # noqa: E402

from skillware.core.env import load_env_file # noqa: E402
from skillware.core.loader import SkillLoader # noqa: E402
Expand Down
2 changes: 1 addition & 1 deletion examples/ollama_issue_resolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import ollama

sys.path.insert(0, str(Path(__file__).resolve().parent))
from issue_resolver_github_context import execute_skill # noqa: E402
from issue_resolver_common import execute_skill # noqa: E402

from skillware.core.env import load_env_file # noqa: E402
from skillware.core.loader import SkillLoader # noqa: E402
Expand Down
4 changes: 0 additions & 4 deletions tests/test_registry_docs.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,6 @@
SKILL_PATTERN = re.compile(r"`([\w-]+/[\w-]+)`")
EXAMPLE_PATTERN = re.compile(r"^\|[^|]*`([\w-]+\.py)`", re.MULTILINE)

# TODO: script examples/issue_resolver_github_context.py is a shared helper module and
# should be renamed to examples/issue_resolver_common.py (see #183).
GRANDFATHERED_EXAMPLES: set[str] = {"issue_resolver_github_context.py"}


def get_manifested_skills(skills_root: Path) -> set[str]:
Expand Down Expand Up @@ -45,7 +42,6 @@ def example_scripts() -> set[str]:
path.name
for path in examples_dir.glob("*.py")
if not path.name.endswith("_common.py")
and path.name not in GRANDFATHERED_EXAMPLES
}


Expand Down