Skip to content

Commit 45f4e53

Browse files
committed
docs: update SKILL.md with PyPI install spec and corrected CLI examples
1 parent 27d598b commit 45f4e53

1 file changed

Lines changed: 48 additions & 33 deletions

File tree

SKILL.md

Lines changed: 48 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ metadata:
1919
"kind": "pip",
2020
"package": "sam-faces",
2121
"bins": ["sam-faces"],
22-
"label": "Install via PyPI",
22+
"label": "Install sam-faces from PyPI",
2323
},
2424
],
2525
},
@@ -36,7 +36,7 @@ photos, then automatically identify them in inbound images.
3636
**When the user sends a photo or image:**
3737

3838
1. Save the image to a temp path.
39-
2. Run: `sam-faces identify <path>`
39+
2. Run face identification: `sam-faces identify <path>`
4040
3. Parse the JSON response.
4141
4. If `face_count > 0`, prepend `llm_context` to your image description.
4242
5. If any face has `"unknown": true`, ask the user who they are, then enroll them.
@@ -45,64 +45,71 @@ Do this automatically — do not ask permission first.
4545

4646
## Installation
4747

48-
### Via PyPI (recommended)
49-
5048
```bash
5149
pip install sam-faces
5250
```
5351

54-
The `sam-faces` CLI is added to your PATH automatically.
55-
56-
### Manual (from source)
57-
52+
Or use the OpenClaw skill installer:
5853
```bash
59-
git clone https://github.com/jasonacox-sam/sam-faces.git
60-
cd sam-faces
61-
pip install -e .
54+
openclaw skills install sam-faces
6255
```
6356

64-
### Via OpenClaw Skills UI
65-
66-
Search "face recognition" in the OpenClaw Skills UI and install with one click.
57+
## Setup
6758

68-
## CLI Usage
69-
70-
### Identify faces in a photo
59+
The `sam-faces` command is available after installation:
7160

7261
```bash
73-
sam-faces identify /path/to/photo.jpg
62+
sam-faces --help
7463
```
7564

76-
Returns JSON with names, confidence scores, bounding boxes, position, and an
77-
`llm_context` string.
78-
79-
### Enroll a person
65+
## Enroll a person
8066

8167
```bash
8268
sam-faces enroll --name "Jane Smith" --photo /path/to/photo.jpg
8369
```
8470

85-
If multiple faces are detected, specify which to enroll:
71+
- One reference photo is usually enough (default threshold: 0.55).
72+
- Enroll 2–3 photos across different lighting for best accuracy.
73+
- Encodings are stored in `{workspaceDir}/faces/people.db`.
74+
75+
## Identify faces
8676

8777
```bash
88-
sam-faces enroll --name "Jane Smith" --photo photo.jpg --face-index 1
78+
sam-faces identify /path/to/image.jpg
8979
```
9080

91-
One reference photo is usually enough (default threshold: 0.55).
92-
Enroll 2–3 photos across different lighting for best accuracy.
81+
Returns JSON with names, confidence scores, bounding boxes, and an
82+
`llm_context` string:
83+
84+
```json
85+
{
86+
"face_count": 2,
87+
"faces": [
88+
{
89+
"name": "Jane Smith",
90+
"confidence": 0.646,
91+
"unknown": false,
92+
"position": "middle"
93+
}
94+
],
95+
"llm_context": "2 faces detected: Jane Smith (middle, 64%); John Smith (left, 57%)."
96+
}
97+
```
9398

94-
### List enrolled people
99+
## List enrolled people
95100

96101
```bash
97102
sam-faces list
98103
```
99104

100-
### Review unknown faces
105+
## Manage unknown faces
101106

102107
```bash
103108
sam-faces unknowns
104109
```
105110

111+
Shows all unknown face crops waiting to be enrolled.
112+
106113
## Thresholds
107114

108115
- Default: `--threshold 0.55` (good balance of precision and recall)
@@ -113,8 +120,16 @@ sam-faces unknowns
113120

114121
- All inference runs locally via `face_recognition` (dlib). Nothing leaves the machine.
115122
- Database: `{workspaceDir}/faces/people.db`
116-
- Unknown face crops: `{workspaceDir}/faces/unknown/`
117-
- Face crop thumbnails (audit trail): `{workspaceDir}/faces/crops/`
118-
- Requires Python 3.10+ and build tools (cmake, C++ compiler) for dlib.
119-
- On Ubuntu/Debian: `sudo apt install cmake build-essential`
120-
- On macOS: `xcode-select --install`
123+
- Unknown face crops saved to: `{workspaceDir}/faces/unknown/`
124+
- Works with existing face databases — no migration needed.
125+
126+
## When to use
127+
128+
- User sends a photo with people in it
129+
- Adding a new person to the face database
130+
- Checking who is enrolled
131+
132+
## When NOT to use
133+
134+
- Images with no faces (skip automatically)
135+
- Processing large batches of images (one at a time)

0 commit comments

Comments
 (0)