Files
LeoWinston-9596andClaude Opus 4.8 41ddc0c73c RFC feat(08): application-form fields as a third /apply artifact (#212)
* feat(08): add application-form fields as a third /apply artifact

/apply produces a CV and a cover letter. Many applications need a third
thing: free-text typed into a portal. Graduate programs, large-employer
ATS systems and startup forms ask for self-introductions, structured
project entries, motivation questions and pitches under a hard character
limit - none of which either document covers, and all of which the
interviewer reads alongside the CV.

Governing rule: a form field selects from what is already true and
arranges it for the question asked. It never introduces a new claim.
All accuracy rules from 03 and 05 apply unchanged.

Covers three field types (self-introduction, structured project entries,
hard character limits), the output format (a plain .txt the candidate
pastes from, with counts stated and internal NOTE TO SELF blocks marked
as not-for-pasting), and a verification checklist.

Two places where form fields are stricter than a CV, because both are
easy to get wrong:

- Project entries carry a name and a role, so they read as ownership of
  the whole project in a way a terse CV bullet does not. Contributory
  work has to be scoped inside the description.
- Project dates are the dates of the project, not of the employment.
  Narrowing them is more accurate where the candidate can say when the
  project started - but never invent a boundary to improve the ratio.

Registers the file in SKILL.md (framework_version 1.0.1 -> 1.1.0) and in
the FRAMEWORK_FILES list in tools/check_upstream_updates.py, so it is
covered by the update check like every other framework file.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* fixup(08,apply): wire as optional /apply offer; align grounding to three-source union

- apply.md Step 6: offer the third artifact after CV/cover letter are
  produced, mirroring the /outcome house pattern for optional capabilities
  (offer, act only on yes, default output unchanged).
- 08-application-forms.md: ground claims against the framework's
  01-candidate-profile.md + master CV + CLAUDE.md union (per #185)
  instead of only 01, in both the governing rule and the checklist.

Per MadsLorentzen review on PR #212. Rebase onto merged #210 (the
tenure-check reference this file cites) still pending — #210 hasn't
landed on upstream/master yet.

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-26 16:05:42 +02:00

6.0 KiB
Raw Permalink Blame History

framework_version
framework_version
1.0.0

Application Form Fields

/apply produces two artifacts: a CV and a cover letter. Many applications need a third — free-text fields typed directly into an application portal. Graduate programs, large-employer ATS systems and startup forms routinely ask for things neither document covers, under a character or word limit, in a box with no formatting.

This file governs that third artifact. It is not a document you compile; it is text the candidate pastes.

When this applies

Trigger it whenever a posting or portal asks for any of:

  • A self-introduction / personal statement / "tell us about yourself" paragraph
  • Structured project entries (project name, role, start and end date, description)
  • A short pitch under a hard character limit ("stand out in 140 characters", "why you, in one sentence")
  • Motivation questions ("why this company", "why this program")
  • Competency questions with a word cap ("describe a time you…", 200 words)

The rule that governs everything here

Every claim in a form field must already be defensible from the same sources the CV and cover letter are grounded against — the union of 01-candidate-profile.md, the master CV (cv/main_example.tex), and CLAUDE.md's Candidate Profile section, with a claim grounded if ANY of the three supports it. The interviewer reads the form alongside the CV. A form field is not a place to introduce new claims, inflate scope, or fill space — it is a place to select from what is already true and arrange it for the question asked.

All accuracy rules from 05-cv-templates.md and 03-writing-style.md apply unchanged.

Field type: self-introduction paragraph

Usually 100200 words, one paragraph, no formatting.

Structure that works:

  1. Current status — what they are doing or completing now
  2. The single strongest piece of evidence, with its number and scale
  3. One line of trajectory: how they got here, if a pivot or specialisation is genuinely interesting
  4. What they want next, connected to this employer's actual work

Rules:

  • Lead with the strongest evidence, not chronology. A career history told in order buries the best material when the strongest work is recent.
  • Write one version per role type, not one for all applications. The same history framed for a backend role and a data role are different paragraphs. Produce both, label them, and say which goes where.
  • Tie it to this employer in the final sentence. Generic self-introductions are the default and read as such.
  • Count the words and state the count. Portals truncate silently. Supply a trimmed variant and name which sentence to cut first.

Field type: structured project entries

Typically project name, role, start date, end date, description.

Project name. Give the project a descriptive name, not the employer's name — "Warehouse Inventory Forecasting Platform" is a project, "Acme Corp" is an employer. Where a client is more recognisable than the employer, name the client only if the relationship is truthful (placed on-site with, delivered to).

Role. The candidate's role on that project, which may be narrower than their job title. Do not upgrade it.

Dates. The dates they worked on that project, which are not automatically the employment dates. If a role spanned two years but the named project occupied the later part, saying so is both more accurate and avoids the low-output reading described in 05-cv-templates.md ("Check tenure against visible output"). Only narrow the dates when the candidate can say when the project actually started — never invent a boundary to improve the ratio.

Description. 100150 words: what the system did and who used it, then the hardest technical problem and how it was solved, then the outcome with its number. Supply a ~60-word short version as well; portals vary and the candidate should not have to improvise a cut.

Scope discipline is stricter here than on a CV. A CV bullet can be terse enough to be ambiguous about ownership. A project entry with the candidate's name and role attached reads as ownership of the whole thing. Where they contributed rather than owned, say so inside the description.

Field type: hard character limits

These reward a specific situation over an adjective. Most applicants submit adjectives — "passionate", "fast learner", "team player" — so a concrete situation stands out by contrast.

Method:

  1. Pick the single most distinctive true thing: usually a number, an unusual combination of backgrounds, or a problem shape that maps onto the employer's own work.
  2. Draft 46 candidates at different angles.
  3. Count characters programmatically. Do not estimate. Over-limit text is truncated mid-word.
  4. Present all candidates with counts, recommend one, and say why.

Prefer the version that maps the candidate's problem onto the employer's problem, where a truthful mapping exists. That is what "stand out" is actually asking for.

Output format

Save to a plain .txt file the candidate can copy from, alongside their other application material for that employer. One file per employer, containing every field that employer asked for.

Include:

  • A header naming the employer and the roles it covers
  • Each field, labelled, with word or character counts stated
  • Short variants where limits may be tighter than expected
  • NOTE TO SELF blocks for scope reminders and prepared answers to questions the content invites — clearly marked as not for pasting into the form
  • A dates quick-reference, so date fields stay consistent without re-deriving them

Verification before handing it over

  • Every factual claim traces to the union of 01-candidate-profile.md, the master CV (cv/main_example.tex), and CLAUDE.md's Candidate Profile section
  • No claim contradicts the CV or cover letter submitted for the same role
  • Ownership scoped correctly on contributory work
  • Word and character counts measured, not estimated
  • In-progress qualifications described as in progress
  • NOTE TO SELF blocks clearly marked as internal