lifemate-ai/familiar-ai/familiar-add-tool
Claude Code and agent skill by lifemate-ai/familiar-ai
- community
Checking that the SKILL.md file is still in the repository.
Scaffold a new sensor/actuator tool for familiar-ai. Generates the tool file and registers it in all required places in agent.py.
Install
npx vskill@latest install lifemate-ai/familiar-ai/familiar-add-toolSKILL.md
familiar-add-tool
Scaffold a new tool (sensor, actuator, or service) for the familiar-ai agent.
When to Use
- Adding a new physical sensor (microphone, temperature, GPS, …)
- Adding a new actuator (arm, LED, speaker, …)
- Wrapping a new external service (weather API, home automation, …)
What This Skill Does
- Creates
src/familiar_agent/tools/<name>.pyfrom the standard template - Registers the tool in
agent.pyin all three required places - Adds any new env vars to
config.pyand.env.example - Adds the tool's body description to the system prompt in
agent.py
Step 1: Gather Requirements
Ask the user (or infer from context):
- Tool name (snake_case, e.g.
microphone) - Tool verbs — the callable actions the agent can take (e.g.
listen,record) - Config vars — env vars needed (e.g.
MIC_DEVICE_INDEX) - System prompt description — how should the agent understand this body part?
- Optional flag — is the tool optional (guarded by config) or always available?
Step 2: Create the Tool File
Create src/familiar_agent/tools/<name>.py:
Key rules for tool files:
call()always returnstuple[str, str | None]— text result + optional JPEG base64get_tool_definitions()uses Anthropic input_schema format- Keep each tool in its own file, one class per file
Step 3: Register in agent.py
Touch three places:
3a. Import (top of file)
3b. _init_tools() — instantiate if config is available
3c. _all_tool_defs property — expose definitions
3d. _execute_tool() — route calls
Also add self._<name>: <Name>Tool | None = None to __init__.
Step 4: Update config.py
If new env vars are needed, add a config dataclass:
And add it to AgentConfig:
Step 5: Update System Prompt in agent.py
Add the tool to the body parts description in SYSTEM_PROMPT:
Keep it grounded and concrete — e.g. "Ears (listen): Your hearing. Calling listen() records audio from the microphone and transcribes it."
Step 6: Update .env.example
Checklist Before Finishing
- [ ]
tools/<name>.pycreated withget_tool_definitions()andcall() - [ ] Import added to
agent.py - [ ]
_init_tools()instantiates the tool (with optional guard) - [ ]
_all_tool_defsincludes it - [ ]
_execute_tool()routes to it - [ ]
config.pyhas new config class (if needed) - [ ]
AgentConfigreferences the new config (if needed) - [ ]
SYSTEM_PROMPTdescribes the new body part - [ ]
.env.exampledocuments new env vars - [ ] Run
uv run ruff check . && uv run ruff format .before committing
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingdev/familiar-add-tool/SKILL.md
Popularity
- Repository stars
- 88
- Repository forks
- 12
- 7-day trend score
- 22
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 2 May 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/lifemate-ai/familiar-ai/familiar-add-tool)