Skip to main content

handshake-prompt-agent

Agent-side SDK + CLI for the Handshake Prompt Protocol (HPP). Zero external dependencies (Python stdlib only).

Install

pip install handshake-prompt-agent

CLI

# Extract credentials from a handshake prompt
handshake-prompt-agent parse-prompt --prompt "$(pbpaste)"

# Get current schema + values
handshake-prompt-agent get-context --sid <sid> --token <token> --base <url>

# Submit field values
handshake-prompt-agent action --sid <sid> --token <token> --base <url> \
    --data '{"name":"Alice","age":30}'

# Get incremental changes since last submit
handshake-prompt-agent get-diff --sid <sid> --token <token> --base <url> \
    --since "2026-06-23T10:22:00+08:00"

# Extend the token/session for a long-running task (server may reject or cap it)
handshake-prompt-agent extend --sid <sid> --token <token> --base <url> \
    --extra-seconds 1800

Programmatic API

from handshake_prompt_agent import HandshakeAgent, parse_prompt

# Parse user-pasted prompt
creds = parse_prompt(prompt_text)
agent = HandshakeAgent(
    sid=creds['sessionId'],
    token=creds['token'],
    base_url=creds['baseUrl'],
)

# Read current state (call this BEFORE every action!)
state = agent.get_context()
print(state['schema'])     # field definitions
print(state['context'])    # current values + who filled (user/ai/empty/user_edit)
print(state['missing'])    # required-but-empty keys

# Apply values
result = agent.action({
    'name':  'Alice',
    'email': 'alice@example.com',
    'age':   30,
})
print(result['applied'])   # fields successfully written
print(result['rejected'])  # fields blocked (e.g. user already filled)
print(result['context'])   # full state snapshot after the action

# Long task? Ask the server to extend the session.
# The server policy decides whether this is allowed.
extension = agent.extend(extra_seconds=1800)
print(extension['expiresIn'])

Skill integration

This package is intended to be used inside an Agent skill (e.g. Codemaker, Claude, Cursor). A typical skill file:

# my-handshake-skill SKILL.md

Triggered when user pastes a message containing `sessionId:` and `token:`.

Workflow:
1. parse-prompt to extract credentials
2. get-context to read current schema + values
3. reason out field values based on user's request
4. action to submit values

Always call get-context BEFORE each action to see latest state
(user may have edited fields manually).

License

MIT

Metadata

Release files for handshake-prompt-agent 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for handshake-prompt-agent 0.2.0
File Size Uploaded
handshake_prompt_agent-0.2.0.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for handshake-prompt-agent 0.2.0
File Interpreter ABI Platform
handshake_prompt_agent-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 14.0 kB

Release files / handshake_prompt_agent-0.2.0.tar.gz

Download URL handshake_prompt_agent-0.2.0.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
6511b03202d2bce058958dafb4ccff7c56237773d67a2b81b05f3b2b8ff975f6
BLAKE2b-256 checksum
How to use checksums
aeb1ca8856e66973ec9d4587bd9239c129587bc667c622e1198379b34e24a71e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / handshake_prompt_agent-0.2.0-py3-none-any.whl

Download URL handshake_prompt_agent-0.2.0-py3-none-any.whl
Size 7.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c8c1489c563ae800375b080e906adc94229325dcf58ec58b6adaaf09f34e39aa
BLAKE2b-256 checksum
How to use checksums
7e6346ae10f7a1e2ea47091e308a27396590b2d8b76337de72fe00613676f974
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page