The bad luck was structural. I was born in China, into a schooling system built on the hour spent sitting and listening, and from first grade all the way through my recent years pursuing an undergraduate degree in law, I have found myself in just such an place. I never liked being taught. From early on I read on my own instead, and that is where most of my hours went — philosophy, history, literature, physics. None of it was picked for what it would be worth later. It has turned out to be worth something, and that is luck rather than foresight; I would rather say so than assemble a story about having seen this coming.
The distinction I use for what I ended up with is this. Hardware knowledge is the study of the unyielding boundary conditions of the physical world. It is knowledge of what resists us: the limits of a lens, the friction of a tire, the breaking point of a material, the constraints of a body. Software knowledge is the study of rules, sequences, and settled practice — what gets constructed out of instruction, logic, and human agreement: the syntax of a coding language, the strategy of a trial, the architecture of a commercial contract. The software faculty teaches the patterns we lay over the world; the hardware faculty teaches the world that pushes back. The line is not clean, and it is worth saying where it breaks. A form of life is built out of nothing but agreement and is still not something anyone can decide to change on a Tuesday; by the time a practice is old enough to be worth studying, it pushes back like a material.
Almost everything I have spent time on is software knowledge, and this is the period in which software knowledge is what software gets built out of. Physics is the exception on that list, and I keep at it for exactly that reason: it is the one thing I read that does not care whether the argument is elegant. A person made almost entirely of software knowledge has one characteristic way of going wrong, and it is mine: nothing in the material stops me.
I read something, take it apart until the load-bearing pieces are visible, and rebuild those pieces as a module an agent can load and reason from. A philosopher's collected work. A line of case law. A shelf of decision theory. What comes out is not a summary. A summary is the part of a book that has stopped doing any work. The test I use is whether a sentence still does work. That sounds like a low standard. It is not — most sentences fail it. A sentence keeps a grave face long after it has stopped lifting anything, and at that point it is not a claim any more, it is a piece of ideology. So a module has to be executable: loaded, run, tested, and able to report that it has failed. If I cannot say what would count as this module getting something wrong, I have not built a module. I have written an essay with a filename.
The easiest thing available to me is the excitement of a vocabulary I have not held before. Set the reality I know against an ideal I have only read about and I feel sharper immediately — at no cost, on no ground. I have done this. What it leaves once the novelty wears off is boredom and a directory of files that impressed me on the day I wrote them. So the rule I hold myself to is a narrow one: no word goes into a skill unless I can say what it does. Where I have broken it the file is worse, and I can usually tell, because the tests are thin.
I build these one at a time, and no two of them share a core. What a philosopher refuses to do is not the same kind of thing as what a tribunal will not accept as evidence. I could write something general enough to cover both, but whatever survived the generalization would be too thin to lift anything — a diagram of reasoning rather than a way of reasoning about something. So the work stays divided, and it divides further the closer I look. Demand behaves like this too: a person eats what a person eats, but there are ten thousand cherry pies, each one there because somebody wanted a slightly different thing from a pie. A single general engine for judgment would not be a more ambitious version of this. It would be a decision not to look at how fine the divisions are.
The habit comes from law. A statute is a specification — it has to survive being read by someone who was not in the room when it was drafted, sometimes by someone with an interest in reading it badly. But the part worth borrowing is not the drafting technique. It is where the technique came from. Nobody designed it. It settled out of centuries of argument in manor courts and parish vestries, one dispute at a time, and the order came first: the wealth came afterwards and because of it, not the other way round. None of the people in those rooms was holding the theory. Each of them was holding a case.
Nothing is safer than an old trade, and the safety is exhaustion. A mason pouring a footing follows a code that is the sediment of every wall that fell and the argument after, each party having pushed till none could push further. An equilibrium is not wisdom but the residue of contests already fought — which is why its returns are thin. A new technology is a new frontier precisely because that fighting hasn't happened. Used boldly it pays enormously and breaks enormously, with no settled third way yet argued into being. AI is such a frontier, and the fighting has barely started. It will harden. Enough disputes settled the same way, and a practice becomes enforceable against strangers. The first draft is always written by a small group with no authority to write anything.
A grass strip, no tower, no radio, several aircraft coming in at once: the pilots, who will meet over that field next week, settle that everyone circles left before landing — and the regulation written years later finds nothing left to invent. The tool travels the same way, and further than the rule does. What that small circle settled gets folded into the thing itself — which operation is one button and which takes three, what the default already is when you open it, what the format simply will not let you say. Everyone after them handles the tool without ever meeting the choice, because by then it is not a choice; it is the shape of the object in their hands. They obey no rule. They meet a resistance and call it the way things are. Today the room holds builders who read widely enough to judge what they make, settling among themselves what counts as finished, which shortcut nobody takes, whose work gets named when borrowed. Nobody appointed them; they have to keep working alongside one another. Their habits are the blueprint a statute is cut from. None of them was drafting a rule of the air. Each of them wanted to land.
The world is locked tighter than it looks. Concrete survival constraints and the path already taken hold most of it in place, and the room that is left is not distributed evenly — it sits at nodes. At a node the choice matters more than any account of what the choice means, because one wrong turn commits me to a long series of turns I will not get to reconsider. Sensitivity to initial conditions is amplified, not damped. Past the node the path is locked, and the path decides the outcome.
Telling true from false is not a capacity I can acquire by having a model. It gets paid for the way anything gets paid for: specific effort, on specific material, with the ache that goes along with it. What is scarce is not knowing a great many things. It is picking out, from an unlimited supply of material, the few threads that carry weight. Everything here is built for that and for nothing beyond it — to make the structure of a judgment visible enough to argue with, including the place where it runs out.
Reasoning engines. These are for a decision you actually have to make and cannot reason all the way through in your head: an offer to take or refuse now, several jobs that are better in incompatible ways, a policy you have to hold while the situation moves under it. You can see the whole of such a decision and still not see what follows from it. That last stretch — where being roughly right is the same as being wrong — is what an engine does for you.
dominant-circuit is the instrument for those three: when to stop looking and take what is in front of you, how to choose when what you want cannot be put in one unit, what to do when this move changes which moves are left. Optimal stopping, multi-attribute utility, Markov decision processes — with a strict test suite and continuous integration behind them, because an instrument you cannot check is an opinion with a number on it.
The reasoning it does is only that last stretch, and it will not start early. A formula is easy to apply to a situation that cannot carry it, and a regulator governs a system only so far as it carries a model of that system inside it — arithmetic on an unnamed situation is not steering, it is keeping time with the noise. So the computing half of the repository is fronted by a prose half, and three questions come first.
Is this a system at all: where the boundary falls, which quantities are stocks that accumulate and which are flows, which loops hold a variable at rest and which compound it away, where a delay is doing work blamed on a lever. Nothing accumulating anywhere: not a system. Then, which variables reach the outcome, and which only seem to because something upstream moves both — a model that cannot say what would show it wrong is a preference wearing a diagram. Then the layer nobody may skip: a want reported in the moment has not, by being reported, earned the wheel.
Only then does a number get to answer, and it answers to the judgment that let it in. Otherwise it raises NoOptimalStoppingRuleExists by name — refusal in the open hands the decision back to whoever has to live inside it.
Meta-tools. These are the tools that build the other tools. Feed in one person's writing, or a whole shelf of books; get back a working instrument.
persona-distiller turns one person's published record into a perspective an agent can think from. It picks out what makes that mind's way of working recognizably its own, checks the result against writing the build never saw, and throws out anything general enough to belong to nobody in particular. The length of each reference module is computed from what survived curation, which makes it a fidelity rule before it is a size rule. The inputs are the things that make a mind recognizable — the apparatus it thinks with, the moves it makes, the evidence of it holding a position at a cost — and not the size of the source, because volume is what a writer produces most easily and distinctness is what they produce rarely; a rule keyed to bulk would pay for productivity and call it fidelity. The form then follows from how those inputs behave rather than from convenience. Each of them saturates: a second refusal teaches most of what the first one left out and a seventh teaches almost nothing, so each term is capped instead of being allowed to accumulate, which is what stops a repetitive cluster from buying space. Corpus mass still counts for something and never in proportion, so it enters under a square root — damped to a correction, never a driver. And what the material can support is a different question from what the format can afford, so the two are never mixed into one term: the inputs estimate supply, then a floor and a ceiling are applied to that estimate, the floor marking where a module can no longer carry a whole structure and the ceiling where nobody will load it. At those two edges the number stops being a size and becomes a verdict — fold this cluster into its neighbor, or go back and cut it again — which is the only honest thing a size rule can say when the material is not there.
Books-to-Skill-Refs does the same for a whole shelf at once. One constraint does most of the design work: a central router decides which book has any business speaking to the question in front of it, and the individual book summaries cost nothing until the router picks one. Ten books take up no more room in context than one. Each book's reference file is sized on the same principle under a harder constraint: it loads whole, so what it weighs is what every consultation of that book costs. The parameter is the book's own table of contents, fixed before any of the file exists, and that choice is the load-bearing one — the count of blocks I decide to write is the quantity the rule exists to constrain, and a quantity being constrained cannot also be the input that sets the constraint, or the ruler is being cut to fit what it measures. The curve is concave for a reason in the material: a thick book gets merged and compressed rather than written out chapter by chapter, so the cost of each additional chapter falls, and a linear rate would hand the largest allowance to exactly the books most at risk of bloat. The rest of the model is deliberately thin — one section of a reference file carries nearly all the variation and the others measured near-constant, so the formula is a constant plus a single term, on the principle that a parameter with nothing varying underneath it is a knob that can only be turned wrong. The ceiling is not part of that estimate but a separate fact about loading, which is why a book over it is brought back down by choosing what to keep and never by cutting the file off. What gets checked at the end is density and not length — content per framework retained — and the calibration behind the constants is stated for what it is, a single library, with the structure settled and the numbers provisional.
repo-to-project-instructions turns a repository into instructions you can paste into a host that can't clone it or run it —a Project — so that host gets the routing it could never work out from a link alone.
Geniuses that relocate the difficulty. "Genius" here in its older sense: the guiding spirit of a particular mind — how that person proceeded, and what it cost them to keep standing there. Each of these is built so an agent gets questioned by that mind rather than made to imitate it.
These are geniuses of judgment and decision, not only of explanation. Each of them, when they took something apart, was on the hook for what would still be standing afterwards. They look for the edges of an order that already exists rather than inventing problems to show how clever they are, and none of them treats the world as a laboratory where concepts can be pulled apart at will — it is nearer to a fragile web that has to be kept in repair. None of them is a general assistant. Choosing which one to bring a problem to is usually the first thing I work out about the problem.
The rule leaves out a kind of mind I also read, and some of that work has shown me things I would not otherwise have seen. What the type has in common is that it criticizes one thing to great depth and never sets it beside the alternatives — and comparison is the part judgment needs, though criticism can do without it. So it opposes what it opposes and goes over to something worse; it earns its living by taking apart and is never exposed to the result. What gets cleared away is the middle of a society — a custom, a trade body, a local way of doing things — and what moves into the emptied space is rarely gentler than what stood there. The people who made a career of the clearing are seldom the ones who survive it.
What comes back is not an answer. It is the difficulty itself, moved — and the move is the direction. The picture that was holding the problem in place gets loosened, and the question comes back in a shape I can act on. Being shown where to stand next is worth more to me than being handed a conclusion. I reach for these when I can't yet tell what I'm stuck on.
later-Wittgensteinian-Thinking-Partner is for the question that feels deep and will not move. An argument where both sides hold the same facts and neither will give an inch. The same word doing different work in two mouths, and neither of us asking where his way of putting it came from or what problem it first answered. A quarrel I want to settle by how things are in themselves, when the only world either of us can set on the table is one already described by somebody — and there is no other kind to appeal to. A rule I can state and still cannot apply to the case in front of me. A certainty I can neither ground nor put down. He will not let me keep the sentence I came in with, and the word that goes first is always the one I was leaning on hardest. Often nothing gets answered: the question stops being a question, and I find I can go on.
kierkegaard-diagnostic-interlocutor is for the trouble that has no problem in it. A correct life that feels wasted. Dread with nothing in particular to be afraid of. Wanting proof before I will commit to anything, and calling the delay rigor. When I bring him the age, the crowd, what everyone is like now, he hands me back to the singular and the complaint has nowhere left to stand. He will not give me a conclusion — appropriating it was the only part that ever mattered — but the trouble stops being weather I am under and becomes something I am doing, and a thing I am doing can be stopped. It is colder than I was hoping for, every time.
These two I reach for first, and I think it is because they work on the question rather than on the case. My own words are usually what is holding a problem shut — too abstract, or arranged so that the question never quite gets asked. Until that is dealt with, whatever the older minds have to say arrives at a question I have not managed to put properly.
The rest hold their ground just as firmly. In order of birth: Plutarch-perspective (c. 46), Tocqueville-investigator (1805), Theodore-Roosevelt-perspective (1858), Schumpeter-perspective (1883), Michael-Polanyi-perspective (1891), Feynman-perspective (1918), Kaplan-perspective (1952), and Liu-Zhongjing-perspective (1974).
Field colleagues and domain advisors. These face a line of work rather than a mind. They check a claim against the standards the field already applies — which makes them worth having only where those standards are specific enough that a claim can actually fail against them.
legal-reasoning-advisor is for the stage where the dispute is still a shapeless pile and everything in the file looks equally important. Forty pages of briefing with no way to tell which paragraph is load-bearing. A sentence that reads as a finding of fact and is doing three jobs at once — a category asserted, a relation assumed, a fact never proved. A case that can be argued either way and no account of why. It sorts an argument into the moves it is actually made of — what happened, what it counts as, what a decided case governs, what the law ought to do — and tests each by its own standard rather than by whether the paragraph reads well; it says which joint the conclusion actually hangs on, rarely the joint the brief spent its length on; and where the categories and the cases have run out it says the question is open and what would have to be argued to close it, rather than manufacturing a rule over the gap. I use it before drafting, not after.
Cognitive-Neuroscience-Expert is for the claim about the brain that I cannot tell is settled or only well repeated. A region named as the seat of a function, when what was measured was the difference between two conditions. Two mechanisms that predict the same activation map or the same ERP component, and a design that was never built to tell them apart. A popular version of a result, and the question of whether anything is under it. It keeps the levels separate the way the field does — neuron, circuit, network, behavior — and says which one the evidence actually touches; it names the experiment where the rival accounts come apart; and where the literature does not reach that far, it says so and says what would have to be read or run to close the gap, rather than handing me something plausible.
The rest each cover one job and keep the same fidelity to how their own field reasons. Listed by what I bring them: TechLaw-colleague reads a product, a data flow, or a contract clause against the rules that actually bind it. financial-planner works through a household balance sheet when a decision is big enough to move it: an allocation, a tax treatment, the timing of a purchase. Color-Matching-Consultant builds a palette and diagnoses a color that's off, whether it's a slide deck, an outfit, a wall, or a canvas. soccer-analyst reads a match, a signing, or a wage bill with the economics attached. English-Chinese-translator translates prose between Chinese and English to a standard a publisher would accept, not just one a reader would put up with. transcript-proofreader makes a recording readable under edited-verbatim rules, without it stopping being what was actually said. us-study-advisor-for-law-students handles the American application and the career it's meant to open. toefl-2026-writing-speaking marks writing and speaking against the 2026 rubric and says where the points are actually going.
Corpora. Organized source material that the skills read from. A perspective skill carries how a mind proceeds; the corpus carries what that mind actually said. Keeping the two in separate repositories is what lets an agent be corrected by the record instead of by its own summary of the record. Each corpus is built to be searched first: where it has text that matches, that text governs and the skill gives way to it.
prc-legal-sources organizes PRC legal materials by legal force — constitution, statutes, administrative regulations, local regulations, rules, judicial interpretations, guiding cases, and court guidance documents, in that order of authority. An automated pipeline converts them from official PDFs into clean Markdown: it pulls the text layer where there is one (handling two-column gazette layouts), runs Chinese OCR where the source is a scan, and has a last-resort fallback for the rest.
Plutarch-Thoughts holds the Plutarch corpus under content/PT/Works/. The original works are public domain, but the modern editions used for the conversion may still be in copyright, so the archive is non-commercial.
LiuZhongjing-Thoughts holds the Liu Zhongjing corpus (姨學思想) under content/LZJT/, split into writings, critiques of historical figures, and lecture transcripts. It pairs with the perspective skill of the same name.
The shape is consistent across repositories, and it is borrowed from how a good statute is organized rather than from how prompts are usually written: a short operative core that is always in force, definitions and schedules kept out of the way until invoked, and an express statement of scope that admits what the instrument does not reach.
- Read for load-bearing parts, not for themes. What the author refuses to do, where the position costs them something, where they vary and on what. Frequency is a weak signal — an author repeats what is easy to say. A refusal that is paid for is a strong one, because it marks a commitment held against pressure.
- Compress to a core that stays loaded.
SKILL.mdcarries the workflow, the moves, and nothing that can wait. Anything needed only sometimes goes toreferences/. If a line does not change what the agent does on the next turn, it does not belong in the core. - Disclose progressively. Reference clusters load only when the current move calls for them, so base context stays flat whether the source is one book or a shelf of ten. The router decides which volume has standing to speak to the difficulty at hand.
- Verify against material the build never saw. Held-out projection tests, citation resolution against the corpus, corpus-drift guards that fail when a reference outruns its source. Where there are numbers, golden oracles under continuous integration.
- Say when the material runs out. Every skill can report that a question falls outside what its sources cover, and in the formal domains it returns a structural halt rather than a plausible guess. This is the part most worth keeping: a boundary stated in the output is what returns the judgment to the person who has to live with it.
Provenance is tracked in NOTICE.md and references/provenance.md in each repository.
Everything original is MIT-licensed; the license does not extend to the underlying source
works, which remain with their copyright holders, and no repository reproduces them beyond
short anchors kept for auditing.
Any host that reads a skills directory:
git clone https://github.com/ariel-lee-1023/<repository>.git \
~/.claude/skills/<repository>The skill is discovered from its frontmatter name and description; nothing else is
required. For Claude.ai or the API, zip the directory (or package it as a .skill file),
keeping the structure intact so the references/ paths still resolve.
Issues and pull requests are welcome. The most useful ones are worked examples that expose a failure the taxonomy does not yet catch, and corrections where a reference file overstates a contested proposition.
Not legal advice. These are reasoning aids: they are built to make the structure of a problem visible, including where it runs out — not to tell you the answer.