Metadata-Version: 2.4
Name: madhav-anthropic
Version: 0.1.1
Summary: Madhav's Act and Transform instruction skill, with a CLI to display and export it.
Keywords: skills,prompts,act-and-transform
Classifier: Programming Language :: Python :: 3
Classifier: Operating System :: OS Independent
Classifier: Topic :: Utilities
Requires-Python: >=3.10
Description-Content-Type: text/markdown

# madhav-anthropic

Madhav's **Act and Transform** skill, distributed as an installable Python package.
It turns a task into a professional, evidence-driven prompt using five steps:
professional standards, primary evidence, concrete methods, independent validation,
and a copy-ready transformed prompt.

This is an independent instruction package, unaffiliated with Anthropic. It does
not include a model, call an API, or require an API key. Python 3.10+ is required.

## Install and use

Install the package, then run its command from your project folder:

```console
python -m pip install --upgrade madhav-anthropic
madhav-anthropic
```

The second command creates **`skill.md` directly in your current project folder**.
This default is available in version 0.1.1 and later. You install the package once
per Python environment and run `madhav-anthropic` once in each project that needs
the file. The file stays there between sessions.

`pip install` itself installs into the Python environment. Wheel installation
does not provide a supported post-install hook for writing to the calling
project directory. See the [wheel installation specification](https://packaging.python.org/en/latest/specifications/binary-distribution-format/#installing-a-wheel-distribution-1-0-py32-none-any-whl).
Assistant activation still depends on that assistant's skill configuration.

To display the instructions or export a skill folder for an assistant's loader:

```console
madhav-anthropic show
madhav-anthropic export ./act-and-transform
```

The export command creates `./act-and-transform/SKILL.md` as before.

Use the original trigger, `act and transfrom`, alongside your task, or explicitly
ask to apply **Act and Transform**. Example:

```text
act and transfrom: Help me design an evaluation for my image classifier.
```

Existing files are preserved. To deliberately replace the current project's file:

```console
madhav-anthropic init --force
```

To replace an exported skill folder's file:

```console
madhav-anthropic export ./act-and-transform --force
```

If the shell cannot find the command, use `python -m madhav_anthropic` instead:

```console
python -m madhav_anthropic show
python -m madhav_anthropic
python -m madhav_anthropic export ./act-and-transform
```

Python API:

```python
from madhav_anthropic import get_skill

instructions = get_skill()
```

## Develop and build

`skill.md` at the project root is the authoritative source. The build copies it
into the package as `SKILL.md`; there is no second source copy to maintain.

```powershell
python -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade build twine
.\.venv\Scripts\python.exe -m build
.\.venv\Scripts\python.exe -m twine check --strict dist/*
.\.venv\Scripts\python.exe -m pip install --force-reinstall --no-deps .\dist\madhav_anthropic-0.1.1-py3-none-any.whl
.\.venv\Scripts\python.exe -m unittest discover -s tests -v
```

## Publish to PyPI

1. Sign in at <https://pypi.org/>, verify your email, and enable two-factor
   authentication if needed.
2. Create an API token at <https://pypi.org/manage/account/token/>. For a first
   upload, use account scope; after creating the project, use a project-scoped
   token for subsequent releases.
3. From this folder, run:

```powershell
.\publish.ps1
```

The script builds, checks, installs, and tests the release before uploading. At
Twine's password prompt, paste your PyPI API token. The username is `__token__`.
Enter the token only into that terminal prompt; do not put it in source files or
chat. The script uses the real PyPI upload endpoint.

After a successful upload:

```console
python -m pip install madhav-anthropic
```

PyPI names are shared globally. The requested name is not reserved until the
first upload succeeds. If PyPI rejects it as unavailable, select another name
and update the package metadata, version lookup, and documentation before building.

For another release, update `version` in `pyproject.toml`, then run `publish.ps1`
again. A published version cannot be overwritten with different files.

Packaging reference: <https://packaging.python.org/en/latest/tutorials/packaging-projects/>.
Authentication reference: <https://pypi.org/help/#apitoken>.
