求人サイト監視と履歴書作成
入口とモード
- まず、ユーザーのリクエストが以下の2つの独立したモードのどちらに該当するかを判断します。設定は互いに依存しません。
- 監視モード:監視フロー、求人マッチングルール、データ構造を読み込みます。外部送信が発生する場合は、プライバシーと確認の境界も読み込みます。
- 記入モード:履歴書記入フロー、データ構造、プライバシーと確認の境界を読み込みます。ATSとのやり取りが発生する場合は、ATSアダプテーション仕様も読み込みます。
- ユーザーが明示的にアーカイブ作成、監視、または記入を要求し、プロジェクトに
.jobhunt/ディレクトリがない場合にのみ、空の構造を初期化できます。能力についての問い合わせのみの場合は初期化してはいけません。 - 初期化、単独のアーカイブ作成、またはアーカイブの読み書きを行う前には、必ずデータ構造を読み込みます。
- まずユーザーの既存の履歴書から事実を抽出し、構造化されたプロファイルに書き込み、各フィールドの出典を記録します。既存の履歴書のみを参照し、履歴書の内容や経歴を生成、編集、リライト、または捏造してはいけません。
- 出典の矛盾、必須フィールドの不明、または回答が該当しない場合は、一度に最も影響の大きい重要な質問を1つだけ行います。回答は出典、日付、確認状態、および適用範囲を記録する必要があります。
- 専門分野、学歴、場所、スキル、時間などのマッチングルールは、すべてユーザーの確認が必要です。設定されていない場合は提案のみを行い、監視を開始してはいけません。不明なものは不適合とみなしてはいけません。
監視の境界
- ユーザーが手動で追加し、かつ
enabled=true、confirmed=trueである正確なドメインとパスの範囲にのみアクセスします。ナビゲーションやリダイレクトのたびに範囲を再検証し、範囲外の場合は停止して報告します。 - 監視は独立して実行できます。確認された公開日時のウィンドウに従って抽出し、元の出典、求人識別子、要件、日付、証拠を保持します。欠落または曖昧な日付の列は未検証としてマークし、捏造してはいけません。
- 重複排除と書き込みは、参考ドキュメントのID優先順位と最小パッチルールに従い、
upsert_job.pyを直列に呼び出します。外部リンクは保留としてのみ記録し、リンクの存在によって範囲を拡大してはいけません。 - 1回のスキャン報告では、実際のカバレッジ範囲、新規/マッチング/除外の数とその理由、企業プールの変化、失敗、およびユーザー対応待ちの項目を報告します。カバレッジが不完全な場合は、「全体的に新規なし」と報告してはいけません。
- ユーザーが明示的にスケジュールを要求した場合にのみ、現在利用可能なCodex自動化ツールを使用します。常駐サービスやcronを自作してはいけません。変更がない場合は、参考フローに従って静かに終了します。
監視実行時は、単一ライターの順序を維持します。まず範囲をチェックし、次に抽出、日付検証、重複排除、マッチングを行い、最後に書き込みと報告を行います。いずれかのステップで証拠が不十分な場合は、完了した部分を保持し、未完了の範囲を注釈します。 求人マッチングの出力は、「確認済み適合」「確認済み不適合」「不明/未検証」を区別し、求人の元の要件、ユーザーの事実の出典、および除外理由を保持する必要があります。ユーザーが確認したスコアリングルールがない場合は、定性的な説明のみを行います。 企業プールは、ユーザーが手動で追加するか、マッチングした求人から発見できますが、企業プールへの追加は監視プールへの追加を意味しません。企業の公式サイト、ATSテナント、および外部リンクは、それぞれ個別に検証する必要があります。
記入、保存、および応募の境界
- まず、対象企業、公式サイトの帰属、およびATSテナントを検証します。ユーザーが指定し、現在実際に利用可能なブラウザ/スキルツールを使用します。ツールの存在を仮定してはいけません。PDF/ドキュメントの解析は、現在利用可能な該当するスキルを呼び出すことのみ許可されます。
- ログイン、CAPTCHA、その他の認証はユーザー自身が行います。パスワード、Cookie、OTP、トークン、財務情報、その他の認証情報を保存してはいけません。また、認証をバイパスしたり、制御されたページを強制的に書き換えたりしてはいけません。
- 記入前に、今回必要なアーカイブ、該当する回答、およびユーザーが指定した既存の履歴書バージョンのみを読み込みます。通常のフィールド、高感度フィールド、または添付ファイルを初めて送信する前に、現在の具体的な送信先、送信予定の内容/匿名化された要約、出典、およびアクションを表示し、明確な確認を得る必要があります。
- 今回のトランザクションが明確に確認された後、そのトランザクションに記載された記入、アップロード、ページの自動保存、および個別の企業履歴書の保存を上書きできます。範囲が変更された場合は再確認が必要であり、承認は永続化されず、企業やタスクをまたいで再利用されることはありません。
- 企業履歴書の保存は独立したアクションとして許可されますが、今回の確認が必要です。保存後は、ページフィールドの読み取り、成功メッセージ、またはその他の信頼できる証拠を確認します。証拠がない場合は未検証としてマークし、成功を偽って報告してはいけません。
- 求人応募、提出、または最終送信ボタンは決してクリックしてはいけません。「保存して応募」のような統合ボタンもクリックしてはいけません。常にユーザー自身が操作する必要があります。記入/アップロード/保存が成功しても、応募が成功したことにはなりません。
- コントロール、ログイン、またはフィールドで失敗した場合は、限定的かつ信頼性の高い方法のみを使用します。失敗した場所で停止し、欠落しているフィールド、妨害、および保持された進捗状況を報告します。強制書き込みを繰り返したり、下書きを消去したりしてはいけません。
記入報告では、記入済み、アップロード済み、保存済みで証拠あり、未検証、失敗を項目ごとに区別します。保存後の状態は「ユーザー応募待ち」として記録できますが、ユーザー自身が操作し、信頼できる証拠を提供しない限り、submitted として記録してはいけません。
ページが自動保存される場合や、ボタンの意味が不明瞭な場合は、まず動作を停止し、具体的なリスクを説明します。過去の承認、同じ企業名、または「通常そうである」という経験に基づいて、今回の確認を代替してはいけません。
ATSやり取りルーティング
- ATSとのやり取りでは、ATSアダプテーション仕様と、現在の環境で実際に利用可能なブラウザスキル/ツールのドキュメントの両方を読み込みます。実際にテストされていないシステムについては、履歴的な経験のみを記録し、互換性を主張してはいけません。
- 表示されているラベル、セマンティクス、および所属コンテナに基づいてコントロールを特定し、入力後に結果を読み戻します。コントロールの所属が不明な場合、日付オプションが一致しない場合、または値がクリアされた場合は、ユーザーに処理を委ねます。
データとプライバシー
- 個人の状態は、現在のプロジェクトの
.jobhunt/にのみ保存します。グローバルスキルは個人の値を保存しません。ローカルの一般的な回答データベースには、非機密で、確認済みで、出典のある回答のみを保存できます。ログとレポートは最小限にし、機密性の高い原文を決して保存してはいけません。機密性の高い/高感度の情報は、プロジェクトのプライベートアーカイブにのみ保存し、必要に応じて読み取り、会話やログで完全な身分証明書を表示してはいけません。 - 求人要件をユーザーの事実として書き込んではいけません。履歴書インデックスは既存のファイルのみを参照し、共通パッケージにコピーしてはいけません。
.gitignoreは暗号化やアクセス制御と同等ではありません。 - 共有する前に、明示的に許可されたスキル、
agents/openai.yaml、6つの参考文献、空のテンプレート、および4つの標準ライブラリスクリプトのみをチェックし、プライバシースキャンを実行した後、人間によるレビューを行います。個人アーカイブ、履歴書、テスト、キャッシュ、またはプロジェクトレポートをパッケージ化してはいけません。 - 共有パッケージには、フローと空の構造のみを含め、実際の名前、連絡先情報、住所、身分証明書、アカウント、履歴書の内容、スクリーンショット、個人パス、または過去の記入データを含めてはいけません。ヒットした場合は、最初に削除するか確認します。
ユーザーの意図が不明な場合は、モード、アクセス範囲、または承認を変更するような、影響の大きい質問を1つだけ行います。影響の少ない命名、形式、およびディレクトリの詳細は、プロジェクトの現状に基づいて決定します。完了の宣言は、ページ、ファイル、またはスクリプトの出力など、検証可能な証拠に基づく必要があります。
標準スクリプト(Python 3.10+)
コマンドラインには求人の公開情報のみを渡し、個人データは渡してはいけません。<Skillディレクトリ> は、現在実際にロードされているスキルのディレクトリを指し、ユーザーのパスをハードコードしてはいけません。
python -X utf8 "<Skillディレクトリ>/scripts/init_workspace.py" "<プロジェクトルート>"
python -X utf8 "<Skillディレクトリ>/scripts/validate_workspace.py" "<プロジェクトルート>/.jobhunt"
python -X utf8 "<Skillディレクトリ>/scripts/upsert_job.py" "<プロジェクトルート>/.jobhunt/jobs.jsonl" "<求人JSON>"
python -X utf8 "<Skillディレクトリ>/scripts/privacy_scan.py" "<共有予定のディレクトリ>"
スクリプトは、構造や重複排除などの機械的な保証のみを提供し、出典、承認、範囲、およびプライバシーの判断を代替するものではありません。このスキルは、実際のATSとの互換性を保証せず、常駐監視サービスを実行しません。 すべての外部書き込みは、ユーザーの現在の明確な範囲に従って行われ、1回のタスクから長期承認を推測してはいけません。 実行前後に、ターゲット、範囲、アクション、および証拠を照合し、提案や下書きが誤って完了として記録されるのを防ぎます。