@tonguetoquill/collection 0.2.3 → 0.2.5-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -201
- package/README.md +39 -39
- package/index.d.ts +2 -2
- package/index.js +8 -8
- package/package.json +41 -41
- package/quills/af4141/0.1.0/Quill.yaml +88 -88
- package/quills/af4141/0.1.0/design/TASK.md +19 -19
- package/quills/af4141/0.1.0/example.md +35 -35
- package/quills/af4141/0.1.0/packages/typst-af4141/FIELDS.json +3169 -3169
- package/quills/af4141/0.1.0/packages/typst-af4141/form.typ +538 -538
- package/quills/af4141/0.1.0/packages/typst-af4141/lib.typ +227 -227
- package/quills/af4141/0.1.0/packages/typst-af4141/typst.toml +7 -7
- package/quills/af4141/0.1.0/plate.typ +48 -48
- package/quills/classic_resume/0.1.0/Quill.yaml +118 -118
- package/quills/classic_resume/0.1.0/example.md +232 -232
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/LICENSE +21 -21
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/README.md +38 -38
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/components.typ +184 -184
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/layout.typ +42 -42
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/src/lib.typ +5 -5
- package/quills/classic_resume/0.1.0/packages/ttq-classic-resume/typst.toml +26 -26
- package/quills/classic_resume/0.1.0/plate.typ +44 -44
- package/quills/cmu_letter/0.1.0/.quillignore +30 -30
- package/quills/cmu_letter/0.1.0/Quill.yaml +64 -64
- package/quills/cmu_letter/0.1.0/assets/cmu-wordmark.svg +174 -174
- package/quills/cmu_letter/0.1.0/example.md +30 -30
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/LICENSE +21 -21
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/fonts/README.txt +100 -100
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/backmatter.typ +13 -13
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/config.typ +39 -39
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/frontmatter.typ +72 -72
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/lib.typ +47 -47
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/mainmatter.typ +42 -42
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/primitives.typ +70 -70
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/src/utils.typ +85 -85
- package/quills/cmu_letter/0.1.0/packages/tonguetoquill-cmu-letter/typst.toml +17 -17
- package/quills/cmu_letter/0.1.0/plate.typ +19 -19
- package/quills/daf4392/0.1.0/Quill.yaml +110 -0
- package/quills/daf4392/0.1.0/assets/arimo-v35-latin-700.ttf +0 -0
- package/quills/daf4392/0.1.0/assets/arimo-v35-latin-700italic.ttf +0 -0
- package/quills/daf4392/0.1.0/assets/arimo-v35-latin-italic.ttf +0 -0
- package/quills/daf4392/0.1.0/assets/arimo-v35-latin-regular.ttf +0 -0
- package/quills/daf4392/0.1.0/assets/page1.png +0 -0
- package/quills/daf4392/0.1.0/example.md +33 -0
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/FIELDS.json +9 -0
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/form.typ +14 -0
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/lib.typ +227 -0
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/out/debug.typ +4 -0
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/out/example.typ +4 -0
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/page1.png +0 -0
- package/quills/daf4392/0.1.0/packages/daf4392page2_pkg/typst.toml +7 -0
- package/quills/daf4392/0.1.0/plate.typ +60 -0
- package/quills/taro/0.1.0/Quill.yaml +29 -29
- package/quills/taro/0.1.0/example.md +26 -26
- package/quills/taro/0.1.0/plate.typ +31 -31
- package/quills/usaf_memo/0.1.0/.quillignore +30 -30
- package/quills/usaf_memo/0.1.0/Quill.yaml +209 -209
- package/quills/usaf_memo/0.1.0/example.md +54 -54
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/LICENSE +21 -21
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/LICENSE +93 -93
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/LICENSE.md +79 -79
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/GNU General Public License.txt +339 -339
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/backmatter.typ +28 -28
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/body.typ +332 -332
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/config.typ +63 -63
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +114 -114
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/indorsement.typ +118 -118
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/lib.typ +55 -55
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/mainmatter.typ +32 -32
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/primitives.typ +272 -272
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/src/utils.typ +377 -377
- package/quills/usaf_memo/0.1.0/packages/tonguetoquill-usaf-memo/typst.toml +16 -16
- package/quills/usaf_memo/0.1.0/plate.typ +74 -74
- package/quills/usaf_memo/0.2.0/.quillignore +30 -30
- package/quills/usaf_memo/0.2.0/Quill.yaml +219 -219
- package/quills/usaf_memo/0.2.0/example.md +55 -55
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/.gitignore +6 -6
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/LICENSE +21 -21
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/Cinzel/LICENSE +93 -93
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/CopperplateCC/LICENSE.md +79 -79
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/fonts/NimbusRomanNo9L/GNU General Public License.txt +339 -339
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/backmatter.typ +28 -28
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/body.typ +333 -333
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/config.typ +64 -64
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/frontmatter.typ +114 -114
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/indorsement.typ +118 -118
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/lib.typ +55 -55
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/mainmatter.typ +32 -32
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/primitives.typ +293 -293
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/src/utils.typ +374 -374
- package/quills/usaf_memo/0.2.0/packages/tonguetoquill-usaf-memo/typst.toml +27 -27
- package/quills/usaf_memo/0.2.0/plate.typ +75 -75
- package/templates/af4141.md +88 -88
- package/templates/cmu_letter_template.md +37 -37
- package/templates/daf4392.md +33 -0
- package/templates/loc.md +78 -78
- package/templates/pass_request.md +43 -43
- package/templates/rebuttal.md +55 -55
- package/templates/taro.md +26 -26
- package/templates/templates.json +55 -49
- package/templates/usaf_template.md +23 -23
- package/templates/ussf_template.md +29 -29
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
[package]
|
|
2
|
-
name = "tonguetoquill-usaf-memo"
|
|
3
|
-
version = "2.0.0"
|
|
4
|
-
compiler = "0.14.0"
|
|
5
|
-
entrypoint = "src/lib.typ"
|
|
6
|
-
repository = "https://github.com/nibsbin/tonguetoquill-usaf-memo"
|
|
7
|
-
authors = ["Nibs"]
|
|
8
|
-
license = "MIT"
|
|
9
|
-
description = "Typeset memos that are fully compliant with AFH 33-337 'The Tongue and Quill'."
|
|
10
|
-
keywords = [
|
|
11
|
-
"USAF",
|
|
12
|
-
"Air Force",
|
|
13
|
-
"memorandum",
|
|
14
|
-
"memo",
|
|
15
|
-
"military",
|
|
16
|
-
"AFH 33-337",
|
|
17
|
-
"official",
|
|
18
|
-
"correspondence",
|
|
19
|
-
"formatting",
|
|
20
|
-
]
|
|
21
|
-
categories = ["office", "report"]
|
|
22
|
-
disciplines = ["politics", "law", "business", "engineering", "education"]
|
|
23
|
-
|
|
24
|
-
[template]
|
|
25
|
-
path = "template"
|
|
26
|
-
entrypoint = "usaf-template.typ"
|
|
27
|
-
thumbnail = "template/assets/thumbnail.png"
|
|
1
|
+
[package]
|
|
2
|
+
name = "tonguetoquill-usaf-memo"
|
|
3
|
+
version = "2.0.0"
|
|
4
|
+
compiler = "0.14.0"
|
|
5
|
+
entrypoint = "src/lib.typ"
|
|
6
|
+
repository = "https://github.com/nibsbin/tonguetoquill-usaf-memo"
|
|
7
|
+
authors = ["Nibs"]
|
|
8
|
+
license = "MIT"
|
|
9
|
+
description = "Typeset memos that are fully compliant with AFH 33-337 'The Tongue and Quill'."
|
|
10
|
+
keywords = [
|
|
11
|
+
"USAF",
|
|
12
|
+
"Air Force",
|
|
13
|
+
"memorandum",
|
|
14
|
+
"memo",
|
|
15
|
+
"military",
|
|
16
|
+
"AFH 33-337",
|
|
17
|
+
"official",
|
|
18
|
+
"correspondence",
|
|
19
|
+
"formatting",
|
|
20
|
+
]
|
|
21
|
+
categories = ["office", "report"]
|
|
22
|
+
disciplines = ["politics", "law", "business", "engineering", "education"]
|
|
23
|
+
|
|
24
|
+
[template]
|
|
25
|
+
path = "template"
|
|
26
|
+
entrypoint = "usaf-template.typ"
|
|
27
|
+
thumbnail = "template/assets/thumbnail.png"
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
#import "@local/quillmark-helper:0.1.0": data, eval-markup, parse-date
|
|
2
|
-
#import "@local/tonguetoquill-usaf-memo:2.0.0": backmatter, frontmatter, indorsement, mainmatter
|
|
3
|
-
|
|
4
|
-
// Frontmatter configuration
|
|
5
|
-
#show: frontmatter.with(
|
|
6
|
-
// Letterhead configuration
|
|
7
|
-
letterhead_title: data.letterhead_title,
|
|
8
|
-
letterhead_caption: data.letterhead_caption,
|
|
9
|
-
letterhead_seal: image("assets/dow_seal.png"),
|
|
10
|
-
|
|
11
|
-
// Date
|
|
12
|
-
date: parse-date(data.date),
|
|
13
|
-
|
|
14
|
-
// Receiver information
|
|
15
|
-
memo_for: data.memo_for,
|
|
16
|
-
|
|
17
|
-
// Sender information
|
|
18
|
-
memo_from: data.memo_from,
|
|
19
|
-
|
|
20
|
-
// Subject line
|
|
21
|
-
subject: data.subject,
|
|
22
|
-
|
|
23
|
-
// Optional references
|
|
24
|
-
..if "references" in data { (references: data.references) },
|
|
25
|
-
|
|
26
|
-
// Optional footer tag line
|
|
27
|
-
..if "tag_line" in data { (footer_tag_line: data.tag_line) },
|
|
28
|
-
|
|
29
|
-
// Optional classification level
|
|
30
|
-
..if "classification" in data { (classification_level: data.classification) },
|
|
31
|
-
|
|
32
|
-
// Font size
|
|
33
|
-
..if "font_size" in data { (font_size: float(data.font_size) * 1pt) },
|
|
34
|
-
|
|
35
|
-
// List recipients in vertical list
|
|
36
|
-
memo_for_cols: 1,
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
// Mainmatter configuration
|
|
40
|
-
#mainmatter[
|
|
41
|
-
#eval-markup(data.BODY)
|
|
42
|
-
]
|
|
43
|
-
|
|
44
|
-
// Backmatter
|
|
45
|
-
#backmatter(
|
|
46
|
-
// Signature block
|
|
47
|
-
signature_block: data.signature_block,
|
|
48
|
-
|
|
49
|
-
// Optional cc
|
|
50
|
-
..if "cc" in data { (cc: data.cc) },
|
|
51
|
-
|
|
52
|
-
// Optional distribution
|
|
53
|
-
..if "distribution" in data { (distribution: data.distribution) },
|
|
54
|
-
|
|
55
|
-
// Optional attachments
|
|
56
|
-
..if "attachments" in data { (attachments: data.attachments) },
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
// Indorsements - iterate through CARDS array and filter by CARD type
|
|
60
|
-
#for card in data.CARDS {
|
|
61
|
-
if card.CARD == "indorsement" {
|
|
62
|
-
indorsement(
|
|
63
|
-
from: card.at("from", default: ""),
|
|
64
|
-
to: card.at("for", default: ""),
|
|
65
|
-
signature_block: card.signature_block,
|
|
66
|
-
..if "attachments" in card { (attachments: card.attachments) },
|
|
67
|
-
..if "cc" in card { (cc: card.cc) },
|
|
68
|
-
format: card.at("format", default: "standard"),
|
|
69
|
-
..if "date" in card { (date: card.date) },
|
|
70
|
-
..if "action" in card { (action: card.action) },
|
|
71
|
-
)[
|
|
72
|
-
#eval-markup(card.BODY)
|
|
73
|
-
]
|
|
74
|
-
}
|
|
75
|
-
}
|
|
1
|
+
#import "@local/quillmark-helper:0.1.0": data, eval-markup, parse-date
|
|
2
|
+
#import "@local/tonguetoquill-usaf-memo:2.0.0": backmatter, frontmatter, indorsement, mainmatter
|
|
3
|
+
|
|
4
|
+
// Frontmatter configuration
|
|
5
|
+
#show: frontmatter.with(
|
|
6
|
+
// Letterhead configuration
|
|
7
|
+
letterhead_title: data.letterhead_title,
|
|
8
|
+
letterhead_caption: data.letterhead_caption,
|
|
9
|
+
letterhead_seal: image("assets/dow_seal.png"),
|
|
10
|
+
|
|
11
|
+
// Date
|
|
12
|
+
date: parse-date(data.date),
|
|
13
|
+
|
|
14
|
+
// Receiver information
|
|
15
|
+
memo_for: data.memo_for,
|
|
16
|
+
|
|
17
|
+
// Sender information
|
|
18
|
+
memo_from: data.memo_from,
|
|
19
|
+
|
|
20
|
+
// Subject line
|
|
21
|
+
subject: data.subject,
|
|
22
|
+
|
|
23
|
+
// Optional references
|
|
24
|
+
..if "references" in data { (references: data.references) },
|
|
25
|
+
|
|
26
|
+
// Optional footer tag line
|
|
27
|
+
..if "tag_line" in data { (footer_tag_line: data.tag_line) },
|
|
28
|
+
|
|
29
|
+
// Optional classification level
|
|
30
|
+
..if "classification" in data { (classification_level: data.classification) },
|
|
31
|
+
|
|
32
|
+
// Font size
|
|
33
|
+
..if "font_size" in data { (font_size: float(data.font_size) * 1pt) },
|
|
34
|
+
|
|
35
|
+
// List recipients in vertical list
|
|
36
|
+
memo_for_cols: 1,
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
// Mainmatter configuration
|
|
40
|
+
#mainmatter[
|
|
41
|
+
#eval-markup(data.BODY)
|
|
42
|
+
]
|
|
43
|
+
|
|
44
|
+
// Backmatter
|
|
45
|
+
#backmatter(
|
|
46
|
+
// Signature block
|
|
47
|
+
signature_block: data.signature_block,
|
|
48
|
+
|
|
49
|
+
// Optional cc
|
|
50
|
+
..if "cc" in data { (cc: data.cc) },
|
|
51
|
+
|
|
52
|
+
// Optional distribution
|
|
53
|
+
..if "distribution" in data { (distribution: data.distribution) },
|
|
54
|
+
|
|
55
|
+
// Optional attachments
|
|
56
|
+
..if "attachments" in data { (attachments: data.attachments) },
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
// Indorsements - iterate through CARDS array and filter by CARD type
|
|
60
|
+
#for card in data.CARDS {
|
|
61
|
+
if card.CARD == "indorsement" {
|
|
62
|
+
indorsement(
|
|
63
|
+
from: card.at("from", default: ""),
|
|
64
|
+
to: card.at("for", default: ""),
|
|
65
|
+
signature_block: card.signature_block,
|
|
66
|
+
..if "attachments" in card { (attachments: card.attachments) },
|
|
67
|
+
..if "cc" in card { (cc: card.cc) },
|
|
68
|
+
format: card.at("format", default: "standard"),
|
|
69
|
+
..if "date" in card { (date: card.date) },
|
|
70
|
+
..if "action" in card { (action: card.action) },
|
|
71
|
+
)[
|
|
72
|
+
#eval-markup(card.BODY)
|
|
73
|
+
]
|
|
74
|
+
}
|
|
75
|
+
}
|
package/templates/af4141.md
CHANGED
|
@@ -1,88 +1,88 @@
|
|
|
1
|
-
---
|
|
2
|
-
QUILL: af4141@0.1
|
|
3
|
-
# EDIT: Full name in Last, First, Middle Initial format
|
|
4
|
-
name:
|
|
5
|
-
# EDIT: Unit of assignment (e.g., "1 ACCS/DOT", "726 ACS/MOC")
|
|
6
|
-
unit:
|
|
7
|
-
# EDIT: Current grade or CCC level (e.g., "SSgt", "GS-12", "3")
|
|
8
|
-
grade:
|
|
9
|
-
# EDIT: Commander's authentication entry — often a commander's name/signature block or "Verified by unit commander"
|
|
10
|
-
commanders_auth:
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
<!-- ═══════════════════════════════════════════════════════════════
|
|
14
|
-
RECORD OF EXPERIENCE CARDS
|
|
15
|
-
Each card below becomes one row in the experience table.
|
|
16
|
-
Page 1 holds up to 16 rows; Page 2 holds up to 21 rows (37 max).
|
|
17
|
-
|
|
18
|
-
Required reportable actions include:
|
|
19
|
-
• Initial/subsequent duty assignment
|
|
20
|
-
• Written and/or positional upgrade evaluations
|
|
21
|
-
• Certification events (Mission Ready, Senior Director, etc.)
|
|
22
|
-
• Downgrade or decertification
|
|
23
|
-
• PCS/PCA departure
|
|
24
|
-
• Temporary duty of significant duration
|
|
25
|
-
• Any other commander-directed entry
|
|
26
|
-
|
|
27
|
-
Leave blank any columns that do not apply to a given entry.
|
|
28
|
-
═══════════════════════════════════════════════════════════════ -->
|
|
29
|
-
|
|
30
|
-
<!-- Example 1: Initial assignment to a unit -->
|
|
31
|
-
---
|
|
32
|
-
CARD: experience
|
|
33
|
-
date: "15 Jan 2025"
|
|
34
|
-
action: "Assigned to 1 ACCS/DOT as Weapons Director"
|
|
35
|
-
written_grade: ""
|
|
36
|
-
written_grade_date: ""
|
|
37
|
-
positional_grade: ""
|
|
38
|
-
positional_grade_date: ""
|
|
39
|
-
auth_or_remarks: "Initial assignment"
|
|
40
|
-
---
|
|
41
|
-
|
|
42
|
-
<!-- Example 2: Written upgrade evaluation -->
|
|
43
|
-
---
|
|
44
|
-
CARD: experience
|
|
45
|
-
date: "15 Mar 2025"
|
|
46
|
-
action: "Completed written upgrade evaluation for 3-Level"
|
|
47
|
-
written_grade: "3"
|
|
48
|
-
written_grade_date: "15 Mar 2025"
|
|
49
|
-
positional_grade: ""
|
|
50
|
-
positional_grade_date: ""
|
|
51
|
-
auth_or_remarks: "Per AFMAN 13-1CRCV1"
|
|
52
|
-
---
|
|
53
|
-
|
|
54
|
-
<!-- Example 3: Positional (live-environment) upgrade / certification -->
|
|
55
|
-
---
|
|
56
|
-
CARD: experience
|
|
57
|
-
date: "20 Jun 2025"
|
|
58
|
-
action: "Certified Mission Ready — positional upgrade"
|
|
59
|
-
written_grade: ""
|
|
60
|
-
written_grade_date: ""
|
|
61
|
-
positional_grade: "4"
|
|
62
|
-
positional_grade_date: "20 Jun 2025"
|
|
63
|
-
auth_or_remarks: "SSgt Jones, T.R."
|
|
64
|
-
---
|
|
65
|
-
|
|
66
|
-
<!-- Example 4: Combined written + positional upgrade (both columns filled) -->
|
|
67
|
-
---
|
|
68
|
-
CARD: experience
|
|
69
|
-
date: "01 Aug 2025"
|
|
70
|
-
action: "Upgrade evaluation — written and positional"
|
|
71
|
-
written_grade: "4"
|
|
72
|
-
written_grade_date: "01 Aug 2025"
|
|
73
|
-
positional_grade: "4"
|
|
74
|
-
positional_grade_date: "01 Aug 2025"
|
|
75
|
-
auth_or_remarks: "Verified by unit commander"
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
<!-- Example 5: PCS departure — no grade columns needed -->
|
|
79
|
-
---
|
|
80
|
-
CARD: experience
|
|
81
|
-
date: "01 Sep 2025"
|
|
82
|
-
action: "PCS to 726 ACS/MOC, Tinker AFB OK"
|
|
83
|
-
written_grade: ""
|
|
84
|
-
written_grade_date: ""
|
|
85
|
-
positional_grade: ""
|
|
86
|
-
positional_grade_date: ""
|
|
87
|
-
auth_or_remarks: "Outprocessed 1 ACCS/DOT"
|
|
88
|
-
---
|
|
1
|
+
---
|
|
2
|
+
QUILL: af4141@0.1
|
|
3
|
+
# EDIT: Full name in Last, First, Middle Initial format
|
|
4
|
+
name: "LAST, FIRST M."
|
|
5
|
+
# EDIT: Unit of assignment (e.g., "1 ACCS/DOT", "726 ACS/MOC")
|
|
6
|
+
unit: "UNIT/SYMBOL"
|
|
7
|
+
# EDIT: Current grade or CCC level (e.g., "SSgt", "GS-12", "3")
|
|
8
|
+
grade: "GRADE"
|
|
9
|
+
# EDIT: Commander's authentication entry — often a commander's name/signature block or "Verified by unit commander"
|
|
10
|
+
commanders_auth: ""
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
<!-- ═══════════════════════════════════════════════════════════════
|
|
14
|
+
RECORD OF EXPERIENCE CARDS
|
|
15
|
+
Each card below becomes one row in the experience table.
|
|
16
|
+
Page 1 holds up to 16 rows; Page 2 holds up to 21 rows (37 max).
|
|
17
|
+
|
|
18
|
+
Required reportable actions include:
|
|
19
|
+
• Initial/subsequent duty assignment
|
|
20
|
+
• Written and/or positional upgrade evaluations
|
|
21
|
+
• Certification events (Mission Ready, Senior Director, etc.)
|
|
22
|
+
• Downgrade or decertification
|
|
23
|
+
• PCS/PCA departure
|
|
24
|
+
• Temporary duty of significant duration
|
|
25
|
+
• Any other commander-directed entry
|
|
26
|
+
|
|
27
|
+
Leave blank any columns that do not apply to a given entry.
|
|
28
|
+
═══════════════════════════════════════════════════════════════ -->
|
|
29
|
+
|
|
30
|
+
<!-- Example 1: Initial assignment to a unit -->
|
|
31
|
+
---
|
|
32
|
+
CARD: experience
|
|
33
|
+
date: "15 Jan 2025"
|
|
34
|
+
action: "Assigned to 1 ACCS/DOT as Weapons Director"
|
|
35
|
+
written_grade: ""
|
|
36
|
+
written_grade_date: ""
|
|
37
|
+
positional_grade: ""
|
|
38
|
+
positional_grade_date: ""
|
|
39
|
+
auth_or_remarks: "Initial assignment"
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
<!-- Example 2: Written upgrade evaluation -->
|
|
43
|
+
---
|
|
44
|
+
CARD: experience
|
|
45
|
+
date: "15 Mar 2025"
|
|
46
|
+
action: "Completed written upgrade evaluation for 3-Level"
|
|
47
|
+
written_grade: "3"
|
|
48
|
+
written_grade_date: "15 Mar 2025"
|
|
49
|
+
positional_grade: ""
|
|
50
|
+
positional_grade_date: ""
|
|
51
|
+
auth_or_remarks: "Per AFMAN 13-1CRCV1"
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
<!-- Example 3: Positional (live-environment) upgrade / certification -->
|
|
55
|
+
---
|
|
56
|
+
CARD: experience
|
|
57
|
+
date: "20 Jun 2025"
|
|
58
|
+
action: "Certified Mission Ready — positional upgrade"
|
|
59
|
+
written_grade: ""
|
|
60
|
+
written_grade_date: ""
|
|
61
|
+
positional_grade: "4"
|
|
62
|
+
positional_grade_date: "20 Jun 2025"
|
|
63
|
+
auth_or_remarks: "SSgt Jones, T.R."
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
<!-- Example 4: Combined written + positional upgrade (both columns filled) -->
|
|
67
|
+
---
|
|
68
|
+
CARD: experience
|
|
69
|
+
date: "01 Aug 2025"
|
|
70
|
+
action: "Upgrade evaluation — written and positional"
|
|
71
|
+
written_grade: "4"
|
|
72
|
+
written_grade_date: "01 Aug 2025"
|
|
73
|
+
positional_grade: "4"
|
|
74
|
+
positional_grade_date: "01 Aug 2025"
|
|
75
|
+
auth_or_remarks: "Verified by unit commander"
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
<!-- Example 5: PCS departure — no grade columns needed -->
|
|
79
|
+
---
|
|
80
|
+
CARD: experience
|
|
81
|
+
date: "01 Sep 2025"
|
|
82
|
+
action: "PCS to 726 ACS/MOC, Tinker AFB OK"
|
|
83
|
+
written_grade: ""
|
|
84
|
+
written_grade_date: ""
|
|
85
|
+
positional_grade: ""
|
|
86
|
+
positional_grade_date: ""
|
|
87
|
+
auth_or_remarks: "Outprocessed 1 ACCS/DOT"
|
|
88
|
+
---
|
|
@@ -1,38 +1,38 @@
|
|
|
1
|
-
---
|
|
2
|
-
QUILL: cmu_letter@0.1
|
|
3
|
-
department: Department Here
|
|
4
|
-
address:
|
|
5
|
-
- 5000 Forbes Avenue
|
|
6
|
-
- Pittsburgh, PA 15213-3890
|
|
7
|
-
url: cmu.edu
|
|
8
|
-
|
|
9
|
-
date: 2025-11-30
|
|
10
|
-
recipient:
|
|
11
|
-
- Dr. Heinz Doofenshmirtz
|
|
12
|
-
- 9297 Polly Parkway
|
|
13
|
-
- City, Virginia 46231
|
|
14
|
-
signature_block:
|
|
15
|
-
- Phineas Flynn
|
|
16
|
-
- Masters Student
|
|
17
|
-
---
|
|
18
|
-
<!--
|
|
19
|
-
In the data above, edit:
|
|
20
|
-
- Recipient
|
|
21
|
-
- Signature block
|
|
22
|
-
-->
|
|
23
|
-
|
|
24
|
-
Dear {:Dr. Heinz Doofenshmirtz:},
|
|
25
|
-
|
|
26
|
-
Write your letter content here. This template uses the CMU letter format for professional academic correspondence.
|
|
27
|
-
|
|
28
|
-
You can organize your thoughts with bullet points:
|
|
29
|
-
|
|
30
|
-
- First point with supporting details and context.
|
|
31
|
-
|
|
32
|
-
- Second point to address additional matters or provide supplementary information.
|
|
33
|
-
|
|
34
|
-
Use additional paragraphs to develop your ideas fully and maintain clear communication.
|
|
35
|
-
|
|
36
|
-
You can also **bold**, _italicize_, __underline__, `code`, and ~~strikethrough~~ your text as needed.
|
|
37
|
-
|
|
1
|
+
---
|
|
2
|
+
QUILL: cmu_letter@0.1
|
|
3
|
+
department: Department Here
|
|
4
|
+
address:
|
|
5
|
+
- 5000 Forbes Avenue
|
|
6
|
+
- Pittsburgh, PA 15213-3890
|
|
7
|
+
url: cmu.edu
|
|
8
|
+
|
|
9
|
+
date: 2025-11-30
|
|
10
|
+
recipient:
|
|
11
|
+
- Dr. Heinz Doofenshmirtz
|
|
12
|
+
- 9297 Polly Parkway
|
|
13
|
+
- City, Virginia 46231
|
|
14
|
+
signature_block:
|
|
15
|
+
- Phineas Flynn
|
|
16
|
+
- Masters Student
|
|
17
|
+
---
|
|
18
|
+
<!--
|
|
19
|
+
In the data above, edit:
|
|
20
|
+
- Recipient
|
|
21
|
+
- Signature block
|
|
22
|
+
-->
|
|
23
|
+
|
|
24
|
+
Dear {:Dr. Heinz Doofenshmirtz:},
|
|
25
|
+
|
|
26
|
+
Write your letter content here. This template uses the CMU letter format for professional academic correspondence.
|
|
27
|
+
|
|
28
|
+
You can organize your thoughts with bullet points:
|
|
29
|
+
|
|
30
|
+
- First point with supporting details and context.
|
|
31
|
+
|
|
32
|
+
- Second point to address additional matters or provide supplementary information.
|
|
33
|
+
|
|
34
|
+
Use additional paragraphs to develop your ideas fully and maintain clear communication.
|
|
35
|
+
|
|
36
|
+
You can also **bold**, _italicize_, __underline__, `code`, and ~~strikethrough~~ your text as needed.
|
|
37
|
+
|
|
38
38
|
Sincerely,
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
QUILL: daf4392
|
|
3
|
+
|
|
4
|
+
transportation_mode: "other"
|
|
5
|
+
departure_date: "XX Mar 26"
|
|
6
|
+
final_destination: "123 Sesame St, Fake City, MS"
|
|
7
|
+
notes: "Visiting Donald Duck over 3 day weekend."
|
|
8
|
+
organization: "333 TRS"
|
|
9
|
+
briefed_date: "XX Mar 26"
|
|
10
|
+
briefee_name: "Doe, Jane"
|
|
11
|
+
briefee_grade: "O-1"
|
|
12
|
+
briefer_name: ""
|
|
13
|
+
briefer_grade: ""
|
|
14
|
+
emergency_contact: "John Doe: 999-999-9999"
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
---
|
|
18
|
+
CARD: itinerary
|
|
19
|
+
date: "XX Mar"
|
|
20
|
+
departure_point: "Biloxi, MS"
|
|
21
|
+
arrival_point: "Fake City, MS"
|
|
22
|
+
rest_length: "2 days"
|
|
23
|
+
mileage: "250"
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
CARD: itinerary
|
|
28
|
+
date: "XX Mar"
|
|
29
|
+
departure_point: "Fake City, MS"
|
|
30
|
+
arrival_point: "Biloxi, MS"
|
|
31
|
+
rest_length: "0"
|
|
32
|
+
mileage: "0"
|
|
33
|
+
---
|
package/templates/loc.md
CHANGED
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
---
|
|
2
|
-
QUILL: usaf_memo@0.2
|
|
3
|
-
letterhead_title: DEPARTMENT OF THE AIR FORCE
|
|
4
|
-
letterhead_caption:
|
|
5
|
-
- 20th Fighter Wing (ACC)
|
|
6
|
-
- Shaw Air Force Base South Carolina
|
|
7
|
-
memo_for:
|
|
8
|
-
- SUBJECT RANK FIRST M. LAST
|
|
9
|
-
memo_from:
|
|
10
|
-
- ISSUER ORG/SYMBOL
|
|
11
|
-
subject: Letter of Counseling
|
|
12
|
-
signature_block:
|
|
13
|
-
- ISSUER FIRST M. LAST, RANK, USAF
|
|
14
|
-
- ISSUER DUTY TITLE
|
|
15
|
-
tag_line: Get Rekt # Optional tagline
|
|
16
|
-
|
|
17
|
-
# Tune to fit all indorsements on second page
|
|
18
|
-
font_size: 11
|
|
19
|
-
compress_indorsements: true
|
|
20
|
-
|
|
21
|
-
# Based on LOCAR template from https://www.shaw.af.mil/Portals/98/Docs/Legal/Revamp/2022%20LOCAR%20TEMPLATE%20(Enlisted).docx
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
**NOTE: This template is undergoing major refinement. It is included for demonstration purposes.**
|
|
25
|
-
|
|
26
|
-
<!-- EDIT: Describe the incident: what the member did or failed to do, citing specific incidents and dates, and if possible, with UCMJ articles. -->
|
|
27
|
-
Investigation has disclosed the {:incident_description:}.
|
|
28
|
-
|
|
29
|
-
<!-- EDIT: Counseling paragraph: Discuss the impact of the member's actions and what improvement is expected. -->
|
|
30
|
-
You are hereby counseled.
|
|
31
|
-
{:impact_and_expected_improvement:}.
|
|
32
|
-
Your conduct is unacceptable and any future misconduct may result in more severe action.
|
|
33
|
-
|
|
34
|
-
The following information required by the Privacy Act is provided for your information. **AUTHORITY**: 10 U.S.C. § 8013. **PURPOSE**: To obtain any comments or documents you desire to submit (on a voluntary basis) for consideration concerning this action. **ROUTINE USES**: Provides you an opportunity to submit comments or documents for consideration. If provided, the comments and documents you submit become a part of the action. **DISCLOSURE**: Your written acknowledgement of receipt and signature are mandatory. Any other comments or documents you provide are voluntary.
|
|
35
|
-
|
|
36
|
-
You will acknowledge receipt of this letter immediately by signing the first indorsement. Within 3 duty days from the day you received this letter, you will provide your response by signing the second indorsement below. Any comments or documents you wish to be considered concerning this letter must be submitted at that time, and will become part of the record, consistent with AFI 36-2907, Adverse Administrative Actions, paragraph 2.4.2.5. After receiving your response, I intend to notify you of my final disposition of this action within 3 duty days.
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
CARD: indorsement
|
|
40
|
-
for: ISSUER ORG/SYMBOL
|
|
41
|
-
from: SUBJECT RANK FIRST M. LAST
|
|
42
|
-
signature_block: SUBJECT FIRST M. LAST, RANK, USAF
|
|
43
|
-
---
|
|
44
|
-
|
|
45
|
-
<!-- EDIT: First Indorsement: Subject acknowledges receipt of the LOC -->
|
|
46
|
-
I acknowledge receipt and understanding of this letter on {:date and time:}. I understand that I have 3 duty days from the date I received this letter to provide a response and that I must include in my response any comments or documents I wish to be considered concerning this Letter of Counseling.
|
|
47
|
-
|
|
48
|
-
---
|
|
49
|
-
CARD: indorsement
|
|
50
|
-
from: SUBJECT RANK FIRST M. LAST
|
|
51
|
-
for: ISSUER ORG/SYMBOL
|
|
52
|
-
signature_block: SUBJECT FIRST M. LAST, RANK, USAF
|
|
53
|
-
date: "Date: _____________"
|
|
54
|
-
---
|
|
55
|
-
|
|
56
|
-
<!-- EDIT: Second Indorsement: Subject's response - choose one option -->
|
|
57
|
-
I have reviewed the allegations contained in this Letter of Counseling. _I am submitting the attached documents in response_ / _I hereby waive my right to respond_.
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
CARD: indorsement
|
|
61
|
-
from: ISSUER RANK FIRST M. LAST
|
|
62
|
-
for: SUBJECT RANK FIRST M. LAST
|
|
63
|
-
signature_block: ISSUER FIRST M. LAST, RANK, USAF
|
|
64
|
-
date: "Date: _____________"
|
|
65
|
-
---
|
|
66
|
-
|
|
67
|
-
<!-- EDIT: Third Indorsement: Issuer's final decision - choose appropriate options -->
|
|
68
|
-
_I have considered the response you submitted_ / _You waived your right to submit a response to this action_. I have decided to _withdraw_ / _sustain_ the Letter of Counseling.
|
|
69
|
-
|
|
70
|
-
---
|
|
71
|
-
CARD: indorsement
|
|
72
|
-
from: SUBJECT RANK FIRST M. LAST
|
|
73
|
-
for: ISSUER ORG/SYMBOL
|
|
74
|
-
signature_block: SUBJECT FIRST M. LAST, RANK, USAF
|
|
75
|
-
date: "Date: _____________"
|
|
76
|
-
---
|
|
77
|
-
|
|
78
|
-
<!-- EDIT: Fourth Indorsement: Subject acknowledges final decision -->
|
|
1
|
+
---
|
|
2
|
+
QUILL: usaf_memo@0.2
|
|
3
|
+
letterhead_title: DEPARTMENT OF THE AIR FORCE
|
|
4
|
+
letterhead_caption:
|
|
5
|
+
- 20th Fighter Wing (ACC)
|
|
6
|
+
- Shaw Air Force Base South Carolina
|
|
7
|
+
memo_for:
|
|
8
|
+
- SUBJECT RANK FIRST M. LAST
|
|
9
|
+
memo_from:
|
|
10
|
+
- ISSUER ORG/SYMBOL
|
|
11
|
+
subject: Letter of Counseling
|
|
12
|
+
signature_block:
|
|
13
|
+
- ISSUER FIRST M. LAST, RANK, USAF
|
|
14
|
+
- ISSUER DUTY TITLE
|
|
15
|
+
tag_line: Get Rekt # Optional tagline
|
|
16
|
+
|
|
17
|
+
# Tune to fit all indorsements on second page
|
|
18
|
+
font_size: 11
|
|
19
|
+
compress_indorsements: true
|
|
20
|
+
|
|
21
|
+
# Based on LOCAR template from https://www.shaw.af.mil/Portals/98/Docs/Legal/Revamp/2022%20LOCAR%20TEMPLATE%20(Enlisted).docx
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
**NOTE: This template is undergoing major refinement. It is included for demonstration purposes.**
|
|
25
|
+
|
|
26
|
+
<!-- EDIT: Describe the incident: what the member did or failed to do, citing specific incidents and dates, and if possible, with UCMJ articles. -->
|
|
27
|
+
Investigation has disclosed the {:incident_description:}.
|
|
28
|
+
|
|
29
|
+
<!-- EDIT: Counseling paragraph: Discuss the impact of the member's actions and what improvement is expected. -->
|
|
30
|
+
You are hereby counseled.
|
|
31
|
+
{:impact_and_expected_improvement:}.
|
|
32
|
+
Your conduct is unacceptable and any future misconduct may result in more severe action.
|
|
33
|
+
|
|
34
|
+
The following information required by the Privacy Act is provided for your information. **AUTHORITY**: 10 U.S.C. § 8013. **PURPOSE**: To obtain any comments or documents you desire to submit (on a voluntary basis) for consideration concerning this action. **ROUTINE USES**: Provides you an opportunity to submit comments or documents for consideration. If provided, the comments and documents you submit become a part of the action. **DISCLOSURE**: Your written acknowledgement of receipt and signature are mandatory. Any other comments or documents you provide are voluntary.
|
|
35
|
+
|
|
36
|
+
You will acknowledge receipt of this letter immediately by signing the first indorsement. Within 3 duty days from the day you received this letter, you will provide your response by signing the second indorsement below. Any comments or documents you wish to be considered concerning this letter must be submitted at that time, and will become part of the record, consistent with AFI 36-2907, Adverse Administrative Actions, paragraph 2.4.2.5. After receiving your response, I intend to notify you of my final disposition of this action within 3 duty days.
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
CARD: indorsement
|
|
40
|
+
for: ISSUER ORG/SYMBOL
|
|
41
|
+
from: SUBJECT RANK FIRST M. LAST
|
|
42
|
+
signature_block: SUBJECT FIRST M. LAST, RANK, USAF
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
<!-- EDIT: First Indorsement: Subject acknowledges receipt of the LOC -->
|
|
46
|
+
I acknowledge receipt and understanding of this letter on {:date and time:}. I understand that I have 3 duty days from the date I received this letter to provide a response and that I must include in my response any comments or documents I wish to be considered concerning this Letter of Counseling.
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
CARD: indorsement
|
|
50
|
+
from: SUBJECT RANK FIRST M. LAST
|
|
51
|
+
for: ISSUER ORG/SYMBOL
|
|
52
|
+
signature_block: SUBJECT FIRST M. LAST, RANK, USAF
|
|
53
|
+
date: "Date: _____________"
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
<!-- EDIT: Second Indorsement: Subject's response - choose one option -->
|
|
57
|
+
I have reviewed the allegations contained in this Letter of Counseling. _I am submitting the attached documents in response_ / _I hereby waive my right to respond_.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
CARD: indorsement
|
|
61
|
+
from: ISSUER RANK FIRST M. LAST
|
|
62
|
+
for: SUBJECT RANK FIRST M. LAST
|
|
63
|
+
signature_block: ISSUER FIRST M. LAST, RANK, USAF
|
|
64
|
+
date: "Date: _____________"
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
<!-- EDIT: Third Indorsement: Issuer's final decision - choose appropriate options -->
|
|
68
|
+
_I have considered the response you submitted_ / _You waived your right to submit a response to this action_. I have decided to _withdraw_ / _sustain_ the Letter of Counseling.
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
CARD: indorsement
|
|
72
|
+
from: SUBJECT RANK FIRST M. LAST
|
|
73
|
+
for: ISSUER ORG/SYMBOL
|
|
74
|
+
signature_block: SUBJECT FIRST M. LAST, RANK, USAF
|
|
75
|
+
date: "Date: _____________"
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
<!-- EDIT: Fourth Indorsement: Subject acknowledges final decision -->
|
|
79
79
|
I acknowledge receipt of the final decision regarding disposition of this Letter of Counseling on {:date and time:}.
|