How to Use `distilly get` to Resolve a Person or Retrieve Profile Information
You can resolve a person or retrieve their profile information by running $distilly get <person-name> or /distilly get <person-name>, then selecting a family category and optionally supplying source material to generate an Agent-compatible Person Profile.
The titanwings/distilly repository provides a command-line interface for creating structured Person Profiles from unstructured data. The distilly get command serves as the primary entry point for resolving identities and retrieving profile information within the Distilly skill ecosystem. This guide explains how to use the CLI based on the actual source implementation.
Understanding the distilly get Command
The distilly get subcommand is implemented in the CLI entry point at bin/distilly.mjs, which parses arguments and delegates to the profile resolution logic. According to the source analysis, the command follows an interactive workflow defined in the repository's README.
CLI Entry Point Location
In bin/distilly.mjs, the application handles argument parsing for the $distilly and /distilly entry points according to the test suite. This file contains the main execution logic that initiates the person resolution workflow when the get subcommand is detected.
Step-by-Step Workflow for Resolving a Person
Based on lines 75-85 of README.md, the resolution process follows four distinct stages:
-
Invoke the command - Run
$distilly get <person>or use the slash command/distilly get <person>to initiate profile creation. -
Select a family category - Choose between
colleague,relationship, orcelebrityto classify the person type. -
Add source material - Optionally provide descriptions, documents, or data source references. Every field is optional, but additional context improves profile accuracy.
-
Review generated output - Examine the synthesized Person Profile and confirm the result. Distilly packages the output as an installable Agent Skill named with the family slug.
Entry Points and Syntax Variations
The test suite in tests/test_skill_entrypoint_docs.py validates three distinct entry point formats that all resolve to the same functionality:
$distilly- The shell-style command prefix recognized by the CLI/distilly- The slash command format used in Agent interfaces/skill:distilly- The explicit skill invocation syntax
As implemented in bin/distilly.mjs, these entry points trigger the same profile resolution logic.
Practical Code Examples
# Basic person resolution
$distilly get "Alice Johnson"
# Specify family category explicitly
$distilly get --family colleague "Bob Smith"
# Include description inline
$distilly get "Carlos Ruiz" --desc "Senior backend engineer, Go specialist"
# Using slash command syntax in Agent console
/distilly get "Eve Anderson"
How Profile Generation Works Under the Hood
Once you execute distilly get, the system processes your input through two key components:
tools/skill_writer.py- Assembles the profile from supplied material and writes the skill files to disk according to the generation settings.tools/skill_schema.py- Validates the generated profile against the required schema, ensuring compatibility with Agent hosts like Claude Code, OpenClaw, and Hermes.
The skill_writer.py module handles the actual creation of the Person Profile package that can be installed using the /skill:<family-slug> syntax.
Summary
distilly getis the primary CLI command for resolving person profiles in thetitanwings/distillyrepository.- The command supports multiple entry point syntaxes:
$distilly,/distilly, and/skill:distilly. - Users must select a family category (
colleague,relationship, orcelebrity) during the interactive workflow defined in the README. - Source material is optional but improves the quality of the generated Person Profile.
- The underlying implementation relies on
bin/distilly.mjsfor CLI parsing andtools/skill_writer.pyfor profile generation.
Frequently Asked Questions
What is the difference between $distilly and /distilly syntax?
Both entry points invoke the same underlying command parser in bin/distilly.mjs. The $distilly format is typically used in shell environments, while /distilly is the standard format for Agent chat interfaces. The test suite in tests/test_skill_entrypoint_docs.py confirms both strings are recognized by the CLI.
Can I use distilly get without providing any description?
Yes. According to the README usage instructions, every field including the description is optional. You can run $distilly get "Name" and Distilly will generate a basic profile based on available data, though providing source material yields more accurate results.
What family categories are available when resolving a person?
The three supported family categories are colleague, relationship, and celebrity. These categories determine the schema and generation settings applied by tools/skill_schema.py when creating the final Person Profile skill.
Where does Distilly store the generated profile?
The profile generation logic in tools/skill_writer.py writes the skill files to the local filesystem. The output is packaged as an Agent Skill that can be installed in compatible hosts using the /skill:<family-slug> syntax.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →