A twelfth skill, and the first one that works for someone who has never posted.
Every writing skill in this bundle demands specifics: an odd-precision number with a named referent, a dated moment, a position somebody would argue with. When the input has none, the humanizer's own rule is to ask the user rather than invent. That ask was happening on every single request, unstructured, and the answers died with the session. Tell it about the $4,730 Vercel overage once and it is gone tomorrow.
How this was found
Not from a report. From reading what people do in forks.
A user midway through a career change had no LinkedIn archive to analyse, so he built a GitHub Actions workflow that drafts a post every two days, and pasted thirty lines of career history into the YAML to feed it: employers, dates, 400+ clients, 98% CSAT, seven housing projects at 750+ flats each.
That is exactly the material a good post is made of, and the Voice Profile could not hold a line of it. Its section for who you are is three bullets: role, ICP, pillars. He had the substance and nowhere to put it, so he put it in a workflow file.
The Story Bank
references/story-bank.md is that place. Nine sections, each chosen because a draft reaches for it:
| Section | What a draft does with it |
|---|---|
| Timeline | anchors a post on a real month rather than "recently" |
| Receipts | the one concrete figure that makes a post read as human |
| Shipped | proof that survives someone checking |
| Turning points | the reversal most strong posts open on |
| Scars | what a win cannot supply: cost |
| Positions | the claim, and who disagrees |
| Recurring stories | the three you already tell, pre-tested out loud |
| Names you can use | stops a draft going vague, or naming the wrong client |
| Off limits | subjects that stay out regardless of how well they would perform |
It defaults to gitignored. It holds career detail, figures, failures and named people, and a tracked file follows any push, including to a public fork. v1.0.47 fixed the same blind spot in the Voice Profile.
The interviewer
linkedin-interviewer fills it, in two modes. Bank mode runs a broad interview, 20 to 40 minutes, resumable, and keeps the result. Post mode runs five to eight questions on one topic and hands a spine to the post writer.
The technique is the point, not the section list:
- Press every soft answer once. "We improved performance" becomes "by how much, measured how, over what period". Once. Twice is an interrogation.
- Chase the reversal, not the win. What did you believe a year ago that you no longer believe, and what did it cost to find out. Those sections carry posts better and are the hardest to fabricate.
- Make them price the position. A claim with no cost to holding it is not a position and will not produce a post worth reading.
- Never fill a gap with a plausible number. An unverified figure in the bank becomes an unverified figure in a published post. The line stays empty and the section is marked thin.
- Do not run it as a form. If they are talking, follow them. The material is in the tangent more often than in the answer.
references/question-bank.md carries the questions that reliably produce usable material and, just as usefully, the ones that feel productive and yield adjectives. "Tell me about yourself" returns a CV read aloud. "What did you spend most of last week actually doing?" returns a post.
Two halves of one user model
| Voice Profile | Story Bank | |
|---|---|---|
| Holds | how you sound | what you have to say |
| Built from | 3-6 posts you already wrote | an interview |
| Built by | linkedin-humanizer --mode profile |
linkedin-interviewer |
Run both. Someone new to LinkedIn cannot fill the first and can always fill the second, which is the usual reason a first draft comes out generic.
The four writing skills that already load the Voice Profile now load the bank beside it and take concrete details from there rather than interrupting a draft to ask. The humanizer deliberately does not: it rewrites existing text rather than sourcing new facts.
Note on the version
Minor rather than patch, and the bundle is now 12 skills. The count is asserted in CI against the plugin manifest, so a thirteenth cannot arrive quietly.