* documentation writing skill * visa sponsors page * overview * in progress board * settings * reactive resume section * database backups * workflows * post application tracking flow * manual tracking caveats * pricing section * pipeline run detalis * job search bar * keyboard shortcuts * bulk actions * no informal phrasing * formatting * build fix? * Update docs-site/docs/features/overview.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs-site/versioned_docs/version-0.1.20/features/orchestrator.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs-site/docs/features/visa-sponsors.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update docs-site/docs/features/in-progress-board.md Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * remove link to page that don't exist --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
92 lines
2.4 KiB
Markdown
92 lines
2.4 KiB
Markdown
---
|
|
id: ghostwriter
|
|
title: Ghostwriter
|
|
description: Context-aware per-job AI chat assistant behavior and API surface.
|
|
sidebar_position: 2
|
|
---
|
|
|
|
## What it is
|
|
|
|
Ghostwriter is the per-job AI chat assistant in JobOps.
|
|
|
|
Ghostwriter uses:
|
|
|
|
- current job description and metadata
|
|
- reduced profile snapshot
|
|
- global writing style settings
|
|
|
|
The UI behavior is one persistent conversation per job, shown in the right-side drawer from job details.
|
|
|
|
## Why it exists
|
|
|
|
Ghostwriter helps you produce job-specific writing quickly while preserving consistency with your profile and style settings.
|
|
|
|
Typical use cases:
|
|
|
|
- role-specific answer drafting
|
|
- cover letter and outreach drafts
|
|
- interview prep tied to the job description
|
|
- rephrasing with tone constraints
|
|
|
|
## How to use it
|
|
|
|
1. Open a job in `discovered` or `ready`.
|
|
2. Open the Ghostwriter drawer.
|
|
3. Enter your prompt and stream a response.
|
|
4. Stop or regenerate responses when needed.
|
|
|
|
### Writing style settings impact
|
|
|
|
Global settings affecting generations:
|
|
|
|
- `Tone`
|
|
- `Formality`
|
|
- `Constraints`
|
|
- `Do-not-use terms`
|
|
|
|
Defaults:
|
|
|
|
- Tone: `professional`
|
|
- Formality: `medium`
|
|
- Constraints: empty
|
|
- Do-not-use terms: empty
|
|
|
|
### Context and safety model
|
|
|
|
- Job snapshot is truncated to fit prompt budget.
|
|
- Profile snapshot includes relevant slices only.
|
|
- System prompt enforces read-only assistant behavior.
|
|
- Logging stores metadata, not full prompt/response dumps.
|
|
|
|
### API surface
|
|
|
|
- `GET /api/jobs/:id/chat/messages`
|
|
- `POST /api/jobs/:id/chat/messages` (streaming)
|
|
- `POST /api/jobs/:id/chat/runs/:runId/cancel`
|
|
- `POST /api/jobs/:id/chat/messages/:assistantMessageId/regenerate` (streaming)
|
|
|
|
Compatibility thread endpoints remain, but UI behavior is one thread per job.
|
|
|
|
## Common problems
|
|
|
|
### Responses feel too generic
|
|
|
|
- Verify the job description is complete and current.
|
|
- Confirm style constraints in Settings are specific enough.
|
|
|
|
### Generation quality is lower than expected
|
|
|
|
- Check model/provider configuration in Settings.
|
|
- Tighten prompts with explicit output intent (for example, "3 bullet points for recruiter outreach").
|
|
|
|
### Missing context in answers
|
|
|
|
- Update profile data and relevant project details used by Ghostwriter context.
|
|
- Regenerate after updating job notes/description.
|
|
|
|
## Related pages
|
|
|
|
- [Orchestrator](/docs/features/orchestrator)
|
|
- [Post-Application Tracking](/docs/features/post-application-tracking)
|
|
- [Troubleshooting](/docs/troubleshooting/common-problems)
|