9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

株式会社HacobuAdvent Calendar 2024

Day 12

個人のタスク管理をRaycastを使って工夫してみた話

Posted at

この記事はHacobu Advent Calendar 2024の12日目の記事です。

こんにちは。株式会社Hacobuでエンジニアリングマネージャー(EM)を担当しているうちだです。

今回は、日頃行っている工夫の1つであるタスク管理について書いてみようと思います。

タスク管理の課題

私は2024年6月からEMに就任し、現在6ヶ月くらい経過しました。

EMに就任後、例に漏れず打ち合わせが増えたことは就任前の想定通りだったのですが、タスクの依頼があちこちから五月雨に飛んでくるようになったことで、依頼が来るたびにタスク管理してるツールを開いて登録することができなくなりました。

弊社ではNotionを活用しており、私のタスク管理もNotionのデータベースを使って管理していました。

そんな中、タスク管理ツールにタスクを追記しようにも、私がファシリテーションをする打ち合わせが連続していたりすると追記漏れが発生してだんだんと管理できないタスク量に忙殺されるようになってしまいました。(忘れっぽい自分乙・・・)

そんなとき、「なるべく手数少なく簡単にタスクに登録できるようになるいい方法はないだろうか」と、世の中の賢人たちが編み出した仕組みがないかなーと調べているとランチャーアプリを使ったタスク管理をされている方を発見。Alfredを活用した方法でした。

これいいな!と思ったのですが、実現するにはPowerpackという有償ライセンスが必要で、「タスク管理するためだけにこれに課金するにはtoo muchだな」と感じました。

そこで代替手段を探しているとRaycastというツールに出会いました。

Alfred同様のランチャーアプリで、自分のやりたいことも実現できそうだったので試してみることにしました。

Raycastを使ったタスク登録連携のセットアップ

まずはRaycastをインストールします。

brew install --cask raycast

好みに応じてHotkeyなど変更してもらえればと思います。

私は ⌘ + Space で起動できるように設定しています。

image.png

ここからがタスク管理との連携です。

RaycastにはScript Commandsという機能があり、自分で独自のコマンドとそれに反応するスクリプトを実装することが出来ます。この機能を活用し、 todo コマンドを実装してタスク管理と連携しています。

セットアップの部分は下記リポジトリのREADMEに説明を譲りますが、特にここでは躓くことなくセットアップできると思います。

セットアップが終わったらコマンドに反応するスクリプトを実装します。

Raycastを起動して、 create script などと入力します。すると下記のように候補が出て来るので Create Script Command を選択します。

image.png

今回はコマンドを todo にするので、タイトルに todo と入力して ⌘ + Enter を押します。

image.png

するとシェルスクリプトが保存できるので、保存します。

あとはスクリプトを実装すればOK。今回必要なのは、NotionのAPIをcurlコマンドで叩くだけのシンプルなものです。参考までに実際に私が使っているスクリプトを以下に置いておきます。

#!/bin/bash

# Required parameters:
# @raycast.schemaVersion 1
# @raycast.title todo
# @raycast.mode compact

# Optional parameters:
# @raycast.icon 🤖
# @raycast.argument1 { "type": "text", "placeholder": "新しいTODOをここに入力してください" }

# Documentation:
# @raycast.author Takayoshi Uchida

NOTION_API_KEY=XXXXX
DATABASE_ID=XXXXX
curl -X POST https://api.notion.com/v1/pages \
  -H 'Authorization: Bearer '"$NOTION_API_KEY"'' \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2022-06-28" \
  --data '{
	  "parent": { "type": "database_id", "database_id": "'$DATABASE_ID'" },
	  "properties": {
      "Name": {
        "type": "title",
        "title": [{ "type": "text", "text": { "content": "'$1'" } }]
      },
      "Status": {
        "type": "status",
        "status": { "name": "Todo" }
      }
    }
  }'

ここまで来れば、Raycastを起動して todo と入力すると下記の状態になります。

image.png

ここで、Tabを押してタスクの内容を入力したらEnterで上記のスクリプトが実行されてタスクが登録されます。

image.png

登録されたらあとはちゃんと消化するだけ!

image.png

おわりに

この仕組みを作ってからは、会話しながらでも咄嗟にタスクを追加することが出来るようになり、タスクの存在を忘れることが減った気がします。(なくなったわけではないですが)

タスク管理いいのないかなーという人の参考になれば幸いです!

cf. スクリプト内で使用している Notion API key や Database Id をどこから持ってくればいいかについては下記の動画などが参考になると思います。

9
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?