‹ BackHN Continuity

Thread

Launch HN: Skillsync (YC W26) – AI chat sessions made portable across agents

68 points · 62 comments · cat-whisperer

Loading the complete thread in the background. This saved snapshot is available now. Refresh

  1. bcorigliano · · focus · HN ↗
    This is good, I like it!! I've been mostly working with Claude and Chatgpt for separate stuff, however sometimes one of them is stuck and I could definitely use this to start a session with the other one and see if it figures it out.

    Have you tested to see if there was any degradation happening when switching from one model to the other ? I mean some must be inevitable (maybe not!), but how much?

    1. cat-whisperer · · focus · HN ↗
      In some cases, harnesses try to obfuscate reasoning, but almost everything goes through.
    2. Nars088 · · focus · HN ↗
      Nars here, one of the co-founders. With longer sessions, the receiving agent sometimes decides to compact it. But the whole transcript still exists and is accessible
      1. bcorigliano · · focus · HN ↗
        that's good to know, will try skillsync out when I get the chance!
  2. pjm331 · · focus · HN ↗
    If I were you I would look into maybe like analyzing sessions across harnesses? I’m not sure, some way to leverage this shared schema work that is not syncing

    Because syncing is trivially solved by just telling the agent to keep a work journal in markdown

    1. cat-whisperer · · focus · HN ↗
      We do that, and it's really the point of the portability work. Once every harness's sessions live in one schema, you can manage and search all of them in one place.

      The markdown journal is a fair way to do it, and a popular one. It has a couple of limits though.

      A journal comes out of a prompt, so it records one way of looking at the session. Whatever that prompt didn't ask about is gone, and you usually find out which detail you needed much later. But the raw session still has it.

      Being able to unify the schema lets you do things notes can't. You can continue a teammate's session on your own machine, or pick up a claude.ai conversation in Claude Code or Codex. The new agent gets the transcript: all the decisions in the trajectory, not a summary of it.

    2. agentdev001 · · focus · HN ↗
      To say what the author said in another way- thats a garbage approach and completely misses the point. Sure, you can completely destroy the session by distilling it into a markdown- but thats like explaining what you did yesterday, vs having an immutable log of what you did yesterday.
    3. Nars088 · · focus · HN ↗
      btw we also have an agent in the mac app that lets you analyze your sessions in all kinds of ways
  3. general_reveal · · focus · HN ↗
    I was thinking about doing this. If we treat ChatGPT like your local llm server, you basically open up a browser session, intercept all traffic and stick a local OpenAI compatible rest server that mutilates your input upstream through the ChatGPT ui, and then intercepts downstream and pushes it out your server.
    1. deadbabe · · focus · HN ↗
      Good way to be banned
      1. general_reveal · · focus · HN ↗
        How would they know? Only if you use a coding harness, but one could write their own harness with less obvious system prompts.
      2. cat-whisperer · · focus · HN ↗
        isn't that what they did to opencode? when they were using the subs by reverse engineering
    2. cat-whisperer · · focus · HN ↗
      That's a clever idea, and a different direction from where we are right now. Today it only goes one way, from chat into your coding agent.

      The case I hit all the time is that an idea strikes on my commute, so I pull out my phone and start brainstorming in the Claude app. By the time I'm home I've done the research and chased down the tangents in that conversation. I open my laptop, use Skillsync to continue it in Claude Code, and start on the implementation.

  4. podviaznikov · · focus · HN ↗
    I have made simple macos app to export my claude sessions to markdown(plus ordinal jsonl) and i just continuously sync it to dropbox.

    i do the same for apple notes and imessage. so very portable

    <a href="https:&#x2F;&#x2F;apps.apple.com&#x2F;us&#x2F;app&#x2F;exporter-notes-to-markdown&#x2F;id6741618455?mt=12">https:&#x2F;&#x2F;apps.apple.com&#x2F;us&#x2F;app&#x2F;exporter-notes-to-markdown&#x2F;id6...

    1. Narsagna · · focus · HN ↗
      Cool! Over here we mean portability in a different sense: being able to continue a session in another agent as if the entire conversation history was there the whole time. You should not get locked into one agent simply because you built up a conversation history + memory with that agent

      Also curious, do you further process the synced files on dropbox at all? how are you using them today?

      1. podviaznikov · · focus · HN ↗
        I don&#x27;t do much with most of the sessions.

        In my experience 95% of the session transcript I don&#x27;t care about.

        But there are some that I want to keep and maybe come back one month later.

        Usually it&#x27;s not even engineering-related. Maybe doing some research on visas, relocation.

        But sometime also doing project research and sometime I want to come back to the same topic 2 month later(because new things came up) and I want my new agent to go and read prior conversation.

        1. Narsagna · · focus · HN ↗
          Yeah understandable, with skillsync you can choose for it to proactively tell you about past work that&#x27;s related to what you&#x27;re doing or just access all your past sessions via mcp. It&#x27;s like being a musician that has the record button on the whole time for when the crazy idea strikes
  5. sdesol · · focus · HN ↗
    This is awesome! You solve an immediate need of mine for:

    <a href="https:&#x2F;&#x2F;github.com&#x2F;gitsense&#x2F;chat&#x2F;tree&#x2F;readme-scale-knowledge" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gitsense&#x2F;chat&#x2F;tree&#x2F;readme-scale-knowledge

    Since I only support Pi natively, your solution will make it possible for codex&#x2F;claude&#x2F;etc. users to discover their conversations in my app. Will definitely include this as workaround for making codex, claude and other sessions available for discovery.

    1. cat-whisperer · · focus · HN ↗
      we publish a npm package of our core library too: <a href="https:&#x2F;&#x2F;github.com&#x2F;skillsynchq&#x2F;txcript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;skillsynchq&#x2F;txcript

      you can use that internally for this

      1. sdesol · · focus · HN ↗
        Unfortunately I won&#x27;t be able to use the npm as I need it for synching which is managed by <a href="https:&#x2F;&#x2F;github.com&#x2F;gitsense&#x2F;gsc-cli&#x2F;tree&#x2F;staging" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;gitsense&#x2F;gsc-cli&#x2F;tree&#x2F;staging

        The only thing that seems to be missing is synching but I have a workaround for that but it won&#x27;t be near realtime. For example, Pi changes are usually a second or less behind the Pi session log.

        With txcript, it will probably be 5 seconds which is fine since the use case will mostly revolve around discovery, organizing and inspection.

  6. marknutter · · focus · HN ↗
    Any word on when you&#x27;ll add support for antigravity? I often switch between harnesses and models and subscriptions, both for work and personal stuff, this is an awesome idea. One thing I do that I don&#x27;t think you have support for is running sessions on different machines. Do you have support for, or do you plan on adding support for, syncing across machines?
    1. cat-whisperer · · focus · HN ↗
      we do support antigravity!
    2. Nars088 · · focus · HN ↗
      Yes you can also ssh into your machines and sync all of those sessions too. Check out the + icon on the left side bar on the desktop app!
  7. yoavfr · · focus · HN ↗
    This looks nice! I tried to tackle the same problem with <a href="https:&#x2F;&#x2F;usecontinuo.dev" rel="nofollow">https:&#x2F;&#x2F;usecontinuo.dev (writing my own translation layer) - but Skillsync looks much more powerful.
    1. Narsagna · · focus · HN ↗
      Yeah I like how you have controls on how much of the conversation you want to bring into the next session!
  8. btown · · focus · HN ↗
    This is really cool, especially in a world where you&#x27;re using Claude as a workhorse, but want to be able to bring the entire session context into Codex so you can draft communications with full context but without Claude-isms. (You can train Claude to spawn e.g. a Codex session, but Codex wouldn&#x27;t know what to ask for from the broader context, beyond the prompt Claude gives it.)

    And shipping sessions to colleagues is critical as well. My team relies heavily on a homegrown &#x2F;resume-from-transcript skill that forces the harness to read every part of a Claude Code JSONL into context, letting us jump into colleagues&#x27; sessions.

    What I thought this might be from the title, though, is a separate but related problem. The more semi-technical people in a company who start to use agentic systems, the more likely they are to create a vital playbook as a &quot;skill&quot; - but one not designed for easy tracking in a repository, that relies on local state, references their name repeatedly, references other skills and rules that they&#x27;ve developed for their own work, etc. Cleaning these, figuring out what should be promoted across a team, figuring out when someone makes an update whether that&#x27;s something that deserves human review, syncing across people who haven&#x27;t used git&#x2F;pull requests before - it&#x27;s a big challenge that&#x27;s highly context-dependent. If skills are the place where guardrails exist, &quot;who watches the watchmen?&quot;

    There&#x27;s an interesting duality here, because a colleague being able to ship a session where they iterated on such a skill, to a colleague who can understand the context of their change, is incredibly valuable. But it still relies on a human in the loop, and doesn&#x27;t scale as a result. I think there&#x27;s a really interesting design space here.

    1. cat-whisperer · · focus · HN ↗
      Yes the name is a giveaway, that&#x27;s how we started out. We wanted to make it easy for non-technical people to collaborate with technical ones. git pull does bring in some friction here. Skillsync can be used as a shared skills library out of the box. Once someone updates a skill, it hot-reloads and make the latest version available to everyone instantly

      Curious about your &#x2F;resume skill. You said merge, so are you pulling a colleague&#x27;s session into one you already have open? We only do the other direction today, where you reopen their session and continue from it. I&#x27;d love to know which one your team reaches for more.

      1. btown · · focus · HN ↗
        Yea, it&#x27;s Claude Code only, but it runs some Python to turn the JSONL into markdown (importantly, with full tool inputs&#x2F;outputs, and full contents of any files from Read calls, which are all frozen in the JSONL) then instructs the session to load every single line of that markdown, which Claude Code will do in chunks.

        Certainly we&#x27;re often resuming the session directly as a handoff, and it works for that, albeit with some context overhead for the markdown reads (though arguably we could just put the JSONL in the session folder and resume it natively). But if both you and a colleague have done independent investigation on the same project, it also makes &quot;mind melds&quot; possible, including their temporary scripts and unmerged changes - just begin the resumption within one&#x27;s own session.

        1. cat-whisperer · · focus · HN ↗
          keeping tool_results help the agent figure out what is being referred too. But, as you said we also faced the problem of context overhead from reading markdown that&#x27;s why we made continue into a cli command instead.

          the mind meld thing sounds interesting, it sounds like git merge but for the transcripts

    2. Narsagna · · focus · HN ↗
      &gt; because a colleague being able to ship a session where they iterated on such a skill, to a colleague who can understand the context of their change, is incredibly valuable

      This is interesting, I&#x27;ve noticed some teams where the power users (usually the ones creating most of the skills) ship an additional skill to help users update their existing skills. This &#x27;update&#x27; skill asks them questions to understand the user&#x27;s context before actually updaing the skill

  9. bhkdotdev · · focus · HN ↗
    this is awesome! i’ve been working on a tool for cross-harness integration tests - <a href="https:&#x2F;&#x2F;dynobox.xyz" rel="nofollow">https:&#x2F;&#x2F;dynobox.xyz - and one of the hardest parts has been writing adapters for each harness since their transcript formats are all so different.

    really excited to check out txcript… a shared translation layer could make my life sooo much easier!

    1. sean-regents · · focus · HN ↗
      check out Nvidia&#x27;s version: <a href="https:&#x2F;&#x2F;github.com&#x2F;NVIDIA&#x2F;NeMo-Fabric" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;NVIDIA&#x2F;NeMo-Fabric
      1. bhkdotdev · · focus · HN ↗
        will do! thanks!
    2. Narsagna · · focus · HN ↗
      Thank you! let us know if you don’t see your harness &#x2F; feel free to raise a pr
  10. swyx · · focus · HN ↗
    kudos making the core open source. if you didnt do it, i wouldve. good luck
    1. Narsagna · · focus · HN ↗
      Hahaa thanks :)
  11. voiceeh · · focus · HN ↗
    Very cool! I created something similar (with the same name), but in 2 tools. One to share skills (skillsync) and another to share context (contextsync).

    I like to create a design with one model, sync it to another and iterate on it, then potentially go to another to apply&#x2F;implement.

    1. Narsagna · · focus · HN ↗
      Curious why you didn’t bundle them?
  12. paultnylund · · focus · HN ↗

    [dead]

  13. solfox · · focus · HN ↗
    Love this. Easily the most annoying thing about modern Agent development across Claude, Codex, etc. One nit: You don&#x27;t auto-discover &quot;archived&quot; chats from Codex. They have to be unarchived and the app restarted before being found.
    1. cat-whisperer · · focus · HN ↗
      it&#x27;s interesting to know that archived sessions are stored different as opposed to the codex cli and desktop app session.
    2. cat-whisperer · · focus · HN ↗
      I&#x27;ll add support for this. On another note, if you know what the issue is, our core is open and I would love for you to contribute: <a href="https:&#x2F;&#x2F;github.com&#x2F;skillsynchq&#x2F;txcript" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;skillsynchq&#x2F;txcript
      1. solfox · · focus · HN ↗
        Definitely. Issue filed: <a href="https:&#x2F;&#x2F;github.com&#x2F;skillsynchq&#x2F;txcript&#x2F;issues&#x2F;52" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;skillsynchq&#x2F;txcript&#x2F;issues&#x2F;52 Will test locally and implement the fix now.
        1. solfox · · focus · HN ↗
          PRs up!
          1. cat-whisperer · · focus · HN ↗
            fire! Already merge #53, thanks for the assist.
  14. sujee · · focus · HN ↗
    Good idea. I’m working on something similar, but for regular AI chats: <a href="https:&#x2F;&#x2F;www.vinaa.ai&#x2F;" rel="nofollow">https:&#x2F;&#x2F;www.vinaa.ai&#x2F;. Portability and organization are just as important for these conversations, since they become a personal knowledge base you may want to revisit years later.
    1. Narsagna · · focus · HN ↗
      Fun fact, skillksync works with all kinds of chats :)
  15. bb-connor · · focus · HN ↗
    the shit they let into YC these days bruh
    1. Narsagna · · focus · HN ↗
      ok
      1. bb-connor · · focus · HN ↗
        i take it back. this might be dope. need to dig deeper
    2. bks · · focus · HN ↗
      I suspect its about the people not just the pitch. The team seems experienced and have shipped useful products. Good luck to them
  16. vira28 · · focus · HN ↗
    I use recall <a href="https:&#x2F;&#x2F;github.com&#x2F;viggy28&#x2F;recall" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;viggy28&#x2F;recall for the following reasons:

    1. It&#x27;s tightly integrated with Pi 2. Creates context automatically from sessions 3. No external dependencies - sqlite and numpy

    1. Narsagna · · focus · HN ↗
      Interesting, I love pi too!
  17. mmykola87 · · focus · HN ↗
    I went the opposite way, and I think it&#x27;s worth mentioning the cost of that choice. My conversation doesn&#x27;t carry over. When we&#x27;re not in session, only what the session explicitly recorded carries over. This includes decisions, open questions, verified items, and what&#x27;s left to do. Anything that wasn&#x27;t recorded is gone, and that&#x27;s a real loss, not just a small part of the process.

    I went with this approach because the transcript doesn&#x27;t go into a file; it goes into another live session, which messes up its flow. We&#x27;ve already talked about this a bit when we were discussing &quot;how to make reading Markdown cheaper.&quot; My answer was different: don&#x27;t bring it over at all. The next session doesn&#x27;t need to know how we got there—it just needs to know what we decided and what we&#x27;ve actually verified.

    I don&#x27;t think we&#x27;ve talked about this in this thread yet. Portability is all about a session that&#x27;s already wrapped up. I often have two sessions open at the same time. One is building an endpoint, and the other is the screen that calls it. They need to check in with each other before either is complete, based on different assumptions. Moving the transcript around won&#x27;t fix this. What&#x27;s needed is a message, not a copy.

    I made a small open-source layer for this: a mailbox and a &quot;walkie-talkie&quot; for sessions in the clients you&#x27;ve already opened - <a href="https:&#x2F;&#x2F;github.com&#x2F;automatis-tools&#x2F;agents-can-communicate" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;automatis-tools&#x2F;agents-can-communicate. It doesn&#x27;t transfer memory and doesn&#x27;t detect discrepancies on its own. The session has to check for those things.

    1. cat-whisperer · · focus · HN ↗
      I agree that the next session wants conclusions, not the whole transcript. What I&#x27;ve seen working with people on this is that a summary only has what the summarizer prompt asked for, and what they need from an old session changes depending on what they&#x27;re doing when they go back to it. With the full session still around, they can just ask it again.

      Porting is also cheap, since it&#x27;s just a format conversion. Getting a new session back up to speed from notes usually isn&#x27;t.

      Concurrent sessions is a separate problem, and I agree that a message is the right shape there. Where portability helps is that different harnesses are good at different things, so you can start a task in one and move it to another that&#x27;s better at the next part, without starting over.

      1. mmykola87 · · focus · HN ↗
        As for the summary, I agree that it&#x27;s a big gap. I&#x27;m not trying to make a better summary: it&#x27;s not a separate summarizer rewriting the session afterwards, it&#x27;s the session itself writing while it&#x27;s still active.

        &quot;Asking the old one again&quot; works as long as it&#x27;s alive. In my case it&#x27;s exactly the opposite — either I&#x27;ve hit the limit, or I&#x27;ve switched to a different model. Then there&#x27;s no one to ask, and whatever wasn&#x27;t recorded is gone.

        And &quot;cheap&quot; is measured from the wrong side. The conversion is cheap, but the transcript doesn&#x27;t go into a file — it goes into a live session and spends its turn every time it moves.

    2. mmykola87 · · focus · HN ↗
      As for the summary, I agree that it&#x27;s a big gap. I&#x27;m not trying to make a better summary: it&#x27;s not a separate summarizer rewriting the session afterwards, it&#x27;s the session itself writing while it&#x27;s still active.

      &quot;Asking the old one again&quot; works as long as it&#x27;s alive. In my case it&#x27;s exactly the opposite — either I&#x27;ve hit the limit, or I&#x27;ve switched to a different model. Then there&#x27;s no one to ask, and whatever wasn&#x27;t recorded is gone.

      And &quot;cheap&quot; is measured from the wrong side. The conversion is cheap, but the transcript doesn&#x27;t go into a file — it goes into a live session and spends its turn every time it

    3. afaraha · · focus · HN ↗

      [dead]

  18. ccbakla · · focus · HN ↗

    [dead]

  19. joas_coder · · focus · HN ↗
    This resonates with an adjacent problem I’ve been exploring: durable project provenance rather than live-session portability. I’m building PromptSourceCode for Codex Desktop; it preserves the human requests, corrections, and attachments as readable local history alongside the project: <a href="https:&#x2F;&#x2F;github.com&#x2F;ironwood-lang&#x2F;prompt-source-code" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;ironwood-lang&#x2F;prompt-source-code. It deliberately doesn’t try to translate or resume sessions across agents. Does Skillsync expose stable session and turn identifiers that an external audit history could reference after translation?
    1. Narsagna · · focus · HN ↗
      can you explain what you mean by turn identifiers? It does allow you to audit the sessions and build your own systems on top after translation
  20. Edwinat23 · · focus · HN ↗
    Ola
  21. Ishwar170695 · · focus · HN ↗
    The portability angle is interesting. We measured coding-agent sessions and found ~94.5% of the accumulated context was reused across turns.

    Two questions on the translation side: what gets dropped or normalized when a session crosses agents (reasoning blocks, tool-call IDs, provider-specific message types)? And is the output serialized deterministically, so the receiving agent&#x27;s cache can warm up and stay warm after the move?

    1. Narsagna · · focus · HN ↗
      Yes it is deterministic, there&#x27;s no ai here. Everything is retained including tool calls, reasoning and handed off to the other agent

      Would love to know more about the study, can you tell me how you went about it?

  22. timwis · · focus · HN ↗
    Hi team, I tried to email you with a privacy question. I used the email address on your Privacy page, but it bounced back as unknown, and there&#x27;s no other contact address&#x2F;form on your website. Is there a way to get in touch?
    1. [deleted] · · focus · HN ↗

      [deleted]

    2. Narsagna · · focus · HN ↗
      Please reach out at founders@skillsync.com, have updated it on the website - thanks for pointing this out!
  23. AsaVerren · · focus · HN ↗

    [dead]

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.