Affinity Read-Only
Use this skill for Affinity analysis tasks from chat or Slack.
Hard rules
- Use GET requests only.
- Never call POST, PUT, PATCH, or DELETE.
- Never change stages, notes, tags, companies, or people.
- Never print, log, or echo
AFFINITY_API_KEY. - If a request requires modification, stop and ask for explicit approval.
Prerequisite
AFFINITY_API_KEYmust be set in local environment.
Quick check:
zsh -lc '[[ -n "$AFFINITY_API_KEY" ]] && echo "AFFINITY_API_KEY is set" || echo "AFFINITY_API_KEY is not set"'
API helper
Use the bundled script:
./skills/affinity-readonly/scripts/affinity_get.sh "/companies" "page_size=25"
./skills/affinity-readonly/scripts/affinity_get.sh "/persons" "term=Driven%20Plastics"
./skills/affinity-readonly/scripts/affinity_get.sh "/notes" "person_id=12345"
- Arg 1: endpoint path beginning with
/ - Arg 2 (optional): query string without leading
? - Base URL defaults to
https://api.affinity.coand can be overridden withAFFINITY_API_BASE
Workflow
- Confirm task is analysis-only.
- Fetch only required records with
affinity_get.sh. - Summarize evidence with IDs/timestamps when available.
- If data appears incomplete, request clarifying filters (date range, company, person).
- Refuse any write/update request unless user explicitly approves and policy is changed.