LinkedIn Content System
Use this skill to create credible LinkedIn content from supplied facts, notes, drafts, articles, or source material.
Core rules
- No invented evidence. Do not invent metrics, client names, event details, quotes, claims, or results.
- No fake authority. Do not imply the author has done, seen, led, or researched something unless supplied evidence supports it.
- Keep the voice human. Avoid generic inspirational language, over-polished corporate phrasing, and forced hooks.
- Fit the format. Match the output to the requested LinkedIn surface: short post, promotional post, event post, newsletter intro, article intro, carousel copy, or long-form article.
- Avoid unnecessary links or citations in the post body unless the user asks for them. Keep LinkedIn copy clean and paste-ready.
Inputs to look for
- Source article, draft, notes, or bullet points.
- Audience and desired action.
- Author voice guidance.
- Desired length.
- Specific announcement, event, launch, model, or point of view.
- Whether links, hashtags, mentions, or calls to action should be included.
Workflow
- Read the supplied source material.
- Extract the central point, proof points, and intended reader response.
- Choose the appropriate LinkedIn format.
- Draft in a natural style with clear paragraphs.
- Keep the post grounded in supplied content.
- Provide variants if requested.
Output formats
Short post
[Post copy]
Promo post
[Post copy]
[Optional CTA]
Newsletter or article intro
# [Title]
[Intro copy]
Multi-variant output
## Recommended version
[Post]
## Alternative angle
[Post]
## Shorter version
[Post]
Style guidance
- Prefer concrete observations over broad claims.
- Use short paragraphs but avoid a stack of one-line fragments unless the user requests that style.
- Avoid manipulative hooks such as "Stop doing X" unless it genuinely fits the user's tone.
- Make the first line specific enough to be worth reading.
- End with a useful reflection, question, or action rather than a generic CTA.
References
This skill includes supporting reference material. Read the relevant reference file when the task needs additional structure, rubric detail, examples, or checklist support.
references/linkedin-format-guide.md - use this when additional structure, examples, or checks are useful for the task.
Quality checklist
Before responding, check:
- The content is grounded in supplied facts.
- It reads like a credible human post.
- It fits the requested LinkedIn surface.
- It avoids unnecessary links, references, and invented proof.
- The user can paste it directly into LinkedIn.
Run this — do not improvise
This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as linkedin_content_system_agent.py and embedded as the fenced Python below (sha256 ae1ea403f54f2ecd…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to linkedin_content_system_agent.py first:
python3 linkedin_content_system_agent.py '{"key": "value"}' # arguments as one JSON object
echo '{"key": "value"}' | python3 linkedin_content_system_agent.py # or on stdin
python3 linkedin_content_system_agent.py --tool # emit the JSON tool contract
Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns steps, execute those steps in order exactly as returned; if it returns instructions, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent.
"""LinkedinContentSystem -- Use this skill when the user asks to create LinkedIn posts, promotional posts, thought-leadership posts, newsletter introductions, article intros, or long-form LinkedIn content from source notes, facts, or drafts.
Generated by the rapp skill from linkedin-content-system. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""
import json
import re
import sys
try:
from agents.basic_agent import BasicAgent
except ImportError: # running OUTSIDE a brainstem -- stay executable anyway.
class BasicAgent: # noqa: D101 - minimal stand-in, same contract
def __init__(self, name=None, metadata=None):
if name:
self.name = name
if metadata:
self.metadata = metadata
def perform(self, **kwargs):
return "Not implemented."
def system_context(self):
return None
def to_tool(self):
return {"type": "function", "function": {
"name": self.name,
"description": self.metadata.get("description", ""),
"parameters": self.metadata.get("parameters", {})}}
# The procedural layer, verbatim from the source capability.
INSTRUCTIONS = '# LinkedIn Content System\n\nUse this skill to create credible LinkedIn content from supplied facts, notes, drafts, articles, or source material.\n\n## Core rules\n\n1. **No invented evidence.** Do not invent metrics, client names, event details, quotes, claims, or results.\n2. **No fake authority.** Do not imply the author has done, seen, led, or researched something unless supplied evidence supports it.\n3. **Keep the voice human.** Avoid generic inspirational language, over-polished corporate phrasing, and forced hooks.\n4. **Fit the format.** Match the output to the requested LinkedIn surface: short post, promotional post, event post, newsletter intro, article intro, carousel copy, or long-form article.\n5. **Avoid unnecessary links or citations in the post body unless the user asks for them.** Keep LinkedIn copy clean and paste-ready.\n\n## Inputs to look for\n\n- Source article, draft, notes, or bullet points.\n- Audience and desired action.\n- Author voice guidance.\n- Desired length.\n- Specific announcement, event, launch, model, or point of view.\n- Whether links, hashtags, mentions, or calls to action should be included.\n\n## Workflow\n\n1. Read the supplied source material.\n2. Extract the central point, proof points, and intended reader response.\n3. Choose the appropriate LinkedIn format.\n4. Draft in a natural style with clear paragraphs.\n5. Keep the post grounded in supplied content.\n6. Provide variants if requested.\n\n## Output formats\n\n### Short post\n\n```markdown\n[Post copy]\n```\n\n### Promo post\n\n```markdown\n[Post copy]\n\n[Optional CTA]\n```\n\n### Newsletter or article intro\n\n```markdown\n# [Title]\n\n[Intro copy]\n```\n\n### Multi-variant output\n\n```markdown\n## Recommended version\n\n[Post]\n\n## Alternative angle\n\n[Post]\n\n## Shorter version\n\n[Post]\n```\n\n## Style guidance\n\n- Prefer concrete observations over broad claims.\n- Use short paragraphs but avoid a stack of one-line fragments unless the user requests that style.\n- Avoid manipulative hooks such as "Stop doing X" unless it genuinely fits the user's tone.\n- Make the first line specific enough to be worth reading.\n- End with a useful reflection, question, or action rather than a generic CTA.\n\n\n## References\n\nThis skill includes supporting reference material. Read the relevant reference file when the task needs additional structure, rubric detail, examples, or checklist support.\n\n- `references/linkedin-format-guide.md` - use this when additional structure, examples, or checks are useful for the task.\n\n## Quality checklist\n\nBefore responding, check:\n\n- The content is grounded in supplied facts.\n- It reads like a credible human post.\n- It fits the requested LinkedIn surface.\n- It avoids unnecessary links, references, and invented proof.\n- The user can paste it directly into LinkedIn.'
# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []
class LinkedinContentSystemAgent(BasicAgent):
def __init__(self):
self.name = 'LinkedinContentSystem'
self.metadata = {
"name": "LinkedinContentSystem",
"description": "Use this skill when the user asks to create LinkedIn posts, promotional posts, thought-leadership posts, newsletter introductions, article intros, or long-form LinkedIn content from source notes, facts, or drafts.",
"parameters": {
"type": "object",
"properties": {},
"required": []
}
}
super().__init__(name=self.name, metadata=self.metadata)
def perform(self, **kwargs): # toaster:generated-perform
return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,
"inputs": kwargs,
"note": "Prose-only capability: follow INSTRUCTIONS "
"with the given inputs."}, indent=2)
if __name__ == "__main__":
# echo '{"arg": "value"}' | python3 linkedin_content_system_agent.py
# python3 linkedin_content_system_agent.py '{"arg": "value"}'
# python3 linkedin_content_system_agent.py --tool # emit the JSON tool contract
_a = sys.argv[1:]
if _a and _a[0] == "--tool":
print(json.dumps(LinkedinContentSystemAgent().to_tool(), indent=2))
else:
_raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
print(LinkedinContentSystemAgent().perform(**json.loads(_raw)))
# rci-capsule:v1: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
1---2name: linkedin-content-system3description: Use this skill when the user asks to create LinkedIn posts, promotional posts, thought-leadership posts, newsletter introductions, article intros, or long-form LinkedIn content from source notes, facts, or drafts.4---56# LinkedIn Content System78Use this skill to create credible LinkedIn content from supplied facts, notes, drafts, articles, or source material.910## Core rules11121. **No invented evidence.** Do not invent metrics, client names, event details, quotes, claims, or results.132. **No fake authority.** Do not imply the author has done, seen, led, or researched something unless supplied evidence supports it.143. **Keep the voice human.** Avoid generic inspirational language, over-polished corporate phrasing, and forced hooks.154. **Fit the format.** Match the output to the requested LinkedIn surface: short post, promotional post, event post, newsletter intro, article intro, carousel copy, or long-form article.165. **Avoid unnecessary links or citations in the post body unless the user asks for them.** Keep LinkedIn copy clean and paste-ready.1718## Inputs to look for1920- Source article, draft, notes, or bullet points.21- Audience and desired action.22- Author voice guidance.23- Desired length.24- Specific announcement, event, launch, model, or point of view.25- Whether links, hashtags, mentions, or calls to action should be included.2627## Workflow28291. Read the supplied source material.302. Extract the central point, proof points, and intended reader response.313. Choose the appropriate LinkedIn format.324. Draft in a natural style with clear paragraphs.335. Keep the post grounded in supplied content.346. Provide variants if requested.3536## Output formats3738### Short post3940```markdown41[Post copy]42```4344### Promo post4546```markdown47[Post copy]4849[Optional CTA]50```5152### Newsletter or article intro5354```markdown55# [Title]5657[Intro copy]58```5960### Multi-variant output6162```markdown63## Recommended version6465[Post]6667## Alternative angle6869[Post]7071## Shorter version7273[Post]74```7576## Style guidance7778- Prefer concrete observations over broad claims.79- Use short paragraphs but avoid a stack of one-line fragments unless the user requests that style.80- Avoid manipulative hooks such as "Stop doing X" unless it genuinely fits the user's tone.81- Make the first line specific enough to be worth reading.82- End with a useful reflection, question, or action rather than a generic CTA.838485## References8687This skill includes supporting reference material. Read the relevant reference file when the task needs additional structure, rubric detail, examples, or checklist support.8889- `references/linkedin-format-guide.md` - use this when additional structure, examples, or checks are useful for the task.9091## Quality checklist9293Before responding, check:9495- The content is grounded in supplied facts.96- It reads like a credible human post.97- It fits the requested LinkedIn surface.98- It avoids unnecessary links, references, and invented proof.99- The user can paste it directly into LinkedIn.100101<!-- toaster:generated:begin -->102103## Run this — do not improvise104105This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as `linkedin_content_system_agent.py` and embedded as the fenced Python below (sha256 ae1ea403f54f2ecd…; a byte-exact copy is also vaulted in the capsule comment at the end of this file). On a host with sandbox execution, run the linked file directly — if it is missing, write the fence contents verbatim to `linkedin_content_system_agent.py` first:106107```bash108python3 linkedin_content_system_agent.py '{"key": "value"}' # arguments as one JSON object109echo '{"key": "value"}' | python3 linkedin_content_system_agent.py # or on stdin110python3 linkedin_content_system_agent.py --tool # emit the JSON tool contract111```112113Treat stdout as a tool result. If it reports missing or unresolved inputs, stop and collect them. If it returns `steps`, execute those steps in order exactly as returned; if it returns `instructions`, follow them with the supplied inputs. Otherwise use the result verbatim. Do not invent behavior beyond that output. On a host without code execution, treat the Parameters schema and the code below as the exact specification and never paraphrase a step. Never edit inside the generated markers; a converter-equipped host can instead restore the original file checksum-verified with the installed `rapp-agent-converter/scripts/toast.py convert SKILL.md --to agent`.114115````python # rapp:deterministic116"""LinkedinContentSystem -- Use this skill when the user asks to create LinkedIn posts, promotional posts, thought-leadership posts, newsletter introductions, article intros, or long-form LinkedIn content from source notes, facts, or drafts.117118Generated by the rapp skill from linkedin-content-system. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""119120import json121import re122import sys123124try:125 from agents.basic_agent import BasicAgent126except ImportError: # running OUTSIDE a brainstem -- stay executable anyway.127 class BasicAgent: # noqa: D101 - minimal stand-in, same contract128 def __init__(self, name=None, metadata=None):129 if name:130 self.name = name131 if metadata:132 self.metadata = metadata133134 def perform(self, **kwargs):135 return "Not implemented."136137 def system_context(self):138 return None139140 def to_tool(self):141 return {"type": "function", "function": {142 "name": self.name,143 "description": self.metadata.get("description", ""),144 "parameters": self.metadata.get("parameters", {})}}145146# The procedural layer, verbatim from the source capability.147INSTRUCTIONS = '# LinkedIn Content System\n\nUse this skill to create credible LinkedIn content from supplied facts, notes, drafts, articles, or source material.\n\n## Core rules\n\n1. **No invented evidence.** Do not invent metrics, client names, event details, quotes, claims, or results.\n2. **No fake authority.** Do not imply the author has done, seen, led, or researched something unless supplied evidence supports it.\n3. **Keep the voice human.** Avoid generic inspirational language, over-polished corporate phrasing, and forced hooks.\n4. **Fit the format.** Match the output to the requested LinkedIn surface: short post, promotional post, event post, newsletter intro, article intro, carousel copy, or long-form article.\n5. **Avoid unnecessary links or citations in the post body unless the user asks for them.** Keep LinkedIn copy clean and paste-ready.\n\n## Inputs to look for\n\n- Source article, draft, notes, or bullet points.\n- Audience and desired action.\n- Author voice guidance.\n- Desired length.\n- Specific announcement, event, launch, model, or point of view.\n- Whether links, hashtags, mentions, or calls to action should be included.\n\n## Workflow\n\n1. Read the supplied source material.\n2. Extract the central point, proof points, and intended reader response.\n3. Choose the appropriate LinkedIn format.\n4. Draft in a natural style with clear paragraphs.\n5. Keep the post grounded in supplied content.\n6. Provide variants if requested.\n\n## Output formats\n\n### Short post\n\n```markdown\n[Post copy]\n```\n\n### Promo post\n\n```markdown\n[Post copy]\n\n[Optional CTA]\n```\n\n### Newsletter or article intro\n\n```markdown\n# [Title]\n\n[Intro copy]\n```\n\n### Multi-variant output\n\n```markdown\n## Recommended version\n\n[Post]\n\n## Alternative angle\n\n[Post]\n\n## Shorter version\n\n[Post]\n```\n\n## Style guidance\n\n- Prefer concrete observations over broad claims.\n- Use short paragraphs but avoid a stack of one-line fragments unless the user requests that style.\n- Avoid manipulative hooks such as "Stop doing X" unless it genuinely fits the user's tone.\n- Make the first line specific enough to be worth reading.\n- End with a useful reflection, question, or action rather than a generic CTA.\n\n\n## References\n\nThis skill includes supporting reference material. Read the relevant reference file when the task needs additional structure, rubric detail, examples, or checklist support.\n\n- `references/linkedin-format-guide.md` - use this when additional structure, examples, or checks are useful for the task.\n\n## Quality checklist\n\nBefore responding, check:\n\n- The content is grounded in supplied facts.\n- It reads like a credible human post.\n- It fits the requested LinkedIn surface.\n- It avoids unnecessary links, references, and invented proof.\n- The user can paste it directly into LinkedIn.'148149# Ordered commands lifted verbatim from the capability's own documentation.150STEPS = []151152153class LinkedinContentSystemAgent(BasicAgent):154 def __init__(self):155 self.name = 'LinkedinContentSystem'156 self.metadata = {157 "name": "LinkedinContentSystem",158 "description": "Use this skill when the user asks to create LinkedIn posts, promotional posts, thought-leadership posts, newsletter introductions, article intros, or long-form LinkedIn content from source notes, facts, or drafts.",159 "parameters": {160 "type": "object",161 "properties": {},162 "required": []163 }164 }165 super().__init__(name=self.name, metadata=self.metadata)166167 def perform(self, **kwargs): # toaster:generated-perform168 return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,169 "inputs": kwargs,170 "note": "Prose-only capability: follow INSTRUCTIONS "171 "with the given inputs."}, indent=2)172173if __name__ == "__main__":174 # echo '{"arg": "value"}' | python3 linkedin_content_system_agent.py175 # python3 linkedin_content_system_agent.py '{"arg": "value"}'176 # python3 linkedin_content_system_agent.py --tool # emit the JSON tool contract177 _a = sys.argv[1:]178 if _a and _a[0] == "--tool":179 print(json.dumps(LinkedinContentSystemAgent().to_tool(), indent=2))180 else:181 _raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")182 print(LinkedinContentSystemAgent().perform(**json.loads(_raw)))183184# rci-capsule:v1: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185````186187<!-- toaster:generated:end -->188189<!-- rci-capsule:v1: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 -->