“やっと全部を一か所に置けました。verset に移ってから生産性が倍になりました。”
仕事の本体は、チャットの外に。
アイデア、メモ、画像、問い。考えるための材料を置ける場所。AIへの指示だけではありません。
セルフサービスのサインイン
# 最初の5分
2
ここに来たのは仕事をするため。アカウント設定をするためではない。
+
# サインイン体験
7
# リリース確認
3
使い方ツアーは、いずれ? 今回は入れない。
2
リリースノートの下書き
「すぐに仕事へ戻れる」。曖昧すぎる? 1
「すぐに仕事へ戻れる」。曖昧すぎる? 1
既存ユーザー:「なぜまた初期設定?」
画面遷移のメモと一緒に残しておく。 2
画面遷移のメモと一緒に残しておく。 2
# サインイン体験
今の流れ:メール → 初期設定 → 仕事場。
すでにわかっていることを、もう一度聞いている。 2
すでにわかっていることを、もう一度聞いている。 2
- 初期設定への遠回りをなくす
8
? メールのリンクが別のブラウザで開いたら?
2
- ログイン完了率を測る。
転送が速いだけでは、体験全体はわからない。 +
転送が速いだけでは、体験全体はわからない。 +
最初のメモを書くまで、歓迎メッセージを待てないか?
// 思いつき。まだ決めていない。 +
// 思いつき。まだ決めていない。 +
# 画面と走り書き
3
歓迎文は、ひとまず今のまま。
流れに納得してから、言葉を直す。 +
流れに納得してから、言葉を直す。 +
- 初期設定への遠回りをなくす
メールでのログイン後、直接ワークスペースを開く。最初の操作は自分の仕事にしたい。
+
既存アカウントは自分のワークスペースに戻す。新しい空の場所を開かない。
+
昨日の走り書き
空の画面だと、行き止まりに感じる。1ステップ減らすだけでは解決しない。 +
空の画面だと、行き止まりに感じる。1ステップ減らすだけでは解決しない。 +
- サインイン後の転送を変更して。新規・既存アカウントをテストして。
+
[DONE]
既存アカウントのワークスペースを維持。 +
signIn.ts の転送を変更。既存アカウントのワークスペースを維持。 +
? 期限切れのリンク:ログインに戻す? 先に理由を説明する?
2
[DONE]
signIn.test.ts に回帰テストを追加(8/8)。新規・既存アカウントを確認。
+
- 自分のスマホでも試す。
+
横にスワイプして次の階層を見る →
全体像はあなたが持つ。エージェントはそれに従う。
理由とリリースの境界を仕事と一緒に残す。エージェントに準備は任せても、決定は渡しません。
請求システムの移行
# 照合
2
# リリース判断
4
# リリース後
2
# リリース判断
理由:二重請求を起こさない。
+
すべての請求に説明がつくこと。
+
# リリースの境界
3
- 請求の一致確認と巻き戻し手順を準備して。切り替えはしないで。
+
# リリースの境界
旧台帳を正とする。
+
- 再実行テストと巻き戻し手順を準備する。
+
私の承認なしに切り替えない。
+
横にスワイプして次の階層を見る →
- 請求の一致確認と巻き戻し手順を準備して。切り替えはしないで。
思考
リリースの境界に従い、切り替え判断は持ち主に残す。
請求データの比較と再実行テストを確認し、巻き戻し手順を下書きします。切り替えは実行しません。
作業中(3件) +8 −0
read: 請求比較メモ
read: 再実行テスト計画
write: 巻き戻し手順の下書き
実行中
指示はひとつの場所から。仕事は、その先へ。
共有のマインドマップに方針を置き、接続したファイル、ツール、ブラウザでエージェントが仕事を進めます。
方針も会話も、同期する
プロダクト開発サインインの流れを改善サインイン失敗の原因は?Verset の最近の話題は?チャット · サインイン改善ブラウザで変更を確認中…
どのタブでも、同じ仕事場。
メモもチャットも、タブ、ブラウザ、デバイスをまたいで同期します。
働くエージェント
つながる作業先
ノートPC接続済み
signIn.ts · 編集中signIn.test.tsworkspace.ts
ソースコード · 読み書き
本番サーバー接続済み
アプリ · 稼働状況ゲートウェイ · エラーログサインイン · 502
ログと稼働状況 · 読み取りのみ
接続したブラウザ接続済み
メールでサインイン
自分のXタイムライン最近のVersetへの言及投稿 · リンク · 日付読むだけ。投稿はしない。
Verset は、Verset で作っています。
判断を残し、ソースを変え、差分を読み、ブラウザを確認する。同じ仕事場で進めた製品開発の一例です。
src/static/js/homeLoadingHint.ts −26 +30
変更前変更後
150 let finishRequested = false136 let finishRequested = false137 let released = false139 const releasePlayback = async () => {140 if (released) {145 action.disabled = true150 bridge.releasePlayback()153 void waitForAction(action).then(releasePlayback)… progress and readiness logic …
198 await waitForAction(action)199 hint.setAttribute('data-home-loading-state', 'done')202 bridge.releasePlayback()クリック処理を準備完了待ちより先に登録し、二重の解除を防ぐように変更しました。
test/basicStory.e2e.test.ts −8 +38
変更前変更後
156 await waitForLoadingAction(page)157 await page.click('[data-home-loading-action]')158 await waitForLoadingAction(page)159 await page.click('[data-home-loading-action]')160 await page.waitForFunction(() => {161 const hero = document.querySelector('[data-interactive-hero]')162 const invitation = document.querySelector('.interactive-hero-copy-invitation')163 return document.body.dataset.homeLoadingState === 'done'164 && hero?.classList.contains('is-exhibition-released')166 && getComputedStyle(invitation).visibility === 'hidden'クリック後に再生が始まり、案内が消えることをブラウザテストで確認します。
まず、あなたの方向から。
考えが形になる場所をつくりましょう。計画を見失わずに、エージェントと前へ進めます。