Write a LinkedIn post that sounds like the person and earns a reason to exist...
Most generated LinkedIn posts fail on the first line and on the reason for posting. This skill starts from something that actually happened, finds the first line that makes the second line necessary, and writes in the poster's own rhythm rather than in platform voice.
This skill needs no account, API key or paid service. It works from the files, exports and answers you give it, in any agent that reads SKILL.md.
Before doing anything else, read whichever of these exist at the project root and use them instead of asking the user to repeat themselves:
VOICE.mdBRAND.mdICP.mdIf none exist, do the work from what the user gives you, then offer to write the missing file so the next skill in the pack starts warmer.
This skill needs no live data tool. It works from the files, exports and answers you give it, so it runs the same in any agent with no setup.
scripts/check-output.py before you return it.Stop and ask before publishing a post. Show exactly what will be sent or written, to whom or to which records, and how many. Proceed only on an explicit yes from the user in this conversation. A yes for one batch does not cover the next one.
The post, a one line note on what the first line is doing, and the two or three alternative first lines that were considered.
Save the output to a file and run python3 scripts/check-output.py <file>. The
contract it checks is scripts/output-contract.json.
COMPLETE: return the output.INCOMPLETE: do not present the output as finished. Fill what you can, run
the check again, and if parts stay missing, return the output under the heading
Incomplete with every reason the check printed.linkedin-comment-strategyoutbound-copy-humanizerlinkedin-profile-optimizerShips in the linkedin-authority pack.