Package Exports
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (kytip-pm) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
Kytip
+-----------------------------------------------------------------------+
| [kytip] [bootstrap] [kanban] [notes] [streams] [portfolio] |
|-----------------------------------------------------------------------|
| | / \ / --- --- |~~\ |
| |/ Y | | |__/ K Y T I P |
| |\ | | | | |
| | \ | | --- | |
| |
| transcript batches -> packets -> ledgers -> streams -> terminal hub |
+-----------------------------------------------------------------------+Kytip turns messy transcript drops into durable project memory inside the current workspace.
It gives you a repeatable local shape:
- meeting packets you can actually revisit
- ledgers for blockers, gates, decisions, actions, and next steps
- project and stream pages that survive chat-window loss
- a terminal hub over
pm-state/, instead of forcing you to click through docs
Bootstrap Into A Workspace
Run this from inside the directory you want Kytip to materialize into:
mkdir my-workspace && cd my-workspace
npm exec --yes --package kytip-pm@latest -- kytip bootstrap
./kytipKytip writes into . and creates:
./.kytip/./.agents/PMing/./.agents/skills/..../templates/./references/./tasks/./pm-state/./kytip
The portable skill contracts live under ./.agents/skills/. Deprecated PMing
instruction overlays are not installed into the workspace.
Bootstrap is cautious:
- existing files are skipped by default
- pass
--forceonly when you intentionally want to overwrite - files under
pm-state/are operator state and are seeded only when missing;pm-state/CONTEXT.mdis never overwritten by bootstrap
npm exec --yes --package kytip-pm@latest -- kytip bootstrap --forceInstall Modes
If you want it pinned in a project:
npm i kytip-pm
npx kytip bootstrap
./kytipIf you want the command available everywhere:
npm i -g kytip-pm
kytip bootstrap
./kytipIf you are working from source:
cd /path/to/workspace
/path/to/kytip-pm/assets/scripts/bootstrap-workspace.sh .
./kytipWhat Kytip Actually Is
Kytip is agent-oriented, but not agent-locked.
- it works with Codex, Claude, OpenAI workflows, local models, or manual operators
- its runtime contract is just
pm-state/ - if you are running ACE, pair it with ace-swarm
- it does not require ACE-specific runtime state to function
The default PMing passes are:
meeting-packetizerpm-ledger-updaterstream-reconcilerportfolio-brief-writer
Those materialize:
pm-state/meetings/*.mdpm-state/ledgers/*.mdpm-state/projects/*.mdpm-state/STREAMS.mdpm-state/PORTFOLIO_BRIEF.md
Agent-Native Staging
kytip packetize batch.md
kytip statuskytip packetize stages prepared transcripts under
pm-state/ingest/prepared/. kytip status shows what is still waiting for
an ambient agent to run the meeting-packetizer skill and how many meeting
packets already exist.
Prepared transcripts point the agent at pm-state/CONTEXT.md when present. That
file is the operator-facing place for team rosters, project aliases, glossary
terms, known mishearings, and corrections. Treat it as a disambiguation hint
layer: it can guide packetization, but it must not override transcript evidence
or silently become durable packet truth.
If the input contains base64-heavy payloads, Kytip elides the blob in prepared
transcripts and writes compact sidecar records under
pm-state/ingest/base64_sidecars/. Packet docs should carry only elision
markers and sidecar references, never long base64 blocks.
PM-Lite Promotion Boundary
The standalone pm-lite skill is a lightweight note-cleanup mode. PMing can
ship a packaged pm-lite helper, but root-level pm-lite/ is not modified by
PMing bootstrap.
If you want to promote pm-lite output into full PMing state:
- Review the notes as draft-only.
- Route them through
meeting-packetizerorkytip promote-raw. - Preserve source fingerprint/context references.
- Never overwrite an existing packet; create an amendment sibling instead.
- Validate the final packet before ledgers or briefs consume it.
The Terminal Hub
./kytip reads pm-state/ and brings the run together in one terminal surface:
- overview and portfolio pressure
- blockers and gates in one place
- active actions and next steps
- notes you can move through without leaving the TUI
Controls:
123switch viewshlmove across kanban lanesjkor arrows move selectionEnterjumps to the source note for the selected cardPageUp/PageDownscroll note contentrrefresh from diskqquit
Package Surface
Published package:
- package name:
kytip-pm - primary CLI:
kytip - UI alias:
kytip-ui - bootstrap alias:
kytip-bootstrap
What ships:
- files whitelisted in
package.json#files - runtime under
assets/runtime/ - workspace bootstrap scripts and PMing assets
- agent, skill, and instruction contracts under
.agents/
What does not ship:
- transcript-derived smoke outputs
- repo-local caches and throwaway run state
- internal sidecar/spec history that is not required at runtime
- workspace-root instruction spillover
Build
npm test
npm run pack:dry-runIf dev dependencies are installed, you can also rebuild the JS runtime:
npm run buildLicense
Kytip ships under the custom LICENSE.
Allowed without separate permission:
- personal use
- academic use
- research use
- evaluation use
- internal non-commercial use
Commercial use is not automatically granted. If you want to use Kytip in a paid product, service, internal commercial workflow, or partnership context, contact voybio.fundr@gmail.com.
Collaboration
Reach out at voybio.fundr@gmail.com for collaborations, ideas, or integrations.