Conference Session Abstract Pack
Use this skill to turn a topic, idea, draft, or talk outline into a submission-ready conference session pack.
Evidence and positioning rules
- Do not invent speaker credentials, awards, employers, clients, or events.
- Use only the speaker bio information provided by the user or available in connected sources.
- Tailor the submission to the named event, audience, track, format, and session length when supplied.
- If the event constraints are unknown, produce a flexible draft and list assumptions.
Inputs to look for
- Topic or rough idea.
- Target event or community.
- Audience level: beginner, intermediate, advanced, executive, maker, developer, architect, practitioner.
- Format: session, workshop, lightning talk, panel, keynote, theatre session.
- Desired tone: practical, provocative, technical, strategic, hands-on, story-led.
- Speaker bio or credentials.
- Character or word limits.
Workflow
- Identify the central promise of the session.
- Define the audience and why they should attend.
- Create several title options with different emphasis.
- Draft the main abstract in a clear, credible style.
- Produce learning objectives or takeaways.
- Add a short audience-fit note and optional speaker notes.
- If constraints are missing, include a compact assumptions section.
Output format
# Conference session abstract pack
## Recommended title
[Title]
## Alternative titles
1. [Alternative]
2. [Alternative]
3. [Alternative]
## Abstract
[Submission-ready abstract]
## Audience
[Who this is for]
## Key takeaways
- [Takeaway]
- [Takeaway]
- [Takeaway]
## Why this session matters now
[Short positioning paragraph]
## Speaker bio
[Bio if source material is available, otherwise: "Speaker bio not supplied."]
## Optional short version
[Short abstract for tighter submission forms]
## Assumptions or gaps
- [Only include if needed]
Writing guidance
- Make the title specific, not generic.
- Show what the audience will be able to do or understand afterwards.
- Avoid hype and empty trend language.
- Use confident but evidence-led phrasing.
- Keep the abstract readable aloud.
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/cfp-quality-checklist.md - use this when additional structure, examples, or checks are useful for the task.
Quality checklist
Before responding, check:
- The title is memorable and relevant.
- The abstract has a clear promise.
- The takeaways are practical and distinct.
- No credentials or event details have been invented.
- The pack can be pasted into a CFP form with minimal editing.
Run this — do not improvise
This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as conference_session_abstract_pack_agent.py and embedded as the fenced Python below (sha256 d50c89a4de410910…; 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 conference_session_abstract_pack_agent.py first:
python3 conference_session_abstract_pack_agent.py '{"key": "value"}' # arguments as one JSON object
echo '{"key": "value"}' | python3 conference_session_abstract_pack_agent.py # or on stdin
python3 conference_session_abstract_pack_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.
"""ConferenceSessionAbstractPack -- Use this skill when the user asks to create a conference session proposal, talk abstract, CFP submission, session title, description, learning objectives, takeaways, or speaker bio.
Generated by the rapp skill from conference-session-abstract-pack. 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 = '# Conference Session Abstract Pack\n\nUse this skill to turn a topic, idea, draft, or talk outline into a submission-ready conference session pack.\n\n## Evidence and positioning rules\n\n- Do not invent speaker credentials, awards, employers, clients, or events.\n- Use only the speaker bio information provided by the user or available in connected sources.\n- Tailor the submission to the named event, audience, track, format, and session length when supplied.\n- If the event constraints are unknown, produce a flexible draft and list assumptions.\n\n## Inputs to look for\n\n- Topic or rough idea.\n- Target event or community.\n- Audience level: beginner, intermediate, advanced, executive, maker, developer, architect, practitioner.\n- Format: session, workshop, lightning talk, panel, keynote, theatre session.\n- Desired tone: practical, provocative, technical, strategic, hands-on, story-led.\n- Speaker bio or credentials.\n- Character or word limits.\n\n## Workflow\n\n1. Identify the central promise of the session.\n2. Define the audience and why they should attend.\n3. Create several title options with different emphasis.\n4. Draft the main abstract in a clear, credible style.\n5. Produce learning objectives or takeaways.\n6. Add a short audience-fit note and optional speaker notes.\n7. If constraints are missing, include a compact assumptions section.\n\n## Output format\n\n```markdown\n# Conference session abstract pack\n\n## Recommended title\n\n[Title]\n\n## Alternative titles\n\n1. [Alternative]\n2. [Alternative]\n3. [Alternative]\n\n## Abstract\n\n[Submission-ready abstract]\n\n## Audience\n\n[Who this is for]\n\n## Key takeaways\n\n- [Takeaway]\n- [Takeaway]\n- [Takeaway]\n\n## Why this session matters now\n\n[Short positioning paragraph]\n\n## Speaker bio\n\n[Bio if source material is available, otherwise: "Speaker bio not supplied."]\n\n## Optional short version\n\n[Short abstract for tighter submission forms]\n\n## Assumptions or gaps\n\n- [Only include if needed]\n```\n\n## Writing guidance\n\n- Make the title specific, not generic.\n- Show what the audience will be able to do or understand afterwards.\n- Avoid hype and empty trend language.\n- Use confident but evidence-led phrasing.\n- Keep the abstract readable aloud.\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/cfp-quality-checklist.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 title is memorable and relevant.\n- The abstract has a clear promise.\n- The takeaways are practical and distinct.\n- No credentials or event details have been invented.\n- The pack can be pasted into a CFP form with minimal editing.'
# Ordered commands lifted verbatim from the capability's own documentation.
STEPS = []
class ConferenceSessionAbstractPackAgent(BasicAgent):
def __init__(self):
self.name = 'ConferenceSessionAbstractPack'
self.metadata = {
"name": "ConferenceSessionAbstractPack",
"description": "Use this skill when the user asks to create a conference session proposal, talk abstract, CFP submission, session title, description, learning objectives, takeaways, or speaker bio.",
"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 conference_session_abstract_pack_agent.py
# python3 conference_session_abstract_pack_agent.py '{"arg": "value"}'
# python3 conference_session_abstract_pack_agent.py --tool # emit the JSON tool contract
_a = sys.argv[1:]
if _a and _a[0] == "--tool":
print(json.dumps(ConferenceSessionAbstractPackAgent().to_tool(), indent=2))
else:
_raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")
print(ConferenceSessionAbstractPackAgent().perform(**json.loads(_raw)))
# rci-capsule:v1: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
1---2name: conference-session-abstract-pack3description: Use this skill when the user asks to create a conference session proposal, talk abstract, CFP submission, session title, description, learning objectives, takeaways, or speaker bio.4---56# Conference Session Abstract Pack78Use this skill to turn a topic, idea, draft, or talk outline into a submission-ready conference session pack.910## Evidence and positioning rules1112- Do not invent speaker credentials, awards, employers, clients, or events.13- Use only the speaker bio information provided by the user or available in connected sources.14- Tailor the submission to the named event, audience, track, format, and session length when supplied.15- If the event constraints are unknown, produce a flexible draft and list assumptions.1617## Inputs to look for1819- Topic or rough idea.20- Target event or community.21- Audience level: beginner, intermediate, advanced, executive, maker, developer, architect, practitioner.22- Format: session, workshop, lightning talk, panel, keynote, theatre session.23- Desired tone: practical, provocative, technical, strategic, hands-on, story-led.24- Speaker bio or credentials.25- Character or word limits.2627## Workflow28291. Identify the central promise of the session.302. Define the audience and why they should attend.313. Create several title options with different emphasis.324. Draft the main abstract in a clear, credible style.335. Produce learning objectives or takeaways.346. Add a short audience-fit note and optional speaker notes.357. If constraints are missing, include a compact assumptions section.3637## Output format3839```markdown40# Conference session abstract pack4142## Recommended title4344[Title]4546## Alternative titles47481. [Alternative]492. [Alternative]503. [Alternative]5152## Abstract5354[Submission-ready abstract]5556## Audience5758[Who this is for]5960## Key takeaways6162- [Takeaway]63- [Takeaway]64- [Takeaway]6566## Why this session matters now6768[Short positioning paragraph]6970## Speaker bio7172[Bio if source material is available, otherwise: "Speaker bio not supplied."]7374## Optional short version7576[Short abstract for tighter submission forms]7778## Assumptions or gaps7980- [Only include if needed]81```8283## Writing guidance8485- Make the title specific, not generic.86- Show what the audience will be able to do or understand afterwards.87- Avoid hype and empty trend language.88- Use confident but evidence-led phrasing.89- Keep the abstract readable aloud.909192## References9394This skill includes supporting reference material. Read the relevant reference file when the task needs additional structure, rubric detail, examples, or checklist support.9596- `references/cfp-quality-checklist.md` - use this when additional structure, examples, or checks are useful for the task.9798## Quality checklist99100Before responding, check:101102- The title is memorable and relevant.103- The abstract has a clear promise.104- The takeaways are practical and distinct.105- No credentials or event details have been invented.106- The pack can be pasted into a CFP form with minimal editing.107108<!-- toaster:generated:begin -->109110## Run this — do not improvise111112This capability's deterministic implementation is a RAPP single-file agent, linked beside this file as `conference_session_abstract_pack_agent.py` and embedded as the fenced Python below (sha256 d50c89a4de410910…; 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 `conference_session_abstract_pack_agent.py` first:113114```bash115python3 conference_session_abstract_pack_agent.py '{"key": "value"}' # arguments as one JSON object116echo '{"key": "value"}' | python3 conference_session_abstract_pack_agent.py # or on stdin117python3 conference_session_abstract_pack_agent.py --tool # emit the JSON tool contract118```119120Treat 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`.121122````python # rapp:deterministic123"""ConferenceSessionAbstractPack -- Use this skill when the user asks to create a conference session proposal, talk abstract, CFP submission, session title, description, learning objectives, takeaways, or speaker bio.124125Generated by the rapp skill from conference-session-abstract-pack. The RCI capsule at the bottom of this file carries the full original; `toast.py convert` restores it byte-exact."""126127import json128import re129import sys130131try:132 from agents.basic_agent import BasicAgent133except ImportError: # running OUTSIDE a brainstem -- stay executable anyway.134 class BasicAgent: # noqa: D101 - minimal stand-in, same contract135 def __init__(self, name=None, metadata=None):136 if name:137 self.name = name138 if metadata:139 self.metadata = metadata140141 def perform(self, **kwargs):142 return "Not implemented."143144 def system_context(self):145 return None146147 def to_tool(self):148 return {"type": "function", "function": {149 "name": self.name,150 "description": self.metadata.get("description", ""),151 "parameters": self.metadata.get("parameters", {})}}152153# The procedural layer, verbatim from the source capability.154INSTRUCTIONS = '# Conference Session Abstract Pack\n\nUse this skill to turn a topic, idea, draft, or talk outline into a submission-ready conference session pack.\n\n## Evidence and positioning rules\n\n- Do not invent speaker credentials, awards, employers, clients, or events.\n- Use only the speaker bio information provided by the user or available in connected sources.\n- Tailor the submission to the named event, audience, track, format, and session length when supplied.\n- If the event constraints are unknown, produce a flexible draft and list assumptions.\n\n## Inputs to look for\n\n- Topic or rough idea.\n- Target event or community.\n- Audience level: beginner, intermediate, advanced, executive, maker, developer, architect, practitioner.\n- Format: session, workshop, lightning talk, panel, keynote, theatre session.\n- Desired tone: practical, provocative, technical, strategic, hands-on, story-led.\n- Speaker bio or credentials.\n- Character or word limits.\n\n## Workflow\n\n1. Identify the central promise of the session.\n2. Define the audience and why they should attend.\n3. Create several title options with different emphasis.\n4. Draft the main abstract in a clear, credible style.\n5. Produce learning objectives or takeaways.\n6. Add a short audience-fit note and optional speaker notes.\n7. If constraints are missing, include a compact assumptions section.\n\n## Output format\n\n```markdown\n# Conference session abstract pack\n\n## Recommended title\n\n[Title]\n\n## Alternative titles\n\n1. [Alternative]\n2. [Alternative]\n3. [Alternative]\n\n## Abstract\n\n[Submission-ready abstract]\n\n## Audience\n\n[Who this is for]\n\n## Key takeaways\n\n- [Takeaway]\n- [Takeaway]\n- [Takeaway]\n\n## Why this session matters now\n\n[Short positioning paragraph]\n\n## Speaker bio\n\n[Bio if source material is available, otherwise: "Speaker bio not supplied."]\n\n## Optional short version\n\n[Short abstract for tighter submission forms]\n\n## Assumptions or gaps\n\n- [Only include if needed]\n```\n\n## Writing guidance\n\n- Make the title specific, not generic.\n- Show what the audience will be able to do or understand afterwards.\n- Avoid hype and empty trend language.\n- Use confident but evidence-led phrasing.\n- Keep the abstract readable aloud.\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/cfp-quality-checklist.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 title is memorable and relevant.\n- The abstract has a clear promise.\n- The takeaways are practical and distinct.\n- No credentials or event details have been invented.\n- The pack can be pasted into a CFP form with minimal editing.'155156# Ordered commands lifted verbatim from the capability's own documentation.157STEPS = []158159160class ConferenceSessionAbstractPackAgent(BasicAgent):161 def __init__(self):162 self.name = 'ConferenceSessionAbstractPack'163 self.metadata = {164 "name": "ConferenceSessionAbstractPack",165 "description": "Use this skill when the user asks to create a conference session proposal, talk abstract, CFP submission, session title, description, learning objectives, takeaways, or speaker bio.",166 "parameters": {167 "type": "object",168 "properties": {},169 "required": []170 }171 }172 super().__init__(name=self.name, metadata=self.metadata)173174 def perform(self, **kwargs): # toaster:generated-perform175 return json.dumps({"status": "ok", "instructions": INSTRUCTIONS,176 "inputs": kwargs,177 "note": "Prose-only capability: follow INSTRUCTIONS "178 "with the given inputs."}, indent=2)179180if __name__ == "__main__":181 # echo '{"arg": "value"}' | python3 conference_session_abstract_pack_agent.py182 # python3 conference_session_abstract_pack_agent.py '{"arg": "value"}'183 # python3 conference_session_abstract_pack_agent.py --tool # emit the JSON tool contract184 _a = sys.argv[1:]185 if _a and _a[0] == "--tool":186 print(json.dumps(ConferenceSessionAbstractPackAgent().to_tool(), indent=2))187 else:188 _raw = _a[0] if _a else (sys.stdin.read().strip() or "{}")189 print(ConferenceSessionAbstractPackAgent().perform(**json.loads(_raw)))190191# rci-capsule:v1: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192````193194<!-- toaster:generated:end -->195196<!-- rci-capsule:v1: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 -->