job-documenter
Skill0 starsChanged 5 months agoMITView on GitHub
Use when a job folder needs to be initialized, or analysis/report/review documents need to be created or updated in jobs/.
In this repository76 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- autodoc-analystSkill
- autodoc-architectSkill
- autodoc-assemblerSkill
- autodoc-orchestratorSkill
- autodoc-scannerSkill
- autodoc-writerSkill
- brainstormSkill
- brd-creatorSkill
- caveman-modeSkill
- changelogSkill
- claude-md-managementSkill
- code-ai-reviewSkill
- code-boss-reviewSkill
- code-mobx-store-reviewSkill
- code-reviewSkill
- code-style-reviewSkill
- code-verifierSkill
- commitSkill
- constraint-driven-developmentSkill
- context-collectorSkill
- db-migrateSkill
- dependency-updateSkill
- deploySkill
- doubt-driven-developmentSkill
- feature-analyzerSkill
- feature-devSkill
- fsd-creatorSkill
- gproject-consistency-checkerSkill
- gproject-discoverySkill
- gproject-orchestratorSkill
- gproject-patterns-researcherSkill
- gproject-plannerSkill
- gproject-problem-definerSkill
- gproject-spec-writerSkill
- gproject-stack-advisorSkill
- hookifySkill
- iagoSkill
- interviewerSkill
- interviewSkill
- issue-analyzerSkill
- job-orchestratorSkill
- perf-checkSkill
- plan-gatekeeperSkill
- prd-creatorSkill
- pr-issue-documenterSkill
- pr-review-commentsSkill
- prSkill
- pushSkill
- review-architectureSkill
- review-backendSkill
- review-clean-codeSkill
- review-core-boundariesSkill
- review-flow-graphSkill
- review-frontend-conventionsSkill
- review-frontendSkill
- review-greptileSkill
- review-highloadSkill
- review-logicSkill
- The first 60 shown.
The file
Show its rules and text
We split this skill into the rules it gives an agent
35 rules. About 0 are common, 19 are distinctive, and 16 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈19
Distinctive · estimate
This author's own choices. Worth a look.
16
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 18
If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
- Distinctive: line 39
When orchestrator needs to initialize a new job folder
- Distinctive: line 40
When orchestrator needs to save a sub-agent result as a document
- Distinctive: line 41
When orchestrator needs to update job README or finalize a job
- Very specific: line 45
All structural conventions are defined in rules/core/jobs-documentation.mdc.
- Very specific: line 152
Read directory listing of jobs/<JOB_NAME>/
- Distinctive: line 154
If any missing → report error
- Distinctive: line 170
Add a new document to an existing job.
- Very specific: line 188
If DOC_TYPE is adr → use adr/DOC_NAME.md
- Very specific: line 189
If DOC_TYPE is a standard type (other than adr) → use standard name from jobs-documentation.mdc (e.g.
- Very specific: line 190
If DOC_TYPE is tasks.feature → use tasks.feature (ai/ only)
- Very specific: line 191
If DOC_TYPE is custom → use DOC_NAME + .md
- Very specific: line 219
Write the exact same file content (including the title and metadata block) to <PROJECT_DIR>/docs/adr/<DOC_NAME>.md.
- Very specific: line 220
If synchronization fails, log a warning in DOCUMENTER_RESULT but do not fail the overall action.
- Very specific: line 223
Add entry to the appropriate Documents table(s) (man/ and/or ai/)
- Very specific: line 259
Update plan checkboxes based on PLAN_UPDATES ([ ] → [x] for completed steps)
- Distinctive: line 260
Add/update rows in Agents Used table
- Very specific: line 262
Update Branch in Context table if BRANCH_UPDATE provided
- Distinctive: line 267
If any file exists that is NOT in the Documents table → add it with description "Auto-discovered"
- Distinctive: line 268
If any table entry references a file that doesn't exist → mark as "(missing)"
- Very specific: line 297
Write man/final-report.md and ai/final-report.md with metadata (same as add-document procedure)
- Distinctive: line 298
Update README Documents tables
- Distinctive: line 304
Add SUMMARY to Description section (or as a "## Outcome" section at the end)
- Very specific: line 307
Read directory listing of jobs/<JOB_NAME>/, man/, ai/
- Distinctive: line 327
If any file operation fails during any action:
- Very specific: line 330
Write man/error-log.md with error details, timestamp, which action was being performed
- Distinctive: line 331
If this also fails, report the raw error in the return result
- Distinctive: line 348
When the orchestrator dispatches this skill as a sub-agent, it should use this prompt structure:
- Very specific: line 370
DO follow jobs-documentation.mdc for all structural decisions.
- Distinctive: line 371
DO add metadata blocks to every document.
- Distinctive: line 372
DO verify file existence after every write operation.
- Distinctive: line 373
DO keep README.md in sync with actual directory contents.
- Distinctive: line 374
DO use ISO 8601 UTC timestamps everywhere.
- Very specific: line 376
DO NOT: create files outside of jobs/<JOB_NAME>/.
- Distinctive: line 377
DO NOT: delete or overwrite existing documents without explicit instruction.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<SUBAGENT-STOP>
If you were dispatched as a subagent to execute a specific task, skip this skill entirely.
This skill is for orchestrators and interactive session-level routing only.
Proceed directly with your assigned task.
</SUBAGENT-STOP>Job Documenter
JOBS_ROOT Note:
JOBS_ROOTis always passed explicitly by the orchestrator in the dispatch prompt. Never resolve it yourself — do not fall back to any hardcoded path.
Purpose
Sub-agent responsible for creating and maintaining structured job documentation in <JOBS_ROOT>/. Called exclusively by job-orchestrator to persist the lifecycle of orchestrated tasks — from initial plan through analysis, implementation, review, and final report.
This skill is NOT invoked directly by users. It is a service skill dispatched by the orchestrator.
Input: Action type + job name + content payload (from orchestrator) Output: Status report (success/error) + created file paths
When to Use
- Called by
job-orchestratorduring pipeline execution - When orchestrator needs to initialize a new job folder
- When orchestrator needs to save a sub-agent result as a document
- When orchestrator needs to update job README or finalize a job
Reference Rule
All structural conventions are defined in rules/core/jobs-documentation.mdc. This skill MUST follow that rule exactly.
Input Contract
The orchestrator provides a structured prompt with the following fields:
ACTION: init | add-document | update-readme | finalize
JOB_NAME: <kebab-case folder name>
JOBS_ROOT: <JOBS_ROOT>
DATA: <action-specific payload — see below>Actions
Action: init
Initialize a new job folder with required structure.
Input DATA:
TITLE: <Job title — human-readable>
DESCRIPTION: <1-3 sentences describing what this job does>
INTENT: <analyze | implement | review | custom>
SOURCE: <issue URL, PR URL, branch name, or free-text description>
PROJECT: <absolute path to project directory>
BRANCH: <feature branch name, if known — may be "TBD">
BASE_BRANCH: <base branch name>
PLAN: <ordered list of planned steps>Procedure:
- Create directory structure:
jobs/<JOB_NAME>/ README.md man/ ai/ - Write README.md following the format from
jobs-documentation.mdc:- Status:
in-progress - Created/Updated: current ISO 8601 UTC timestamp
- Fill Context table from input DATA
- Plan section from input PLAN (all items unchecked)
- Empty Agents Used table
- Empty Documents tables
- Empty Problems & Notes
- Status:
- Write
ai/plan.md— structured version of the plan:# Execution Plan ## Steps | Step | Type | Agent | Dependencies | Status | |------|------|-------|-------------|--------| | 1 | analyze | issue-analyzer | none | pending | | 2 | prepare | orchestrator | 1 | pending | | ... | ... | ... | ... | ... | --- <!-- Document Metadata --> | Key | Value | |-----|-------| | Created | <timestamp> | | Agent | job-orchestrator | | Task | Initialize job plan | | Job | <JOB_NAME> | | Version | 1.0 | | Status | final | - Write
man/plan.md— human-readable version of the plan:# Execution Plan: <TITLE> ## Overview <DESCRIPTION> ## Steps 1. **<Step name>** — <description> - Agent: <agent name> - Dependencies: <deps or "none"> 2. ... --- <!-- Document Metadata --> | Key | Value | |-----|-------| | Created | <timestamp> | | Agent | job-orchestrator | | Task | Initialize job plan | | Job | <JOB_NAME> | | Version | 1.0 | | Status | final | - Update README.md — add plan.md entries to Documents tables.
- Verify:
- Read directory listing of
jobs/<JOB_NAME>/ - Confirm:
README.md,man/,ai/,man/plan.md,ai/plan.mdall exist - If any missing → report error
- Read directory listing of
- Return result:
DOCUMENTER_RESULT: action: init status: success | error job_path: <JOBS_ROOT>/<JOB_NAME> files_created: [README.md, man/plan.md, ai/plan.md] error_details: <if status is error>
Action: add-document
Add a new document to an existing job.
Input DATA:
DOC_TYPE: <analysis | report | review | context | implementation-report | final-report | improvements | requirements | error-log | tasks.feature | review-findings | adr | custom>
DOC_NAME: <file name without extension, kebab-case — used if DOC_TYPE is "custom" or "adr">
TARGET: man | ai | both
TITLE: <document title>
CONTENT: <full document content — markdown>
AGENT: <which agent produced this content>
TASK: <which task/phase this relates to>
VERSION: <document version, default "1.0">
DOC_STATUS: <draft | final>Procedure:
- Determine file name and path:
- If DOC_TYPE is
adr→ useadr/DOC_NAME.md - If DOC_TYPE is a standard type (other than
adr) → use standard name fromjobs-documentation.mdc(e.g.analysis.md,report.md) - If DOC_TYPE is
tasks.feature→ usetasks.feature(ai/ only) - If DOC_TYPE is
custom→ use DOC_NAME +.md
- If DOC_TYPE is
- Determine target directories:
TARGET=man→ write toman/onlyTARGET=ai→ write toai/onlyTARGET=both→ write to bothman/andai/
- For each target directory, write the document:
# <TITLE> <CONTENT> --- <!-- Document Metadata --> | Key | Value | |-----|-------| | Created | <current ISO 8601 UTC timestamp> | | Agent | <AGENT> | | Task | <TASK> | | Job | <JOB_NAME> | | Version | <VERSION> | | Status | <DOC_STATUS> |
3b. If DOC_TYPE is adr, synchronize to the project's global directory:
- Resolve the project root path. First, check if
PROJECTis passed in DATA. If not, parse the project path from the job'sREADME.mdcontext table (under theProjectkey). - Write the exact same file content (including the title and metadata block) to
<PROJECT_DIR>/docs/adr/<DOC_NAME>.md. Create thedocs/adr/directory structure if it does not exist. - If synchronization fails, log a warning in
DOCUMENTER_RESULTbut do not fail the overall action.
- Update README.md:
- Add entry to the appropriate Documents table(s) (
man/and/orai/) - Entry format:
| [<filename>](<target>/<filename>) | <TITLE> | <DOC_STATUS> |
- Add entry to the appropriate Documents table(s) (
- Verify:
- Confirm each written file exists by reading directory listing
- Confirm README.md was updated (contains the new file reference)
- Return result:
DOCUMENTER_RESULT: action: add-document status: success | error files_created: [<list of created file paths>] readme_updated: true | false error_details: <if status is error>
Action: update-readme
Refresh the README to reflect current state.
Input DATA:
PLAN_UPDATES: <optional — list of step statuses to update: [{step: 1, status: "completed"}, ...]>
AGENTS_UPDATE: <optional — list of agent entries to add/update: [{agent, phase, status}, ...]>
PROBLEMS: <optional — list of problems/notes to add>
BRANCH_UPDATE: <optional — branch name if it was TBD during init>Procedure:
- Read current README.md from
jobs/<JOB_NAME>/README.md - Apply updates:
- Update plan checkboxes based on PLAN_UPDATES (
[ ]→[x]for completed steps) - Add/update rows in Agents Used table
- Append to Problems & Notes section
- Update Branch in Context table if BRANCH_UPDATE provided
- Update
**Updated:**timestamp
- Update plan checkboxes based on PLAN_UPDATES (
- Re-scan
man/andai/directories to ensure Documents tables are complete:- List all files in
man/andai/ - If any file exists that is NOT in the Documents table → add it with description "Auto-discovered"
- If any table entry references a file that doesn't exist → mark as "(missing)"
- List all files in
- Write updated README.md
- Return result:
DOCUMENTER_RESULT: action: update-readme status: success | error updates_applied: [<list of what was updated>] error_details: <if status is error>
Action: finalize
Mark the job as completed.
Input DATA:
FINAL_CONTENT: <optional — final report content to save as final-report.md>
FINAL_STATUS: completed | aborted
SUMMARY: <1-3 sentence summary of what was accomplished>Procedure:
- If FINAL_CONTENT is provided:
- Write
man/final-report.mdandai/final-report.mdwith metadata (same asadd-documentprocedure) - Update README Documents tables
- Write
- Update README.md:
- Set Status to FINAL_STATUS
- Update
**Updated:**timestamp - Mark all plan steps as completed (or appropriate status)
- Add SUMMARY to Description section (or as a "## Outcome" section at the end)
- Full verification:
- Read directory listing of
jobs/<JOB_NAME>/,man/,ai/ - Cross-check every entry in README Documents tables against actual files
- Report any discrepancies
- Read directory listing of
- Return result:
DOCUMENTER_RESULT: action: finalize status: success | error job_path: <JOBS_ROOT>/<JOB_NAME> final_status: <FINAL_STATUS> total_documents: <count of all files in man/ + ai/> verification: passed | <list of discrepancies> error_details: <if status is error>
Error Handling
If any file operation fails during any action:
- Attempt to create error log:
- Write
man/error-log.mdwith error details, timestamp, which action was being performed - If this also fails, report the raw error in the return result
- Write
- Return error status:
DOCUMENTER_RESULT: action: <action> status: error error_details: <what went wrong> error_log_created: true | false - Do NOT throw/crash — always return a structured result so the orchestrator can decide how to proceed.
Prompt Template for Orchestrator
When the orchestrator dispatches this skill as a sub-agent, it should use this prompt structure:
You are the job-documenter agent. Your task is to manage job documentation.
Load the skill from: skills/job-documenter/SKILL.md
Follow the rules from: rules/core/jobs-documentation.mdc
ACTION: <action>
JOB_NAME: <job-name>
JOBS_ROOT: <JOBS_ROOT>
DATA:
<action-specific data>
Execute the action and return a DOCUMENTER_RESULT block.Rules of Engagement
- DO follow
jobs-documentation.mdcfor all structural decisions. - DO add metadata blocks to every document.
- DO verify file existence after every write operation.
- DO keep README.md in sync with actual directory contents.
- DO use ISO 8601 UTC timestamps everywhere.
- DO return structured DOCUMENTER_RESULT for every action.
- DO NOT create files outside of
jobs/<JOB_NAME>/. - DO NOT delete or overwrite existing documents without explicit instruction.
- DO NOT modify files in other job folders.
- DO NOT interact with the user directly — all communication goes through the orchestrator.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

