diff --git a/CHANGELOG.md b/CHANGELOG.md index 386e239..08ffd02 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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 @@ -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 diff --git a/docs/skills/issue_resolver.md b/docs/skills/issue_resolver.md index c9447a0..2fa4cb3 100644 --- a/docs/skills/issue_resolver.md +++ b/docs/skills/issue_resolver.md @@ -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 diff --git a/examples/claude_issue_resolver.py b/examples/claude_issue_resolver.py index eefb3ab..d19b87c 100644 --- a/examples/claude_issue_resolver.py +++ b/examples/claude_issue_resolver.py @@ -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 diff --git a/examples/gemini_issue_resolver.py b/examples/gemini_issue_resolver.py index 4cd5889..e96208d 100644 --- a/examples/gemini_issue_resolver.py +++ b/examples/gemini_issue_resolver.py @@ -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 diff --git a/examples/issue_resolver_github_context.py b/examples/issue_resolver_common.py similarity index 100% rename from examples/issue_resolver_github_context.py rename to examples/issue_resolver_common.py diff --git a/examples/ollama_issue_resolver.py b/examples/ollama_issue_resolver.py index d15361d..bfeed8f 100644 --- a/examples/ollama_issue_resolver.py +++ b/examples/ollama_issue_resolver.py @@ -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 diff --git a/tests/test_registry_docs.py b/tests/test_registry_docs.py index fa13505..575e709 100644 --- a/tests/test_registry_docs.py +++ b/tests/test_registry_docs.py @@ -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]: @@ -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 }