analyse_group
ChatGPTAnalyse the group dynamics of a saved group or an ad-hoc set of people (Pro feature). Computes a Penta analysis: which of the 6 core group channels are defined, which are gaps, who fills which roles, energy flow, type distribution, and pairwise connections between all members. Channels carry both business and family keynotes: frame the analysis to match the group's nature (team, family, friends), inferred from its name and the conversation. Provide either group_name or member_names (3-5 saved people).
calculate_chart
ChatGPTCalculate a Human Design chart from birth data for someone who is not saved. Nothing is stored. A saved person's chart comes from get_person_design, never retyped from their birth data. State in your reply the date and time the chart was calculated from.
check_birth_time_stability
ChatGPTMeasure how much of a saved person's chart their birth day settles, whatever the hour. Sweeps the whole birth day and reports, per chart attribute, what share of it holds the value at the time on file. time_is_trusted says which of two questions it answers: - Not exact: the shares are a fence. Each attribute carries a tier — 'certain' (the whole window agrees), 'likely' (more than 60% of it, with the share), or withheld, whose value the result does not contain because the birth day does not settle it. - Exact: nothing is withheld. The same sweep measures precision: a low share marks a finely timed trait, not doubt about it. For when the birth time or its precision is the question — how solid or time-sensitive a chart is, what an earlier or later birth would have changed, doubt about the time on file. focus narrows it to particular attributes. Specific candidate times are compare_birth_times. A question about type, strategy or authority alone does not need it, and one call per person holds until their birth time changes.
compare_birth_times
ChatGPTCompare candidate birth times for a saved person, and report what differs. The tool for a time the user is weighing rather than correcting; it saves nothing. Answers per attribute, center and channel, split into what is identical at every time and what is not, with the saved time included as the baseline and marked saved: true. The other times are hypotheses until the user settles on one, which set_birth_time records. A different birth date is a different chart; the user edits a date in the app.
compare_charts
ChatGPTCompare two saved people's Human Design charts for relationship dynamics. Computes electromagnetic, companionship, compromise and dominance channels, composite type and authority, center dynamics, connection theme, profile compatibility, and bridging gates: split_definition_bridges lists the gates each person provides to bridge the other's split definition, and composite_bridge_gates the gates neither holds that would bridge the composite's split. Use it for any question about how two people fit rather than comparing charts yourself; it also renders the connection view the user sees. Both people must be saved (or 'me'). If one is not, saving them is part of the request: call save_person with the data the user gave, compare, and say you saved them.
get_cycles
ChatGPTThe cycles of one saved person's life, dated from the ephemeris (Pro). The Saturn return (around 28–30, again 58–59 and 87–88), the Uranus opposition (38–44), the Kiron return (50–51), the nodal returns (every ~18.6 years) and the yearly Solar return. A return is the moment the body is back where it stood at their birth; the Uranus opposition is Uranus halfway round. Without cycle: the timeline — every occurrence with its exact passes, age and status, one call for the whole life. With cycle: that cycle's chart, cast at the exact moment and read against theirs — Cross, Profile, Nodes, and the channels it completes with the natal chart. The chart needs an exact birth time; the timeline does not. Every date is computed from the ephemeris; an age does not give one. An occurrence past 2053 has an approximate age and no date. Times come back already in timezone, with the zone named. A cycle is a phase that begins and ends, not a verdict: type, strategy and authority stay the natal chart's. read_skill('cycles') is the guide to reading a cycle chart, and the result names the knowledge-base page for it.
get_guidance
ChatGPTThe reference for reading this server's Human Design results, for use before the first Human Design reading in a conversation. It returns how the Markdown a chart tool answers with is laid out, what a birth time's confidence settles, how a saved record the user says is wrong gets corrected, what this app does and does not read, the guides read_skill offers, and the meanings behind every gate, channel and center number. Nothing in it changes during a conversation, so one call covers it.
get_my_design
ChatGPTGet the account holder's own Human Design chart. If it reports that nothing is saved, that is the normal state of a new connection: ask for their birth date, time and place and call save_person with is_me=true, which answers with this same chart — no need to call this again.
get_pair_transits
ChatGPTThe transit field laid over two saved people at once, now or on a given day (Pro). Their two charts are read side by side as one composite — every gate either holds — with the sky over it. Answers with the channels the sky completes through a gate both of them hold, through one of them, the channels the two already form that a planet sits on (and when the sky carries the half one partner usually brings), the centers it lights that both leave open, and the moment each one ends. One person is get_person_transits; the relationship itself, which no planet changes, is compare_charts. Needs both birth times exact; a pair with an uncertain time is refused, naming whose. Every timestamp is already on the reader's own local clock with the zone named. A transit is conditioning: weather each person feels through their own open centers. It does not make a day good or bad for the relationship, and the decisions stay with each person's own authority.
get_person_design
ChatGPTGet the Human Design chart of a saved person, by their full name as saved. When two saved people share a name the name alone cannot say which, and the refusal names both of them with their birth dates and their person_ids: ask the user which they mean and call again with person_id.
get_person_transits
ChatGPTThe transit field laid over one saved person's bodygraph, now or on a given day (Pro). The sky is one field, the same for everyone; get_transits reads it alone, and this tool reads it against one chart. Answers with every planet's gate and line, the channels the sky completes in that person's chart, which centers those define, and the moment each one ends. The tool for any question about how the transits land for somebody — "what is going on for me today", how a moment affects a saved person. Positions are computed for the moment asked about: the sky moves, a chart does not, and a remembered position is wrong within hours. Needs an exact birth time. Half the gates of a chart move inside an uncertain hour, so a person whose time is remembered or unknown is refused by name, and the refusal says why. Every timestamp in the result is already on the reader's own local clock with the zone named; timezone sets which clock that is. In Human Design a transit is weather, not instructions. Type, strategy, authority and profile are cast at birth and no planet moves them, a transit is not a prediction, and the decision stays with the person's own authority.
get_transits
ChatGPTWhere every planet is right now, or on a day asked about, with nobody's chart read against it (Pro). Answers with each body's gate and line, whether it is retrograde, the moment it next moves, and the channels the sky defines on its own — the ones everybody alive has today. This is the transit field itself: one sky, the same for everyone, so nothing here is about a person. What it does to one person is get_person_transits, which reads this same field against their bodygraph; across everyone saved it is rank_transits. Positions are computed from the ephemeris for the moment asked about. The sky moves, so a remembered position is wrong within hours. In Human Design a transit is weather, not instructions: not a prediction, and nothing in the sky moves anybody's type, strategy, authority or profile.
list_groups
ChatGPTList all groups with their members (Pro feature).
list_people
ChatGPTList the people saved in the user's account, with the birth data that tells them apart. Each row carries the person_id that update_person takes — the sentinel 'me' for the account holder, the row id for everyone else — and the birth date and place, which is how to ask the user which person they mean when a name alone does not settle it. The time of day is not included; get_person_design has it.
next_transit
ChatGPTSearch the sky, past or future, for when a gate is entered or a center defined (Pro). The only tool that answers "when" about gates: get_transits and get_person_transits read one moment and cannot see past it, so the Rave New Year comes from here. Two searches, exactly one per call: - A gate: gate, optionally line and body. Its next entry, a row per body. - A center: person and defines. When a planet next completes one of their hanging gates into it, and which channel. A return — Saturn, Solar, nodal, the Uranus opposition, the Kiron return — is get_cycles, not this. Next, every, and a sweep. Without until a row is that body's FIRST arrival and the walk runs decades. With until it is every arrival inside at most a year — "in 2026", "how often this year". A sweep of past years is the first shape: a call per gate, no body, chained from searched_until. Every date is searched in the ephemeris; none follows from an age, a calendar or an earlier row. An empty answer means nothing arrives before searched_until, not that it never does. A body already in the gate has not arrived in it; what is true now is get_person_transits. Times come back already in timezone, with the zone named.
read_skill
ChatGPTOne of this app's written guides to a Human Design topic, by name. The guides on this server, and the questions each covers: - about-gethumandesign: The product, the company and the FAQ. Load when asked about price, free limits, refunds, cancelling, referrals, installing on a phone, chart accuracy, who to email, or our languages. - app-links: Links into the web app, the tool that does each job here, and what only the app does. Load when asked where or how to do something. - cycles: Returns and life stages with get_cycles — Saturn, Uranus opposition, Kiron, nodal, Solar — and reading a cycle chart. - global-cycle-2027: 2027 and the global cycles: Planning giving way to the Sleeping Phoenix, what it means for a chart, Raves. - lilith-chiron: Black Moon Lilith and Chiron in a chart (Pro). Load for Lilith, Chiron, the wounded healer or the dark feminine. - privacy-and-terms: The published privacy policy and terms of service, word for word. Load before answering anything about what we collect, who processes it, retention, deletion, AI training, cancellation, refunds or liability. - rave-mandala: Which gate a degree or zodiac position falls in, where gates begin and end, how line, colour, tone and base are cut, the Design date, and why another source shows a different chart. - transits: Reading the sky, now or in any past year: get_transits and its family. Load for a planet in a gate, who it affects most, a gate's next entry, the Rave New Year.
save_group
ChatGPTCreate or update a group in one call (Pro feature). Declarative upsert: an existing group's members are replaced by member_names; otherwise the group is created with them. Every member needs an EXACT birth time. A Penta is built from all the members' gates at once, so one guessed hour changes which channels the group is said to have — a member whose time is 'roughly' or 'unknown' is refused, by name. set_birth_time records an exact time; the other way through is a group without that person.
save_person
ChatGPTSave a new person's birth data so their chart can be fetched later with get_person_design. is_me is required on every call and has no default — true for the account holder, false for anyone else. With is_me=true this becomes the account holder's own chart and the call answers with it — one call sets the account up and tells you their design; it also clears the flag on any previous 'me'. For the user themselves it is the tool to use rather than calculate_chart, which remembers nothing. birth_time_confidence records how sure the user is of the time; an unknown time is still saved, as 'unknown'. Create-only: an existing name fails and reports what is stored. Correcting someone already saved is update_person (or set_birth_time for their birth time alone), not a second save.
send_feedback
ChatGPTSend product feedback about the gethumandesign product to its team. In the user's words, lightly cleaned up. Send directly when they asked you to pass it on; when you are the one offering, show the message first and send after they confirm. The team reads everything and replies to the account email when needed; the user gets a copy by email. Does not consume the request quota.
set_birth_time
ChatGPTCorrect a saved person's birth time, and how sure the user is of it. How a placeholder or half-remembered time becomes a real one without the user leaving the conversation. Only the time and its confidence change; date, place, name and the 'me' marker stay as saved. It records a time and confidence the user gave; trying a time out without saving it is compare_birth_times. Answers with the payoff: an 'exact' time returns the refreshed chart, an approximate one returns the birth-day sweep re-scored against the new time. Either way the result carries a birth_time_change block naming what moved and what held.
update_person
ChatGPTCorrect a person already saved: their name, birth data, or which of them is the account holder. For when the user says a saved record is wrong — "that is not my chart", "that was my child's", a corrected birth date, or the name they want to be called. Addressed by person_id ('me', or an id from list_people), not by name: the row that is wrong nearly always carries the user's own name, and a rename changes what a name points at. Only the fields passed change. Everything else stays exactly as saved, and the result names what moved and what held. is_me=true makes this person the account holder and clears the marker wherever it was, which is the fix when the account holds the wrong person entirely. Answers with the payoff when birth data moved: the refreshed chart for an 'exact' time, the birth-day sweep for an approximate one. Birth data includes the confidence — a time that just became 'exact' is a chart that just became readable — so a confidence-only correction comes back with the chart too. A rename alone returns the confirmation and no chart. To change only a birth time, prefer set_birth_time, which reports how much of the chart that time settles.